記事の概要
AI Agent の技術のキャッチアップとどのような流れで発展してきたかを理解するため AI Agent 周りの論文を読んでいく
初めに chain of thought prompt に関する論文を読んだ。その結果 Chain-of-thought prompting は LLM の推論能力の発現について大きな示唆を含んでいることが分かった
なぜこの論文か?
Chain-of-Thought は、LLM の推論能力を「外部化」して引き出す最初の成功例であり、その後の ReAct、ToT、Reflexion などの LLM Agent 研究の基盤を作った歴史的論文と考えられるため
CoT から発展した LLM Reasoning 手法
- Self-Consistency (CoT × 多サンプル投票)
- ReAct(推論 + 行動)
- Tree-of-Thought(探索ベース推論)
- Reflexion(自己改善)
- Plan-and-Solve(計画問題)
Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
再現実験用コード github repository
Chain of thought prompt 論文まとめ
この論文のポイント
推論能力の低い LLM でもプロンプトを用いて推論過程を模倣させることで推論能力が重要と考えられる数学の文章題や常識問題において性能を向上させることができることを示した。
プロンプトを工夫するだけで単純ながら効果が大きく導入が簡単なため以降の現代的な LLM Reasoning の土台として大きな影響を与えた
- LLM に対しプロンプトを工夫し推論を明示的に出力させて次の行動を変えるような計画行動に関する研究に影響
- プロンプトを工夫することで LLM の出力を(構造出力、tool use 等) コントロールする研究に影響
- プロンプトを工夫するだけで精度の改善や出力のコントロールが可能である prompt tuning に関する研究に影響
(メモ:つまり、出力に推論ステップを明示的に出力させることで精度が向上するということは、LLM がそれまでの出力の内容を踏まえて次の推論や解を改善することができる、LLM に推論能力が潜在していることを示している。この結果が LLM Agent の推論能力の研究に対して大きな影響を与えている。また推論過程をうまく学習することで LLM がより推論能力を向上させることが可能ということも示唆している。実際に GPT4 では推論能力が大きく向上しており Chain-of-Thought prompt あるとなしの場合で同程度の精度となっていた)
概要
この論文は LLM に対して few-show で推論過程 (Chain-of-Thought) を含むプロンプトを与えるだけで、複雑な推論タスクを大幅に完全できることを示した。手法は非常に簡単で解答だけではなく「解答の手順(推論過程)」も含めいた例をプロンプトに例示するだけであり、モデルの学習やファインチューニングを行わない。実験では算術推論、常識推論、シンボリック推論の複数タスクにおいて中大規模な LLM において大幅に改善された。
1. はじめに
研究の背景
- LLM の性能向上により従来よりも複雑なタスクが精度高く実現可能になった。ただし、推論が重要であると考えられている算術や常識問題に関する multi-step reasoning を必要とするタスクでは単純な言語生成では高い性能を達成するのに十分でないと考えられていた
関連研究
- neuro-symbolic approache: 専用のファインチューニングにより中間の推論ステップを生成方法。モデルの学習、データ作成が必要
- few-shot learning: 解答の例示による精度の向上。推論が必要なタスクでは改善が得られなかった
本研究
- few-shot prompting に中間推論ステップ (Chain-of-Thought) を組み込むだけで、モデルの学習や少量のデータ作成だけで multi-step reasoning が必要なタスクで大幅に性能が向上することを示した。学習やファインチューニングなしにプロンプトの設計、推論を模倣させるだけで推論能力が向上する点が本研究の特徴
2. Chain of thought
- 人間の推論と同じように多段階的に推論を中間ステップに分解して推論を行うことでより複雑な問題が解けるようになる
- few-shot prompting に中間推論の例 (chain-of-thought) 含めると LLM はこれを模倣して推論過程を生成できる
- 中間推論を LLM に明示的に生成させることで複雑なタスク(算術、常識、記号操作)が劇的に改善する
- この手法はプロンプト設計だけで行え学習やファインチューニングが不要
この結果、従来の「入力 -> 最終の答え」から「入力 -> 中間推論の連鎖 -> 最終の答え」という新しい推論のスタイルに LLM の出力を誘導することができる
(メモ:この段階では LLM 自身が誤りを自力修正はできない。途中で誤った推論を行った場合は誤った答えに到達する。これを改善するには後続の Reflexion 等の研究が必要。つまり、chain-of-thought は推論過程を模倣し明示するだけでその出力を活用する仕組みが必要)
3. 算術推論
3.1 実験設定
- 使用するベンチマーク
- 使用する prompt
- 標準 prompt: Brownら (2020) によって一般化された prompt (これがベースライン)few shot prompting で問題と答えのみ例として prompt に追加
- chain-of-thought prompt: 8つの few shot prompt のセットを手動で構成。few shot prompting で問題と推論過程、答えを例として prompt に追加
- 使用する LLM
- GPT3 (350M, 1.3B, 6.7B, 175B パラメータの instructGPT モデル)
- LaMDA (422M, 2B, 8B, 68B, 137B パラメータモデル)
- PaLM (8B, 62B, 540B パラメータモデル)
- UL2 20B モデル
- Codex
推論時には greedy にサンプリングする
3.2 結果
- 小規模なモデルでは性能を改善することができなかった (メモ:そもそも推論を模倣する能力が低い)
- 100B のパラメータを超えるモデルについては改善された。モデルの規模が大きくなることで発生する創発的な能力により chain-of-thought の推論能力が発現していることを示している
- より複雑な問題に対して大きな性能向上をもたらした(推論が少ない場合は推論なしに直接解を生成しても正答率が高い)
- 一部のモデルではファインチューニングよりも chain of thought prompting のほうが優れた結果
- 正しい答えに到達した例では推論過程は正しいものであった
- 間違った答えに到達した推論過程では推論ステップの意味の理解や一貫性に大きな誤りがあり解に影響していた
3.3 Ablation study
ほかのプロンプトでも同様の結果が出るのか検証した
- 推論過程として式だけを生成する prompting ("Equation-only")
自然言語の推論をさせず式の変換だけを強制
- 変数だけの計算を強制 ("Numeric computation only")
- 答えの後に CoT を書かせる ("CoT after answer")
で比較。(1) の場合 GSM8K のような文章解釈が複雑な問題では性能が低い。(2) でもベースラインと同等の性能であった。
そのため、自然言語の推論過程を示すことが性能に大きく影響していることがわかる
(3) でも効果がなくCoT を解答の後に書かせても影響はなかった。(メモ: 解答を導くために途中に出力した推論過程が解に影響しており、LLM が推論ステップの出力を利用し推論を行い解を改善していると考えられる)
3.4 Robustness
chain-of-though prompting のブレに対する解の精度の影響(Robustness)を調べるため
- few-shot の例を変える
- 語尾を変える
- 文体を変える
- 別の例を使用する
ケースでもほぼ同じ性能が得られた。一般性を持つ
4. 常識推論
5. 記号推論
6 Discussion
まとめ
- 段階的推論を引き出すために chain-of-thought prompting について探求
- その結果、算術、常識、記号推論において性能を学習はファインチューニングなしに向上させた
- またモデルのパラメータが大きいほど性能が大きく CoT prompting によって LLM のもつ潜在的な推論能力を引き出すことが分かった(メモ: LLM のパラメータ数が推論の正確性を上昇させるのと同時に推論ステップを明示的に外部化することで次の出力に生かしている。つまり推論能力を引き出すと結論できる)
限界
- CoT は人の推論過程を模倣させているが LLM が実際に推論をしているという LLM の推論能力を保証しているとは完全には言えない(メモ: モデルの内部を見る必要がある。個人的には LLM が推論能力を持つように思う。ただ、後続の計画実行に関する研究によって明示的に LLM に推論行動を追加するものとなっている)
- 少量だが CoT prompt を構築するコストが必要
- 推論経路が正しい保証はない(メモ: 形式手法を用いたもののように推論の正確性は担保できない。ただし LLM の性能の向上で推論ステップの正確性を高めることが可能だが、推論経路自体が高められるのかも検証する手法が必要)。
- 大規模なパラメータを持つモデルのみが潜在的な推論能力をもち CoT によって引き出されるので実アプリケーションをサービスするのにコストがかかる
(次に再現実験の結果を投稿する)