連載

「リアルタイムAI」にGoogleと異なる手法で挑むMicrosoft 「BrainWave」プロジェクトとは?鈴木淳也の「Windowsフロントライン」(2/3 ページ)

AI時代では手元のデバイスより、クラウドの先にあるAIプラットフォームがますます重要になってくる。Googleと異なる手法でこれに取り組む、Microsoftの「BrainWave」プロジェクトとは何か。

「データセンターにFPGA」の背景

 ここで話をProject Catapultに戻そう。

 Intelが社運をかけて2015年にFPGA業界大手の一角であるAlteraを買収したように、プロセッサを構成する論理回路を自在に変更できるFPGAは大きな注目を集めている。

 しかし、この背景には処理すべきデータ量が年々増大していくという問題がある。しかも、今後は自動運転の世界で求められる画像認識や衝突予測などの分野での即時応答性のニーズへの対応も考えれば、処理の遅延は致命的だ。大量のデータを効率よく、しかも素早く処理できるアーキテクチャの開発が急務となっている。

advertisement

 汎用のプロセッサアーキテクチャではなく、より用途に特化した処理をこなすための仕組みとして、TPUのような専用プロセッサや、今回のテーマであるFPGAのさらなる活用が出てきたわけだ。


より大容量のデータを高速かつ効率的に処理するためにFPGAなどの専用ハードウェアに注目が集まっている

 Microsoftによれば、データセンター向けのサーバにFPGAを組み込む「Project Catapult」を開発していたのは、プロトタイピングも含めれば6~7年間にもわたる非常に長い道のりだったようだが、実際にこの成果が初めて公表されたのは2016年9月に米ジョージア州アトランタで開催された「Ignite 2016」でのことだ。

 「AIスーパーコンピュータ」のような名称で紹介されたProject Catapultは、「バージョン2」にあたる専用ボードを組み込んだシステムが現地で紹介されている。Microsoft ResearchのNExTプロジェクトでディスティンギッシュトエンジニア(Distinguished Engineer)であるダグ・バーガー氏の手で披露されたデモでは、「戦争と平和」の全文翻訳でFPGA利用時とAzureの一般的なサーバとでどの程度の時間がかかるかが比較された。


MicrosoftによるFPGAのプロジェクト(Project Catapult)のロードマップ。公式発表された2016年より前からAzureデータセンターへの展開がスタートしている

Catapult v2のアーキテクチャ。ネットワークカード(NIC)とネットワークスイッチを仲介する形でQSFPのインタフェースで接続を行う

米Microsoft Research(MSR)のNExTプロジェクトでディスティンギッシュトエンジニアであるダグ・バーガー氏が手に持っているのがCatapult v2のボードだ

『戦争と平和』を用いた全文翻訳のデモ。Ignite 2016にて

 では、実際にProject CatapultはMicrosoft内部でどのように活用されているのだろうか。その1つが、2017年5月に米ワシントン州シアトルで開催された開発者向けイベント「Build 2017」における「Inside the Microsoft FPGA-based configurable cloud」というセッションで紹介されている。

 「SDN(Software Defined Network)」というネットワーク内のデータの流れをソフトウェアで自動制御できる仕組みがあるが、これをFPGAを搭載した「Smart NIC」でさらに高速化しようというものだ。

 AzureデータセンターではサーバごとにHyper-Vの仮想マシン(VM)が動作し、このVMは仮想的なスイッチを通してSDNに対応している。この処理をSmart NICを用いることで、サーバの処理全体をより高速化しようというのだ。

 Microsoftによれば、2015年後半以降に新規展開されたAzureサーバについては全てこのSmart NICが搭載されており、さらにOCP(Open Compute Project)向けに同社が提案した「Project Olympus」向けにも50GbE対応のSmart NICを紹介している。


新規のAzureサーバには展開済みというFPGAを搭載したSmart NIC

Project Olympus向けの50GbE Smart NIC

 Smart NICを通じて展開されたFPGAは、前述の「ハードウェアマイクロサービス」のような形で、さまざまな計算処理の高速化に寄与している。「SDNオフロード」と呼ばれるSDNソフトウェア処理の軽減の他、DNNの高速化、BingのWeb検索ランキング処理、SQLの処理などはその一例だ。

 特徴として、互いに接続されたFPGAは、サーバのCPUが実行されるコンピュータの処理プレーンとは別のプレーンとして存在し、CPUの介入なしに直接FPGA上のハードウェアマイクロサービス(HWMS)を利用できる点にある。

 従って、待ち時間や余計な処理が走らず、さらにFPGAリソースの有効活用が可能なため、単位時間内により多くの処理をこなせるメリットがある。Bingでの活用は同社AIブログの中で2016年10月に紹介されているが、HWMSを最大限活用することでFPGAのリソースが余るため、これをさらに別の処理へと振り分けることが可能だという。


一般的なCPUを使ったサーバの実行環境

ハードウェアマイクロサービス(HWMS)では、CPUとは独立したプレーン上でFPGAが結びついて処理を実行することが可能

HWMSを使ってBing検索ランキング処理を実行することで、余ったFPGAリソースを別の処理に振り分けることが可能だ

Copyright © ITmedia, Inc. All Rights Reserved.