ASICでAIを高速化するGoogle、FPGAを使うMicrosoft 違いは何か?:Mostly Harmless
GoogleとMicrosoftが、相次いでAI処理用の新たなプロセッサを発表。その違いから見えてくる、両者の戦略とは?
この記事は大越章司氏のブログ「Mostly Harmless」より転載、編集しています。
GW明けの週は、「Google I/O 2018」と「Microsoft Build 2018」がともに開催され、一気にいろいろなニュースが飛び込んできました。その中で、2社ともAI処理用のプロセッサに関する発表をしています。
Microsoftの発表はこちら。
Googleの発表はこちらです。
Googleは、ここのところ毎年、機械学習用プロセッサを発表していますが、2018年も前年比8倍の高速性を持つチップを発表しました。
Googleのチップは、「ASIC」を採用。一方Microsoftは、「FPGA」ベースです。両者ともAIの処理をチップ化して高速化しようという考えは同じですが、使っている技術が違います。これは両者の戦略の違いが出たものと考えられます。面白いですね。
ASICとFPGAの違い
ASICもFPGAも、ゲートアレイを使うことで、開発期間を短縮できます。
ただ、ASICは、設計完了後は普通のチップ同様、マスクを作ってシリコンに回路を焼き付けます。このマスク作をるのに、数千万円から数億円かかるといわれています(こちらのサイトでは、最大10億円近いとのこと)。それに、チップを作ってしまうと、後から変更はできません。
これに対し、FPGAは、マスクを作る必要はありませんし、設計さえ済めばすぐに使え、さらにいつでも回路を書き換えることができます。開発にかかるコストと時間においては、FPGAが圧倒的に有利です。それにAIはまだ発展途上の分野であり、いつ画期的なアルゴリズムが発見されるか分かりません。それを考えると、いつでも書き換え可能なFPGAの方が安心できます
最大の違いは製造コスト
両者の最大の違いは製造コストにあります。ASICは作るまでにお金がかかりますが、製造に入ると1個数十円〜数百円レベルで製造できるとのこと。一方のFPGAは、どうしても数千円はかかるようです。
開発コストを考えると、数万個以上使う予定があるなら、そして回路を書き換える必要はないと考えるなら、ASICのほうが費用対効果が高いということでしょう。
Microsoftは“ソフト屋さん”なので、プログラマブルが好きなのだろうという見方もできるかもしれませんが、最近はプロセス面でもFPGAの方が進んでいるようですから、コスト以外の点では、FPGAを選ぶ方がよいように思えます。
ただ、FPGAは、コスト以外にも設計自由度が低かったり、ゲートの利用効率がよくなかったりといったデメリットもあるようです。
あらゆる手段で計算能力を確保したいGoogle
GoogleがASICを選んだのは、すぐにでも莫大な計算能力がほしいからでしょう。すでにGoogleのデータセンターでは、機械学習用に大量のGPUを使っていますが、NVIDIAの最新のGPU(TESLA V100)は1台で100万円以上しており、ゲーム用のGPUとは異次元の価格設定になっています。
Googleへの実際の提供価格は分かりませんが、そうなるとASICを作ってでもコストを下げたいところでしょう。おそらく数十〜数百万個(あるいはもっと)の単位でデータセンターに配備して、“機械学習をさせまくりたい”のではないでしょうか。そのくらいの規模で使うつもりなら、単価はかなり安くなります。
それに、Googleとしては、NVIDIAに頼り切りというのもよくないと考えているはずです。2017年末、NVIDIAは、突然不可解なEULAの改定を行って物議を醸しましたし、独占状態が続くと、いろいろとよくないことを考え出すのは世の常で、それはGoogleの考えには反するでしょう。
こう考えると、単価が高くてもFPGAを使うMicrosoftの方が、“お金持ち”に見えるかもしれませんが、おそらくGoogleは、新しいアルゴリズムがよいと思えば、迷うことなくそれまでのTPUを捨て、新しいチップを開発するのではないかと思います。そちらの方がよほど“お金持ち”かもしれませんね。
Googleはクラウド用途、Microsoftはエッジ用途
重要なことを書き忘れていました。MicrosoftのFPGAチップは、「学習済みのモデルを高速に実行することに特化」しているということで、推論専用です。「TPU1」は推論用でしたが、「TPU2」以降は、学習にも使えるようになっています。
AIに学習させるのは、推論よりも高い演算負荷がかかります。Googleは「クラウドでの機械学習を強力にする」ことを目的としており、Microsoftは「エッジでの処理を強化する」ことが目的と考えられ、活用のターゲットが(いまのところ)大きく違う、ということのようです。
関連記事
- 連載:「Mostly Harmless」記事一覧
- AIには「信頼」が必要――Microsoft、AIの開発・活用で重視すべき「6つの倫理的要件」を発表
Microsoftが、AIの開発と活用で重視すべき「6つの倫理的要件」を発表。急速に開発が進むAIは、一方で信頼と倫理に関する複雑な問題を提起すると指摘。その疑念を払拭し、人間がAIの恩恵を最大限に享受するには「6つの倫理的要件」が重要だとしている。 - Microsoft、障害者向けAI開発プログラム「AI for Accessibility」に2500万ドル投入
AIの障害者支援活用に注力するMicrosoftが、向こう5年間で2500万ドルを投じる新たなAI開発プログラム「AI for Accessibility」を立ち上げた。 - Googlerも学んだAI講座、「Learn with Google AI」で一般公開
Googleが、ML(機械学習)の基礎からディープラーニングまで、AI(人工知能)について学べるWebサイト「Learn with Google AI」を開設。15時間でMLのコンセプトを学べる短期集中講座も無料で受講できる。 - Google、プログラミングができなくてもAIツールを作れる「AutoML」のα版提供開始
Googleが、少量の教師データをアップロードして転移学習させるだけでAIツールを構築できる「Cloud AutoML」を発表した。まずは画像認識向けの「AutoML Vision」のα版を提供開始する。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.