Chain of thought 推論精度について確率的な考察

考察の動機

self-consistency の手法でなぜ解答精度が CoT に比べて向上するのかを考えていたのでまず CoT についてまとめてあとで self-consistency と比較する

Standard と CoT の確率モデルの違い

Standard prompting と CoT prompting を確率モデルで表現すると以下のようになる

  • Standard prompting:
    • P(a | x_{standard})
  • CoT prompting:
    •  P(a, z|x_{cot})

このとき、a は LLM が出力する答え、z は LLM の推論、x_{standard}, x_{cot} はそれぞれ標準 prompt と CoT prompt を表している(潜在変数 z を用いて潜在変数モデルとして扱う)

再現実験結果では gpt3.5 で行った結果、CoT promptin を用いたほうが精度が高かった(42% -> 80%)。つまり

  •  P(a^{correct}|x_{cot})>P(a^{correct}|x_{standard})

が示されている。ただし以下について言及をしており、これについて CoT の推論 z = z_{1:t} と分解して考察する

  • 正しい推論を行ったときに正しい答えに到達する
  • 誤った推論を行ったときは誤った答えに到達する

CoT の推論ステップ列の分解

 z = z_{1:t} として分解し  P(a, z_{1:t}|x_{cot}) の同時確率分布を分解すると

  •  P(a, z_{1:t}|x_{cot})=P(a|z_{1:t}, x_{cot})*P(z_{1:t}|x_{cot}) \tag{1}

さらに

  •  P(z_{1:t}|x_{cot})=\prod_{1}^{t}P(z_i|z_{1:i-1}, x_{cot}) \tag{2}

として表現でき  (1) の右辺の

  • 前半の  P(a|z_{1:t}, x_{cot}) は prompt と推論から答えを導出する式
  • 後半の  P(z_{1:t}|x_{cot}) は prompt から推論を導出する式

になっている。また  (2) の右辺の

  •  P(z_i|z_{1:i-1}, x_{cot}) は途中の推論から次の推論を導出する式

となっている。つまり、CoT prompting の推論過程は

  • 推論過程から答えを導く能力
  • 途中までの推論から次の推論を導く能力

の2つで構成されていることがわかる。

これにより前章の

  • 正しい推論を行ったときに正しい答えに到達する
  • 誤った推論を行ったときは誤った答えに到達する

という点は以下のように言え

  •  P(a=a^{correct}|z_{1:t}=z^{correct}, x_{cot}) となる確率が高い
  •  P(a=a^{correct}|z_{1:t}=z^{wrong}, x_{cot}) となる確率は低い

推論が正しければ各タスクで正答を導くことが可能と示している。つまり  P(a|z, x_{cot}) は推論  z が正しければほぼ deterministic に正しい a を返す。

パラメータ数の少ない LLM では CoT prompting がなぜ有効でなかったか?

論文の実験結果ではモデルのサイズが中大規模な場合に CoT prompting の効果が高く小規模な場合に効果が少なかったとあった。 これは小規模な能力の推論能力が低く正しい推論を行う能力が低かった、つまり、

  • 小規模モデル:
    •  P(z_{i}=z_{i}^{correct}|z_{1:(i-1)}, x_{cot}) が低く、推論の誤りの伝搬が起きる
  • 大規模モデル:
    •  P(z_{i}=z_{i}^{correct}|z_{1:(i-1)}, x_{cot}) \approx 1 となり推論チェーンが安定に生成される

となるためパラメータ数の多いモデルでは正答率が上昇した。

CoT prompting の効果

以上のように CoT prompting は、推論過程を LLM に明示的に出力させることで

  • LLM に推論誘導を行う効果
  • 推論を外部記憶として利用させる効果

があり、LLM の推論を行う十分な規模を持つなら

  • 正しい推論を行う確率が高くなり
  • 正しい推論から正しい答えを導出する

ことが可能であり解答精度を向上させる効果がある。

ただし、GPT4 では CoT prompting の効果がなく Standard prompting と同等の性能だった。これは、GPT4 が暗黙的に LLM の内部で CoT を行っていると考えられるためであり、次の投稿で考察する。 (小規模モデル、gpt3.5, gpt4 と推論能力が異なりパラメータサイズによる推論能力の創発が明示的に発生している点が興味深い)

