先日の記事で「CoTを用いて『推論』する生成AI」の「推論」能力の限界について、論文2点を挙げて論じたところ思いの外反響が大きくてちょっとびっくりしたのでした。
なのですが、最近になって同じテーマに対して「厳密に条件統制されたデータセットを用いてLLMを実際に構築した上で実験した」という論文が出てきたとのことで、ちょっと読んでみました。それがこちらです。
実のところ、読んでみたらかなり技巧的かつ綿密に設計された内容の論文で当初一読した範囲では理解し切れない感じがありました。なのですが、非常に興味深い内容だったのと、その検証手法が斬新だったということもあり、このブログでは珍しいことですが2回連続で論文紹介をしてみようと思います*1。なおいつもながらですが、記事中に理解不足や認識の誤りなどの箇所がありましたら何なりとご指摘くだされば幸いです。
- 巧みな実験設計:CoT推論に影響し得る「3つの次元」と、その3つの次元を自由に操作しながらLLMをゼロから構築するための"DataAlchemy"データセットを設定した
- その結果、「課題が事前学習データの分布から逸脱」すればするほど(共変量シフトが大きいほど)CoT推論LLMは正しく推論できなかった
- 結論としては、「CoT推論LLMは『未知の問題を解くための推論』などしておらず単に事前学習データへのパターンマッチングをしているだけに過ぎない」
- コメント:LLMを含む深層学習は本当に「丸暗記」し得る
巧みな実験設計:CoT推論に影響し得る「3つの次元」と、その3つの次元を自由に操作しながらLLMをゼロから構築するための"DataAlchemy"データセットを設定した
今回紹介する論文はかなり網羅性の高い実験を行っており、その分事前に置かれている命題・用いられたデータセット・実施された実験の手法とも多岐にわたるため、これを全て読み解くのは割と至難の業です。よって、詳細は上記リンク先の原論文の日本語訳を参照いただくとして、この記事では以下に僕なりにまとめた要点を記しておきます。
なお前提として、これは本論文に限りませんが「真に生成AIが『推論』出来るのならばヒトが為しているように『どれほど目新しい事柄でも』『時間さえかければ』『問い掛け方にばらつきがあっても』妥当な推論が出来るはず」という仮説を置いている様子が窺われます。言い換えると、これは「推論の汎化性能」を見ようとしているわけです。
まず、この論文では図1の通りCoT推論の性能に影響し得る*2普遍的な次元(軸)として「課題の種類」「テキスト・トークンの長さ」「課題のフォーマット」の3つを定義し、これらを操作することで具体的にどのような推論パフォーマンスへの影響が現れるかを測定することを目指しています。その上で、これら3つの次元から見て事前学習データとテストデータとの分布が乖離することによって、CoT推論パフォーマンスが低下するのではないか?という仮説を提起しています。
次に、その3つの次元を自由に操作できると同時にゼロからLLMを事前学習させることの出来る人工的なデータセットとして、"DataAlchemy"というデータセットを考案して採用しています。その概要は図2の通りで、基本的にはアルファベットから成る英単語に対して2通り(単一のケースもあれば掛け合わせのケースもある)の文字列操作ルールをCoT推論課題として定義するものです。詳細は図2を見た方が早いと思いますが、典型的な全単射写像なので一度ルールが分かればどんな課題でも「ヒトであれば」ある程度こなせるであろうことが想定されます。
このDataAlchemyは、単純な推論課題ながら課題ルールや用いる文字列の種類*3や長さ、更には推論ステップ数を自在に変えることができる上に、「事前学習データとテストデータとの間で何がどれくらい違うか」即ち両者の分布の乖離度を容易に定量化できます*4。要はこのDataAlchemyにより、ある程度適切に条件統制されたLLMを複数用意することが可能になっており、得られる知見に網羅性と定量性を持たせようとしているということですね。
実験そのものはシンプルで、DataAlchemyで何通りかにデータセットの条件を変えて事前学習させたLLMを幾つも用意した上で、個々のLLMに対して事前学習データからの乖離度の異なるテストデータに対する推論パフォーマンスを測定する、ということをしています。これにより、3つの次元に対してそれぞれ事前学習データとテストデータとの乖離度と、推論パフォーマンスとの関係をプロットにして評価することが可能になっています。
なお実験で用いたLLMのアーキテクチャにはGPT-2を採用しています。GPTの一般的な事前学習に加えて、設定された実験条件に応じて教師ありファインチューニングも行ったとのことです。また、モデルサイズや温度も変えられるようにしたようです。
その結果、「課題が事前学習データの分布から逸脱」すればするほど(共変量シフトが大きいほど)CoT推論LLMは正しく推論できなかった
本論文の実験結果は図3に端的にまとめられています。もう一目瞭然で、「事前学習データとテストデータの分布とが乖離するほど推論パフォーマンスが大きく低下する」という結果になっているんですね。
実験結果の詳細は多岐にわたるのでかいつまんで紹介すると、
- どれほど掛け合わせで複雑化させた課題ルールを学習させても、まだ見ぬ新規の課題ルールに対しては複雑度が低くても正しく推論することができない(表1)
- その場合推論プロセスの説明は合っていても、最終的な回答が間違っていることが多い(表2)
- 教師ありファインチューニングでわずかでも新規の課題ルールを覚えさせると、推論パフォーマンスは良くなる(図4)
- 事前学習データに使われていなかったアルファベットがテストデータに入ると、正しく推論できなくなる(図5・6)
- 文字列の長さが事前学習データとテストデータとで異なると、短くても長くても正しく推論できなくなる(表3・図7)
- 推論ステップ数が事前学習データとテストデータとで異なると、小さくても大きくても正しく推論できなくなる(図8)
- テストクエリにノイズとなるトークンを加えたり、逆にトークンの一部を削除したりすると、正しく推論できなくなる(図9)
- 温度とモデルサイズを変更しても、個々のDataAlchemyの条件下での推論パフォーマンスに影響しなかったため、あくまでも事前学習データとテストデータとの乖離度こそが影響しているとみられる(図10)
という知見が得られたとのことです。非常に網羅性の高い内容で、個人的には感服させられるばかりです。
ちなみに、「学習データとテストデータとでその分布が互いに大きく乖離する」ことを「共変量シフト」と従前から機械学習分野では呼んでおり、共変量シフトが存在する条件下では機械学習モデルの予測パフォーマンスが低下することは2000年前後には既に広く知られていた現象です。その意味では、「推論する生成AI」といえども一般的な機械学習と同じで共変量シフトに弱い、と言えそうです。
結論としては、「CoT推論LLMは『未知の問題を解くための推論』などしておらず単に事前学習データへのパターンマッチングをしているだけに過ぎない」
ということで、本論文の結論は極めて明快で「CoTの推論能力は真の論理的推論のメカニズムではなく、洗練され構造化されたパターンマッチングの一形態であり、根本的に訓練時に見たデータ分布によって制限される」と指摘しています。
これは、前回の記事で取り上げた2本の論文が「事前学習データの内容が明示的には分からない(がある程度推測できる)」CoT推論LLMに対して「恐らく事前学習データには含まれなさそうな」課題を解かせていたのに対して*5、事前学習データもテストデータも厳密に条件統制した上でゼロからCoT推論LLMを構築して網羅的に実験した結果であり、より厳密性の高い知見といって良いでしょう。しかも、この問題点は図10で示されたように例えばLLMを巨大化させたり学習プロセスだけに手を入れたりしても解決されない、普遍的なものであると考えられます。
このため、本論文ではCoT推論LLMの構築に当たっては「事前学習データを充実させるだけでなく『十分に事前学習データから乖離したテストデータ』を準備して適切に性能評価を行うべき」「教師ありファインチューニングはそれ単体では汎化性能を改善できないのであくまでも事後対応に留めるべき」だ、と提言しています。
コメント:LLMを含む深層学習は本当に「丸暗記」し得る
ところで、前回の記事で「CoT推論LLMは『丸暗記』している」と煽り気味に書きましたが、その後とある統計的学習理論の研究者の方とお話していたら「自分の実感としてLLMは『丸暗記』しているという印象がある」というお話をされた上で、以下の論文をご紹介いただいたのでした。
なお、この論文の非常に分かりやすいまとめをQiitaに書かれている方がいらっしゃいました。有難い限りです。
簡単に言えば、LLMのベースとなっているDeep Learning即ち深層NNは「たとえただのノイズですら十分な学習データと十分に巨大なモデルアーキテクチャがあれば完璧に『丸暗記』するレベルで学習できる」「その結果として(学習データと同じ分布から生成される)テストデータに対しては完璧に近いレベルで汎化させられる」という議論が、実験結果を踏まえて展開されているようです。
この論文を踏まえて先述の研究者の方と議論していて到達した論点が、「『丸暗記』に近いレベルで学習が極まったLLMに『生成』させるからこそ、『丸暗記』したかのようなアウトプットが返ってきてしまうのではないか」というものだったのでした。言い換えると、これがただの分類や回帰だったらそこまで変な話にはならないと思うのですが、「生成」させているからこそその「丸暗記」ぶりが表に出てきてしまうのではないか、と。
仮にそうだとすると、本論文で提起された問題点と考え合わせると、生成AIにヒトが為しているような真の論理的推論を行わせるためにはまだまだ越えるべきハードルが沢山ありそうだなと思った次第です。今後も、このテーマについては継続的に追いかけていこうと考えております。