オープンソース

IBMがディープラーニングのモデルの訓練を分散並列処理で短時間化するライブラリを発表

次の記事

クラウドワークス、エンジニア向けサービスを手がけるBranding Engineerの株式2.7%取得

二か月前にFacebookのAI研究所FAIRが、大規模な分散ビジュアル認識モデルの、かなり感動的な(==短い、はやい)訓練時間を発表した。今日(米国時間8/7)はIBMが反撃に出て、独自の数字を発表した。IBMの研究グループによると、1000のクラスに対応する画像分類モデルResNet-50を、256のGPUを使用するシステムで50分で訓練できた。つまり、Facebookのモデルよりもはやい、と言いたいのだ。FacebookがCaffe2を使った結果では、同じResNet-50を、8kのミニバッチ方式で、256のGPU上で1時間で訓練できた。

しかしそもそも、それのどこが重要なのか? 分散処理はAIの研究でも重要な関連分野だが、でもそれは、科学的というより、あまりにも技術的なテーマだ。しかもディープラーニングのような大きなジョブは、ジョブを分割し、複数のCPU(ここではGPU)に分担させて同時並行的にやるのが、大規模高速コンピューティングの昔からの定石だ。

しかしディープラーニングのモデルの訓練では、GPUの台数と処理速度が単純に比例しない。1台のGPUで2分かかる訓練が、2台のGPUだと1分で済むか、というとそうは行かない。タスクの分割と結果の再結合という面倒な処理が、かなりの時間を食う。

IBMが約束しているのは、大きなディープラーニングの問題を数百の小さな問題に分割して効率的に行う、分散ディープラーニングライブラリだ。それらは単一のコンピューティングジョブが目的ではなくて、IBMやFacebookが毎日のようにやっているのは、何百万もの顧客のためのモデルの訓練だ。大手のテクノロジー企業はどこもそんな課題を抱えているが、企業により問題により変数の数や性質が異なるため、それらを単純に横並びで比較することはできない。

しかし、分散処理の漸進的な改良にもそろそろ限界があるのではないか。IBM Researchでシステムのスピードとメモリを担当しているディレクターHillery Hunteによると、今やどこも最適解に近づいている、という。

“今やシステムの能力の限界まで来ているから、最適解に近いと言える。今後の改良の大きさがどの程度になるのか、そもそも学習時間にこれ以上の改良は可能なのか、そろそろ問うてみる必要がある”。

IBMは今後ResNet-50だけでなくResNet-101も分散訓練を試してみる予定だ。101は50よりもずっと大きくて複雑なビジュアル認識のモデルだ。チームによると、GPU 256基の分散システムの上で、データセットとしてImageNet-22kを使って行ったResNet-101の訓練では7時間を要した。それは、かなり良好な結果だそうだ。

“この分散訓練は小さなシステムにもメリットはある”、とHunterは言う。“しかもGPUが256とか、システムが64までは(小さなシステムでは)要らないからね”。

このディープラーニングライブラリは、TensorFlowやCaffe、Torchなど、主なオープンソースのディープラーニングフレームワークで利用できる。自分で試してみたい方は、PowerAIから入手できる。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))