PRESS RELEASE (技術)
2016年8月9日
株式会社富士通研究所
Deep Learning学習処理の高速化技術を開発
「AlexNet」においてGPU1台と比較し64台の並列化で27倍となるなど、世界最高速度を実現
株式会社富士通研究所(注1)(以下、富士通研究所)は、スーパーコンピュータのソフトウェア並列化技術を応用し、複数のGPUを使ってDeep Learningの学習速度を高速化するソフトウェア技術を開発しました。
従来、Deep Learningの高速化手法において、GPUを搭載した複数のコンピュータをネットワークで結合した並列化では、10数台を超えるとコンピュータ間のデータ共有時間が増加するため、次第に並列化の効果が得られにくくなることが課題でした。今回、このデータ共有を効率よく行う並列化技術を新規に開発し、世界で広く利用されているオープンソースソフトウェアのDeep Learningフレームワーク「Caffe」に適用しました。幅広いDeep Learningで有効であることを確認するため、「AlexNet(注2)」を用いて評価したところ、GPU1台の学習速度に対して16台で14.7倍、64台では27倍の世界最高速度(注3)を達成し、本技術適用前と比べてGPU16台で46%、64台で71%の学習速度の向上を実現しました。これにより、コンピュータ1台では約1か月かかる学習処理をGPUを64台並列動作させることで、1日程度で処理することが可能となりました。
本技術によって、Deep Learningによる研究開発期間が短縮され、より高品質な学習モデルの開発が可能となります。富士通研究所では、本技術を、富士通株式会社のAI技術「Human Centric AI Zinrai(ジンライ)」の一つとして実用化を目指し、お客様とともにAIの活用に取り組んでいく予定です。
本技術の詳細は、8月8日(月曜日)から8月10日(水曜日)まで長野県松本市で開催中のワークショップ「SWoPP 2016(Summer United Workshops on Parallel, Distributed and Cooperative Processing)」にて発表しました。
開発の背景
近年Deep Learningと呼ばれるAI手法の研究が進み、画像認識や文字認識、音声認識においては、人間を超える認識率が達成されています。
Deep Learningは従来技術と比べ大幅に認識の精度を向上させる技術ですが、そのために大量のデータを何度も学習する必要があります。このため、CPUよりも、高速な演算に適しているGPUが広く利用されています。ただしDeep Learningでは大量のデータから学習する際に膨大な時間がかかるため、複数のGPUを並列に動作させるDeep Learningソフトウェアが開発されてきています。
課題
1台のコンピュータでは搭載できるGPU数に上限があるため、多数のGPUを利用するには高速なネットワークで複数のコンピュータを相互接続し、データを共有しながら学習処理を進める必要があります。しかし、Deep Learningの並列処理では、共有が必要となる処理単位において、共有が必要なデータ量と演算時間にばらつきがあり、加えて前の演算結果を利用しながら順に演算をすることから、並列処理におけるデータ共有が複雑になります。そのため、コンピュータ間の通信時間が余分にかかり、コンピュータの台数を増やしても、高速化の効果が得にくいという課題がありました。
開発した技術
今回、通信と演算を同時並列に実行するというスーパーコンピュータの技術に加え、Deep Learningの処理の順序と共有するデータサイズの特徴に合わせて処理方法を変える次の2つの技術を開発し、適用することで、大小様々な共有データサイズが含まれる場合においても、処理と処理の間の待ち時間の増加を抑えて学習処理の高速化を実現しました。
- データ共有のスケジューリング技術
連続的に続く複数の演算で、次の学習処理の開始に必要となるデータが先にそれぞれのコンピュータで共有されるように転送の優先順序を自動的に制御します(図1)。従来技術(図1左)では、次の学習処理の最初に必要となる1層のデータ共有処理が最後に行われるため、データ共有処理による遅延が長くなっています。今回の開発技術(図1右)では、2層目のデータ共有処理途中に1層目のデータ共有処理を行うことで、次の学習処理の開始までの待ち時間を短縮する動作を実現しました。
図1 データ共有のスケジューリング技術
拡大イメージ - データサイズに応じた演算最適化処理技術
演算結果を全コンピュータで共有する処理において、元となるデータ量が少ない時は各コンピュータでデータを共有して同じ演算を実行し、結果を転送する時間を削減します。データ量が多い時は処理を分割し、他のコンピュータと算出した結果を共有して、後の演算で利用します。データの量に応じて最適な演算方法を行うよう自動で振り分けることにより、全体の演算時間を最小にします(図2)。
図2 共有データサイズが小さい場合(上段)と大きい場合(下段)による、処理の違い。
効果
今回開発した技術を、Deep Learningフレームワーク「Caffe」に実装し、GPUをそれぞれ搭載した64台のコンピュータを使用した「AlexNet」における学習時間を計測したところGPUを1台だけ使用した場合に比べ27倍の速度を達成しました。本技術適用前と比較すると、GPU16台で46%、64台で71%の学習速度の向上を実現しました。(当社比)
本技術を利用することにより、ロボット・自動車などの自動制御や、医療・金融などの分野において病変分類や株価予測に独自のニューラルネットモデルを開発する場合など、Deep Learningの研究開発時間を短縮することができ、より高品質なモデルの開発が可能となります。
今後
富士通研究所では、今回開発した技術を富士通株式会社のAI技術「Human Centric AI Zinrai(ジンライ)」の一つとして、2016年度中の実用化を目指します。また、学習速度のさらなる向上をめざし、技術の改善をおこなっていきます。
商標について
記載されている製品名などの固有名詞は、各社の商標または登録商標です。
以上
注釈
- 注1 株式会社富士通研究所:
- 本社 神奈川県川崎市、代表取締役社長 佐々木繁。
- 注2 AlexNet:
- 画像認識用多層ニューラルネットの一つ。いろいろなニューラルネットを含むため、今回一般的なニューラルネットのサンプルとして使用。2012年の画像認識プログラムコンテストで優勝し、現在の画像認識ニューラルネットのベースとなっている。
- 注3 世界最高速度:
- 2016年8月5日現在、当社調べ。
本件に関するお問い合わせ
株式会社富士通研究所
コンピュータシステム研究所
044-754-2931 (直通)
ngcs-ai-press@ml.labs.fujitsu.com
プレスリリースに記載された製品の価格、仕様、サービス内容、お問い合わせ先などは、発表日現在のものです。その後予告なしに変更されることがあります。あらかじめご了承ください。