LLM Agent の推論能力の発現の分析: Chain-of-thought prompting 論文まとめ

記事の概要

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

ほかのプロンプトでも同様の結果が出るのか検証した

  1. 推論過程として式だけを生成する prompting ("Equation-only") 自然言語の推論をさせず式の変換だけを強制
  2. 変数だけの計算を強制 ("Numeric computation only")
  3. 答えの後に CoT を書かせる ("CoT after answer")

で比較。(1) の場合 GSM8K のような文章解釈が複雑な問題では性能が低い。(2) でもベースラインと同等の性能であった。 そのため、自然言語の推論過程を示すことが性能に大きく影響していることがわかる (3) でも効果がなくCoT を解答の後に書かせても影響はなかった。(メモ: 解答を導くために途中に出力した推論過程が解に影響しており、LLM が推論ステップの出力を利用し推論を行い解を改善していると考えられる)

3.4 Robustness

chain-of-though prompting のブレに対する解の精度の影響(Robustness)を調べるため

  • few-shot の例を変える
  • 語尾を変える
  • 文体を変える
  • 別の例を使用する

ケースでもほぼ同じ性能が得られた。一般性を持つ

4. 常識推論

  • 使用するベンチマーク
    • CSQA
    • StrategyQA
    • BIG-bench
    • Date Understanding
    • Sport Understanding
    • SayCan
  • 使用する Prompt

    • 訓練セットから数例を取り出して CoT few-shot prompt を構成 自然言語での推論ステップと答えを含める
  • 結果

    • 中 ~ 大規模モデル (>100B) で効果が顕著
    • StrategyQA, BIG-bench, DateUnderstanding などでは大きな改善
    • CSQA で改善が小さい (メモ: CSQA は推論より知識問題に近いため CoT が必要な推論問題が少ないと考えられる)
  • 結論 CoT prompting は常識推論のタスクとして全体として有効。推論構造が本質的に必要な問題ほど効果が大きい

5. 記号推論

  • 使用するタスク

    • Last Letter Concatnation: "Amy Brown" -> "yn" (内部メモリの操作・文字操作・論理規則の適用が必要なタスクの性能をみる)
    • Coin Flip (状態遷移、言語による反転操作の連鎖の推論)
  • 結果 中大規模なモデルで性能が大幅に改善されたが2回のコインフリップの問題では単純なため差が少なかった ほかのケースでは著しく性能が向上した(通常のプロンプトではほとんどのケースで失敗) Last Letter Concatnation, 複数の coin flip では逐次操作、状態遷移を必要とする symbolic reasoning では CoT が非常に効果的 大規模なモデルでは推論能力を持ち CoT prompting によりその潜在的な推論能力を誘発することで改善している(emergent abilities)

6 Discussion

まとめ

  • 段階的推論を引き出すために chain-of-thought prompting について探求
  • その結果、算術、常識、記号推論において性能を学習はファインチューニングなしに向上させた
  • またモデルのパラメータが大きいほど性能が大きく CoT prompting によって LLM のもつ潜在的な推論能力を引き出すことが分かった(メモ: LLM のパラメータ数が推論の正確性を上昇させるのと同時に推論ステップを明示的に外部化することで次の出力に生かしている。つまり推論能力を引き出すと結論できる)

限界

  • CoT は人の推論過程を模倣させているが LLM が実際に推論をしているという LLM の推論能力を保証しているとは完全には言えない(メモ: モデルの内部を見る必要がある。個人的には LLM が推論能力を持つように思う。ただ、後続の計画実行に関する研究によって明示的に LLM に推論行動を追加するものとなっている)
  • 少量だが CoT prompt を構築するコストが必要
  • 推論経路が正しい保証はない(メモ: 形式手法を用いたもののように推論の正確性は担保できない。ただし LLM の性能の向上で推論ステップの正確性を高めることが可能だが、推論経路自体が高められるのかも検証する手法が必要)。
  • 大規模なパラメータを持つモデルのみが潜在的な推論能力をもち CoT によって引き出されるので実アプリケーションをサービスするのにコストがかかる

(次に再現実験の結果を投稿する)