マイクロソフト、インテルの市販FPGAを用いた深層学習基盤「Project Brainwave」を解説。Azureへの展開も予定
マイクロソフトは、カリフォルニア州クパチーノで今週開催されたばかりの半導体チップのカンファレンス「Hot Chips 2017」で発表した深層学習基盤「Project Brainwave」の内容を、同社のMicrosoft Researchブログに投稿した記事「Microsoft unveils Project Brainwave for real-time AI - Microsoft Research」で解説しています。
Project Brainwaveは「リアルタイムAI」を実現するために設計したものだと同社。そのProject Brainwaveは、次のようにハードウェアとソフトウェアの3層から構成されるシステムだと説明されています。
1) A high-performance, distributed system architecture;
(高性能な分散システムアーキテクチャ)
2) A hardware DNN engine synthesized onto FPGAs; and
(FPGA群のうえに構成されたハードウェアディープラーニングエンジン)
3) A compiler and runtime for low-friction deployment of trained models.
(学習済みモデルを速やかに展開するためのコンパイラとランタイム)
FPGA群のうえに構築
マイクロソフトはこのProject Brainwaveには3つの特徴があるとしています。
そのひとつ目は、これがFPGA群の上に構築されているということです。
By attaching high-performance FPGAs directly to our datacenter network, we can serve DNNs as hardware microservices, where a DNN can be mapped to a pool of remote FPGAs and called by a server with no software in the loop.
高性能なFGPA群をデータセンターのネットワークに直接接続することで、DNN(Deep Neural Network)をハードウェアマイクロサービスとして提供できる。このDNNはFPGA群のプールに割り当てられ、サーバからソフトウェアループを含まない形で呼び出される。
ハードウェアマイクロサービスという表現は興味深いですね。
インテルが製造する市販のFPGAを採用
そしてそのFPGAは市販のFPGAがベースだというのがふたつ目の特長としてあげられています。
Project Brainwave uses a powerful “soft” DNN processing unit (or DPU), synthesized onto commercially available FPGAs.
Project Brainwaveは、パワフルで“ソフト”なDNNプロセッシングユニット(DPU)を用いており、これは市販のFPGA群で構成されている。
例えばGoogleは機械学習に特化した専用チップの「TPU」を独自に開発しています。マイクロソフトはこうした専用チップではなく、市販のFPGAをベースにしたことで高い柔軟性を実現するとしています。
A number of companies—both large companies and a slew of startups—are building hardened DPUs. Although some of these chips have high peak performance, they must choose their operators and data types at design time, which limits their flexibility. Project Brainwave takes a different approach, providing a design that scales across a range of data types, with the desired data type being a synthesis-time decision.
大企業から多くのスタートアップまで、さまざまな企業がハード的にDPUを構築している。いくつかのチップは高いピーク性能を実現してはいるが、データタイプや演算子などを設計時に選択しなければならず、それが柔軟性を制限してしまう。
Project Brainwaveは別のアプローチをとっているため、幅広いデータタイプのなかから望ましいデータタイプを構成時に決定できる。
ここで市販のFPGAとされているのは、14nmプロセスで製造されているインテルの新FPGA「Stratix 10」で、同社がProject BrainwaveをこのFPGA群に移植し、大規模なGRUモデルを計算させたところ、39.5テラフロップスの性能を維持できたとのことです。
Microsoft Cognitive ToolkitとGoogleのTensorflowをサポート
3つ目の特長は、Project Brainwaveがさまざまなフレームワークをサポートしている点。
Project Brainwave incorporates a software stack designed to support the wide range of popular deep learning frameworks. We already support Microsoft Cognitive Toolkit and Google’s Tensorflow, and plan to support many others.
Project Brainwaveにはソフトウェアスタックが組み込まれており、人気のあるさまざまな深層学習フレームワークをサポートできる。すでにMicrosoft Cognitive ToolkitとGoogleのTensorflowをサポートしており、今後さらにほかのフレームワークにも広げていく計画だ。
マイクロソフトはこのProject BrainwaveをAzureのユーザーが利用できるように作業を進めているとしています。
In the near future, we’ll detail when our Azure customers will be able to run their most complex deep learning models at record-setting performance.
近い将来、Azureのお客様が非常に複雑な深層学習モデルをこの記録的な性能で実行できるようになるとき、また詳細をお伝えするつもりだ。
あわせて読みたい
Google、「App Engine firewall」発表。IPアドレスなどのルールを設定できるマネージドなファイアウォールサービス
≪前の記事
Google Cloud Platformのネットワーク品質区分が新設。現行のGoogle品質「Premium Tier」と、他社並とする「Standard Tier」で選択可能に