富士通研究所は、ディープラーニング(深層学習:多層ニューラルネットによる機械学習)を複数のサーバーで効率的に分散処理させ、学習を高速化する技術を開発した。これまで学習に1週間かかっていたところを、6時間ほどに短縮できる。ニューラルネットの設計と検証のサイクルを高速に回すことができ、研究開発の効率を高められる。

 データ容量が大きく分散化が難しいとされる画像認識用ニューラルネット「AlexNet」で実験したところ、GPU64台の並列化で、GPU1台と比較して処理速度を27倍に高められた。「我々が確認しているAlexNetの高速化では、これが世界で最も速い」(富士通研究所 コンピュータシステム研究所 データシステムプロジェクト 主任研究員の田原司睦氏)。

(出所:富士通研究所)
(出所:富士通研究所)
[画像のクリックで拡大表示]

 富士通研究所は、今回の技術について特許を出願済み。富士通のAI技術「Human Centric AI Zinrai」の一つとして2016年度中の実用化を目指す。オープンソース化や既存OSSへの貢献は、今のところ計画していないという。技術の詳細は、2016年8月8日から長野県松本市で開催するワークショップ「SWoPP 2016」で発表する。

分散化はディープラーニングの注目技術

 学習処理の分散化は、2016年におけるディープラーニングの研究開発で最も注目される分野の一つだ。

 ディープラーニングでは、学習対象となるニューラルネットのパラメーターの容量が、大きいもので数百メガ~1ギガバイトに及ぶ。

 学習処理を分散化させるには、学習を進めるたびに、それぞれのサーバーが学習を通じて更新したパラメーターの差分を集計し、全サーバーで共有する必要がある。この処理では、ネットワーク通信速度がボトルネックになりやすい。このため、サーバーの台数を増やしても、学習処理を高速化させる効果が得られにくかった。

 実際、オープンソースソフト(OSS)として公開されているディープラーニングフレームワークの多くは、サーバー1台での学習処理にのみ対応している。複数のサーバーで効率よく同期、学習させる高度なノウハウが求められるうえ、性能がハードウエア構成に大きく依存してしまい、汎用ハードウエアを前提とするOSSとしての公開が難しいためだ。主要フレームワークのうち、GPU10数台以上、複数サーバーにまたがる分散処理に対応したOSSとしては、米グーグルが開発する「TensorFlow」があるくらいだ。Tensorflowは、2016年4月13日に公開した0.8版で、初めて分散処理をサポートした。

 ディープラーニングの代表的なフレームワークで、米カリフォルニア大バークレー校を中心に開発が進む「Caffe」も、オリジナル版は分散処理に対応していない。このため、HPCベンダーの中国インスパーが分散処理対応版「Caffe-MPI」を公開するなど、世界中で分散化の技術開発が行われている。