論文が示す:スケールだけではAGIは実現できない - スケーリング則はOODタスクには適用されない
4,456 文字
ほな、この論文について詳しく説明させてもらいますわ。私はずっとある一つの疑問に焦点を当ててきました。それは大規模言語モデルが本当に推論できるのかということです。現時点では、まだ確信が持てない状況です。大きな問題は、モデルの性能向上のためにたくさんの資金とリソースを投入しているということです。スケーリング則については理解していて、計算能力を増やせばモデルは確かに良くなることもわかっています。でも、これが推論能力にも当てはまるのか、今まで見たことのないデータ(分布外データ)に対しても当てはまるのかは、まだわからへんのです。
私らみたいに世界を深く理解できるようになったら、まだ誰も探求していない新しいことも探求できるようになるはずです。でもそのためには、学習データの分布を超えて推論できる必要があります。そこで私は、研究がどの方向を指し示しているのかを見るために、この件に関する学術論文をネットで必死に探してきました。これらのモデルを調べようとする研究がものすごく多くて、まるで心理学みたいです。モデルがどう働くのか、一般化できるのかを見極めようとしているんです。
その中で、ある論文が特に私の注目を集めました。というのも、この論文はモデルが分布外に一般化できないことを直接的に示していて、スケーリングしても分布外データへの一般化は改善されへんって主張してるんです。これは大きな問題です。今はスケーリングに全ての期待がかかっているのに、もしスケーリングで分布外の推論が解決できへんのなら、別のアーキテクチャが必要になるかもしれません。そうなると、AIの研究者としての役割は果たせなくなってしまいます。
ただ、私はこの論文の結論をそのまま受け入れたくありません。というのも、それに反する研究結果がたくさんあるからです。例えば、グロッキングに関する論文を見てください。グロッキングというのは、モデルを通常よりもずっと長く学習させることです。最初は予想通り過学習が起こって、学習データを丸暗記し始めます。でも、ある時点で突然性能が上がり、一般化能力が高まって、学習データ外での性能も向上するんです。これは不思議な現象です。だって、学習データの分布内で訓練しているのに、学習データ分布外での性能が上がるんですから。
つまり、グロッキングは分布外のデータでも性能が向上することを示しているわけで、これは今回の論文とは相反する結果になります。私が思うに、この論文自身も触れているんですが、グロッキングの論文では非常に単純なタスクを使っているんです。例えば「私の兄はハンクで、ハンクの兄はジョニーだから、ジョニーは私の兄だ」というような比較的単純な構成のタスクを使っています。
一方、この論文ではもっと難しいタスクを使っています。材料科学の問題を使っていて、例えば元素を取り上げて、その元素には多くの属性があり、以前の元素から学んだことを基に、新しい元素や分子の特定のエネルギーを予測しようとするんです。ここでの関係性はずっと曖昧で、難しくて、先ほどの兄弟の例のように単純明快じゃないんです。
だからこそ、グロッキングは単純なルールにしか働かず、ルールが複雑な場合は分布外データへの一般化は起こらないということになります。これは私らにとって大きな問題です。大規模言語モデルが難しい分布外の問題を一般化できへんということは、常に限界があるということですから。
でも、私はもっと微妙な答えがあると思います。なぜなら、これはデータから推論しなければならないルールの複雑さだけの問題じゃないからです。どれだけ異なるデータ例があるかということも重要なんです。
考えてみてください。たくさんのデータを見て、そこから推論しなければならないルールが本当に難しい場合、新しいデータポイントを見るたびに現在の仮説を使っても上手くいきません。現在の仮説は単なる暗記なので、新しいデータポイントには対応できないんです。つまり、一般化できていない状態で新しいデータポイントに遭遇するたびに罰を受けることになり、最終的には一般化せざるを得なくなります。
さらに、大量のデータポイントを暗記するのは本当に大変で、パラメータ空間を大量に消費します。グロッキングを引き起こす正則化は、そんなに多くを暗記したくないようにします。パラメータ空間を大量に使うからです。一方、一般化は格納するのが本当に安価です。
例えば、足し算を考えてみましょう。1+1=2、1+2=3、1+4=5というように、全ての組み合わせを暗記することもできますが、単に足し算の意味を学ぶこともできます。もちろん、全てを暗記するのは大変なので、私らは足し算の意味を学ぶ方を選びます。
でも、暗記にそれほどコストがかからず、ルールを推論する方が難しい場合もあります。材料科学がその良い例です。元素は118個しかないので、全ての属性を持つ118個の元素を簡単に暗記できます。属性を予測するための複雑なルールを見つけ出そうとするのは、労力がかかりすぎて難しすぎます。
モデルも同じ問題に直面します。推論しなければならないルールの複雑さと、データの多様性との間にバランスがあるんです。データセットが多様であればあるほど、一般化は容易になり、ルールが難しければ難しいほど、一般化は困難になります。
これは、スケーリング則やモデルの性能向上を見る時、全ての問題で同じように性能が向上するわけではないということを意味します。特定のカテゴリーの問題で向上しているだけで、これらの問題は全て分布内のものです。ここで私は論文に同意します。主に分布内タスクで向上しているということです。
でも、分布内タスクでしか向上しないという点には同意できません。なぜなら、グロッキングは分布外タスクでも向上できることを示しているからです。つまり、分布内タスクと、十分に単純な分布外タスクの両方で性能が向上しているんです。ただし、単純なだけじゃなくて、先ほど議論したように、データの多様性が高い場合は難しいタスクでも可能です。
多様性が高ければ高いほど、暗記は困難になります。暗記するものが多すぎるからです。また、データの多様性が高ければ高いほど、モデルは仮説を繰り返しテストしやすくなります。モデルが本当に何かを一般化できるかどうかは、このバランスに依存しています。
通常、正則化はモデルを一般化に導きます。これは、暗記がパラメータ的に一般化より高コストだからです。でも、材料科学の場合はそうじゃありません。データの多様性が低く、根底にある問題の複雑さが大きい場合、正則化は実際にモデルを暗記に向かわせます。
論文で発見されているのはまさにこれです。これらのモデルを長く訓練すると、より多くを暗記し始め、分布外データでの性能が悪化し始めます。これは正則化が原因で、この場合、正則化が暗記を促進するんです。つまり、正則化がモデルを一般化に導くのは、データの多様性が十分に高く、推論すべきルールが十分に単純な場合だけなんです。
これは論文自体でも確認されています。元の元素の特徴の一部と、予測する変数の一部だけでテストしたところ、問題全体が簡単になりました。入力空間の次元も出力空間の次元も低くなり、入力から出力への可能な接続が大幅に減少したんです。
例えば、1次元の入力空間から1つの変数を予測する場合、1つの変数と別の変数の間にある複雑さには限界があります。100個の変数と1つの変数の間、あるいは100個の変数と100個の変数の間には、もっと複雑な関係があり得ます。
彼らが入力と出力のサブセットを使用した場合、問題の全体的な複雑さが低下します。特に元素の構造に注目すると、新しい元素の構造を推論するルールは、以前の元素の全特性を予測しようとした時よりもずっと単純になります。この特定のケースでは、より多くのデータとより多くの計算能力が、モデルのより良い一般化につながることが確認されています。
これは再び、あまりにも複雑で、データの多様性が低すぎる問題があり、そういった問題では正則化を使っても、特に正則化を使うと状況が悪化するため、モデルは本当の収束に達することができないという考えを裏付けています。
では、モデルが決して学習できないこのようなサブセットの問題に対して、私らはどうすればいいのでしょうか?まず、これはそれほど大きな問題ではありません。先ほど言ったように、118個の元素についてテストされ、それらの元素のある属性を推測しなければならない場合、その属性を暗記するだけで、他の属性から推論しようとはしません。それは複雑すぎるからです。モデルもそうするでしょう。つまり、その意味では人間らしい、論理的な振る舞いをしているんです。
でも、一つ違いがあります。人間は「118個の元素があるだけだから暗記できるけど、せっかくだからこれらの属性とこの予測したい属性の間の関係を学んでみよう、本当に関係性を理解してみよう」と言えるんです。この問題を解決する一つの方法は、100個の元素を見て、例えばあるエネルギーを予測したい場合、重さやサイズなどの要素のいくつかの側面を見て、パターンや関係性を見出すことです。
仮説を立てて、学習に使わなかった18個の元素でテストします。これらの元素のエネルギーを正しく予測できれば、正しい仮説を得られたことになります。正しくなければ、新しい仮説を立てて、テストし続けます。モデルも実際にこれができます。これはK分割交差検証と呼ばれます。
通常、交差検証はモデルの学習ではなく、最適なパラメータを見つけるために使用されます。重みを設定するのではなく、モデル自体の他の詳細を決めるためです。でも、私は実際にモデルを学習させる方法として交差検証を使い始めることを提案しています。分布外データでの良い性能を得る唯一の方法は、分布外データで学習することだからです。
「分布外データで学習すれば、それは分布内データになってしまうのではないか?」と思われるかもしれません。でも、必ずしもそうではありません。モデルに分布外データを見せるわけではなく、試してみることだけを許可します。100個の元素から仮説を推論させ、除外しておいた18個の元素でそれが機能するかテストさせるんです。最初の数百回は上手くいかないでしょうが、いつかは上手くいくはずです。18個の元素の真の値を見ることができないので、暗記はできません。コードをテストする時に、例を実際に見ることなく実行してテストするようなものです。
結論として、これは非常に興味深い論文です。現在のアーキテクチャと学習方法の限界の多くを浮き彫りにしていて、大規模言語モデルをスケールアップすれば AIになれるという考えについて、私をより微妙な立場に導いてくれました。現時点では、いくつかの注意点があると思います。
この記事が気に入ったらサポートをしてみませんか?