32
会員になると、いいね!でマイページに保存できます。
ChatGPTなどで活用される大規模言語モデル(LLM)は依然ブラックボックスであり、その挙動や傾向の全容は明らかになっていない。アマゾンとカリフォルニア大学による最新研究により、ようやく、LLMの強みと弱みが判明した。今回の発見により、プロンプト最適化の方向性も示唆された。その「極意」を紹介したい。
現在の評価手法の課題、演繹タスクと帰納タスクが混在
大規模言語モデル(LLM)の性能を評価するベンチマークテストは数多く存在するが、これらのテストには演繹的推論と帰納的推論のタスクが混在しており、LLMがどちらのタスクに強いのかを明確に判断することが困難となっている。
演繹的推論とは、一般的な原則や規則から特定の結論を導き出す思考プロセスである。たとえば、与えられた数学の公式を使って新しい計算を行うような場合が該当する。
一方、帰納的推論は、特定の観察や例から一般的な結論や法則を導き出すプロセスを指す。温度計で観測したセ氏とカ氏の複数の対応値から、両者の変換公式を推測するような場合がこれに当たる。
現在のLLM評価手法の多くは、これら2つの推論タイプを明確に区別せずに性能を測定している。
たとえば、算術演算タスクは主に数学的概念を理解し、適用する能力を測るもので、演繹的推論に近い。しかし、モデルに少数の入出力例を提示する文脈内学習(in-context learning)を用いる場合、それは帰納的な要素を持つタスクとなってしまう。
さらに、現在の評価手法では、LLMの演繹的推論能力を純粋な形で測定することは比較的容易だが、帰納的推論能力を分離して評価することはより困難となっている。多くの研究が入出力(IO)プロンプティングを用いて帰納的推論能力を調査しているが、この方法では観察から直接特定のインスタンスに移行するため、LLMの演繹的推論と帰納的推論能力を効果的に分離できていない可能性があるからだ。
たとえば、数列の次の数字を予測するタスクを実行させる場合、以下のようなプロンプトが使用されるケースがある。
IO プロンプティング:
入力: 2, 4, 6, 8, 10
入力: 3, 6, 9, 12, 15
質問: 5, 10, 15, 20, ?
この場合、LLMは「?」に当てはまる数字として25と答え、正答する可能性が高い。しかし、それが等差数列のパターンを帰納的に学習したのか、それとも単に最後の数字に一定の数を加えるという演繹的な操作を行っているだけなのかを区別できないのだ。
帰納的推論を分離する新手法とは?
この問題に対し、カリフォルニア大学ロサンゼルス校(UCLA)とアマゾンの研究チームが包括的な研究を行い、LLMの帰納的推論プロセスを演繹的推論から分離して評価できる新しい評価フレームワーク「
SolverLearner」を開発した。2段階のプロセスにより、帰納的推論プロセスを分離するアプローチだ。
たとえば上記の例では、以下のようなプロセスとなる。
IO プロンプティング:
入力: 2, 4, 6, 8, 10
入力: 3, 6, 9, 12, 15
質問: 5, 10, 15, 20, ?
第一段階では、LLMに次のような指示が提示される。
「これらの数列のパターンを分析し、一般的なルールを見つけ出してください。そのルールをPython関数として記述してください」
するとLLMは以下のような回答を生成する:
def sequence_rule(start, length):
return [start * i for i in range(1, length + 1)]
この関数は、数列が等差数列であり、初項に1, 2, 3, ...を掛けたものであることを示すもの。
次に第二段階として、この関数を外部のPythonインタプリタに渡し、新しい入力で実行する。
print(sequence_rule(5, 5))
出力は次のようになる。
出力: [5, 10, 15, 20, 25]
LLMは数列の一般的なパターンを見出し、それを関数として表現。実際の計算は外部のインタプリタが行うので、LLMの演繹的推論(単純な数字の操作)を排除することが可能となり、LLMが本当に数列のパターンを理解したかどうかを、より明確に評価できるようになるのだ。
【次ページ】SolverLearnerの評価で発覚したLLMの新事実
関連タグ