私の連絡先情報
郵便管理者@information.bz
2024-08-03
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
新しい知恵のレポート
編集者:喬楊
【新しい知恵の紹介】 ICML 2024でDeepMindによって最近採択された論文は、Googleに支援された彼らの「圧政」を完全に暴露した。記事では、この研究に必要な計算能力とコストは Llama 3 の事前トレーニングの約 15% であり、コストは 1,290 万米ドルに達する可能性があると推定しています。
学会論文を出版するにはどれくらいの実験予算が必要ですか?
最近、DeepMind は、LLM がスケールアップする際の、パラメーターやオプティマイザーの選択など、さまざまなアルゴリズムおよびアーキテクチャの詳細について広範な実証的調査を行った研究を発表しました。
この論文は ICML 2024 に受理されました。
論文アドレス: https://arxiv.org/abs/2407.05872
63 ページのこの論文は数万のモデルをカバーしており、代替案には 3 つのオプティマイザ、4 つのパラメータ化スキーム、いくつかの位置合わせの仮定、12 を超える学習率、最大 26.8B の 14 のパラメータ サイズが含まれています。
実験が必要な 4 つのパラメータ化スキーム
この数字を聞くだけでも、この研究には膨大な数のモデル走行実験が必要であることがわかります。
忠実な読者は、論文の内容の理解をテストするために、その中で行われたすべての実験を数え、論文を複製するコストを見積もりました。
必要な計算能力をすべて合計すると、実際には 1,290 万米ドルという驚くべき金額に達しました。
あなたが研究チームのリーダーであれば、実験計画に基づいて必要な計算能力とコストを見積もることは必須のスキルです。
それでは、このブログ記事に従って、これら 1,000 万米ドル以上が正確にどこで燃やされたのかを調べてみましょう。
変圧器のアーキテクチャ情報
この論文の付録 C では、デコーダのみのアーキテクチャの使用、レイヤの正規化、GeLU アクティベーション関数、ドロップアウトなし、T5 トークナイザ、バッチ サイズ 256、FSDP 並列処理の使用など、モデルのアルゴリズムとアーキテクチャに関するさまざまな詳細設定が提供されています。
実験モデルのパラメータスケール統計
アーキテクチャ情報を通じて、トレーニング中の各トークンに必要な FLOPS (M として示される) を大まかに見積もることができます。
この文書では GQA/MQA メカニズムについて説明していないため、lseq=512、Dhead=128、L=8 (深さ)、および V=32101 (単語セグメンター語彙) に加えて、Rkv=1 と仮定します。
モデルの合計パラメータは次のように表すことができます。
したがって、M の計算式は次のようになります。
デフォルトでは、実験ごとに処理されるトークンの数 (TPE) は 5k (トレーニング ステップ数) × 256 (バッチ サイズ) × 512 (lseq)、つまり約 6.5536e9 です。
def M(d: int, L=8, l_seq=512, V=32101) -> int: return 6*d * (L*(12*d + l_seq) + V) TPE = 50000 * 256 * 512
アライメント実験
仮説の整合実験では、個別の学習率スキャンの代わりに、後続の学習率スキャンから得られた最適な結果が直接使用されたため、このステップのコスト計算は比較的簡単です。
def alignment() -> int: return 4 * TPE * sum(M(d) for d in [1024,2048,4096]) # >>> f'{alignment():.3E}' # '3.733E+20' # >>> cost_of_run(alignment())[0] # 888.81395400704
H100 の稼働時間あたりのコストが 3 ドルだとすると、位置合わせ実験のコストはおよそ 888 ドルになります。
学習率
副問題:最適評価損失(eval loss)実験
論文の表 E1 には、オプティマイザー × パラメーター化スキーム × モデル サイズ × 6 つのモデル サイズの下での実験設定のすべての可能な組み合わせが記録されており、最良の評価損失を得るために基本的な学習率スキャンをそれぞれ実行します。
以下の実験変数の合計が含まれます。
- モデル寸法 D∈3072,4096,6144,8192,12288,16384
- 4 つのパラメータ化オプション
- 3 つのオプティマイザー。そのうち SGD には 5 つの実験設定しかなく、Adam および Adam+Param Scaling には 7 つの実験設定があります。
ここでの実験はすべて独立して実行され、結果は他の場所から複製されないと仮定します。したがって、すべてを 1 回実行した場合のコストの上限推定値は次のようになります。
H = [1,2,4,6,8,12,16,20,24,32,48,64,96,128] D = [h * 128 for h in H] def table_e1() -> int: sets_x_optims = 5 + 7 + 7 return 4 * sets_x_optims * TPE * sum(M(d) for d in D[-6:]) # >>> f'{table_e1():.3E}';cost_of_run(table_e1()) # '1.634E+23' # (388955.9991064986, 16206.499962770775)
この部品のコストは 40 万ドル近くで、まだ許容範囲内ですが、ほとんどの学術予算にとってはすでに非常に高価です。
表 E1 は最良の評価損失を示していますが、LR のスキャン戦略については説明されておらず、各ピクチャ上のポイントの数も異なります。
論文の著者から返答がなかったため、具体的なメカニズムを特定することはできません。そのため、最も評価の高い損失はそれぞれ 15 回の実験を経たと仮定します (目視検査では、各線の点の数が約 10 であることがわかりました) 15まで)。
βパラメータ
この論文のセクション 4.2 によると、学習率には 2 つのハイパーパラメータ β と γ の選択も含まれます。
β パラメーターのみがある場合、それは「LR+デフォルト」設定と呼ばれます。
この部分には、3 倍のオプティマイザ、4 倍のパラメータ化に加え、グローバル層と単一層 (GlobalLR、Perlayer-fullalign) での個別の実験、および未知の数の LR スキャンが含まれます。
def beta_only() -> int: return 3*4*2*PpL * TPE * sum(M(d) for d in D) # 7.988E+23 (1902022.3291813303, 79250.93038255542)
式からわかるように、コストは以下のイプシロン実験と同様で、どちらも 200 万米ドルです。
γパラメータ
βパラメータ実験と比較すると、この部分では細かい違いが2つあります。
まず、GlobalLR および Perlayer-fullalign 設定に加えて、Perlayer-noalign 設定も追加する必要があります。
次に、3D ハイパーパラメータ検索 (γ_1、γ_h、γ_L+1) は d=1024=b に対してのみ実行されるため、さらに 800 回の実行が行われます。
両者を組み合わせた計算式は次のようになります。
この部品の推定コストは、アダムのイプシロン ヒート マップ実験の約 320 万ドルに近いです。
def gamma_expts() -> int: return 36*TPE * (800*M(1024) + PpL*sum(M(d) for d in D)) # gamma_expts 1.354E+24 (3224397.534237257, 134349.8972598857)
Adam オプティマイザーのイプシロン パラメーター
この論文のセクション 4.3 で説明されているイプシロン パラメーターの実験が計算の大部分を占めます。
上記の推論によると、最良の評価損失を見つけるために 15 の異なる学習率 (ラインあたりのポイント) が毎回試行され、図 6 に示すイプシロン パラメーター変化グラフの計算量は次のようになります。
計算の結果、請求額は 200 万ドルという高額であることが分かりました。
PpL = 15 # unprincipled estimate def eps_variants() -> int: return 4 * 6 * PpL * TPE * sum(M(d) for d in D) ''' >>> f'{eps_variants():.3E}';cost_of_run(eps_variants()) '7.988E+23' (1902022.3291813303, 79250.93038255542) '''
図 6 の左側の折れ線グラフに加えて、付録 F にはヒート マップの結果もあります。
各ブロック値が 13 回の学習率スキャンの結果であると仮定すると、この部分の計算量は次のようになります。
これら 8 つのヒート マップを取得するだけでコストが 320 万米ドルかかることが判明しました。また、LR スキャンの数を定数 13 としてモデル化しているため、この数は実際のコストよりも低くなる可能性があります。
def eps_heatmaps() -> int: # eps-type * eps-val * parameterizations * LR range * ... return 2 * 6 * 4 * 13 * TPE * sum(M(d) for d in D[-6:]) ''' >>> f'{eps_heatmaps():.3E}';cost_of_run(eps_heatmaps()) '1.341E+24' (3193533.466348094, 133063.89443117057) '''
体重減少
重み減衰実験 (付録 G) は比較的理解しやすいもので、基本的な LR スキャンは 4x パラメータ化スキームとすべてのパラメータで実行されます。
これは、ベイエリアのエンジニアの年収であるイプシロン実験よりもはるかに安いです - 317,000ドル。
def weight_decay() -> int: return 4 * PpL * TPE * sum(M(d) for d in D) ''' >>> f'{weight_decay():.3E}'; cost_of_run(weight_decay()) '1.331E+23' (317003.7215302217, 13208.488397092571) '''
Adafactor オプティマイザー
実験のこの部分については、付録 C3 で詳しく説明されており、Adafactor と Adam+parameter スケーリングが同様の幅スケーリング メカニズムを備えているかどうかをテストします。
2×4 プロットがあり、各オプティマイザーが 11 個のデータ ポイントを収集するため、計算式は次のようになります。
さらに 188,000 ドルが請求書に追加されました。
def adafactor() -> int: return 2*2*4*PpL*TPE*sum(M(d) for d in D[:11]) ''' >>> f'{adafactor():.3E}'; cost_of_run(adafactor()) '7.918E+22' (188532.80765144504, 7855.533652143543) '''
計算の最適化
この論文では、最適な計算設定を見つけるために、アテンション ヘッド H の数を変更しようとしていますが、ステップ サイズとデータ セットの変更が含まれるため、この部分では式の記述は使用されていません。計算コードは次のとおりです。
def P(d: int, L=8, V=32101) -> int: return 2 * d * (6*L*d + V) def compute_optimal(): indices_50k = (14, 14, 12) return 4*PpL*sum([ TPE * sum(sum( M(d) for d in D[:i] ) for i in indices_50k), 20 * sum(P(d)*M(d) for d in D[:11]) *3, ]) # compute_optim 7.518E+23 (1790104.1799513847, 74587.67416464102)
要約する
上記の実験の計算能力とコストを要約します。
alignment 3.733E+20 (888.81395400704, 37.033914750293334) table_e1 1.634E+23 (388955.9991064986, 16206.499962770775) eps_variants 7.988E+23 (1902022.3291813303, 79250.93038255542) eps_heatmaps 1.341E+24 (3193533.466348094, 133063.89443117057) beta_only 7.988E+23 (1902022.3291813303, 79250.93038255542) gamma_expts 1.354E+24 (3224397.534237257, 134349.8972598857) weight_decay 1.331E+23 (317003.7215302217, 13208.488397092571) adafactor 7.918E+22 (188532.80765144504, 7855.533652143543) compute_optim 7.518E+23 (1790104.1799513847, 74587.67416464102)
論文全体の計算量は 5.42e24 FLOPS であることがわかりました。
この数値は、Llama 3 のトレーニング計算量の 15% にすぎません。100,000 枚のカードを含む H100 クラスターで実行した場合、すべての実験を完了するのにわずか 2 日しかかかりません。
total_flops=5.421E+24 rental price: US$12.9M h100 node months required: 746.9595590938408 (sanity check) D=[128, 256, 512, 768, 1024, 1536, 2048, 2560, 3072, 4096, 6144, 8192, 12288, 16384] (sanity check) model sizes: ['0.00979B', '0.0227B', '0.058B', '0.106B', '0.166B', '0.325B', '0.534B', '0.794B', '1.1B', '1.87B', '4.02B', '6.97B', '15.3B', '26.8B'] (sanity check) M/6P: ['63.4%', '68.5%', '75.3%', '79.7%', '82.8%', '86.8%', '89.3%', '91.0%', '92.2%', '93.9%', '95.7%', '96.7%', '97.7%', '98.3%']
ただし、LLM の事前トレーニングの基準で測定せず、この DeepMind 論文を学術研究としてのみ考える場合、この計算量はかなり贅沢に見えます。
研究室に H100 が 10 台しかない場合、この規模の研究を行うことは不可能です。
100 台の H100 を備えた大規模な研究室では、数年以内に上記の実験をすべて完了できる可能性があります。
参考文献:
https://152334h.github.io/blog/scaling-exponents/
https://news.ycombinator.com/item?id=41107721
https://arxiv.org/abs/2407.05872