※本記事は、Stanford CS336 Language Modeling from Scratch | Spring 2025 | Lecture 9: Scaling laws 1の内容を基に作成されています。
登壇者紹介: Percy Liang氏は、スタンフォード大学コンピュータサイエンス准教授であり、基盤モデル研究センター(CRFM: Center for Research on Foundation Models)のディレクターを務めています。本講義は、Tatsunori Hashimoto氏(スタンフォード大学コンピュータサイエンス助教授)と共同で担当するStanford CS336コースの一環として実施されました。
コースの詳細情報およびシラバスは https://stanford-cs336.github.io/spri... でご覧いただけます。スタンフォード大学のオンラインAIプログラムに関する詳細は https://stanford.io/ai を、本コースへの登録については https://online.stanford.edu/courses/c... をご参照ください。
本記事では、講義の内容を要約しております。なお、本記事の内容は原講義の見解を正確に反映するよう努めていますが、要約や解釈による誤りがある可能性もありますので、正確な情報や文脈については、オリジナルの講義動画をご視聴いただくことをお勧めいたします。
Stanford Onlineは、スタンフォード大学工学部のポータルサイトとして、学位プログラム、単位取得教育、専門資格プログラム、無料・オープンコンテンツなど、幅広い教育機会を提供しています。詳細は https://online.stanford.edu/ をご覧ください。
1. スケーリング則の導入と動機
1.1 スケーリング則の基本概念
スケーリング則について少し話をしようと思います。元々は推論について話す予定でしたが、スケーリング則から始めて数分時間を取り、その後どこへ進むかを決めていきたいと思います。
スケーリング則の全体的なポイントは、まず皆さんに次のシナリオに身を置いてもらいたいということです。あなたには非常に裕福な友人がいて、その人があなたに10万台、実際には10万台のH100を1か月間与えてくれました。そして、あなたは可能な限り最高のオープンソース言語モデルを構築しなければなりません。
これはかなり困難なタスクです。しかし、私たちはあなたがこの問題で進歩を遂げるために必要なツールのいくつかを提供してきました。あなたはインフラチームとシステム担当者を集めることができます。分散訓練フレームワークを組み立てることもできます。その次の課題では、優れた事前訓練データセットを組み立てることになります。そして、あなたはアーキテクチャなどについてすべて知っています。つまり、すべてのピースを持っていることがわかります。そこで歯車を回して、大きなモデルを実行することができます。
最初のいくつかの講義では、この過程で行う可能性のある他のさまざまな決定について話しました。アーキテクチャは何か、ハイパーパラメータは何か、これらすべてのことをどのように行うかといったことです。
私が初期の講義から与えた答えは、ある意味では他の人がやったことを選ぶというものでした。Llamaやその他のモデルをただ真似すればよいというものでした。しかし、ある意味でそれは非常に退屈な答えです。なぜなら、それではフロンティアを押し進めることができないからです。もしあなたが大きなフロンティア研究所にいて、最高のモデルを構築するつもりなら、他の人をただコピーしたくはありません。革新したいのです。
では、どうやって革新し、そもそもこれらの最適化されたソリューションを得るのでしょうか。それがスケーリング則のポイントになります。私たちが望むことは、言語モデルの動作に対する単純で予測的な法則を構築することです。
スケーリング則は基本的に、小さなモデルを取ってそれらをスケールアップし、エンジニアリングを改善するためにそれを行うことができるという全体的なアイデアです。これについて考える一つの方法は、深層学習を行う古い不快な方法は、たくさんの大きなモデルを訓練し、大きなモデルが良くなるようにハイパーパラメータを調整することでした。それは膨大な計算量を必要とします。実際にはそれを簡単に行うことはできません。
そこで新しい楽観主義があり、スケーリングに関するこれらの発展の多くをフォローしている場合、これを次のように考えます。たくさんの小さなモデルを訓練し、それらの小さなモデルから多くのことを学び、次にそれらをより大きなモデルに外挿していくのです。
この計算スケールの左側にある最小のモデルを取り、何をすべきかについて多くを学び、そして大きなモデルを構築するときに一度で成功させるつもりです。
1.2 実践的な問題設定(10万台のH100での最適なLM構築)
私がまず皆さんに身を置いてもらいたいシナリオは次のようなものです。あなたには非常に裕福な友人がいて、その人があなたに10万台のH100を1か月間与えてくれました。そして、あなたは可能な限り最高のオープンソース言語モデルを構築しなければなりません。
これはかなり困難なタスクです。しかし、私たちはあなたがこの問題で進歩を遂げるために必要なツールのいくつかを提供してきました。あなたはインフラチームとシステム担当者を集めることができます。分散訓練フレームワークを組み立てることもできます。その次の課題では、優れた事前訓練データセットを組み立てることになります。そして、あなたはアーキテクチャなどについてすべて知っています。つまり、あなたはすべてのピースを持っていることがわかります。そこで歯車を回して、大きなモデルを実行することができます。
最初のいくつかの講義では、この過程で行う可能性のある他のさまざまな決定について話しました。アーキテクチャは何か、ハイパーパラメータは何か、これらすべてのことをどのように行うかといったことです。
しかし、ある意味で、私が初期の講義から与えた答えは、他の人がやったことを選ぶということでした。Llamaやその他のモデルをただ真似すればよいというものでした。しかし、ある意味でそれは非常に退屈な答えです。なぜなら、それではフロンティアを押し進めることができないからです。もしあなたが大きなフロンティア研究所にいて、最高のモデルを構築するつもりなら、他の人をただコピーしたくはありません。革新したいのです。
では、どうやって革新し、そもそもこれらの最適化されたソリューションを得るのでしょうか。それがスケーリング則のポイントになります。
1.3 従来の手法(大規模モデルでの試行錯誤)vs 新しいアプローチ(小規模モデルからの外挿)
これについて考える一つの方法は、深層学習を行う古い不快な方法は、たくさんの大きなモデルを訓練し、大きなモデルが良くなるようにハイパーパラメータを調整することでした。それは膨大な計算量を必要とします。実際にはそれを簡単に行うことはできません。
そこで新しい楽観主義があり、スケーリングに関するこれらの発展の多くをフォローしている場合、これを次のように考えます。たくさんの小さなモデルを訓練し、それらの小さなモデルから多くのことを学び、次にそれらをより大きなモデルに外挿していくのです。
この計算スケールの左側にある最小のモデルを取り、何をすべきかについて多くを学び、そして大きなモデルを構築するときに一度で成功させるつもりです。
私たちが望むことは、言語モデルの動作に対する単純で予測的な法則を構築することです。スケーリング則は基本的に、小さなモデルを取ってそれらをスケールアップし、エンジニアリングを改善するためにそれを行うことができるという全体的なアイデアです。
2. スケーリング則の歴史と理論的背景
2.1 統計機械学習における理論的基盤(VC次元、Rademacher複雑性)
私が最初に始めたい場所は、スケーリング則の歴史と背景です。これを文脈化したいと思います。なぜなら、人々がスケーリング則について話すとき、しばしばこれは非常にメシア的なAGIの観点から行われるからです。彼らはスケーリング則が、これらの素晴らしいことが永遠に対数線形であり、私たちは超知能を達成するだろうか何かを教えてくれるだけだと言います。
しかし、私はスケーリング則は実際にはもっと根拠があり、多くの興味深い歴史を持っていると思います。そこで、スケーリング則が必ずしもログログプロットに線を当てはめるだけではないことを皆さんに納得させるために、そこから始めようと思います。もちろん、それは私たちがこれから行うことの非常に大きな部分ではありますが。
統計機械学習で育った人として、私の出発点は統計機械学習になります。スケーリング則とは何でしょうか。ある意味で、スケーリング則は、データ量を増やしたり、モデルサイズを変更したりするときに、モデルから特定の動作を期待することを教えてくれます。
そして、機械学習101のようなものに戻って、VC次元やRademacher複雑性などを覚えているなら、ある意味で、それはまさにこれの理論版です。上部には、k個の有限仮説集合の中での学習の超過リスクの汎化境界があります。そして、それは1/√mでスケールするはずだということがわかります。ある意味で、それはスケーリング則の理論版であり、mの関数として誤差がどれだけ速く減衰するかについて予測を立てています。
下部では、生成モデリングを行っていて、生成モデルが本当に柔軟な非パラメトリッククラスである場合、もう少し珍しいものがあるかもしれません。代わりに行うかもしれないことは、何らかの滑らかな密度を適合させることです。この場合、密度を推定するL2誤差は、何らかの多項式、n^(-β/(2β+1))で上界されるという予測になります。これを非パラメトリック率と呼ぶ人もいるかもしれません。
理論家たちは、特にサンプルサイズが誤差とどのように関係すべきかについて、非常に長い間考えてきました。これは人々が機械学習理論で考えてきた非常に古典的な問題です。しかし、これらは上界であり、実際に実現された損失値ではありません。そして実際に、スケーリング則はある意味で、データとモデルサイズが性能とどのように関係すべきかという理論的な側面から考えることから、実際には私たちの境界は悪いが、おそらくこれらのことを経験的に適合させることができるという経験的な側面に移る飛躍なのです。
2.2 1993年Bell Labsの先駆的研究(Vapnik、Cortes等)
これは楽しいトリビア事実、または議論の余地のあるトリビア事実です。最初のスケーリング則論文は何でしょうか。実際には、多くの論文がこれを引用していませんが、おそらく正しい最初のスケーリング則論文は、1993年のBell LabsのNeurIPS論文だと思います。
皆さんはこれらの名前の一部を認識するかもしれません。これらは理論家の一種であり、VapnikやCorinna Cortesなど、機械学習理論で本当に古典的な仕事をした人々の一部です。
私がこの講義の準備をしていて実際にこの論文を読んでいたときに抜粋を取りました。この論文がいかに時代を先取りしていたかということが、多くの点で私を驚かせました。大規模データベースでの分類器の訓練は計算上非常に要求が厳しく、実際に訓練する前にどれが良いかを把握する必要があると述べています。そこで、モデル全体を実際に訓練することなく、モデルがどれだけ良いかを予測する新しい予測手法を提案することになります。それはスケーリング則に非常に似ているように聞こえます。
後でこれを見ることになりますが、彼らは基本的に、テストエラーが何らかの既約エラープラス多項式減衰項として表現可能であるという関数形を持っています。そして、これは現代のスケーリング則に非常に似ているように見えます。
彼らは実際に、たくさんの小さなモデルを訓練し、曲線を適合させ、モデルの動作をさらに正確に予測できると言うことまで行っています。多くのことと同様に、スケーリング則は、昔にBell Labsで部分的に考えられていたのだと思います。
2.3 Benco & Brillの自然言語処理における初期スケーリング研究
もちろん、スケーリング則だけでなく、スケーリングについて考える現代的な考え方においても、関連するアイデアについて考えた他の人々がいます。スケーリング則の歴史でしばしば言及される別の論文があります。Benco & Brillによるもので、彼らは特定の種類のNLPシステムの性能がデータ量とどのようにスケールするかを研究していました。
彼らは現代のスケーリング則に非常によく似たものを持っています。x軸にログ軸データ、y軸に性能があります。彼らは基本的に、データをスケールアップするだけで非常に劇的な性能改善を得ることができ、非常に予測可能であると論じています。
そして、おそらくアルゴリズム開発に時間とお金を費やすことと、より多くのデータを収集することとの間のトレードオフを考慮すべきかもしれません。そして、それは多くの事前訓練の研究が考えていることに非常に似ているように聞こえます。
2.4 Hestness et al. (2017)による大規模ニューラルスケーリング則の確立
最後に、最近および過去に人々が考えてきたことの一つは、これは本当に予測可能なのかということです。正しい関数形は何でしょうか。2012年という早い時期から、人々は本当に、これらのことは実際に予測可能なのか、べき乗則、例えばpower 3やpower 4などは、モデルの動作を予測するための本当に正しい関数形なのかと考えていました。
もちろん、これらすべては、思い出していただくために、y軸でのモデルの動作、能力を、x軸であなたが持っているデータ量の関数として考えることです。それが、これらすべてのケースで本当に古典的に研究されてきた関係だと思います。これをデータスケーリングと呼ぶかもしれません。
もし最初の大規模ニューラルスケーリング則論文に興味があるなら、それはおそらく2017年のHestness et al.でしょう。私は彼らがこの仕事を行ったときにBaiduにいたと思います。
彼らは、機械翻訳、音声、そして視覚タスクもいくつかあったと思いますが、様々なタスクに対して、基本的にエラー率がべき乗則として減少することを示しました。
彼らは、人々がスケーリング則を議論するときに私が本当に参照するのが好きな素晴らしいプロットを持っています。それは本当に、モデルの動作には3つの異なる領域があることを期待すべきだということです。最初は、推測から始まります。次に、モデルを予測可能にスケーリングしている領域に入ります。それがべき乗則領域です。そして、基本的にモデルクラスの既約エラーに近づく別の漸近領域があります。
強調したいのは、過去数年間、新しい現象について多くの話があったということです。新興能力や、計算をスケーリングすることが新しいこと、またはシステムが本当に重要であることなどです。しかし、2017年のHestnessを注意深く読んでいたなら、本質的にこれらのことをすべて見ていたでしょう。
彼らは、モデルがランダムな性能にあるときは、スケーリング則による予測を行うことは実際に非常に困難だと言っています。なぜなら、突然ランダム領域を離れることができるからです。彼らは計算限界について話しています。実際に、スケールできるなら、それは実際に計算によるスケーリングが本当に重要であることを意味します。
そして最後に、彼らは量子化のようなことをすべきかもしれないとさえ言っています。なぜなら、予測可能なスケーリングがあるなら、それは計算でモデル精度に対価を払うことを厭わないべきであることを意味するからです。
これらはすべて非常に現代的なアイデアであり、初期のスケーリング則論文の多くが非常に直感的に理解していたものだと思います。なぜなら、これらのプロットを見ると、実際に予測可能なリソース投資で予測可能な能力改善が得られることがわかるからです。それがある意味で、スケーリング則を本当に形作ってきた核心的な歴史ではありませんが、文脈だと思います。
3. データスケーリング則
3.1 経験的観察:ログログプロットでの線形関係
今、私はLLMのスケーリング行動について話していきます。基本的にいくつかの種類の経験的結果を通して説明します。特にデータスケーリングを取り上げ、いくつかの例を示して、これが期待すべき非常に自然な対象であることを皆さんに納得させたいと思います。その後、モデルサイズについて話します。これは異なる種類のものです。
スケーリング則はかなりよく確立されていると思います。そして、多くの変数で非常に頻繁に現れるようです。x軸に計算でのスケーリングが見えます。これらはすべて、この講義で広範囲に参照するKaplanスケーリング則論文から取られています。ここでx軸は対数計算です。y軸はここでは対数テスト損失です。
右側では、データセットサイズとパラメータの両方について類似の種類のスケーリングが見えます。
ここで私がこれを通して話すときに言及する一つの微妙な点は、データセットサイズやパラメータなどをスケールするとき、常に他の変数、この場合データセットサイズをスケールしているなら、モデルサイズはデータセットサイズで飽和させることができるよりもはるかに、はるかに、はるかに大きいと仮定しています。なぜなら明らかに、パラメータよりもはるかに多くのデータがあるなら、最終的には漸近線に達するからです。これらすべてにおいて、漸近方程式を避けようとしています。
これらはまた、かなり非標準的な設定でも成り立ちます。下流タスクでも成り立ちます。分布外でも成り立ち、これはKaplan論文から示されているものです。そして、ある意味で、べき乗則関係は、特にこれらのODやその他の変数について、最初に期待するよりも頻繁に現れるようです。
最初にデータスケーリング則について話したいと思います。なぜなら、これらが最も直感的だと思うからです。少なくとも、その理論はかなり明確だと思います。
正確に言うと、データスケーリングのようなことを言うとき、私が意味するのは、データセットサイズ(これをnと呼びます)を超過エラーにマッピングする単純な公式だけです。超過エラーは既約領域を超えたエラーです。そして、Hestnessで参照した図を思い出すなら、期待することは単調なロジスティック的に見える曲線です。そして、私たちの関心は主にべき乗則領域から既約エラー領域にあります。
もちろん、ランダム推測を離れるときの小データ領域で何が起こるかについて質問することも非常に興味深いです。しかし、それについて推論することははるかに、はるかに困難です。一方、この右の尾は実際に、この部分が実際にべき乗則スケーリングを期待する非常に、非常に自然なことであることを皆さんに納得させることができると思います。
最初の経験的観察があります。そして、これは私が自然だと皆さんに納得させようとしていることです。x軸にデータセットサイズ、y軸にテスト損失をプロットするとき、ログログプロットでモデル性能は線形です。これをスケールフリー、またはべき乗則と呼ぶかもしれません。これらはより物理学指向の用語です。
これは多くの人によって確立されました。しかし、多くの例を見るためにKaplanを参照するかもしれません。
3.2 理論的説明:平均推定の例(σ²/n のスケーリング)
前の質問が持ち出したように、私たちは誤差が単調であることを期待しています。より多くのデータで訓練すると、誤差は下がります。かなり明白です。あまり明白でない部分は、このスケーリングの正確な関数形です。それがべき乗則だと言うとき、それはログログ空間で線形だということです。
それで、その含意は何でしょうか。何かがログログで線形であるなら、それはx軸とy軸の間に多項式関係があることを意味します。そして、yの多項式減衰は自然でしょうか。
私は2つの例を通して説明します。そして、それら両方はかなり自然な多項式減衰をもたらすことになります。
最も単純な例から始めます。これは機械学習101ではなく、統計学101になります。データセットの平均を推定したいと思います。平均を推定することはパラメータを推定するタスクです。スケーリング則は何でしょうか。データの関数として、平均推定タスクの誤差は何でしょうか。
それを書き下すことができます。私の入力はガウシアンから来ます。タスクは平均を推定することです。これらを上の青いボックスに書き出しました。誤差は何でしょうか。非常に標準的な議論により、平均もまた標準偏差をnで割ったガウシアンとして分布します。だから、私の推定誤差はσ²/nになります。これは私の推定の期待二乗誤差です。
これを見ると、これはnの多項式です。本当にポイントを押し通すために、この両側の対数を取ると、左側に誤差の対数、右側にnの対数があります。
私は誤差の対数が-log n + 2 log σに等しいことを正確に得ます。これは私たちが期待する種類のものです。そして、平均推定のスケーリング則を適合させるなら、傾きが1になることを期待します。
では、この新しい知識を身につけて、あらゆるところに行って、異なるものを推定する率が何かを見てみようと言うかもしれません。そして、それはデータスケーリングについて期待すべきことを教えてくれます。
1/nを期待すると言うかもしれません。不可知学習には1/√nを期待するかもしれません。などなど。だから、ここでログログプロットの傾きでかなり良い整数を見ることを期待すべきです。1や0.5を期待すべきです。
これらの論文を横断して経験的に実際に何を見つけるでしょうか。それらを呼び出すために、Hestnessでは機械翻訳で-0.13、音声で-0.3、言語モデリングで-0.095の指数を見ます。
これらはすべて、単純な関数を適合させるときに期待する1/nや1/√nの率よりもはるかに、はるかに遅いです。では、なぜこうなるのでしょうか。
3.3 高次元関数推定における次元依存性(n^(-1/D))
これがこの講義の最後の数学スライドになり、その後はログログプロットに線を適合させることに残りの時間を使うことができます。しかし、これによって、なぜこれらの特定の傾きを見るのかという点を理解してもらえると思います。
ニューラルネットは平均を推定するだけではないことを知っています。線形回帰を適合させることでさえありません。任意の関数を適合させることができます。それを例に変えて、その例を通して作業してみましょう。
私の入力はx1からxnです。だからn個のサンプルがあり、それらを2次元単位ボックスに一様に配置します。そして、何らかの任意の回帰関数y = fを推定したいと思います。fは滑らかであると仮定し、本当に正確にしたいなら、ここにはいくつかの規則性条件があります。
回帰関数fを推定する単純なアプローチは、2次元空間を小さなボックスに切り分け、各ボックス内でy値の平均を測定することです。非常に単純な非パラメトリック回帰器は、空間を切り分けてから何が起こるかを推定することです。
非公式に、√n個のボックスを選ぶなら、各ボックスは√n個のサンプルを得ることになり、私の誤差は1/√nになります。
この論理をより多くの次元に従って進めると、D次元では、これは誤差 = n^(-1/D)になることがわかります。
そして、全体のスケーリングは、ログログプロットを取るなら、-1/Dの傾きを期待します。
なぜこの例を通して説明したのでしょうか。柔軟な関数クラス、人々が非パラメトリック関数クラスと呼ぶものがある場合、次元依存性を期待し、したがってスケーリング則の傾きは実際にはるかにゆっくりと動くことを期待するからです。
そして、ある意味で、傾きはほぼ正確に内在次元性やこのタスクの学習の容易さを教えてくれます。人々はこれをより形式的に、より文字通りに論じています。
学習のこれらの非標準的な率を得る理由は、それがデータの内在次元と密接に関連しているということを論じる理論・経験論文がいくつかあります。例えば、これらの予測のプロット、破線とこれらの紫色の円はある程度近いですが、推定と内在次元の推定は非常に困難な問題であり、データ全体をモデリングするのと同じくらい困難であるため、これを過度に読み取りたくはありません。
3.4 内在次元と学習率の関係に関する実験的証拠
先ほど述べたように、人々はこれをより形式的に、より文字通りに論じています。学習のこれらの非標準的な率を得る理由は、それがデータの内在次元と密接に関連しているということを論じる理論・経験論文がいくつかあります。
例えば、これらの予測のプロット、破線とこれらの紫色の円はある程度近いですが、推定と内在次元の推定は非常に困難な問題であり、データ全体をモデリングするのと同じくらい困難であるため、これを過度に読み取りたくはありません。
質問がありました。「シミュレーションの観点から、そもそも基礎となる内在次元を持つデータをどのように生成するのですか?」
データを生成したいなら、それは実際にはそれほど難しくありません。例えば、5つの変数を取る関数を書き下すことができ、それらの5つの変数がお互いを打ち消さない限り、それは5次元表面になり、少しノイズを加えれば完了です。
ここでの困難は、彼らが実際にCIFARでの訓練のようなことをしていて、異なる設定を持っていて、CIFARの内在次元を推定しようとしていることです。それははるかに困難なタスクです。
4. データスケーリング則の実用的応用
4.1 データ構成の影響(オフセットのみ、傾きは不変)
データスケーリング則は非常に有用です。私はスケーリング則を皆さんに説明する観点からこれに取り組んでいました。しかし、実際にデータスケーリング則を使って多くの興味深いことを行うことができます。
人々は実際に様々な種類の工学的決定を行うためにデータスケーリング則を使用し、実際にこれを行っています。
例えば、データセットサイズだけでなく、データセット構成が性能にどのように影響するかを言うかもしれません。テストセットを変更している場合、Kaplan et al.は、データ構成が実際には傾きではなくオフセットにのみ影響するという本当に素晴らしい図を示しています。
それが意味することは、本当に良いデータセットを選びたいなら、必ずしも巨大なスケールでモデルを訓練する必要はないということです。それらをスケールダウンして、はるかに小さなモデルでデータ選択実験を行うことができます。
そして、異なるデータを混合するときの期待される形状は、特定の種類の形状を期待するかもしれません。回帰やその他の種類の技術を使用して、例えばスケーリング則を使用した最適なデータ混合を把握しようとすることができます。人々はこのトピックについていくつかの論文を書いていますが、すべてのデータ選択研究と同様に、これの多くは確実に実行するのがかなり困難に見えます。
4.2 マルチエポック訓練における有効サンプルサイズ(4エポック後の収穫逓減)
他にも尋ねるかもしれない興味深い質問があります。最近、インターネット上でデータが不足しているのではないかという多くの議論があります。そして、これらの質問を始めると、もう一つの興味深く重要な質問は、私たちが持っているのと同じデータで訓練を続けることができるか、その収穫逓減特性は何かということです。
スケーリング則をマルチエポック訓練に拡張する興味深い研究があり、基本的に有効サンプルサイズがあり、約4エポック後には、より多くのデータを繰り返すにつれて急激に収穫逓減があると論じています。
通常のスケーリング則を修正することによって、基本的に有効データ量と、繰り返し量を増やすにつれて減少する固有トークンのバージョンを得ることができます。
4.3 高品質データの反復 vs 低品質新規データのトレードオフ分析
最後に、これら2つのアイデアの興味深い組み合わせの一つは、大データ領域でのデータ選択について考えている場合です。何兆、何兆ものトークンで訓練することを想像してください。今、何が良いでしょうか。
Wikipediaやおそらくあなたの秘密の海賊版書籍のような高品質ソースを10回繰り返す方が良いでしょうか、それとも新しいデータを含める方が良いでしょうか。データを繰り返すか、より多くのデータを含めることができるという事実により、データ混合を最適化できる複数の軸があります。
また、いくつかの興味深いデータスケーリング研究もありました。これはCMUの人々からのものですが、基本的にデータを繰り返すことと新しい低品質データを選ぶことの間のトレードオフについてです。
そして、これらすべては本当に、私がすでに教えたことの非常に自然な拡張です。予測可能なべき乗則関係があり、このべき乗則関係が混合ごとに成り立つと仮定するなら、これらのスケーリング則外挿を適合させて、大規模でのデータの良さの推定を得ることができます。
それがデータスケーリングの出発点です。そして、うまくいけば、この時点で、経験的にも概念的にも、データと誤差の間にログログ線形関係があることは自然であることを皆さんに納得させることができたと思います。
5. モデルスケーリング則
5.1 アーキテクチャ比較:Transformer vs LSTM(15倍の計算効率差)
データスケーリングから、私の意見ではわずかにより神秘的な種類のスケーリングに移ります。次にモデルスケーリングについて話します。
私が思うに、これは私たちが今答えようとしている、より実用的な工学的な質問のセットです。
あなたは本当に大きな言語モデルを構築し、出荷する責任があります。そして、そこには多くの興味深いアイデアがあります。最新の状態空間モデルを訓練することもできます。TransformerやAdamを訓練することもできます。SGDを使うこともできます。人々は様々な新しいトリックを発明します。どれをスケールアップする価値があり、どれがそうでないのでしょうか。
また、限られた計算リソースを異なることに費やすこともできます。モデルをより長く訓練することも、より大きなモデルを訓練することもできます。与えられたFLOPに対して、この2つの間でトレードオフができます。
より多くのデータを集めに行くか、より多くのGPUを手に入れるかのようなこともできます。できることは多くあります。
スケーリング則は、これらすべての質問に答えるためのかなり単純な手順を可能にします。
古典的なKaplanスケーリング則論文を通して進めます。これらのトピックに興味があるなら、それを読むことをお勧めします。それは、かなり素晴らしい統一された設定で本当に研究したすべてのことの、これらの種類の観察の金鉱のようなものです。その一部は古いですが、私は徹底性においてまだ比類がないと思います。
アーキテクチャ的には、TransformerとLSTM、どちらが良いかを尋ねることから始めるかもしれません。
ブルートフォースの方法は、LSTMをGPT-3レベルまでスケールアップすることかもしれません。そして、それが良いかどうかを把握できます。スケーリング則の方法ははるかに単純です。
基本的に、多くの異なる計算閾値または計算レベルにわたって多くのLSTMとTransformerを訓練し、それらをスケールアップするときに何が起こるかを見ます。そして、ここでの傾向はかなり明確だと思います。LSTMに何層あっても、TransformerとLSTMの間にはかなり大きな、かなり大きな定数係数のギャップがあります。
これがログスケールであることを覚えておいてください。だから、これは何かを言っているようなものです、正確な数字は何かわかりませんが、これが15倍効率が悪いような感じだと想像してください。つまり、このプロット上のどこにいても、LSTMはTransformerよりも15倍計算効率が悪いということです。だから、LSTMを使用することには定数係数の計算ペナルティがあります、少なくともこのプロットでは。
5.2 多様なアーキテクチャの系統的比較(GLU、MoEが有効)
ズームアウトして、多くのアーキテクチャがあると言うことができます。どれが本当に良くて、やる価値があるのでしょうか。
古典的な論文の一つで、これはE. TayとGoogleの他の人々によるものですが、まさにこの種のスケーリング研究を行いました。右のここに多くのアーキテクチャを取り、基本的にそれらをスケールアップしました。
x軸は計算量です。赤い線は基本的に各アーキテクチャです。そして、緑の線はTransformerベースラインです。そして、彼らはこれらの代替アーキテクチャのいずれかがTransformerに匹敵するか、それを上回ることができるかを尋ねました。
結果は何でしょうか。実際に、Transformerを本当に強く確実に打ち負かすように見えるのは、ゲート線形ユニットと混合専門家だけです。そして、それがまさに人々が今日行っていることだということを知っておいてほしいです。
これは、Switch TransformerやGLUを行うべきであり、例えばPerformerを行うべきではないという結論にどのように至ったかのスケーリング則版です。スケーリング則は、なぜそれを行いたいかもしれないかについて明確な証拠を提供します。
5.3 オプティマイザー選択:Adam vs SGD の定数倍効率差
オプティマイザーの選択は似たようなものに従うと思います。これはHestnessからのものです。彼らはSGDとAdamを比較します。
以前と非常に似た、この種の定数係数ギャップを計算で、この場合はデータセットサイズですが、もちろんそれはAdamとSGDの効果の計算に変換されます。
この場合のRHNはRecurrent Highway Netsです。ここでの詳細は無視できます。
ここで示されている特定の結果よりも、このような分析をどのように行うかというポイントを見てほしいと思います。
5.4 深さ vs 幅の最適比率(広い最適化basin)
最初に、深さ対幅、アスペクト比はどうすべきかというようなことも言いました。それは私たちが話したハイパーパラメータトピックの一つでした。そして、Kaplanからスケーリング則形式で似たような分析を見ます。
これは少なくとも私にとって興味深いと思います。なぜなら、より深い層は劇的に良くなり、層数の間に明確な分離があると考えるかもしれないからです。しかし、少なくともここでは実際に多くのたるみがあることがわかります。
1層は本当に悪いですが、他の多くの層選択はかなり安定しています。
そして、うまくいけば、これはアーキテクチャ講義で私が示したスライドを思い出させるものです。私は、幅と深さの比、大体4から16のような何かがかなり自然な数字だったと言いましたが、近似最適である非常に広いbasinがありました。そして、このスケーリング則分析もそれを裏付けています。
6. ハイパーパラメータ最適化における注意点
6.1 埋め込みパラメータの特殊性(通常パラメータと異なるスケーリング)
指摘したい重要な微妙な点が一つあり、これは時々人々を困らせるものですが、すべてのパラメータが等しいわけではないということです。しばしば、パラメータスケーリング分析を行いたいと思います。
しかし、埋め込みパラメータをモデルの一部として数えると言うなら、かなり異なるスケーリング則を得ます。ここで少し曲がったような、この種の奇妙に見えるものを得ます。一方、非埋め込みパラメータのみを考慮すると、以前に示したはるかにきれいな結果が見えます。
だから、埋め込み層パラメータは実際には同じように振る舞いません。そして、それらを考慮するとき、非埋め込みパラメータと同じ種類のログ線形スケーリングを示しません。
そして、最近の論文で混合専門家のスケーリングに関して、すべてのパラメータが同じではないと言う関連研究があります。彼らはまた、そのようなまばらに活性化されたパラメータがあるとき、パラメータであることの意味を理解しようとしています。
そして、そのような論文では、基本的にMOEの同等な密なパラメータ数のようなものを導出しようとしています。
6.2 バッチサイズと臨界バッチサイズの概念
システム講義から覚えているように、バッチサイズは特定のポイントを過ぎると収穫逓減があります。特定のポイントまで、つまりバッチサイズがノイズスケールより小さいとき、ここでは左側にいますが、バッチサイズを増やすことはより多くの勾配ステップを取ることとほぼ同等です。
だから、それは大まかに言って、バッチサイズを2倍にするなら、2つの勾配ステップを取るのと同じくらい良いということです。そして、それは本当に良い場所です。なぜなら、今あなたは2つのステップを取る最適化効率を持ちながら、バッチ全体で並列化できるシステムの力を得たからです。
しかし、特定のポイントを過ぎると、非効率的なスケーリングを得ることになります。今、ノイズスケールとバッチサイズが同じで、バッチで取っている追加のサンプルは有用なノイズを減らしていません。
それは曲率項、いわば最適化ランドスケープの曲率のバイアス項によって支配されるようになっています。
考えるべき本当に有用なもの、有用な分析対象は、この臨界バッチサイズの概念です。
臨界バッチサイズは、完全なスケーリングから強い収穫逓減に移る閾値点と考えることができます。これを理論的にOpenAIの臨界バッチサイズに関する論文で分析することができます。しかし、経験的にも分析することができます。
そして、これはこの種のスケーリング則的な方法で研究されてきた別のものです。
進歩が遅くなるポイントを経験的に推定することができます。だから、臨界バッチサイズのトレードオフポイントが何かを経験的に推定することができます。また、基本的により大きくより良いモデルを訓練することもできます。
そして、本当に興味深いことの一つは、損失を改善しようとするとき、つまりここで左側に行くとき、だから損失をより良く、より良く、より良く、より良くしているとき、臨界バッチサイズは実際に小さくなります。
だから、損失目標が小さいほど、全体的なバッチサイズが大きくなることができます。
そして、これが導くことの一つは、例えば、Llama 3の訓練報告を見ると、実際に例えば特定のポイント後にバッチサイズを増やす、または訓練中にバッチサイズを増やすようなことを行うのを見ることになります。なぜなら、損失目標が小さくなるにつれて、バッチサイズは順番に大きくなることができるからです。
6.3 学習率のスケーリング:標準手法 vs μP(Maximal Update Parameterization)
計算とモデルサイズの両方を増やすとき、正しいことは何でしょうか。もう一度、スケーリング分析を行うことができます。これはKaplanからのものです。そして、計算量を増やすにつれて、最適なバッチサイズは何かを把握しようとすることができます。
見るのは、計算量を増やすにつれて、実際に合理的な並列処理を持つことができるということです。総ステップ数は同じままでいることができ、少なくともこの計算閾値内で、データのみを変化させているときに総ステップ数は同じままでいることができ、バッチをどんどん大きくしています。
もちろん、バッチ数を固定するなら、ステップ数はどんどん上がっていきます。だから、これはデータ並列処理にとって良いニュースだと思います。
それがバッチサイズの話です。覚えておくべきものは、臨界バッチサイズは少し厄介な概念だと思うので、a)収穫逓減ポイント、臨界バッチサイズがあるということです。それが一つのことです。2番目は、しばしば目標損失の関数として、かなり予測可能なスケーリングに従うように見えるということであり、それを考慮して、システム効率と最適化進歩の観点から行うことができる正しいトレードオフが何かを把握することができます。
以前に言ったように、これの他の側面は、バッチサイズと学習率があり、これら2つはお互いにかなり密接に関連しているということです。
次のスケーリング講義の部分でμPについてもっと広範囲に話します。しかし、これは本当に重要な、より広範なアイデアだと思います。
2つのうちの1つを行うことができます。そして、この図により、これら両方について話すことができます。まず、標準的な実践とラベル付けされたこの左のプロットを見てみましょう。
Transformerを訓練するとき、基本的に左のもの、この標準的な実践のようなものを見ることになります。だから、最適学習率は異なるポイントにあります。
そして、モデルが広いほど、モデルサイズを増やし、MLPがどんどん広くなるほど、最適学習率はかなり小さくなります。そして、モデルをどんどん小さく、小さくしていくと、もちろん損失は上がります。なぜなら、モデルの表現力が低いからですが、最適学習率も上がります。
しばしば、人々は経験則があると言います。1/幅が学習率をスケールすべき正しい率です。より上級な人々は実際にフィットします。基本的にこれらの曲線を取り、最小値を見つけ、次に最適学習率にスケーリング則をフィットします。だから、学習率の予測可能な減衰があり、おそらくスケーリング則をフィットできます。
次の講義でこれについてもっと話します。しかし、多くの人が採用し始めており、考えるべき本当に興味深いことだと思う代替案は、実際にモデルを再パラメータ化することができるということです。
特に、初期化をスケールする、または幅に基づいて異なる層の学習率をスケールするようなことを行うことができます。幅に基づいてモデルの幅と初期化の分散をスケール、さらにモデルの異なる層の順方向パスで出力を掛けることができます。
これを幅に依存する方法で行うなら、学習率がより安定であるはずのモデルのパラメータ化、または少なくとも元の論文では、スケール全体で正確に安定なものを得ることになります。
だから、学習率を一度調整すれば、他に何もする必要がありません。その最適値は直接転移します。実際に、最小のものでここで調整し、それが非常に大きなスケールに直接転移します。
これがμPと呼ばれるアイデアです。私が示している元の論文は幅μPと呼ばれます。他のバリアントもありました。Llama 4のリリースでMetaは、MetaPと呼ばれる何かを発明したと主張していますが、それが何かまだよくわかりません。
しかし、多くの研究所がこれについて考えているのを見ることができます。なぜなら、最適学習率が何かを予測することに頼らなければならないなら、あらゆる種類のトリッキーなスケーリング則フィットを行わなければならないからです。そして、おそらくこれは非常に不安定ですが、モデルを再パラメータ化できるなら、おそらく再調整を全く行う必要がないかもしれません。
もちろん、それは実際に起こることよりもはるかに楽観的ですが、うまくいけば、これがなぜ本当にクールで本当に興味深いかという感覚を与えてくれます。スケール対応初期化です。
7. スケーリング則の限界と注意事項
7.1 ログ損失での良好な性能 vs 下流タスクでの予測困難性
注意すべき大きな注意事項が一つあります。そして、これは多くのスケーリング則研究にとって大きな注意事項だと思いますが、スケーリング則はログ損失に対して非常にうまく振る舞うということです。だから、私たちは次トークン予測のクロスエントロピーで訓練します。
スケーリング則のターゲットがそれらのクロスエントロピーであるとき、非常に簡単にうまく機能します。
しかし、下流タスクを行おうとしている場合、ベンチマークで直接スケールしようとしている場合、動作ははるかに予測困難です。左側では、これは様々な異なるハイパーパラメータとアーキテクチャを比較するE. Tayの論文からのものですが、パラメータ数(この場合は計算の代理)と負ログ困惑度が非常にきれいに線形相関していることがわかります。
そして、これが基本的に言っていることは、深さや幅やハイパーパラメータの正確な設定が何であるかは関係ないということです。本当に重要なのは、総計算支出だけです。これは非常にシンプルで素晴らしいストーリーです。
しかし、これらのモデルを取ります。これは2023年のことでした。だから、人々はまだ一種のSuperGLUE精度を行っていました。そして、基本的に、これらのモデルの下流性能は何かと言います。さて、もはや非常にきれいな線形関係は見えません。特定のモデルが他よりもはるかに良く、特定のアーキテクチャが他よりも良い、まったく異なるものを見ます。
だから、正確にこの種のスケーリング特性を期待しないかもしれません。
7.2 状態空間モデルにおける能力特異的な性能差
私たちは、この話のバリエーションが多くの異なる場所で展開されるのを見ました。状態空間モデルに関する文献をフォローしているなら、それは私たちが見たものの一つです。
状態空間モデルでは、左側のような本当にきれいで予測可能なスケーリングを見ますが、しばしば特定の能力について見ます。文脈内学習やQAのような場合、人々はこれらのモデルがあまりうまくいかないかもしれないことを示しています。
だから、この困惑度スケーリングを下流スケーリングと同じものとして取ることは重要ではありません。そして、この種の分析を行うときは少し注意したいと思います。
7.3 困惑度スケーリングと下流性能の乖離
おそらくこれは皆さんの一部にとって驚くことではないでしょうが、うまくいけば、これは驚くべきことで説得力があります。ハイパーパラメータ選択、アーキテクチャ決定のような多くの工学的決定を行いたいなら、訓練前に多くのことを行うことができます。
これらのモデルを小規模で、数桁の計算にわたって訓練できます。そして、モデルの動作を予測するためにそれをスケールアップします。
スケーリング則ベースの設計手順はかなりシンプルです。いくつかの小さなモデルを訓練し、これらの小さなモデルは数桁の計算にわたるべきです。何らかのスケーリング則を確立します。
だから、少なくとも訓練したモデルで、明確なログログ線形関係があることを確認します。そして、この予測に基づいて、最適なハイパーパラメータを設定することができます。
多くの場合、実際、これらのスケーリング則はそれほど変化しません。それらの傾きは実際に同じになります。その場合、これの系は、いくつかの小さなモデルを訓練するだけで、これらの小さなモデルの結果は、これらの多くのケースでより大きなモデルに驚くほどよく転移するということです。ただし、すべてではありません。学習率は重要な例外です。
8. 合同データ・モデルスケーリング則(Chinchilla分析)
8.1 固定計算予算での最適トレードオフ問題
さて、スケーリング則の非常に重要な使用法の一つについて話したいと思います。モデルのサイズをどのように選ぶか、データ効率などについてどのように考えるかに、非常に大きな影響を与えたものです。
初期の頃、人々がこれらのモデルをスケールアップし始めたとき、本当に核心的な質問があったと思います。2021年から2023年頃、データは計算よりもはるかに豊富でした。だから、総データ制限について心配する必要はありませんでした。
そして、一つの制限リソースは計算です。訓練予算のための総FLOP数、それが制限リソースの種類です。
そして、そのリソースを多くの異なる方法で使うことができます。小さなモデルで大量のデータで訓練することも、非常に少ないデータで一つの巨大なモデルを訓練することもできます。そして、これらの極端なケース両方が非常に無駄に見えます。
非常に小さなモデルがあるなら、大量のデータを注入することは有用に見えませんし、その逆も同様です。10トークンの巨大なモデルがあるなら、それも非常に有用に見えません。だから、これは多くの人にとって核心的な質問でした。
そして、この質問に答えようとする合同データモデルスケーリング則を同時に複数の著者が提案しました。
8.2 関数形の提案:Rosenfeld式とKaplan式
では、それらは何でしょうか。私はこの時点まで、本質的に一つの変数でのみスケーリング則について話してきました。そして、その一つの変数は変化してきました。時にはパラメータであったり、データであったり、計算であったりしました。
しかし、合同スケーリングは見ていませんでした。そして、データモデルスケーリング則は次のようなものです。
ここにある2つの方程式は、一次近似では両方とも機能的に等価であり、データ量とモデル量の間のトレードオフを記述します。上のRosenfeldからのものは、基本的に誤差の一部があり、そのうちの一部がデータで多項式的に減衰し、誤差の一部がモデルサイズで多項式的に減衰すると言っています。そして、データサイズとモデルの両方を無限大にスケールしても除去できない既約誤差項があります。
Kaplanでも同じ効果ですが、ここでは既約誤差ではなく、除去可能誤差について考えています。だから、ここには定数項がありません。
これは少し恣意的に見えます。なぜなら、これが正しい関数形でなければならないというトップダウンの理由はないと思うからです。しかし、これはデータとモデルで見る合同誤差に対して驚くほど良いフィッティングを提供します。
これはRosenfeldからのものだと思います。彼らはこの素晴らしい3Dプロットを示しています。これがデータ量です。これがモデルのサイズです。そして、これがy軸の損失です。そして、フィッティングされているこの表面が彼らの関数形です。
点は彼らの実行です。後ろからは少し見にくいかもしれませんが、表面は点にほぼ正確にフィットしています。
そして、この関数形が帽子から引き出されたような、一種のアドホックであるにもかかわらず、驚くほど正確です。
8.3 3次元フィッティングの驚異的精度
これもRosenfeldからのものですが、彼らは基本的に、小さなモデルと小さなデータである本質的に小さな半分、この左下のところでのみ訓練し、大きなモデルと多くのモデルで訓練されたモデルの両方に外挿すると言います。
その合同外挿のフィッティングはどの程度良いでしょうか。かなり良いですね。誤差を見ると、実際の値がx軸にあります。誤差の予測がy軸にあります。そして、ImageNetとWikitextの両方でほぼ正確に正しいです。だから、これはかなり良いようです。
そして、固定計算予算に対して、今何ができるでしょうか。例えばKaplanに戻ると、ここで似たようなことが行われているのを見ます。計算とデータの合同スケーリングを見ます。
この場合、パラメータがx軸にあります。色は計算を表します。だから、総計算量を変化させるために、暗黙的に変化している第3軸のデータがあります。だから、これらの曲線上でシフトするにつれて、計算が一定に保たれている間にパラメータが変化しているので、データ量が変化することになります。
9. Chinchillaの3つの手法
9.1 手法1: 曲線の最小値包絡線分析
Chinchillaは、多くの皆さんがうまくいけば聞いたことがあると思いますが、おそらくこの問題を解決することの参考文献です。RosenfeldとKaplanの両方がこの合同スケーリング関数形を思いつき、そして両方とも、これらの関数形を使用して様々な方法で計算とデータの間のトレードオフを最適化することが可能であることに気づきました。
しかし、様々な理由で、基本的にこれらの関数形を正確にフィッティングするのは困難であり、学習率の形状が異なるなどの詳細が重要です。そして、Kaplanは後により最適であることが検証されたものから、ある意味でかなり離れた一つの推定を持っていました。
そして、多くのGoogle著者によるChinchilla論文は、訓練FLOPの最小量で最高のモデルを得ることが目標であると仮定して、トークン数とモデルサイズの間の正しいトレードオフが何かを本当に経験的に確定しようとする試みでした。
彼らは基本的に異なる曲線をフィッティングし、スケーリング予測を行う3つの異なるアプローチ、アプローチ1、2、3を持っています。これらの青い点は彼らが訓練したモデルです。そして、基本的に線は異なるFLOPに対する異なる最適パラメータサイズを予測しています。
うまくいけば、皆さんの多くはChinchilla比率を知っています。それはパラメータあたり約20トークンのようなものです。そして、それはまさにここから来ています。これらの点のそれぞれを取って20を掛けると、大体FLOPまたは、すみません、20を掛けるとトークンカウントを得ます。パラメータにそれを掛けると、FLOPを得ます。
Kaplan結果とChinchilla結果の違いは、基本的に1セットのトークン対パラメータ比を推定していたKaplanと、Chinchilla結果の間です。理由の一つは学習率スケジュールのためです。私たちはコサイン学習率でモデルを訓練することを知っています。
だから、コサイン学習率は次のようになります。上がって、それから下がってきます。そして、底で最小学習率まで冷却されます。コサイン学習率について皆を常に混乱させることの一つは、早期に打ち切ることができないということです。コサイン学習率では、有効なモデルを得るために最後まで行かなければなりません。最後まで冷却フェーズ全体を得なければなりません。
中間でモデルを打ち切るなら、これは最初からモデルを開始し、どこか中間でコサイン学習率で訓練することと同じではありません。そして、これは寄与因子の一つでした。他にもありましたが、Kaplan推定が後のより改善されたChinchilla論文によって提供された推定からかなり離れていた原因です。
では、Chinchilla著者は実際に何をしたのでしょうか。彼らはトークン対モデルの間の最適トレードオフを推定する3つの異なる方法を持っています。
そして、これらの方法のそれぞれは異なるスケーリング係数、モデルサイズのスケーリング係数とデータサイズのスケーリング係数を提供することになります。
そして、少し驚くことに、この場合、方法1と2で両方とも0.5を得ています。そして、方法3はかなり異なる、または少し異なる推定を提供しています。約0.03ずれています。
しかし、それについては少し後で話します。Kaplan et alは、3つの推定のいずれからもかなり離れています。だから、これらの方法のそれぞれを見ていきます。それぞれが意味を持ちます。スケーリングについて異なる仮定を行いますが、最終的にここで非常に、非常に似た推定になります。
だから、Chinchillaでの方法1は、基本的に曲線全体の最小値を取ることです。それは何を意味するでしょうか。基本的に、持っているすべての異なる訓練曲線を重ね合わせます。だから、x軸に異なるFLOPが見えます。
y軸に訓練損失があります。そして、多くの異なるサイズで訓練されたモデルがあります。そして、もちろん、これらのサイズのそれぞれは異なる量のトークンで訓練されます。だから、訓練を通して異なる総FLOPに達します。
今行うことは、下部包絡線、任意の計算予算下で最適であることが証明された点またはチェックポイントのセットを見ることです。そして、これらのモデルを取って、これらのモデルの実際のパラメータサイズは何だったかを見ることができます。
そして、ここのx軸の総計算と、パラメータ数と対応するトークンがすべて比較的良いスケーリング則を形成することがわかります。
だから、これは最小包絡線方法の種類です。基本的に、すべてのモデルサイズにわたって最適化する最小訓練損失がFLOPで実際に最適であることを期待すると言っています。
そして、前の論文に呼び戻すために、以前のKaplan論文や他のスケーリング則を見返すと、まさにこれがすでに行われているのを見ます。異なるパラメータと異なる計算スケールで訓練された異なるモデルが見えます。そして、これらの間で最小値を取っています。
そして、最小値がスケーリング則を形成することをすでに見ました。だから、これは、計算全体にわたる多くの異なる訓練曲線の間の最小値がべき乗則を形成すべきであるという観察に基づいています。
9.2 手法2: IsoFLOP分析(最も標準的手法)
その仮定の下で、かなり良いフィッティングを得ることができます。そして、これは0.5、0.5の他のものと非常に一致した一つの推定を与えます。
さて、もう一つ、もし単一の標準的な方法を選ぶなら、これがおそらくChinchilla分析を行う方法でしょう。そして、ある意味で、これは最も概念的に直接的なものだと思います。それがIsoFLOP分析です。
IsoFLOP分析を行うために、たくさんの計算スケールを選びます。だから、これらの色のそれぞれは異なる計算量です。そして、これらの計算スケールのそれぞれに対して行うことは、基本的により少ないデータで訓練されたより小さなパラメータのモデルか、より少ないデータで訓練されたより多くのパラメータを持つことができます。だから、これらのFLOPのそれぞれに対してモデルサイズ全体を横断します。
そして、これらの曲線のそれぞれの最小値を見ることができます。明示的に、非パラメトリックに最小点を選ぶか、これらのそれぞれに二次関数をフィッティングして二次関数の最小点を得ることができます。
しかし、いずれの場合でも、議論はかなりシンプルです。議論は、この最小値自体が予測可能なスケーリング則に従うべきであるということです。したがって、そこからFLOPあたりの最適パラメータを抽出することができます。
だから、それはこれらすべての最小点です。そして、FLOPで私のFLOP予算をパラメータ数で割ることによって、FLOPあたりの最適トークン数も抽出することができます。
そして、もう一度、これは方法1と非常に一致したきれいな結果を与えることがわかります。
だから、これを以前と比較することができます。これは最終的なChinchillaモデル予算に対して、63億パラメータが欲しいと言います。この一つは67億パラメータと言います。2つは非常に近いです。
9.3 手法3: 直接的曲線フィッティング(後にEpoch AIによる再解析で修正)
最後の一つは、正直に言って、少し厄介です。
そして、これはRosenfeldの論文に戻ります。このようなものから関数形を持っているなら、非常に自然な本能は、nとmの両方を変化させてたくさんのモデルを訓練し、曲線フィッティングを行うことです。私が得るものに対してこの曲線をフィッティングします。
だから、たくさんのモデルを訓練し、この3D形状をフィッティングします。そして、Rosenfeldから、これらをフィッティングすることはある程度合理的であることを知っています。だから、これらすべての点があり、これがモデルです。私は曲線をフィッティングし、それが左で見るこのヒートマップ色です。
そして、これらの破線から暗示されるIsoFLOPがどのように見えるべきかを逆算することができます。しかし、これを見ると、うまくいけば、ここでのスケーリング則フィッティングと曲線フィッティングが他のプロットのフィッティングほど良くないことがわかります。
そして、係数を見ると、Chinchilla方法3は、モデルサイズと総トークンカウントの観点から、他のものとはかなり異なる推定を与えます。そして、実際、これは長い間私にとって謎でした。
私の学生の何人かは、なぜ方法3はそんなに違うのかと言いました。そして、私は、スケーリング則は時々ノイジーなだけかもしれないと言いました。
皆さんの何人がこれを知っているかわかりませんが、これは本当に楽しいトリビア、トリビア事実ではなく、楽しいトリビアの一部です。
だから、昨年、Epoch AIの何人かの人々は、この結果について十分に興味を持って、方法3を複製しようとしました。そして、これらすべての訓練実行に対する元のデータを持っていないため、複製することは非常に困難でした。
だから、彼らは実際にプロットを見て、法科学的ツールを使用してプロットから点の値を抽出するという極端なことまで行いました。そして、それに基づいて、実際に元の結果を複製することができました。
そして、面白いことは、実際に曲線フィッティングが悪い部分だったことを示したことです。彼らのアプローチでのデータは良かったのですが、実際に曲線をフィッティングしたとき、必ずしも正しく行わなかったのです。
そして、元のフィッティングには残差がありました。回帰に慣れているなら、そうでなければ予測をオフセットしてゼロ中心にすべきなので、残差はゼロ平均中心であるべきです。彼らの残差は非ゼロで、それからより良くフィッティングしました。
そして、より良くフィッティングしたとき、実際に彼らの最適推定は方法1と2とほぼ正確に一致しました。そして、これは元の著者が実際にアイデアとデータの両方を持っていたが、曲線フィッティングの小さな問題のために、それを間違って持っていたという面白いケースの一つです。
そして、複製は実際にそれを以前よりも正しくします。通常、複製は物事を反証しますが、この場合、実際に複製は最初から元の結果が正しかったことを示しただけです。これは、私が思うに、かなりクールな結果です。
10. 現代的展開と実用的考慮
10.1 訓練最適化から推論最適化への転換
これらのChinchilla結果で話したい最後のことは、私たちは訓練最適スケーリングについて話しているということです。だから、固定FLOP予算があり、可能な限り最高のモデルが欲しいのです。
しかし、実際には、ストーリーは本当に変化したと思います。ChinchillaとKaplan論文が書かれたとき、LLMはまだ本当に製品ではありませんでした。だから、実際にゲームの名前は、誰もが最も大きく、最も派手で、最も知的なモデルを望んでいましたが、実際にこれらのシステムを展開する推論コストについては気にしていませんでした。
しかし、今日では、実際に私たちが本当に気にするのは推論コストです。なぜなら、これらのシステムは実際に製品だからです。収益を生み出します。収益に関連するコストがあります。だから、時間が経つにつれて、実際にパラメータあたりのトークンが着実に増加していることを見てきました。
GPT-3はパラメータあたり2トークンでした。Chinchillaはパラメータあたり20トークンに移行しました。そして、しばらくの間、人々はパラメータあたり20トークンのもので遊んでいました。
しかし、その後すぐに、人々は実際に私たちが本当に気にするのは本当に良い知能、本当に小さなパラメータサイズであることに気づきました。だから、人々はパラメータあたりのトークン数を非常に、非常に急速にスケールアップし始めました。
そして、昨日見たと思いますが、例えば最新のQuamモデルは30兆トークンで訓練されました。人々は本当にトークン対パラメータ比の限界を押し進めています。なぜなら、実際には本当に大きくて高価なモデルで推論を実行する継続的な運用コストを支払うよりも、前払いコストを支払う方がはるかに良いからです。
10.2 トークン/パラメータ比の歴史的変遷(GPT-3: 2 → Chinchilla: 20 → 現在: 30兆トークン)
時間が経つにつれて、実際にパラメータあたりのトークンが着実に増加していることを見てきました。GPT-3はパラメータあたり2トークンでした。Chinchillaはパラメータあたり20トークンに移行しました。そして、しばらくの間、人々はパラメータあたり20トークンのもので遊んでいました。
しかし、その後すぐに、人々は実際に私たちが本当に気にするのは本当に良い知能、本当に小さなパラメータサイズであることに気づきました。だから、人々はパラメータあたりのトークン数を非常に、非常に急速にスケールアップし始めました。
そして、昨日見たと思いますが、例えば最新のQuamモデルは30兆トークンで訓練されました。人々は本当にトークン対パラメータ比の限界を押し進めています。なぜなら、実際には本当に大きくて高価なモデルで推論を実行する継続的な運用コストを支払うよりも、前払いコストを支払う方がはるかに良いからです。
10.3 異なる生成モデル(拡散モデル)での一般化可能性
最後に話したい楽しい副次的なことは、これらの結果はかなり堅牢で複製しやすいということです。
数年前、私の学生の一人であるIshanが、テキスト用の拡散モデルを本当に推し進めることに非常に興味を持っていました。そこで私たちがやらなければならないことの一つは、これは全く新しいモデルだと言うことでした。最適なトークン対パラメータ比が何かわからない。このものが確実にスケールするかどうかさえわからない。それは全く異なる種類の生成モデルだ。どうすればよいか。
そうですね、自己回帰モデルに対してIsoFLOP分析を行うと言うのと同じ種類のプレイブックを適用するだけで、あまり苦労することなくほぼ正確にChinchillaのようなものを得ることがわかりました。
拡散モデルに対して同じ種類の分析を行うと、うわあ、全く異なる生成モデルであるにもかかわらず、非常に似た種類の曲線を見ます。そして、これらの最小値をプロットすると、実際に、定数オフセットで分離された両方に対して非常に予測可能なスケーリングを見ます。
特に拡散モデルを皆さんに押し進めたいからこれを持ち出すのではなく、これらのスケーリング則は必ずしもこれらの非常に選りすぐりの例である必要はないと言うための本当にランダムなケーススタディまたは例として持ち出すだけです。新しいモデルや新しい環境で作業しているときに、かなり自然に起こるようです。
11. 主要な実験的発見と気づき
11.1 コサイン学習率スケジュールの打ち切り不可性がKaplan推定に与えた影響
Kaplan結果とChinchilla結果の違いの理由の一つは学習率スケジュールのためです。私たちはコサイン学習率でモデルを訓練することを知っています。
だから、コサイン学習率は次のようになります。上がって、それから下がってきます。そして、底で最小学習率まで冷却されます。
コサイン学習率について皆を常に混乱させることの一つは、早期に打ち切ることができないということです。コサイン学習率では、有効なモデルを得るために最後まで行かなければなりません。最後まで冷却フェーズ全体を得なければなりません。
中間でモデルを打ち切るなら、これは最初からモデルを開始し、どこか中間でコサイン学習率で訓練することと同じではありません。
そして、これは寄与因子の一つでした。他にもありましたが、Kaplan推定が後のより改善されたChinchilla論文によって提供された推定からかなり離れていた原因です。
11.2 方法3の係数差異がカーブフィッティングの技術的問題に起因していた発見
皆さんの何人がこれを知っているかわかりませんが、これは本当に楽しいトリビア、トリビア事実ではなく、楽しいトリビアの一部です。
昨年、Epoch AIの何人かの人々は、この結果について十分に興味を持って、方法3を複製しようとしました。そして、これらすべての訓練実行に対する元のデータを持っていないため、複製することは非常に困難でした。
だから、彼らは実際にプロットを見て、法科学的ツールを使用してプロットから点の値を抽出するという極端なことまで行いました。そして、それに基づいて、実際に元の結果を複製することができました。
そして、面白いことは、実際に曲線フィッティングが悪い部分だったことを示したことです。彼らのアプローチでのデータは良かったのですが、実際に曲線をフィッティングしたとき、必ずしも正しく行わなかったのです。
そして、元のフィッティングには残差がありました。回帰に慣れているなら、そうでなければ予測をオフセットしてゼロ中心にすべきなので、残差はゼロ平均中心であるべきです。彼らの残差は非ゼロで、それからより良くフィッティングしました。
そして、より良くフィッティングしたとき、実際に彼らの最適推定は方法1と2とほぼ正確に一致しました。そして、これは元の著者が実際にアイデアとデータの両方を持っていたが、曲線フィッティングの小さな問題のために、それを間違って持っていたという面白いケースの一つです。
そして、複製は実際にそれを以前よりも正しくします。通常、複製は物事を反証しますが、この場合、実際に複製は最初から元の結果が正しかったことを示しただけです。これは、私が思うに、かなりクールな結果です。
11.3 拡散モデルでも同様のスケーリング則が成立することの確認
数年前、私の学生の一人であるIshanが、テキスト用の拡散モデルを本当に推し進めることに非常に興味を持っていました。そこで私たちがやらなければならないことの一つは、これは全く新しいモデルだと言うことでした。最適なトークン対パラメータ比が何かわからない。このものが確実にスケールするかどうかさえわからない。それは全く異なる種類の生成モデルだ。どうすればよいか。
そうですね、自己回帰モデルに対してIsoFLOP分析を行うと言うのと同じ種類のプレイブックを適用するだけで、あまり苦労することなくほぼ正確にChinchillaのようなものを得ることがわかりました。
拡散モデルに対して同じ種類の分析を行うと、うわあ、全く異なる生成モデルであるにもかかわらず、非常に似た種類の曲線を見ます。そして、これらの最小値をプロットすると、実際に、定数オフセットで分離された両方に対して非常に予測可能なスケーリングを見ます。
特に拡散モデルを皆さんに押し進めたいからこれを持ち出すのではなく、これらのスケーリング則は必ずしもこれらの非常に選りすぐりの例である必要はないと言うための本当にランダムなケーススタディまたは例として持ち出すだけです。新しいモデルや新しい環境で作業しているときに、かなり自然に起こるようです。
11.4 下流タスクでの非線形な性能変化の観察
左側では、これは様々な異なるハイパーパラメータとアーキテクチャを比較するE. Tayの論文からのものですが、パラメータ数(この場合は計算の代理)と負ログ困惑度が非常にきれいに線形相関していることがわかります。
そして、これが基本的に言っていることは、深さや幅やハイパーパラメータの正確な設定が何であるかは関係ないということです。本当に重要なのは、総計算支出だけです。これは非常にシンプルで素晴らしいストーリーです。
しかし、これらのモデルを取ります。これは2023年のことでした。だから、人々はまだ一種のSuperGLUE精度を行っていました。そして、基本的に、これらのモデルの下流性能は何かと言います。さて、もはや非常にきれいな線形関係は見えません。特定のモデルが他よりもはるかに良く、特定のアーキテクチャが他よりも良い、まったく異なるものを見ます。
だから、正確にこの種のスケーリング特性を期待しないかもしれません。
私たちは、この話のバリエーションが多くの異なる場所で展開されるのを見ました。状態空間モデルに関する文献をフォローしているなら、それは私たちが見たものの一つです。
状態空間モデルでは、左側のような本当にきれいで予測可能なスケーリングを見ますが、しばしば特定の能力について見ます。文脈内学習やQAのような場合、人々はこれらのモデルがあまりうまくいかないかもしれないことを示しています。
だから、この困惑度スケーリングを下流スケーリングと同じものとして取ることは重要ではありません。そして、この種の分析を行うときは少し注意したいと思います。