Skip to main content
QUICK REVIEW

[論文レビュー] An Empirical Model of Large-Batch Training

Sam McCandlish, Jared Kaplan|arXiv (Cornell University)|Dec 14, 2018
Optimization and Search Problems参考文献 36被引用数 139
ひとこと要約

本論文は、gradient noise scale を、監督付き学習、RL、生成モデルタスク全体で最も有用なバッチサイズを予測する簡単な統計量として導入し、計算効率と時間効率のトレードオフを分析します。複数の領域でテストし、noise scale がトレーニングの進行とタスクの難易度に応じて増加することを示します。

ABSTRACT

In an increasing number of domains it has been demonstrated that deep learning models can be trained using relatively large batch sizes without sacrificing data efficiency. However the limits of this massive data parallelism seem to differ from domain to domain, ranging from batches of tens of thousands in ImageNet to batches of millions in RL agents that play the game Dota 2. To our knowledge there is limited conceptual understanding of why these limits to batch size differ or how we might choose the correct batch size in a new domain. In this paper, we demonstrate that a simple and easy-to-measure statistic called the gradient noise scale predicts the largest useful batch size across many domains and applications, including a number of supervised learning datasets (MNIST, SVHN, CIFAR-10, ImageNet, Billion Word), reinforcement learning domains (Atari and Dota), and even generative model training (autoencoders on SVHN). We find that the noise scale increases as the loss decreases over a training run and depends on the model size primarily through improved model performance. Our empirically-motivated theory also describes the tradeoff between compute-efficiency and time-efficiency, and provides a rough model of the benefits of adaptive batch-size training.

研究の動機と目的

  • バッチサイズがドメインとデータセットごとに異なる理由を動機付け、理解する。
  • gradient noise scale を最適なバッチサイズの実用的な予測子として導入する。
  • バッチサイズ、勾配ノイズ、トレーニング効率を結ぶシンプルな理論を展開する。
  • ImageNet、CIFAR-10、SVHN、MNIST、BillionWord、Atari、Dota など、多様なタスクで予測を実証的に検証する。

提案手法

  • gradient noise scale を B_noise = tr(H Σ) / (G^T H G) と定義・導出する。
  • ε_opt(B) = ε_max / (1 + B_noise/B) によって最適なステップサイズとバッチサイズを関連づける。
  • 実用的測定のために簡略化したノイズスケール B_simple = tr(Σ) / |G|^2 を定義する。
  • B_crit ~ B_noise の周りでハイパボラのようなトレードオフを予測する。
  • タスク全体で B_simple, B_noise, および B_crit を測定し、トレーニング中にどのように進化するかを追跡する。
  • モデルの予測との整合性を評価するために経験的なパレートフロントを当てはめる。

実験結果

リサーチクエスチョン

  • RQ1勾配ノイズスケールとは何か、そしてタスク間で最適なバッチサイズとどう関連するのか。
  • RQ2B_simple/B_noise が、計算効率の改善が効果を発揮する臨界バッチサイズを予測できるか。
  • RQ3ノイズスケールはトレーニング中およびタスクタイプ(監督、RL、生成)でどのように進化するか。
  • RQ4学習率と条件付けが観測されるバッチサイズのトレードオフに与える影響は何か。
  • RQ5動的なバッチサイズ調整は理論が予測するように効率を改善するか。

主な発見

  • 勾配ノイズスケールは、タスク間で最大の実用的なバッチサイズを概算するおおよそのレベルで予測する。
  • トレーニング効率はパレートフロンティアに従い、ノイズスケールを超える大きなバッチの利得は頭打ちになる。
  • ノイズスケールはトレーニング中に、モデルが低い損失を達成するにつれて増加する。
  • B_simple は多くのタスクで B_crit の実用的な推定値を提供し、B_noise は場合によってより近い予測を示す。
  • ノイズスケールはより複雑なタスク(例:RL/Dota)で大きく、トレーニングが進むにつれて成長する。
  • ノイズスケールに導かれた動的なバッチサイズの調整は、効率を改善すると予測される。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。