4分間の警告です: 科学者がImageNetベースのAI分類器をわずか240秒で学習

Table of Contents

4分間の警告です: 科学者がImageNetベースのAI分類器をわずか240秒で学習

AIにおいては、速さは常に優れていますが、それには代償が伴います。研究者がニューラルネットワークを猛スピードで学習させようとすると、ソフトウェアの精度は低下します。

したがって、機械学習コードを高速に学習させ、その結果得られるネットワークが正確で正しい決定を下せるようにすることが重要な目標です。

そこで、中国最大級のテックコングロマリットであるテンセントと香港バプティスト大学の研究者グループは、画像分類システムによく用いられるデータセットImageNetをベースに構築された人気のニューラルネットワークAlexNetをわずか4分で学習させることに成功しました。これまでの記録は、私たちの知る限り、カリフォルニア大学バークレー校などの研究者が保持していた11分でした。

結果として得られたシステムは、与えられた写真内の物体を認識してラベル付けすることができ、およそ 3 回のうち 2 回は正しい説明をします。これは、精度の点ではカリフォルニア大学バークレー校の取り組みとほぼ匹敵します。

「アレックスネットを95エポックでトレーニングすると、私たちのシステムは4分以内に58.7パーセントのトップ1テスト精度を達成することができ、これは他のすべての既存のシステムよりも優れている」と、テンセントと香港バプテスト大学のチームが今週arXivに投稿した論文には記されている。

ニューラルネットワークは、学習プロセス中にデータセットからバッチでサンプルを供給されます。学習時間を短縮するには、バッチサイズを大きくします。本研究では、研究者らは学習中にバッチごとに65,536枚のImageNet画像をニューラルネットワークに通しました。これは、カリフォルニア大学バークレー校のチームが使用したスナップの2倍に相当します。また、計算には1,024基のNvidia Tesla P40 GPUを使用しました。カリフォルニア大学バークレー校の研究では、1,024基のIntel Knights Landing Xeon Phi 7250チップが使用されました。

商売のコツ

問題は、バッチサイズを大きくするとニューラルネットワークの汎化能力が低下することです。つまり、これまで見たことのないものを識別する能力が低下します。したがって、処理速度と分類能力の観点から最適なバッチサイズを実現しつつ、多数のノードにまたがってスケールできるようにソフトウェアのバランスを調整する必要があります。トレーニング時間を数時間や数日ではなく数分単位に短縮するには、複数のノードを並列に実行する必要があります。

トレーニング中に 100 台のマシンで数値を並行して実行する場合、それらのマシンを調整し、結果を収集して抽出する必要があります。そのためには、ボトルネックやその他の停止要因を排除するために、コンピューター間の通信を可能な限り効率的にする必要があります。

そこで、テンセントと香港大学のチームは「テンソルフュージョン」と呼ばれる通信技術を考案しました。ノードがクラスターネットワーク上で情報を共有する際、複数の小さなテンソルをまとめてパッケージ化することで転送する情報量を削減し、レイテンシを削減してスループットを向上させます。スループットの向上は、モデルのトレーニングにかかる​​時間を短縮します。

チームはまた、トレーニング中に純粋な FP32 ではなく、32 ビットの完全精度浮動小数点演算と 16 ビットの半精度浮動小数点演算 (FP32 と FP16) を組み合わせて使用​​しました。これにより、ノードのメモリを通過するデータの量がさらに削減され、スループットが向上し、トレーニング時間が短縮されました。

「半精度でのトレーニングは単一のGPUのスループットを向上させ、大きなバッチサイズを扱うことで分散システムのスケーラビリティを向上させます」と、テンセントのAIエンジニアである賈詡氏はThe Registerに説明した。「2つの技術を組み合わせることで、システム全体のスループットが向上します。そのため、同様のハードウェアを使った以前の研究よりもはるかに短い時間でニューラルネットワークをトレーニングできます。」

CNNの学習において、大きなバッチサイズで半精度を直接適用すると、精度が低下する可能性があります。そこで、精度を損なうことなく半精度とバッチサイズの高いスループットを享受できる最適化手法を提案します。

研究の加速

より大きなバッチサイズ、混合精度、最適化された並列処理通信を組み合わせることで、研究者たちはAlexNetを超高速に学習させただけでなく、ImageNetベースのニューラルネットワークResNet-50も学習させることに成功しました。後者は1,024基のTesla P40 GPUを用いて8.7分でトップ1精度76.2%を達成しました。GPUの数を2,048基に倍増させたところ、学習時間は6.6分に短縮されましたが、精度はわずかに低下して75.8%となりました。興味深いことに、NvidiaベースのTenCent AlexNetは、Xeon-PhiベースのBerkeley AlexNetよりも高速でした。

「ディープラーニングは大規模データを扱う多くの分野で広く応用されている」と賈氏は語った。

写真家

スマホでスナップ写真をきれいにすることはできるかもしれないが、私たちのAIは修正がはるかに得意だと科学者は言う

続きを読む

しかし、ディープラーニングの研究者やエンジニアは、大規模なモデルの結果が収束するまでに数日かかる可能性があります。長い学習時間は研究開発サイクルの妨げとなります。そのため、大規模なディープラーニングモデルの学習プロセスを高速化することは、機械学習とHPCコミュニティの両方にとって非常に重要です。

NVIDIAのTeslaやXeon Phiといった数学アクセラレータは数千ドルもするので、こうしたプロジェクトのコストは決して安くはありません。GoogleのレンタルTPUなど、ハードウェアの選択肢は他にもありますが、Jia氏によると、NVIDIAのライブラリと行列演算コンパイラからなるソフトウェアスタックによって、ニューラルネットワークの最適化は比較的容易になります。

「私たちの知る限り、ユーザーやグループがTPUクラスターを使ってこのような実験を行うのは依然として困難です」と彼女は語った。「とはいえ、私たちの最適化はすべてHPCコミュニティではよく知られた手法であり、研究者がシステムの具体的なマシンやチップのトポロジ、そしてチップのピークメモリ帯域幅とGFLOPSを把握していれば、TPUやその他のASICを使用するシステムにも一般化できます。」

最終的にはこれらの技術をTenCentのAIインフラサービスに適用し、スケールアップさせることが目標です。「私たちのビジョンは、ImageNetトレーニング用に設計した最適化を、シーケンスモデルや強化学習モデルなど、より多くの分野に適用することです。そして、モデルとアルゴリズムの設計のみに集中したい、そしてそうあるべき社内の研究者やデータサイエンティストのために、インフラサポートを継続的に提供していくことです」と彼女は締めくくりました。®

Discover More