スピードが問題となる検索テクノロジーの世界では深層学習モデルの訓練に割く時間は1分ずつがきわめて貴重だ。今朝(米国時間6/8)、Facebookは論文を発表し、この問題に対する独自のアプローチを紹介した。Facebookによれば、ImageNetのResNet-50深層学習モデルの訓練時間を29時間から1時間に短縮することに成功したという。
Facebookがこのようにドラスティックな進歩を遂げることができた理由は、画像認識訓練をこれまでより多数のGPUに分散して並行処理させることに成功したからだ。Facebookはこれを「ミニバッチ」と呼んでいるが、以前のベンチマークでは256種の画像を8基のGPUに分散処理させていた。今日発表された論文のケースでは、ミニバッチのサイズが大幅に拡張され、8192種類の画像を256基のGPUに分散させている。
われわれ一般ユーザーはGPUボードを256枚も持っていないが、大企業や十分な資金のある研究グループならその程度は持っているのが普通だ。処理をこれほど多数のGPUに分散させ、精度を大幅に犠牲にすることなく訓練時間を著しく短縮することに成功したのであれば影響は大きい。
Facebookチームは今回の方法では、初期の学習率を落としているが、これは従来バッチのサイズが大きいと処理が不可能となる問題を避けるためだった。ここでは数学的詳細にはあまり立ち入らないが、ResNet-50では確率的勾配降下法(stochastic gradient descent)が用いられている。
確率的勾配降下法で重要となる変数の一つは学習率(learning rate)だ。学習率は訓練を行う際のステップサイズを決定する。分散処理のサイズが変化すれば学習率も変えなければならず、この部分を最適化できるかどうかが最終的効率にとって決定的だ。
機械学習のデベロッパーはつねに妥協を強いられる。精度をアップしようとすれば学習させるデータセットのサイズを大きくしなければならず、訓練に必要な時間が増大する。当然コンピューティング・リソースも多く必要となる。その意味で、機械学習モデルは精度、スピードのいずれかを優先するデザインとすることが可能だ。しかしいくら20秒で学習が完了しても精度が悪くては役に立たない。
他の多くの研究プロジェクトとは方向を異にし、FacebookのFAIR ( Facebook AI Research)とAML(Applied Machine Learning)の両チームは密接に協力しながら並行処理のサイズを拡大することに努めてきた。Facebookのチームは今回の論文を出発点として、ここで明らかになった問題点をさらに研究していく計画だ。
FacebookのAMLチームのメンバー、Pieter Noordhuisは「今回の研究では答えよりむしろ質問を増やす結果になった。訓練用画像数が8000のあたりにティッピングポイントがあり、これを超えると再びエラー率が急増するが、その理由が分からない」と述べている。
深層学習のフレームワークはFacebookが開発してオープンソース化したCaffe2が用いられた。今回の実験はFacebookが開発したBig Basin GPUサーバー上で実行された。さらに詳しく知りたい場合、Facebookが発表した詳細はこちら。
画像:Toast and Jam Films
[原文へ]
(翻訳:滑川海彦@Facebook Google+)