Microsoft社のFPGA搭載サーバー(写真:Microsoft社)

 米Microsoft社が、FPGAを用いてニューラルネットワークの一種である「ディープラーニング(深層学習)」の高速化に成功した。

 これまでディープラーニングでは、アクセラレーターとしてGPUが使われることが多かったが、Microsoft社は大規模なデータセンターでの利用を踏まえ、GPUより電力効率の高いFPGAを採用した。

 今回、同社は「GPUにほぼ匹敵する性能を実現」(同社)しつつ、電力効率はGPUの1.5~2.7倍を実現した。性能面でも、FPGAを用いたディープラーニングの従来実装と比べて、約3倍の性能を実現している(表1関連記事)。

表1 FPGAやGPUによるディープラーニングの実行性能(順方向の実行時)
[画像のクリックで拡大表示]

検索エンジン、画像認識などに適用

 Microsoft社は数年来、データセンターでの処理にFPGAを用いる試みを積極的に進めている。2014年6月には、FPGA搭載サーバー「Catapult」を発表(関連記事)。1632個ものFPGAを用いたシステムを試作し、同社のWeb検索エンジン「Bing」の高速化に2015年から本番導入することを明らかにした。

 同社はWeb検索以外にも、機械学習や物理シミュレーションなど多様な処理をFPGA向けに移植中であることを当時から表明していたが、今回、その1つがディープラーニング向けの応用であることが明らかになった。

GPUを電力効率で凌ぐ

 ディープラーニングの研究では、これまでGPUが圧倒的な存在感を示してきた。

 ディープラーニングの大家であるGeoffrey Hinton氏(現在は米Google社およびUniversity of Torontoに所属)やYann LeCun氏(現在は米Facebook社および米New York Universityに所属)、Andrew Ng氏(現在は中国Baidu社に所属)など、多くの研究グループが、ディープラーニングでの大量データの処理にGPUを用いている。

 GPUはFPGAと同じく数千個以上の演算器を搭載しているため、並列処理できるアルゴリズムであれば、CPUと比べて大幅に処理を高速化できる。

 ただし、GPUはデバイス1個の消費電力が200W以上あるため、電力消費量の増大が課題となっているデータセンターでは大量に配備しにくい。CPUと組み合わせて用いることを踏まえると、1ノードの電力がアクセラレーターなしの場合と比べて2~3倍になってしまうからだ。デバイス1個の消費電力が数十WのFPGAであれば、サーバーのPCI Expressの供給電力範囲内に収まる(関連記事)。