
11,235 文字
AIモデルはある境界線を超えることができず、その理由は分かっていません。AIモデルを訓練すると、そのエラー率は通常急速に低下し、その後横ばいになります。より大きなモデルを訓練すると、より低いエラー率を達成できますが、より多くの計算リソースが必要になります。
より大きなモデルにスケールアップすると、このような曲線群が得られます。軸を対数スケールに切り替えると、明確な傾向が現れ、どのモデルもこの線を超えることができないことが分かります。これは計算最適または計算効率フロンティアとして知られています。
この傾向は、広く観察されている3つのニューラルスケーリング則の1つです。エラー率は、計算リソース、モデルサイズ、データセットサイズに関して非常に似た方法でスケールし、適切な選択がなされている限り、モデルアーキテクチャやその他のアルゴリズムの詳細にはあまり依存しません。
ここからの興味深い疑問は、私たちは理想気体の法則のような自然の基本法則を発見したのか、それとも現在私たちが取り組んでいるニューラルネットワーク主導のAIアプローチに特有の一時的な結果なのかということです。
データ量、モデルサイズ、計算リソースを増やし続けた場合、これらのモデルはどれほど強力になれるのでしょうか?エラーをゼロにまで下げることができるのか、それともパフォーマンスは頭打ちになるのでしょうか?なぜデータ、モデルサイズ、計算リソースが私たちが構築しているシステムの基本的な制限となっているのか、そしてなぜそれらがこのように単純な方法でモデルのパフォーマンスと結びついているのでしょうか?
2020年はOpenAIにとって画期的な年でした。1月、チームは言語モデルの広範なスケールにわたる明確なパフォーマンスの傾向を示した論文を発表しました。チームは各結果セットにべき乗則の方程式を当てはめ、計算リソース、データセットサイズ、モデルサイズに応じてパフォーマンスがどのようにスケールするかの正確な推定を行いました。
対数プロットでは、これらのべき乗則の方程式は直線として現れ、各直線の傾きは適合方程式の指数に等しくなります。指数が大きいほど直線は急になり、パフォーマンスの改善も急速になります。チームは上限においてこれらの傾向からの逸脱の兆候を観察せず、これはその年のOpenAIの戦略を予見するものでした。
当時チームがテストした最大のモデルは15億の学習可能なパラメータを持ち、訓練に約10ペタフロップ日の計算リソースを必要としました。ペタフロップ日とは、1秒間に1000兆回の浮動小数点演算を実行できるシステムが1日で実行できる計算回数です。当時最高峰のGPUであるNVIDIA V100は約30テラフロップスの性能を持っていたので、これら$10,000のGPU33枚を搭載したシステムで約1ペタフロップの計算能力を提供できました。
その夏、チームの経験的予測は、GPT-3のリリースで実現されることになりました。OpenAIチームは規模に大きな賭けをし、33枚ではなく10,000枚のV100 GPUを搭載した巨大なスーパーコンピュータでMicrosoftと提携し、3,640ペタフロップ日の計算リソースを使用して、1,750億パラメータという巨大なGPT-3モデルを訓練しました。
GPT-3のパフォーマンスは1月に予測された傾向線に驚くほど良く従いましたが、平坦化せず、さらに大きなモデルでパフォーマンスが向上する可能性を示しました。巨大なGPT-3がニューラルスケーリングの限界に達していなかったとすれば、その限界はどこにあるのでしょうか?十分な計算リソース、データ、モデルサイズがあれば、エラー率をゼロにすることは可能なのでしょうか?
10月の論文で、OpenAIチームはスケーリングについてより深く調査しました。チームは画像やビデオのモデリングを含む様々な問題で同じ明確なスケーリング則を見出しました。また、これらの他の問題の多くでは、スケーリングの傾向が最終的にゼロのエラーに達する前に平坦化することも発見しました。
これは、これらのエラー率が何を測定しているのかを考えると理にかなっています。GPT-3のような大規模言語モデルは自己回帰的で、テキストの次の単語または単語断片を、それ以前の単語の関数として予測するように訓練されています。これらの予測は一般的に確率のベクトルの形を取ります。
つまり、与えられた入力単語列に対して、言語モデルは0と1の間の値のベクトルを出力し、各エントリはその語彙における特定の単語の確率に対応します。これらのベクトルは通常、ソフトマックス演算を使用して正規化され、すべての確率の合計が1になることが保証されます。
GPT-3の語彙サイズは50,257なので、「アインシュタインの名前は」のようなテキスト列を入力すると、モデルは長さ50,257のベクトルを返し、このベクトルは「アルバート」という単語に対応するインデックス(ちなみにインデックス42,590)を除いてすべての場所でゼロに近くなることが期待されます。
訓練中、私たちは訓練用テキストの中で次の単語が何であるかを知っているので、モデルが知っているはずの単語に対してどれだけ良い性能を示しているかを測定するエラーまたは損失値を計算することができます。この損失値は非常に重要です。なぜなら、モデルのパラメータの最適化または学習を導くからです。それらのペタフロップすべての訓練は、この損失値を下げるために実行されています。
アインシュタインの例では、正しい出力ベクトルがインデックス42,590で1を持つべきことを知っているので、損失値をこのインデックスでモデルが返す確率を1から引いたものとして定義することができます。モデルが答えは「アルバート」だと100%確信して1を返した場合、損失は0になり、これは理にかなっています。
モデルが0.9の値を返した場合、損失は0.1になります。モデルが0.8の値を返した場合、損失は0.2になり、以下同様です。この定式化は、多くの機械学習問題でうまく機能するL1損失と呼ばれるものと同等です。
しかし、実践では、クロスエントロピーと呼ばれる異なる損失関数の定式化を使用した場合、モデルはしばしばより良いパフォーマンスを示すことが分かりました。クロスエントロピーの理論的な動機付けは少し複雑ですが、実装は単純です。
モデルが正解のインデックスで出力する確率の自然対数の負の値を取るだけです。したがって、アインシュタインの例で損失を計算するには、インデックス42,590でモデルが出力する確率の負の自然対数を取るだけです。
モデルが100%確信している場合、クロスエントロピー損失は1の自然対数の負の値、つまり0に等しくなり、これは理にかなっており、L1損失と一致します。モデルが正解に90%の確信を持っている場合、クロスエントロピー損失は0.9の負の自然対数、つまり約0.1に等しくなり、これもL1損失に近くなります。
モデルの出力確率の関数としてクロスエントロピー損失をプロットすると、損失はゆっくりと増加し、モデルの正解の単語に対する確率がゼロに近づくにつれて急上昇することがわかります。これは、モデルの正解への確信度が非常に低い場合、クロスエントロピー損失が非常に高くなることを意味します。
これまで見てきたすべてのスケーリング図のY軸に示されているモデルのパフォーマンスは、モデルのテストセットの例に対するこのクロスエントロピー損失の平均値です。テストセットの正しい次の単語についてモデルの確信度が高いほど、平均クロスエントロピーはゼロに近づきます。
OpenAIチームの損失曲線の一部が平坦化してゼロに達しなかった理由が理解できるのは、このような配列の次の要素を予測することには、一般的に単一の正解がないからです。「アインシュタインの名前は」という配列は非常に曖昧性のない次の単語を持っていますが、ほとんどのテキストではこれは当てはまりません。
GPT-3の訓練データの大部分はインターネットからスクレイピングされたテキストから来ています。「ニューラルネットワークは」というフレーズを検索すると、様々なソースから多くの異なる次の単語が見つかります。これらの単語のどれも間違いではなく、ニューラルネットワークを説明する方法が多くあるだけです。
この根本的な不確実性は、自然言語のエントロピーと呼ばれています。言語モデルに期待できる最善のことは、次の単語の選択肢として現実的な集合に高い確率を与えることです。そして驚くべきことに、これは大規模言語モデルが行っていることです。例えば、これはMetaのLlamaモデルのトップ5の選択肢です。
したがって、クロスエントロピー損失をゼロにすることはできませんが、どれだけ近づけることができるでしょうか?自然言語のエントロピーの値を計算または推定できるでしょうか?
定数の削減不可能な誤差項を含むべき乗則モデルを損失曲線に当てはめることで、OpenAIチームは自然言語や低解像度の画像、ビデオ、その他のデータソースのエントロピーを推定することができました。各問題について、彼らはデータの自然エントロピーを2つの方法で推定しました。1つはモデルサイズのスケーリング曲線が平坦化する場所を見ることで、もう1つは計算曲線が平坦化する場所を見ることでした。そして、これらの別々の推定値が非常によく一致することを発見しました。
スケーリングべき乗則はこれらの場合でもまだ機能しますが、この定数項を追加することで、対数対数プロットの傾向線またはフロンティアはもはや直線ではなくなります。興味深いことに、チームは言語データに関してはパフォーマンスの平坦化を検出することができませんでした。しかし、残念ながら最大の言語モデルからのデータでさえも、自然言語のエントロピーの意味のある推定値を得ることはできないと指摘しています。
18ヶ月後、GoogleのDeepMindチームは、自然言語データに関する計算効率フロンティアにいくらかの曲率を観察した大規模なニューラルスケーリング実験のセットを発表しました。彼らはその結果を使用して、全体の損失を3つの項に分解したニューラルスケーリング則を適合させました。モデルサイズでスケールする項、データセットサイズでスケールする項、そして最後に自然テキストのエントロピーを表す削減不可能な項です。
これらの経験的結果は、無限に大きなモデルと無限のデータを持っていても、巨大なテキストデータセットの平均クロスエントロピー損失を1.69未満にすることはできないことを示唆しています。
1年後の2023年のパイの日に、OpenAIチームはGPT-4をリリースしました。100ページに及ぶGPT-4の技術報告書には、モデル自体についてのほとんど技術的な情報が含まれていません。OpenAIチームは競争環境と安全性への影響を理由に、この情報を共有しませんでした。しかし、論文には2つのスケーリングプロットが含まれています。
GPT-4の訓練コストは膨大で、報告によると$1億以上かかったとされています。この巨大な投資を行う前に、チームは同じ単純なべき乗則を使用して、より小さな実験の結果にこの曲線を当てはめることでパフォーマンスがどのようにスケールするかを予測しました。このプロットは線形のY軸スケールを使用しており、対数ではないことに注意してください。これにより曲率が誇張されています。この曲線を対数スケールにマッピングすると、いくらかの曲率は見られますが、全体的に私たちが見てきた他のスケーリングプロットとよく一致しています。
ここで信じられないことは、OpenAIチームがこの巨大なスケールでのGPT-4のパフォーマンスをどれだけ正確に予測できたかということです。GPT-3の訓練がすでに巨大な3,640ペタフロップ日を必要としたのに対し、GPT-4の訓練に関するリーク情報では、訓練の計算量は200,000ペタフロップ日以上で、25,000台のNVIDIA A100 GPUを3ヶ月以上稼働させる必要があったとされています。
これらすべては、ニューラルスケーリング則が信じられないほど広範なスケールにわたって成り立つことを意味しています。OpenAIの2020年の最初の論文で報告された10の-8乗ペタフロップ日から、GPT-4の訓練でリークされた200,000ペタフロップ日以上まで、およそ13桁の範囲です。
これは私たちを元の疑問に戻します。なぜAIモデルのパフォーマンスはこのような単純な法則に従うのでしょうか?なぜデータ、モデルサイズ、計算リソースが私たちが構築しているシステムの基本的な制限となっているのか、そしてなぜそれらがこのように単純な方法でモデルのパフォーマンスと結びついているのでしょうか?
このような疑問に答えるために必要なディープラーニング理論は、一般的にディープラーニングの実践よりもはるかに遅れています。しかし、最近の研究の中には、ディープラーニングモデルが事実上データを使用して高次元のデータ多様体を解決することを主張することで、モデルのパフォーマンスがべき乗則に従ってスケールする理由について説得力のある説明をするものがあります。
これらの理論を本当に理解することは難しい場合があります。段階を追って直感を構築することが最も良い方法であることが多いです。LLMsや他の多くのトピックについての直感を構築するには、このビデオのスポンサーであるbrilliantをチェックしてください。
ニューラルスケーリングのような理論を自分で理解しようとする時、私は論文から始めますが、これだけでは十分ではありません。ほとんど常に何かをコーディングして、実際に何が起こっているのかを実験して確認します。brilliantは驚くべき方法でこれを実現し、強力な実践的学習の部分に直接飛び込むことができます。
彼らは数学、プログラミング、データ分析、AIをカバーする何千もの対話型レッスンを持っています。brilliantは実際の問題を解くことを通じて直感を構築するのを助けます。これは私にとって学習の重要な部分です。後ほど、MNISTデータセットの低次元表現を学習するニューラルネットワークのアニメーションをご覧いただきますが、このような大きな問題の小さなバージョンを解くことは、私にとって素晴らしい直感構築の機会となります。
brilliantは、この学習スタイルを1日数分で進歩できる形式にパッケージ化しています。一貫した努力を重ねることで積み重ねられる進歩に驚かれることでしょう。brilliantには大規模言語モデルに関するコース全体があり、先ほど説明した次の単語の予測や単語確率の計算などのトピックをより深く掘り下げるレッスンが含まれています。
brilliantのLLMコースとそれらが提供するすべてのものを30日間無料で試すには、brilliant.org/welchlabsにアクセスするか、このビデオの説明のリンクをクリックしてください。このリンクを使用すると、brilliantの年間プレミアムサブスクリプションが20%オフになります。このビデオのスポンサーとなっていただいたbrilliantに大きな感謝を申し上げます。
では、ニューラルスケーリングに戻りましょう。機械学習には、私たちのモデルが学習するデータセットが高次元空間の多様体上に存在するという考え方があります。画像やテキストのような自然データを、この高次元空間の点として考えることができます。
例えば、手書き数字のMNISTデータセットでは、各画像は28×28ピクセルのグリッドで構成され、各ピクセルの強度は0から1の間の数値として保存されています。一瞬、画像が2つのピクセルしか持っていないと想像すると、これらの2ピクセル画像を2D空間の点として視覚化することができます。最初のピクセルの強度値がx座標、2番目のピクセルの強度値がy座標となります。
2つの白いピクセルで構成される画像は、2D空間の(0,0)に位置します。最初の位置に黒いピクセル、2番目の位置に白いピクセルを持つ画像は(1,0)に位置します。両方のピクセルが0.4のグレー値を持つ画像は(0.4,0.4)に位置し、以下同様です。
画像が2つではなく3つのピクセルを持っていた場合、同じアプローチは3次元でも機能します。28×28のMNIST画像にスケールアップすると、画像は784次元空間の点となります。この高次元空間のほとんどの点は手書きの数字ではありません。空間からランダムに点を選んで画像として表示すると、これらはほとんど常にランダムなノイズのように見えます。手書きの数字をランダムにサンプリングするには、本当に本当に本当に運が良くならなければなりません。
この疎性は、この784次元空間に埋め込まれた低次元の形状が存在する可能性を示唆しています。この形状上またはその中のすべての点が有効な手書き数字となります。
一瞬、おもちゃの3ピクセル画像に戻ると、3番目のピクセル強度値(X3とします)が常に2番目のピクセル値(X2)の余弦に1を加えた値に等しいことを学んだとします。私たちの3ピクセル画像はすべて、X3 = 1 + cos(X2)で定義される3D空間の曲面上に位置することになります。この表面は2次元で、X1とX2だけを使用して3D空間での画像の位置を表すことができ、もはやX3は必要ありません。
MNISTを分類することを学習するニューラルネットワークは、同様の方法で働いていると考えることができます。例えば、このネットワークアーキテクチャでは、最後から2番目の層は16個のニューロンを持っています。これは、ネットワークが784次元の入力空間をはるかに低い16次元空間にマッピングしたことを意味します。これは、1+余弦関数が3次元空間を低い2次元空間にマッピングしたのと非常によく似ています。
多様体仮説が本当に興味深くなるのは、多様体がデータの低次元表現であるだけでなく、多様体の幾何学がしばしばデータに関する情報をエンコードしているということです。ニューラルネットワークが学習したMNISTデータセットの16次元表現を取り、UMAPのような技術を使用して16次元から2次元に投影すると、その幾何学の感覚を得ることができます。UMAPは高次元空間の構造を保持しようとします。
画像が対応する数字を使用して各点を色付けすると、ネットワークが訓練され、効果的に多様体の形状を学習するにつれて、同じ数字のインスタンスが多様体上の小さな近傍にグループ化されていることが分かります。これは多くの機械学習問題で共通の現象です。同様のオブジェクトを示す画像や同様の概念を参照するテキストは、学習された多様体上で互いに近くに位置することになります。
ディープラーニングモデルが何をしているのかを理解する1つの方法は、高次元入力空間を、多様体上のデータの位置が意味を持つ低次元多様体にマッピングしているということです。
では、多様体仮説はニューラルスケーリング則とどのような関係があるのでしょうか?訓練データセットのサイズとテストセットのクロスエントロピー損失で測定されるモデルのパフォーマンスを結びつけるニューラルスケーリング則を考えてみましょう。
多様体仮説が正しければ、私たちの訓練データは高次元空間のある多様体上の点であり、モデルはこの多様体の形状を学習しようとします。私たちの多様体上の訓練点の密度は、データ量だけでなく、多様体の次元にも依存します。
1次元空間では、D個の訓練データ点があり、多様体の全長がLである場合、訓練点間の平均距離sは、LをDで割ることで計算できます。訓練点間の距離を直接考えるのではなく、より高次元に移行する際には、サイズsの各点の周りの小さな近傍を考える方が簡単です。これらの小さな近傍が互いに接しているため、データ点間の距離は依然としてsです。
2次元に移ると、今度は実質的にL×Lの正方形を、各訓練点を中心とする一辺の長さsの小さな正方形で埋めていることになります。大きな正方形の総面積L²は、データ点の数D×各小さな正方形の面積s²に等しくなければなりません。式を並べ替えて解くと、sはL×D^(-1/2)に等しいことが示せます。
3次元に移ると、今度は一辺の長さsの小さな立方体D個でL×L×Lの立方体を埋めていることになります。D個の小さな立方体の体積と大きな立方体の体積を等しくすると、sはL×D^(-1/3)に等しいことが示せます。
したがって、より高次元に移行するにつれて、点間の平均距離は、多様体の次元で割った-1のべき乗のデータ量でスケールします。
私たちが訓練点の多様体上での密度を気にするのは、テストの点が来た時、そのエラーが最も近い訓練点までの距離の関数によって制限されるからです。モデルが訓練データに完全にフィットできるほど強力であると仮定すると、学習された多様体は訓練点で真のデータ多様体と完全に一致します。
ReLU活性化関数を使用するディープニューラルネットワークは、これらの訓練点間を線形補間して予測を行うことができます。多様体が滑らかであると仮定すると、テイラー展開を使用して、エラーが最も近い訓練点とテスト点の間の距離の2乗でスケールすることを示すことができます。
訓練点間の平均距離が、データセットのサイズDを多様体の次元で割った-1のべき乗でスケールすることを確認しました。この項を2乗して、データセットサイズDで計算されるエラーのスケールの推定値を得ることができます。これは多様体の次元で割った-2のべき乗となります。
最後に、モデルはクロスエントロピー損失関数を使用していることを思い出してください。しかし、ここまでの多様体分析では、予測値と真の値の間の距離のみを考慮してきました。これは先ほど考えたL1損失値と同等です。クロスエントロピー関数にも同様のテイラー展開を適用すると、クロスエントロピー損失が予測値と真の値の間の距離の2乗でスケールすることを示すことができます。
したがって、最終的な理論的結果として、クロスエントロピー損失はデータセットサイズDの-4/多様体の次元のべき乗でスケールすることが期待されます。これは最悪のケースのエラーを表し、上限となるため、クロスエントロピー損失はこの項に比例するかそれ以上に良くスケールすることが期待されます。この理論を開発したチームは、より多くのデータがモデルにデータ多様体をより良く解像させることができるため、これを解像度制限付きスケーリングと呼んでいます。
興味深いことに、モデルサイズと損失の関係を考える際、理論は同じ4乗の関係を予測します。この場合の考え方は、追加のモデルパラメータがモデルにより高い解像度でデータ多様体にフィットすることを可能にしているということです。
では、この理論的結果は観察とどのように比較されるでしょうか?OpenAIとGoogle DeepMindの両チームは、それらの適合スケーリング値を公表しました。これらは理論が予測するものと一致するでしょうか?
2020年1月のOpenAIの論文で、チームはクロスエントロピー損失がデータセットのサイズの-0.095乗でスケールすることを観察しました。彼らはこの値をアルファsubDと呼んでいます。理論が正しければ、アルファsubDはデータの固有次元の4分の1以上でなければなりません。
この最後のステップは、自然言語の固有次元としても知られるデータ多様体の次元を推定する必要があるため難しいものとなります。チームは、固有次元が既知であるか、よく推定できるより小さな問題から始めました。既知の固有次元を持つ合成訓練データが教師モデルによって作成され、生徒モデルによって学習される場合など、理論的な実験的スケーリングパラメータの間に非常に良い一致を見出しました。
また、MNISTを含むより小規模な画像データセットでも、-4/dの予測がうまく成り立つことを示すことができました。最後に言語に目を向けると、観察されたスケーリング指数-0.095を代入すると、自然言語の固有次元は約42であるべきだと計算できます。
チームは言語モデルが学習した多様体の固有次元を推定してこの結果をテストし、固有次元が有意に高く、100程度であることを発見しました。理論からの不等式は依然として成り立ちますが、合成データや小規模なデータセットで観察されたような一致は見られません。
したがって、私たちに残されているのは、ある程度の予測力を持つ説得力のある理論ですが、まだAIの統一理論には至っていないということです。2020年初頭のOpenAIの最初のスケーリング論文からGPT-4のリリースまでの5年間で、私たちは驚くべきAIの進歩を目にしてきました。ニューラルスケーリング則は、より良いパフォーマンスへの道を示してくれました。
ここで注意すべき重要な点は、スケーリング則が次の単語予測のパフォーマンスを信じられないほど予測できる一方で、特定のモデルの挙動の存在を予測することは依然として難しいということです。単語のアンスクランブル、算術、多段階推論などのタスクでの能力は、様々なスケールでただ突然出現するように見えます。
ニューラルネットワーク駆動型のアプローチがここまで私たちを導いてきたことは信じられないことであり、もちろんそれがどこまで進むことができるかは分かりません。ここで紹介した論文の多くの著者は物理学のバックグラウンドを持っており、彼らのアプローチや言語から、統一原理を探求していることが感じられます。
AIにおける統一の強力な例としてのニューラルスケーリング則は、驚くほど正確で有用な経験的結果を提供し、知的システムのスケーリングの統一理論への魅力的な手がかりを与えています。次の5年間でスケーリング則や他の理論がどこまで私たちを導くことができるか、そしてAIが本当にこの線を超えることができないのかどうかを理解できるかどうか、それを見るのは興味深いことでしょう。
Welch Labsの動画を楽しんでいただけるなら、私の虚数に関する本もきっと気に入っていただけると思います。今年後半に出版予定です。2016年に遡って、私は虚数に関する13部作の大きなYouTubeシリーズを制作しました。これは非常に興味深いトピックで、当時この本の初期バージョンをリリースし、現在は修正、訂正、大幅な拡張を行っています。
私の目標は、虚数に関する最高の本を作ることです。高品質のハードカバー印刷本は今年後半から出荷を開始する予定です。説明欄のリンクから今日予約注文いただけます。また、ご注文には2016年バージョンのPDFコピーが無料で付属し、今日からダウンロードしていただけます。
また、新しいポスターデザインにも取り組んでいます。私のActivation Atlasポスターのダークモードバージョンができました。これらは視覚モデルが学習したデータ多様体を視覚化する素晴らしい方法です。これらすべてとさらに多くのものをWelch Labsストアでご覧いただけます。
コメント