Intel($INTC)とMicrosoft($MSFT)はAI戦争の勝者になれるのか?
近年、AI、ディープラーニング、機械学習といったキーワードがHOTですが、これらは大体すべて同じものです。(厳密には上下関係がありますが)
即ち、マシンに過去のデータを学習させることで、未来を予測したり、人間と同じような判断が下せるようにさせる技術のことを言っています。
特に重要なのは「過去のデータを学習」させることです。
「過去のデータ学習」に使われる半導体「GPU」
この過去のデータを大量に読み込むほど、また、そのデータをどう解析するか(アルゴリズム)の精度が上がるほど、未来予測や判断の精度が上がります。
この膨大なデータの読み込み処理をさせるのに最近GPU(Graphics Processing Unit)というICが使われています。
GPUで有名なメーカとしてはNVIDIA($NVDA)やAMD($AMD)が挙げられます。
元々GPUはゲームや設計(CAD)、動画編集などグラフィックスの処理を高速に行うために作られたICです。
最近4Kテレビがかなり普及しつつありますが、この4Kは横3840個、縦2160個の画素(光の粒)が1枚のパネルに集まっていることを表します。
テレビは1秒で30回表示変えて、パラパラ漫画の要領で映像を表示します。
何が言いたいかというと、グラフィックス処理というのは膨大なデータをリアルタイムに処理する必要があるということです。
ただし、処理の内容は定型的で同じような処理です。
GPUは簡単な処理ができるチップを何千個も集積し、膨大なデータをリアルタイムに処理できるようになっています。
この、「単純な作業を高速でできる」という特性がAI分野の「過去の膨大なデータを学習する」という用途にマッチし、AI分野への適用が広がっています。
「GPU」を追う「FPGA」と「TPU」
GPUのAI分野への適用は随分広がりましたが、今後はGPU以外のものがAI分野に使われていくと考えられており、AI分野に積極投資しているGoogleやMicrosoftもGPU以外のAI用ICに手を付けだしています。
Googleは「ASIC(TPU)」、Microsoftは「FPGA」です。
ASICによるAI専用IC「TPU」
Googleが手掛けているAI専用IC(TPU:Tensor Processing Unit)はICの種類でいうとASICと呼ばれるタイプになります。
これはAI分野での情報処理に完全特化したICです。
当然ながら、AI分野専用に作られるので、コストも性能もGPUには勝るものと思います。
実は2017年末にNVIDIAは突然にGPUを制御するためのソフトウェア(ドライバ)のライセンスを改定しており、データセンターでNVIDIAのGPUを使うには相当なコストがかかるようになってしまいました。
Googleはこの「NVIDIAに心臓をつかまれている」状況が嫌だったのかもしれませんね。それまで採用していたNVIDIA製を始めとするGPU脱却を目指し、TPUを開発しました。
当然初期投資コストは相当掛かりますが 、Googleのワールドチャンピオンレベルのインフラ規模で考えるとすぐにペイできてしまうんでしょう。
ただし、ASICには弱点があります。
ASICはマイコン、CPUなどの普通のIC同様、回路やパターンの設計完了後はマスクを作ってシリコンに回路をプリントします。このマスクは樹脂成型品の金型と同じく、一度作ると、規模によっては億越えします。また、実装完了したICは当然ながら後戻りはできません。
AI分野の技術の進展は目覚ましいものがあります。だからこそ、一度作ると作り直しが大変だというのはかなりネックです。。
何でもありのプログラマブルIC「FPGA」
FPGA(Field-Programmable Gate Array)は中にLE(Logic Element)と呼ばれる回路を構成するためのパーツが大量に含まれており、これをプログラミングで自由に組み合わせることで、特定用途のICを開発することができます。
当然ながらASICで実現していた回路もFPGAの中に作ることができます。
その気になればGPUもCPUも組むことができます。
FPGAで有名なメーカとしてはIntel($INTC)[元Altera]やXilinx($XLNX)が挙げられます。
当然色々できるのでASICより値段は割高なのですが、ASICはマスクから作り直さないとダメな一方、FPGAはプログラムを書き換えれば、好きな回路構成に変更できます。
また、開発にかかる時間(リードタイム)もASICに比べるとかなり短くなります。
Microsoft($MSFT)はIntel($INTC)のFPGAを使って、AI専用ICに乗り出しました。
FPGAは当然H/Wの知識が必要ですが、それと同じくらいS/Wの知識も重要であり、S/Wノウハウの多いMicrosoftとの相性も良いと思います。
AI戦争に勝つのは「GPU」?「ASIC」?「FPGA」?
私はずばりFPGAだと思っています。
昨今のAI分野の技術進歩のスピードを考えると、GPUには性能的な限界があると思います。一方で、ASICは十分な性能が得られると覆いますが、進歩のスピードに追随できないのでは?と考えています。
したがって、性能・スピードともに優れたFPGAに軍配があがると考えています。
私がIntel($INTC)とMicrosoft($MSFT)を持っている理由の1つでもあります。