リアルタイム AI を加速する深層学習アクセラレーターを公開
[2017 年8 月 22 日]
IntelのFPGA「Stratix 10」を実装したProject Brainwaveシステム
本日、マイクロソフトは、コードネーム Brainwave と呼ばれる、深層学習の新しいクラウドベースのアクセラレーターを発表しました。クラウド上の深層学習モデルが様々なライブデータストリームを処理するようになってきていることから日々重要度を増しているリアルタイム AI を推進するために、受け取った情報を極めて小さな遅延で処理を行うシステムです。この仕組みにより高いパフォーマンスと柔軟性が実現されます。
Brainwave システムは「高パフォーマンスの分散システムアーキテクチャ」「FPGA 上に実装されたハードウェア DNN エンジン」「学習済みモデルを簡単に展開できるコンパイラとランタイム」の3つのパーツから成り立っています。
FPGA とは field-programmable gate array の略で、製造後に再プログラム可能な集積回路であり、Brainwave システムはマイクロソフトがここ数年、クラウドデータセンターに展開してきた高パフォーマンスのFPGA インフラを利用しています。ディープニューラルネットワーク (DNN) がプログラムされた FPGA を、CPU やそれを動かすためのソフトウェアを介さず直接ネットワークに接続しておくことで、DNN を「ハードウェアマイクロサービス」として提供し、ネットワークが情報を運んでくると同時に FPGA によって処理させることが可能となります。
また、使用する FPGA は市場で手に入る普通のものであり、今回のデモでは Intel の 14nm プロセス世代の新しい Stratix 10 FPGA を利用しています。この集積回路の上に「ソフトウェアDNN 処理ユニット (DPU)」が実装されており、演算子やデータ型を柔軟に選択できるようになっており、 モデルの正確性を失わずにパフォーマンスを向上させることが可能となっています。同時により良い手法が発見された場合は、数週間という早いスピードで集積回路に実装することが可能となっています。これらの特長により、マイクロソフトでは高いパフォーマンスの DPU を実現しています。
Brainwave システムは、複数の一般的な深層学習フレームワークをサポートしています。Google の Tensorflow や Microsoft Cognitive Toolkit (CNTK) を既にサポートしており、他の多くのフレームワークもサポート予定があります。
また、Brainwave の重要な特長として、畳み込みニューラルネットワーク (CNN) のような計算力にものを言わせる単純なモデルだけではなく、自然言語処理で使われる LSTM (Long Short Term Memory、長期的な依存関係を学習できる再帰型ニューラルネットワーク (RNN) の一種) や GRU (Gated recurrent unit、LSTMの構造的複合性を縮減したモデル) のようなより複雑で、多くのメモリを使う、リアルタイム AI の実際の処理に近いモデルでも高いパフォーマンスを発揮できることが挙げられます。
このシステムは将来的に Microsoft Azure 上に実装され、ユーザーは複雑な深層学習モデルの計算が必要なリアルタイム AI を実現するための高パフォーマンスの深層学習アクセラレーターを手軽に利用できるようになる予定です。
この文章は以下の原文を要約したものです:
- 2017/8/22: Microsoft unveils Project Brainwave for real-time AI (Microsoft Research Blog)
参考記事
- 2017/8/28: インテル、Microsoftの新しい高速ディープラーニング・プラットフォームの「リアルタイム AI」を実現 (インテル ニュースルーム)
- 2017/5/19: Microsoftがインテル® FPGAを活用するディープラーニング向けハードウェア・アーキテクチャーの概要を発表 (インテル ニュースルーム)