富士通研究所は8月9日、スーパーコンピュータのソフトウェア並列化技術を応用し、複数のGPUを使いDeep Learningの学習速度を高速化するソフトウェア技術を開発したと発表した。

従来、Deep Learningの高速化手法において、GPUを搭載した複数のコンピュータをネットワークで結合した並列化では、10数台を超えるとコンピュータ間のデータ共有時間が増加するため、次第に並列化の効果が得られにくくなることが課題だったという。

今回、通信と演算を同時並列に実行するスーパーコンピュータの技術に加え、Deep Learningの処理の順序と共有するデータサイズの特徴に合わせて処理方法を変える「データ共有のスケジューリング技術」と「データサイズに応じた演算最適化処理技術」の2つの技術を開発した。

データ共有のスケジューリング技術は、連続的に続く複数の演算で次の学習処理の開始に必要となるデータが先にそれぞれのコンピュータで共有されるように転送の優先順序を自動的に制御する。

従来の技術では、次の学習処理の最初に必要となる1層のデータ共有処理が最後に行われるため、データ共有処理による遅延が長くなっている。開発された技術では、2層目のデータ共有処理途中に1層目のデータ共有処理を行うことで、次の学習処理の開始までの待ち時間を短縮する動作を実現した。

データ共有のスケジューリング技術

また、データサイズに応じた演算最適化処理技術は、演算結果を全コンピュータで共有する処理において、元のデータ量が少ない時は各コンピュータでデータを共有して同じ演算を実行し、結果を転送する時間を削減。

データ量が多い時は処理を分割し、他のコンピュータと算出した結果を共有して、後の演算で利用する。データ量に応じて最適な演算方法を行うよう自動で振り分けることで、全体の演算時間を最小にするという。

共有データサイズが小さい場合(上段)と大きい場合(下段)による処理の違い

同社は開発した技術をDeep Learningのフレームワーク「Caffe」に実装し、GPUをそれぞれ搭載した64台のコンピュータを使用した画像認識用多層ニューラルネットの「AlexNet」における学習時間を計測した結果、GPUを1台だけ使用した場合に比べ27倍の速度を達成。同技術の適用前と比較すると、GPU16台で46%、同64台で71%の学習速度の向上を実現した。

同技術を利用することにより、ロボット・自動車などの自動制御や、医療・金融などの分野において病変分類や株価予測に独自のニューラルネットモデルを開発する場合など、Deep Learningの研究開発時間を短縮することができ、高品質なモデルの開発が可能になるという。

今後、開発した技術を富士通のAI技術「Human Centric AI Zinrai(ジンライ)」の1つとして、2016年度中の実用化を目指す。また、学習速度のさらなる向上を図るため、技術の改善に取り組んでいく方針だ。