はてなキーワード: CPUとは
GPT-3のような1回の学習が数億かかるようなのは無理でも、プログラミングは他の産業に比べると初期投資は少なくて済む。
政府が研究費を出さないから技術力がないという指摘は、プログラミングにも当てはまるものなのか?
プログラミングの開発環境なんて皆最新のが好きなので違いはないはずだ。
何か他の原因があるような気がしてならない。
CPUやGPUの汎用ハードがブラックボックス化していて使いこなせないというのであれば、
それこそArmを日本企業が購入してハードを生かすような奇跡でも起きない限り追いつけない。
(インテル製のコンパイラが速いみたいな話。pipでいれたNumpyよりcondaでいれたNumpyの方が速いとか。)
以下、プログラミングは出来ない俺の認識が間違っている場所があったら教えて下さい。あと、疑問2つを教えて下さい。
【俺の認識】
1. コンピューター(というかCPU)が実行する命令は【機械語】で書かれている。たとえばx86CPUの場合、0x04ならば『imm8をALに加算する』命令、0x90ならば『何もしない』などである。
2. 流石に機械語のままでは人間がプログラムするには不便なので、機械語をそのまま人間にも意味が分かるように1対1対応で書き直した【アセンブラ言語】というのがある。0x04ならば『ADD AL, imm8 』、0x90ならば『NOP』と表記される。
3. アセンブラ言語のように機械語と1対1対応している言語を【低級言語/低水準言語】と言う(この呼び方、4で書く高級言語が出来てから生まれたレトロニムか?)
4. アセンブラのままでプログラムするのも困難である場合が多いので、機械語と1対1対応していないプログラミング言語もある。このような言語を【高級言語/高水準言語】と言う。
5. 高級言語で書かれたものはそのままではコンピューターには実行できないので、【コンパイラ】というソフトによって機械語に変換している。
6. 高級言語で書かれた状態を【ソースコード】と言う。このソースコードをx86用のコンパイラでコンパイルすればx86で動くソフトになり、SPARC向けにコンパイルすればSPARCで、PowerPC向けにコンパイルすればPowerPCで動くソフトになる。
【疑問】
a. 認識6が正しいのであれば、(サポートするファイル形式の問題などを置いておけば)windowsとmacは現時点では同じCPUを使っているのだから、同じコンパイラでコンパイルしたソフトはwindowsでもmacでも動くのではないか?
よく「プログラマは勉強し続けなければいけない」といいますが、嘘です。
それは、レベルの低いプログラマの話です。そういう人たちが想定しているのは、たとえば流行りのフレームワークが出てきたらそれを勉強するとか、仕事で特定のプラットフォームの知識が必要になったのでそれを勉強するとかです。
こういうことを一所懸命勉強している内は、プログラマとしての実質的な成長は見込めません。それらを勉強しても、特定のフレームワークなどの使い方が分かる人になるだけです。ほとんどの場合、5年も経てばその知識は役に立たなくなります。
実は、ソフトウェアの技術などは、コンピュータの黎明期から本質的な進歩はほとんどありません。だから、本質部分が分かっている人は、流行り廃りのある技術の習得に余計な労力を割く必要がありません。
プログラマが勉強すべきはこの本質部分、つまりコンピュータサイエンスの基礎です。フレームワークの使い方は知らなくてもリファレンスを見れば良いのに対し、コンピュータサイエンスの基礎はググっても決して身に付きません。
プログラマが身につけるべきコンピュータサイエンスの基礎は、多くの大学の計算機科学・情報工学の2〜3年生で学ぶような内容、
などです。逆に、こういう素養がないのにプログラミングスクールでRailsとかCakePHPみたいなのを触って、プログラミングできる気になっている人に5年後10年後の市場価値はありません。
インテル、AMD、NVIDIA、クアルコム、ARM、Appleなど、日本語でも半導体が話題になることが多いが、
韓国は国家を上げて半導体で勝負しているし、サムスンの投資金額は巨額だ。
EUもソフトバンクがARMを買収したことによって、European Processor Initiative Research Project でEUとしての半導体を持とうとしている。
富岳で富士通が関わっていたが、どちらかというとARMアーキが使われたことと1位になったこと、TSMCで製造したことが話題で終始しているし、
これからはハードではなくソフトウェアで差別化だと言っている間に、AndroidやiOSに見られるようにパクりパクられを繰り返して多少の使い勝手はあるものの差別化要因になっていない。
Androidスマホなんてカメラ性能とCPU性能とディスプレイ性能を比べてのハードウェアによる差別化しか残ってない。
iPhoneなんてApple siliconを独自SoCを作ることで差別化しようとしているし、GoogleはTPUv4で差別化しようとしている。
GoogleがBERTを学習できるのは大量のサーバーがあるからだし、OpenAIがGPT-3を学習できるのはマイクロソフトに大量のサーバーを構築してもらったからだ。
ソフトウェアは不要ということはないが、ハードウェアの性能以上のことができないし、より抽象度を上げて処理が重くなる方向に向かってるので、ハードが進化するしかない。
それ以前にソフトウェアとサービスで国内市場しか取れず、Appleには手数料を30%から40%に上げようかと言われる始末だ。
今からなら量子コンピュータだろうという意見もあるだろうが、下記の慶応の量子コンピュータアーキテクチャの図1を見ればわかるように今のコンピュータがなくなるわけじゃない。
どちらかというとGPUのようなアクセラレータとしての域をまだ出ていない。
https://www.futurelearn.com/courses/intro-to-quantum-computing/0/steps/31566
RISC-Vが、という意見もあるだろうが、性能が突出してるわけでもなく、開発環境が整っているわけでもなく、無料という以外のメリットがない。
最後に謎の半導体会社を紹介しておく。プロセッサー業界情報が知りたければThe Linley Groupのサイトのニュースをお勧めする。