[論文レビュー] Large scale distributed neural network training through online distillation
本論文は codistillation を紹介します。オンライン蒸留の変種で、複数のモデルを並行して訓練し、それぞれの予測の一致を促すことで、標準的な分散SGDを超えるより高速なスケーリングを可能にし、追加のテスト時コストなしで再現性を向上させます。
Techniques such as ensembling and distillation promise model quality improvements when paired with almost any base model. However, due to increased test-time cost (for ensembles) and increased complexity of the training pipeline (for distillation), these techniques are challenging to use in industrial settings. In this paper we explore a variant of distillation which is relatively straightforward to use as it does not require a complicated multi-stage setup or many new hyperparameters. Our first claim is that online distillation enables us to use extra parallelism to fit very large datasets about twice as fast. Crucially, we can still speed up training even after we have already reached the point at which additional parallelism provides no benefit for synchronous or asynchronous stochastic gradient descent. Two neural networks trained on disjoint subsets of the data can share knowledge by encouraging each model to agree with the predictions the other model would have made. These predictions can come from a stale version of the other model so they can be safely computed using weights that only rarely get transmitted. Our second claim is that online distillation is a cost-effective way to make the exact predictions of a model dramatically more reproducible. We support our claims using experiments on the Criteo Display Ad Challenge dataset, ImageNet, and the largest to-date dataset used for neural language modeling, containing $6 imes 10^{11}$ tokens and based on the Common Crawl repository of web data.
研究の動機と目的
- 大規模ニューラルネットワークにおける従来の分散SGDを超えるスケーラブルな訓練の必要性を動機づける。
- 複数のモデルが並行して訓練され、知識を共有できる簡易なオンライン蒸留手法(codistillation)を提案する。
- codistillation が訓練を高速化し、テスト時コストを増やさずに精度を向上させることを示す。
- 実世界の大規模データセットへ codistillation を適用する際の実用的な考慮事項と設計上の選択を検討する。
提案手法
- 互いの平均予測との一致を促す蒸留項を用いて、データサブセットを分離して n コピーのモデルを訓練する。
- 他のモデルの古い予測を用いて蒸留損失を計算し、低通信要件を実現する。
- 初期のブ burn-in 後に蒸留を有効にし、基本損失を維持しつつ蒸留項を加えて結合目的関数を形成する。
- チェックポイントのグループ化とグループ間でのチェックポイント共有を通じて、分散SGD と組み合わせて codistillation を実現できることを示す。
- チェックポイントや予測サーバーを介した通信、古い予測への耐性など、実装上の留意点を提供する。
- 学習時間の効率性と再現性に焦点を当て、アンサンブルやオフライン蒸留と codistillation を比較する。
実験結果
リサーチクエスチョン
- RQ1オンライン codistillation は追加の並列性を活用して多段蒸留パイプラインを必要とせずに分散SGD よりも高速な訓練を実現できるか。
- RQ2codistillation は従来の蒸留とアンサンブルと比較して最終モデルの精度と再現性を維持または向上させるか。
- RQ3古い予測と通信戦略は、 largescale settings における codistillation の効果と実用性にどのような影響を与えるか。
- RQ4パイプラインの複雑さを最小限に抑えつつ codistillation の利点を最大化する実用的な設計選択は何か。
主な発見
- codistillation は、従来の SGD で収穫が減少する場合でも、より多くの計算資源を有効活用して訓練を高速化できる。
- 双方向 codistillation は、ベースラインと同じ検証誤差に到達するまでの訓練時間を約 2 倍短縮し、アンサンブルの性能に近づくことができる。
- codistillation は、予測の churn を低減しながらサービングコストを増やさずにアンサンブルと同様の再現性の利点を提供する。
- codistillation に異なるデータサブセットを使用する方が、同じデータを使用するよりも強い利得を生み、データ分割間の知識移転が成功していることを示す。
- codistillation は古い予測でも効果を維持し、同期 SGD または非同期 SGD と統合でき、通信コストは manageable である。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。