last_modified: 2026-01-11
生成AIによる自動生成記事に関する免責事項: 本記事は、提供された学術論文 arXiv:2201.11903v6 [cs.CL] (Chain-of-Thought Prompting Elicits Reasoning in Large Language Models) の内容に基づき、大規模言語モデルによって作成された解説記事です。正確な内容は参考文献を必ず参照してください。
1. 序論:言語モデルにおける推論能力の課題
近年の自然言語処理(NLP)分野において、Transformerアーキテクチャに基づく大規模言語モデル(Large Language Models; LLM)は、感情分析や機械翻訳といったタスクにおいて顕著な性能を示してきた。しかし、算術計算、常識推論、記号操作といった多段階の論理的思考を要する「推論(Reasoning)」タスクにおいては、単にモデルのパラメータ規模を拡大するだけでは十分な性能向上が得られないという課題が存在した(Rae et al., 2021)。
従来の標準的なプロンプティング手法(Standard Prompting)は、モデルに対して〈入力, 出力〉のペアを例示として与え、テスト入力に対する直接的な回答の生成を促すものであった。これは、心理学における「システム1(直感的・即時的思考)」に類似したプロセスと捉えることができる。対して、人間が複雑な問題を解決する際には、問題を中間的なステップに分解して順次処理を行う「システム2(論理的・熟慮的思考)」のアプローチを取ることが一般的である。
Weiら(2022)は、この人間的な思考プロセスを模倣し、一連の中間的な推論ステップ(Chain of Thought)を生成させることで、LLMの複雑な推論能力を大幅に向上させる手法「Chain-of-Thought (CoT) Prompting」を提案した。本稿では、CoTの数理的定式化、その有効性を支えるメカニズム、およびモデル規模との相関関係(Scaling Laws)について、原著論文に基づき詳細に論じる。
2. 背景と関連研究
2.1 Few-Shot Promptingの限界
Brownら(2020)によって普及したFew-Shot Promptingは、タスク固有のファインチューニングを行わず、推論時に少数の入出力例(Exemplars)をコンテキストとして与えることでモデルを適応させる手法である。
ここで、 は入力質問、 は最終回答である。モデルはテスト入力 に対し、条件付き確率 を最大化するような を生成する。しかし、多段階の計算を要する数学の問題(例:GSM8Kベンチマーク)などでは、中間計算なしに直接答え を導出することは、モデルにとって高い負荷となり、十分な精度が得られていなかった。
2.2 自然言語による論理的説明(Rationales)
推論過程を明示的に扱うアプローチとして、Lingら(2017)やCobbeら(2021)は、自然言語による論理的説明(Rationales)を含むデータセットを用いてモデルを学習・ファインチューニングする手法を提案した。しかし、これらの手法は高品質な論理的説明を含む大規模なデータセットの作成コストが高いという課題があった。CoT Promptingは、これらのアイデアをFew-Shot Promptingの枠組みに統合することで、追加の学習コストなしに推論能力を引き出すことを可能にした点に新規性がある。
3. 手法:Chain-of-Thought Promptingの定式化
Chain-of-Thought Promptingは、モデルへの入力コンテキストにおいて、例示(Exemplars)の構造を拡張する単純な手法である。
3.1 数理的定義
標準的なPromptingが のペアを用いるのに対し、CoT Promptingでは、入力 、思考の連鎖 、および出力 のトリプレット を用いる。ここで は、最終的な出力 を導くための一連の自然言語による中間推論ステップである。
テスト入力 が与えられた際、モデルは以下の結合確率を最大化するように、思考の連鎖 と最終回答 を順次生成する。
ここで は、 個の例示セット である。 このプロセスは、条件付き確率の連鎖律により以下のように分解して解釈できる。
- 推論パスの生成:
- 回答の導出:
これにより、モデルは直接 という写像を学習するのではなく、問題を というより粒度の細かいステップに分解して処理することが可能となる。これは計算量的な観点からも、より多くの計算リソース(トークン生成数)を難易度の高い問題に割り当てることを意味する。
3.2 プロンプト構成の実例
論文中のFigure 1に示された算術問題の例を以下に示す。
-
Standard Prompting:
Q: Roger has 5 tennis balls. He buys 2 more cans of tennis balls. Each can has 3 tennis balls. How many tennis balls does he have now?
A: The answer is 11.
-
Chain-of-Thought Prompting:
Q: Roger has 5 tennis balls. He buys 2 more cans of tennis balls. Each can has 3 tennis balls. How many tennis balls does he have now?
A: Roger started with 5 balls. 2 cans of 3 tennis balls each is 6 tennis balls. 5 + 6 = 11. The answer is 11.
このように、CoTでは「2缶 × 3個 = 6個」「5個 + 6個 = 11個」という中間計算が自然言語で記述されている。
4. 実験設定
本研究では、提案手法の有効性を検証するために、以下の3つのカテゴリーにわたる推論タスクで評価を行った。
4.1 タスクとデータセット
- 算術推論 (Arithmetic Reasoning):
- GSM8K: 高品質な小学校レベルの算数文章題。
- SVAMP, ASDiv, AQUA, MAWPS: 多様な構造と難易度を持つ数学ベンチマーク。
- 常識推論 (Commonsense Reasoning):
- CSQA, StrategyQA: 一般常識や多段階の戦略的推論を要するQA。
- Date Understanding, Sports Understanding (BIG-bench): 文脈からの日付計算やスポーツルールの理解。
- SayCan: 自然言語によるロボットへの指示出し。
- 記号推論 (Symbolic Reasoning):
- Last Letter Concatenation: 単語の末尾の文字を結合するタスク。
- Coin Flip: コイン投げの結果(表/裏)を追跡する状態追跡タスク。
4.2 使用モデル
実験には、以下の主要な大規模言語モデルが使用された。
- LaMDA (422M, 2B, 8B, 68B, 137B parameters)
- GPT-3 (350M, 1.3B, 6.7B, 175B parameters)
- PaLM (8B, 62B, 540B parameters)
- UL2 (20B), Codex
推論時にはGreedy Decodingが用いられた。
5. 実験結果と分析
5.1 算術推論における劇的な性能向上
実験の結果、CoT Promptingは、算術推論タスクにおいてStandard Promptingを大きく上回る性能を示した。特にGSM8Kベンチマークにおける結果は特筆に値する。
- PaLM 540B: CoTを用いることで、正答率は17.9%(Standard)から**58.1%**へと3倍以上に向上した。
- GPT-3 175B: 同様に、15.6%から46.9%へと大幅に向上した。
- SOTAの更新: PaLM 540B + CoTは、検証機付きでファインチューニングされたGPT-3の従来最高記録(55%)を上回り、新たなState-of-the-Art (SOTA) を達成した。
5.2 能力の創発(Emergence)とモデル規模
本研究の最も重要な発見の一つは、CoTによる性能向上がモデルの規模に強く依存する「創発的」な現象であるという点である。
- 小規模モデル(< 10B): CoTを使用しても性能向上は見られず、むしろStandard Promptingより悪化するケースが観測された。小規模モデルは流暢な文章を生成できるものの、論理的に整合性の取れた思考連鎖を生成する能力に欠けるためである。
- 大規模モデル(> 100B): パラメータ数が約100Bを超えると、CoTによる性能向上が急激に顕著になる。
この結果は、標準的なプロンプティングの性能曲線が平坦(Flat scaling curve)であるタスクにおいて、CoTがスケーリング則の傾きを劇的に改善する可能性を示唆している。
5.3 常識推論および記号推論への一般化
CoTの有効性は算術に限らず、言語に基づく常識推論や記号操作にも及ぶことが確認された。
- StrategyQA: PaLM 540B + CoTは77.8%を記録し、従来のSOTA(69.4%)を上回った。
- Sports Understanding: 95.4%の正答率を記録し、人間のスポーツファン(84%)を上回る結果を示した。
- OOD (Out-of-Distribution) 汎化: 記号推論タスクにおいて、学習時(例示)よりも長い系列(ステップ数が多い問題)に対しても、CoTはStandard Promptingに比べて高い汎化性能を示した。これは、モデルが表面的なパターンマッチングではなく、操作のアルゴリズム的な構造を利用していることを示唆する。
5.4 頑健性(Robustness)の検証
プロンプトエンジニアリングにおける課題として、例示の順序や表現への感度が挙げられるが、CoTは以下の条件下でも頑健であることが確認された(Ablation Study)。
- 異なるアノテータ: 著者の異なる3名が作成したCoT、およびGSM8Kのデータセットから抽出したCoTのいずれを用いても、一貫してStandard Promptingを上回った。
- 例示の順序・数: 例示の順序をランダムに入れ替えても性能変動は小さく、例示数を増やすほど性能は向上する傾向が見られた。
6. 考察:なぜCoTは有効なのか?
論文では、CoTの有効性要因を特定するためにいくつかのアブレーション(構成要素除去)実験を行っている。
6.1 Equation Only(数式のみ)との比較
中間的な自然言語説明を省き、数式のみを出力させた場合(Equation Only)、GSM8Kのような意味論的理解を要するタスクでは性能向上が限定的であった。これは、問題文を直接数式に変換するには意味的なギャップが大きすぎ、自然言語による中間ステップがそのギャップを埋める役割を果たしていることを示している。
6.2 Variable Compute(計算量の可変性)との比較
「思考」の内容ではなく、単に計算量(トークン生成数)が増えたことが要因である可能性を排除するため、思考の代わりに「…」などの無意味なトークンを出力させる実験が行われた。結果はベースラインと同等であり、計算量そのものではなく、生成される内容(論理的ステップ)が重要であることが確認された。
6.3 エラー分析:小規模モデルの失敗要因
PaLM 62B(中規模)とPaLM 540B(大規模)のエラー比較分析(Appendix A.1)により、以下の傾向が明らかになった。
- 意味理解エラー (Semantic Understanding Error): 小規模モデルは、問題文の前提条件を誤解したり、数値の対応関係を取り違えたりするエラーが多い。
- ワンステップ欠損 (One Step Missing): 推論の連鎖の中で重要な1ステップを飛ばしてしまうエラー。
モデル規模を540Bに拡大することで、これらのエラー、特に意味理解とステップ欠損に関するエラーが大幅に修正されることが確認された。これは、論理的推論能力がモデル規模の関数として獲得される能力であることを裏付けている。
7. 限界と将来の展望
本研究はCoTの有用性を示したが、同時に以下の限界についても言及している。
- 事実性の保証欠如: モデルが生成する「思考の連鎖」は必ずしも事実に基づいているとは限らず、もっともらしいが誤った論理(Hallucination)を展開する可能性がある。
- 推論の正しさ: 最終回答が正しくても、途中の思考プロセスが誤っているケースが稀に存在する(ただし、手動評価ではその割合は低かった)。
- 計算コスト: 推論時に長い系列を生成するため、Standard Promptingと比較して推論コストが増大する。
著者は、モデルの事実性向上や、より小規模なモデルでの推論能力の獲得(蒸留など)を将来の研究課題として挙げている。
8. 結論
Weiらによる本研究は、大規模言語モデルに対し、思考の過程を模倣する「Chain-of-Thought Prompting」を適用することで、これまで困難とされてきた多段階推論タスクにおいて飛躍的な性能向上が得られることを実証した。この手法はファインチューニングを必要とせず、モデル規模が一定以上(約100Bパラメータ)になった際に創発的に機能するという特性を持つ。本成果は、LLMが単なる統計的なパターンマッチャーを超え、論理的な推論器として機能しうる可能性を強く示唆するものであり、プロンプトエンジニアリングの新たなパラダイムを提示したと言える。
参考文献
- Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed H. Chi, Quoc V. Le, Denny Zhou. “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models.” arXiv preprint arXiv:2201.11903 (2022).
- Tom Brown et al. “Language models are few-shot learners.” NeurIPS (2020).
- Karl Cobbe et al. “Training verifiers to solve math word problems.” arXiv preprint arXiv:2110.14168 (2021).
- Wang Ling et al. “Program induction by rationale generation: Learning to solve and explain algebraic word problems.” ACL (2017).
- Jack W. Rae et al. “Scaling language models: Methods, analysis & insights from training Gopher.” arXiv preprint arXiv:2112.11446 (2021).
付録:Chain-of-Thought Prompting の直感的理解
本セクションでは、論文の主要な概念を、数理的な背景を踏まえつつ、より直感的かつ実用的な視点から解説する。
1. 「思考の連鎖」とは何か:システム1とシステム2のアナロジー
人間の認知プロセスにおいて、システム1は「直感的・高速・無意識的」な思考(例:2+2=4、怒っている顔の認識)を指し、システム2は「論理的・低速・意識的」な思考(例:17×24の計算、複雑な論証)を指す。
従来のプロンプティングは、入力から出力への直接的なマッピングを求めるため、LLMに対してシステム1的な反応を強いていると解釈できる。これに対し、CoT Promptingは、LLMに対して「順を追って考える」ことを強制し、擬似的なシステム2のプロセスを起動させる手法であると言える。
数学的な視点:確率分布の分解
言語モデルは本質的に、次にくる単語(トークン)の確率分布 を予測する確率的オートマトンである。 複雑な推論問題 に対する答え を直接予測する場合、分布 は非常に鋭いピークを持つか、あるいは平坦で不確実性が高い分布となり、サンプリングが困難になる。
CoTにおいて中間ステップ を導入することは、予測問題を以下のような小さな条件付き確率の積に分解することに等しい。
各ステップ は、最終的な をいきなり予測するよりもはるかに容易(確率が高いトークンが明確)であるため、全体として正しい推論パスを辿れる可能性が高まる。
2. なぜ「小規模モデル」では動かないのか?
論文の図9(Appendix A.1)にあるエラー分析は、この問いに対する重要な洞察を与えている。62Bパラメータのモデル(十分に大きいように見えるが、この文脈では「中規模」)であっても、以下のエラーが頻発する。
- 意味論的誤解: 「ワイヤーを6インチずつ切る」という指示に対し、「6個に切る」と解釈してしまうようなエラー。
- 計算の幻覚: 論理的には合っているが、単純な算術(など)を間違える。
- 一貫性の欠如: 「AはBより大きい」「BはCより大きい」と言った直後に「よってCはAより大きい」と結論づけるような論理崩壊。
CoTが機能するためには、モデルが以下の能力を同時に満たしている必要がある。
- 各ステップの論理的原子操作を正しく実行できる能力。
- 前のステップの結果を次のステップに正しく引き継ぐ能力(文脈保持)。
- 記号や数値を正しくマッピングする能力。
これらの能力は、モデルのパラメータ数が臨界点(約100B)を超えたあたりで、個別にではなく統合された能力として機能し始める(創発)と考えられる。
3. CoTの拡張:Zero-Shot CoT
本論文(Wei et al., 2022)ではFew-Shot(例示あり)の設定でCoTを提案しているが、後にKojima et al. (2022) によって、例示を与えずとも、単に “Let’s think step by step”(順を追って考えてみよう) という魔法のフレーズを追加するだけで、同様の推論能力が引き出されることが発見された(Zero-Shot CoT)。 これは、大規模モデルが学習データ(Web上のテキスト、コード、教科書など)の中に、既に「順を追って説明する」というパターンを大量に内在させており、適切なトリガーによってそれが活性化することを示唆している。
4. 実利的な成果と今後の応用
本研究の成果は、単に数学の問題が解けるようになったこと以上に、以下の点において実用的なインパクトが大きい。
デバッグ可能性: Standard Promptingではモデルがなぜ間違えたか不明だが、CoTでは「思考過程」が出力されるため、どこで論理が飛躍したか(計算ミスか、前提の取り違えか)を人間が確認できる。
AIエージェントへの応用: 複雑なタスク(例:「来週の旅行の計画を立てて、飛行機とホテルを予約して」)を実行する際、タスクをサブゴールに分解し、APIを順次呼び出すような自律エージェントの基礎技術としてCoTは不可欠となっている。
シンボリックAIとの融合: CoTで生成された数式やコードを、Pythonなどの外部インタプリタで実行することで、計算ミスをゼロにする手法(Program-of-Thoughtなど)へと発展している。