[論文レビュー] Cramming: Training a Language Model on a Single GPU in One Day
論文は、トランスフォーマー型言語モデルを完全にゼロから1台のコンシューマGPUで24時間訓練し、下流のGLUEパフォーマンスを評価し、慎重に設計されたパイプラインとデータ選定でBERTに似た結果を達成する。
Recent trends in language modeling have focused on increasing performance through scaling, and have resulted in an environment where training language models is out of reach for most researchers and practitioners. While most in the community are asking how to push the limits of extreme computation, we ask the opposite question: How far can we get with a single GPU in just one day? We investigate the downstream performance achievable with a transformer-based language model trained completely from scratch with masked language modeling for a single day on a single consumer GPU. Aside from re-analyzing nearly all components of the pretraining pipeline for this scenario and providing a modified pipeline with performance close to BERT, we investigate why scaling down is hard, and which modifications actually improve performance in this scenario. We provide evidence that even in this constrained setting, performance closely follows scaling laws observed in large-compute settings. Through the lens of scaling laws, we categorize a range of recent improvements to training and architecture and discuss their merit and practical applicability (or lack thereof) for the limited compute setting.
研究の動機と目的
- 単一のGPU上で24時間以内にトランスフォーマー型言語モデルをゼロからどこまで訓練できるかを調査する。
- 厳しい計算資源制約の下で、事前学習パイプラインの構成要素を再検討し、最適化する。
- クラマリング(低リソース環境)をBERTおよび関連ベースラインと比較するために、下流のGLUEパフォーマンスを評価する。
- 低リソース領域でデータ選択とデータ整備が性能に与える影響を分析する。
提案手法
- 計算制約で正当化されない限り、標準コンポーネントに限定しつつ、自動混合精度を備えたPyTorchベースの事前学習パイプラインを実装する。
- 128トークンパック済みシーケンス設定を使用し、32768トークンのWordPiece語彙と、WikipediaとBooks Corpusに由来する小文字のASCIIのみコーパスを使用する。
- アーキテクチャの選択肢(例:アテンションバイアス、埋め込み方式、正規化)やトレーニングのハイパーパラメータを体系的にアブレーションし、24時間の予算で何が利益を生むかを特定する。
- スケーリング則を用いて結果を解釈し、どこで利益が得られるかを導く。大規模なアーキテクチャ変更よりもデータスループットと勾配計算の効率に焦点を当てる。
- データソーシングと処理(The Pile、C4のサブセット)およびデータフィルタリング(圧縮ベースのフィルタリング、ソート)を試み、下流の性能を向上させる。
実験結果
リサーチクエスチョン
- RQ1単一のGPUで1日間ゼロから言語モデルを事前学習させたとき、下流のGLUEパフォーマンスはどの程度達成できるか?
- RQ2極端な計算縮小の下で、どのアーキテクチャ、訓練、データの選択が意味のある利得を生み出すか?
- RQ3大規模トレーニングで観察されるスケーリング則は、クラマリング(低リソース) regimeでどのように現れるか?
- RQ424時間の事前学習シナリオにおいて、データ整備が下流の性能にどの程度影響を与えるか?
主な発見
- クラマリング設定の性能は、大規模計算域と同様のスケーリング則に従い、より大きなモデルは各勾配あたりより多くを学習し、より小さなモデルはスループットの利点を提供する。
- 24時間予算の下で大規模なアーキテクチャ再設計は限定的な利得をもたらす一方、勾配計算を高速化する狙いを絞った最適化はモデルサイズを増やすことなく改善を提供する。
- データの注意深い選定と処理(例:圧縮できないコンテンツのフィルタリング、シーケンスのソート、エンドバッチサイズの増加)は、特にC4やThe Pileのようなデータ源で下流の性能を改善できる。
- 事前学習中のドロップアウトをスキップすることで、単一エポック予算内のパラメータ更新を最大化し、監督付きファインチューニング時に正則化のためにドロップアウトは保持する。
- Izsak et al.(2021)と比較して、クラマリングレシピはGLUEタスクで substantial gains をもたらし、異なるGPU(RTX 2080 Ti、A4000、A6000)で競争力のある MNLI、QQP、QNLI、SST-2 の結果を達成する。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。