2017年8月、IBMは、画像認識機能トレーニングの最高記録を更新したことを発表した。
IBM Researchは、“ResNet-50”と呼ぶニューラルネットワークレイアウトのトレーニング時間を、わずか50分にまで短縮することに成功した。ResNet-101と呼ぶ別のネットワークレイアウトでは、33.8パーセントという精度面の新記録も樹立している。同社は256個のGPUを使用して、ImageNet-22Kデータセット内の750万イメージで自社のニューラルネットワークをトレーニングした。比較として、2017年6月にFacebookが、1時間でモデルのトレーニングを行なうことに成功したことを発表しているが、使用したデータセットとニューラルネットワークは今回よりも小規模なものだ。IBMはarXivの論文にこの成果を発表している。
InfoQは今回、IBM Researchでコグニティブインフラストラクチャ推進担当ディレクタを務めるHillery Hunter氏にコンタクトを取り、いくつかの質問をした。
InfoQ: まず最初に、この記録を更新しようとした時、どのような問題に直面したのかを教えてください。データセットはどの程度の規模で、通常ならばそのデータセットではどのような問題があるのでしょう?
ResNet-101を使用したトレーニングの実施では、750万のイメージを使用しました。データ数がこれほど多くなると、計算時間が大きな問題になります。このトレーニング問題を1台のサーバで実行した場合、完了までに約16日が必要になります。このような処理時間を許容してくれるような処理領域は、今日ではまず見当たりません。この規模のデータによるトレーニングを1日以内にするために、このタイムスケール問題に取り組みたいと思ったのです。
InfoQ: 目標を達成するには、使用した256以上のGPU間のコミュニケーションが非常に重要ですが、そのために何を行なったのか、それがネットワークのトレーニングにどう役立ったのかを教えてください。
システム内のそれぞれのLearner(学習者、各GPU)が適切な速度と帯域幅で極めて緊密に通信できるように、独自の通信ライブラリを開発しました。このライブラリは任意のディープラーニングフレームワーク(TensorFlow、Caffeなど)に統合することができます -- 特定のディープラーニングソフトウェアパッケージ内にハードコードされたものではありません。Learnerが高速に相互通信できるようになれば、より多くのLearnerを積極的に追加して、トレーニングをより速く実行できるようになります。通信が高速でなければ、スケーラビリティのボトルネックが発生するため、多数のサーバないしGPUを使用してトレーニング問題を解決することは不可能になります。
InfoQ: スケール効率の話題が出ましたが、これまでの記録は89パーセントで、今回は95パーセントに達しています。スケール効率とは正確には何であって、トレーニング時間とはどのように関係しているのでしょう?
スケール効率(Scaling Efficiency)は、計算問題を解決する上で、多数のサーバがどの程度効率的に連携可能かを示す指標です。スケール効率が高いほど、より多くのサーバを追加してソリューション時間を短縮することができます。95パーセントのスケール効率とは、問題解決に1台のサーバを使う代わりに100台のサーバを使用すれば、問題を95倍速く完了できるという意味になります。
InfoQ: 今回のケースでは、256個のGPUを使用して95パーセントのスケール効率を実現していますが、10,000GPUを使用した場合でも、トレーニング時間は9,500倍速くなるのでしょうか?別の言い方をすれば、リニアスケールなのでしょうか?制限要因は何でしょう?
新しい通信ライブラリは最適に近いと考えているので、さらに多くのGPUでも大幅な速度向上が見込まれます。ディープラーニングの研究コミュニティは現在、“バッチサイズ”と呼ばれる制限要因に取り組んでいます。この要因が現在、10,000GPUの実行を困難にしていますが、これが克服できれば、より多くのGPUによるスケールアップが可能になると期待しています。
InfoQ: 今回の記録更新に加えて、精度も29.8パーセントから33.8パーセントに向上していますが、これは単純に“トレーニングパワー”の向上によるものでしょうか、あるいはネットワークのレイアウトが変更されたのでしょうか?
今回の開発では、新たなニューラルネットワークの設計は行なっていません。完全同期型トレーニング(低レイテンシの通信ライブラリによって可能になりました)を活用したことと、トレーニング時間のアドバンテージによって多くの画像を処理することができたことが理由です。
InfoQ: モデルはどのフレームワークで開発しましたか?
今回の発表では、Torch(ResNet-50)とCaffe(ResNet-101)で行なった開発について説明しています。PowerAI技術プレビュープログラムを通じて、IBM Server GroupでもDistributed Deep Learningテクノロジを公開していますので、TensorFlowを使って試用することができます。
InfoQ: PowerAIプラットフォームとはどのようなものなのか、開発者にとって何ができるのか、説明して頂けますか?
PowerAIはフレームワーク(Caffe、Tensorflow、Torch、Chainerなど)、マルチサーバサポートといったディープラーニング機能と、GPUを活用するIBMサーバ用にプリコンパイルおよびプリオプティマイズされたユーザツールのセットです。PowerAIは、オープンソースのディープラーニングツールを使用する煩わしさを回避すると同時に、トレーニング時間のスピードアップ、カスタムデータセット上でのディープラーニングのパフォーマンス測定の簡略化によって、ユーザの開発を支援します。PowerAIの機能は、ユーザ自身のサーバ上でも、あるいはNimbixクラウド経由でも試すことが可能です。
InfoQ: トレーニングのスピードをさらに向上する計画はありますか?計算時間と精度に関して、何が限界になると思いますか?
私たちの分散型ディープラーニングライブラリは、スケーリング効率の点では最適に近いと確信していますが、全体的には、ディープラーニングのトレーニング時間や精度はさらに向上すると考えています。大型の機能が数週間から1ヶ月かけて動作するという現在の象牙の塔からディープラーニングが抜け出して、数分や数秒単位のビジネス成果を求めるユーザの手に渡ることを望んでいます。
Hillery Hunter氏について:
Hillery Hunter氏はIBMフェローで、ニューヨークのヨークタウンハイツにあるIBM T.J. Watson Research Centerで、Accelerated Cognitive Infrastructureグループのディレクタを務めています。氏は、従来の問題に対して新たなソリューションを実現するために、シリコンからシステムアーキテクチャまで跨がる、分野横断的な技術トピックに関心を持っています。氏のチームは、マシンラーニングとディープラーニングの処理時間の問題を解決するため、ハードウェアとソフトウェアの相互最適化を追求しています。氏はこれまで、DRAMメインメモリシステムと組込みDRAMの分野を専門として、IBMのサーバとメインフレーム用のDDR3世代エンドツーエンドメモリパワーのリーダとして、開発キャリアを積んできました。2010年には、米国を代表する若手技術者のひとりとして認められ、全米技術アカデミー(National Academy of Engineering)からFrontiers in Engineering Symposiumに選出されています。イリノイ大学アーバナシャンペーン校で電気工学の博士号を取得したHunter博士は、IBMテクノロジアカデミーのメンバであり、2017年にIBMフェローに任命されています。
この記事を評価
- 編集者評
- 編集長アクション