このページの本文へ

前へ 1 2 3 次へ

深層学習のイベント「DLLAB DAY 2018」基調講演レポート

エッジAIを加速する深層学習:PFNが「Menoh」発表、MSは「Brainwave」をエッジへ

2018年07月02日 12時00分更新

文● 羽野三千世/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

「Project Brainwave」とはDNNのHWマイクロサービスである

 日本マイクロソフト 執行役員 最高技術責任者(CTO)の榊原彰氏は、マイクロソフトが提供する深層学習のアクセラレーションプラットフォーム「Project Brainwave」を紹介した。

日本マイクロソフト 執行役員 CTOの榊原彰氏

 Brainwaveは、Intel製の市販FPGA「Stratix 10」の上に実装したハードウェアDNNエンジン、ソフトウェアで実装した分散システムアーキテクチャ、学習済みモデルをスムーズにデプロイするためのコンパイラとランタイムなどで構成される。

 マイクロソフトは、同社が世界中に展開するデータセンターのサーバーにFPGAの配備を進めており、これらのFPGAは同社の高速なデータセンターネットワークに直接接続されている。相互接続されたFPGAは既存のソフトウェアとは分離して動作し、CPUと別々に管理が可能だ。つまり、データセンターのFPGAリソースは他システムから切り出して扱うことができるので、特定の機能実装をした複数のFPGAの塊は、あたかも「ハードウェアのマイクロサービス」として機能させることができる。

Project Brainwave

FPGAによるハードウェアマイクロサービス

 ここでBrainwaveとは、「スケーラブルなDNNのハードウェアマイクロサービスである」と榊原氏。

 BrainwaveのFPGAはマイクロソフトのデータセンターネットワークに直接接続されている。このFPGAの塊にDNNモデルをマッピングすると、例えば推論計算でLSTM(Long Short-Term Memory)の行列計算を何層も繰り返す際、「1つのFPGAで実行した計算結果を隣のFPGAへ(高速なデータセンターネットワーク経由で)放り込んで次の層の計算をするということを大規模に並列化したFPGAで実行できる。その結果、推論のパフォーマンスが大幅に向上する」(榊原氏)。

並列化したFPGAでLSTMを計算処理

 深層学習を高速化するシリコンチップとしては、GoogleがTPU(Tensor Processing Unit)を独自開発し、Googleのデータセンターで稼働させている。「GoogleのTPUはハードウェアの深層学習アクセラレーター。それに対して、マイクロソフトは市販のFPGA上でソフトウェア的に深層学習アクセラレーターを実装した」(榊原氏)。FPGAはバッチサイズが小さくなる(計算回数が多くなる)ほどオーバーヘッドが大きくなると指摘されているが、榊原氏が示した計測データによれば、通常のFPGAではオーバーヘッドが起こるのに対し、Brainwaveを実装したFPGAではオーバーヘッドが起こらない。

Brainwaveを実装したFPGAではオーバーヘッドが起こらない

Brainwaveをエッジ側にも展開

 Brainwaveは現在、Azure上でパブリックプレビュー版が利用可能になっている。パブリックプレビュー版では、Azure Machine Learning Servicesを使って、TensorFlowのモデルをBrainwave上で実行できる。今後、CNTKのサポートも予定されている。

 さらに、マイクロソフトはクラウドだけでなく、エッジ側にもBrainwaveを取り入れていく計画を発表している。同社は、これまでAzure上で実行可能だった分析やビジネスロジックをエッジデバイス側で実行できるようにする「Azure IoT Edge」、Azureのクラウドサービスをオンプレミスで利用する「Azure Stack」を提供している。Azure IoT Edge、Azure Stackで実行する処理は、BrainwaveによってFPGAを使ったアクセラレーションが可能だ。

■関連サイト

前へ 1 2 3 次へ

カテゴリートップへ

ピックアップ