Chain-of-Thought Prompting — 思考の連鎖プロンプティング

From Systems analysis Wiki
Jump to navigation Jump to search

Chain-of-Thought Prompting (CoT, 「思考の連鎖」プロンプティング) とは、大規模言語モデル (LLM) が多段階の推論を必要とする複雑なタスクを解決する能力を向上させることを目的とした、プロンプトエンジニアリングの手法です。CoTプロンプトは、モデルに即座に回答を生成させるのではなく、まず最終的な結論に至るまでの中間的な推論ステップを明示的に再現するよう促します。

人間の思考プロセスを模倣したこのアプローチは、算術、論理、記号的な問題におけるモデルの精度を大幅に向上させます。

主要なアイデア

CoTの基本原則は、最終的な回答を出す前に、モデルに自然言語で「声に出して考える」ようにさせることです。これらの中間ステップを生成することにより、以下のことが可能になります:

  • 複雑なタスクの分解:モデルは複雑な問題をより小さく管理しやすいサブタスクに分割し、それぞれに順次集中します。
  • エラーの最小化:ステップバイステップのプロセスは、一度に回答しようとする際に頻繁に発生する論理的エラーの可能性を低減します。
  • 透明性と解釈可能性の向上:ユーザーや開発者はモデルの論理を追うことができ、デバッグ、検証、結果への信頼構築が容易になります。

歴史的背景

CoTの手法は、2022年1月28日にGoogle Researchの研究者たちによって論文「Chain of Thought Prompting Elicits Reasoning in Large Language Models」(Jason Wei, Denny Zhou et al.)で初めて発表されました[1]。彼らは、モデルにステップバイステップの解決策を含むいくつかのタスク例(few-shot CoT)を提供することで、複雑なタスクにおける性能が劇的に向上することを発見しました。

この発見は、多段階の推論能力が大規模モデルの創発的特性であることを示しました。原論文で指摘されているように、CoTは特定のスケール(約1000億パラメータ以上)に達したモデルでのみ性能向上をもたらし、それより小さいモデルではほとんど効果がありません。小さいモデルでCoTを使用すると、非論理的な推論を生成し、かえって結果が悪化する可能性があります。

CoTプロンプティングの種類

Few-Shot CoT: 例からの学習

これはCoTのオリジナルかつ最も信頼性の高い手法です。

  • 原理:モデルには、質問 — 思考の連鎖 — 回答のセットからなるいくつかの例(通常2〜8個)が提供されます。
  • 利点:モデルが特定の推論スタイルと形式を学習するため、精度が高いです。
  • 欠点:高品質で多様な例を手動で作成する必要があります。

Zero-Shot CoT: 「一歩ずつ考えよう」

この手法は、2022年5月24日に「Large Language Models are Zero-Shot Reasoners」(Takeshi Kojima et al.)という論文で提案された、よりシンプルなバージョンです[2]

  • 原理:元のプロンプトに、「一歩ずつ考えよう」(英語: "Let's think step by step")のような単純なトリガーフレーズを追加します。
  • 利点:シンプルで柔軟性があり、例を必要としません。
  • 欠点:非常に特殊なタスクでは、Few-Shot CoTよりも精度が低くなる可能性があります。

Automatic CoT (Auto-CoT) - 自動CoT

Zhang et al. (2022) の論文で提案されたこのアプローチは[3]、Few-Shot CoTのためのデモンストレーション作成を自動化します。

  • 原理:
  1. 新しいデータセットの質問がクラスタリングされます。
  2. 各クラスタから代表的な質問が選択されます。
  3. これらの質問に対して、Zero-Shot CoTを用いて思考の連鎖が生成されます。
  4. 得られたデモンストレーションがプロンプトの形成に使用されます。
  • 目的:手作業による労力を削減し、CoTの適用をスケールさせることで、手動での例作成に匹敵するパフォーマンスを達成することです。

マルチモーダルCoT

複数のモダリティ(テキストと画像)からのデータを含むタスクへのCoTの適用です。

  • 原理:モデルは、テキスト情報と視覚情報を結びつける推論を生成します。
  • 応用:図の分析、視覚的なパズルの解決など。

メカニズムと有効性

  • 推論の改善:CoTはモデルを構造化された解決プロセスに導くことで、論理的エラーを最小限に抑え、その知識ベースをより効果的に活用できるようにします。
  • 実証的証拠:CoTの有効性は、特に複雑なベンチマークで顕著です。例えば、算術ベンチマークGSM8Kにおいて、基本的なFew-Shot CoT手法はPaLM-540Bモデルの精度を17.9%から58.1%に向上させました。Self-ConsistencyのようなCoTを基盤とするより高度なテクニックを適用することで、74〜78%の精度を達成することが可能です。
  • 推論形式の役割:研究によれば、たとえ中間ステップが誤っている例であっても、全体的な推論の構造が維持されていれば結果が改善されることが示されています。これは、CoTが主にステップバイステップで考える形式をモデルに教えていることを示唆しています。

他のテクニックとの関連

CoTは、より高度な手法の基本的な構成要素となっています:

  • Self-Consistency: 一つの質問に対して複数の異なるCoTチェーンを生成し、投票によって最も頻繁に出現する回答を選択します。これにより信頼性が大幅に向上し、GSM8K[4] (+17.9%)[5]、SVAMP[6] (+11.0%)[1]、AQuA[7] (+12.2%)[1]などのベンチマークで精度が向上します。
  • Tree of Thoughts (ToT): CoTを一般化し、単一の推論経路ではなく、可能な推論経路の木全体を探査します。CoTの線形な連鎖とは異なり、ToTはモデルが複数の分岐を探査し、中間的な「思考」を評価し、見込みのない経路を発見した場合には後戻り(バックトラッキング)することを可能にします。これにより、単純な線形推論では不十分な、さらに複雑な問題を解決できます(例えば、「Game of 24」[8]という課題の解決精度を4%から74%に向上させました)[9]

関連項目

  • 大規模言語モデル
  • プロンプトエンジニアリング
  • 創発

参考文献

  • Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
  • Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
  • Kojima, T. et al. (2022). Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916.
  • Zhou, D. et al. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. arXiv:2205.10625.
  • Zhang, Z. et al. (2022). Automatic Chain of Thought Prompting in Large Language Models. arXiv:2210.03493.
  • Lyu, Q. et al. (2023). Faithful Chain-of-Thought Reasoning. arXiv:2301.13379.
  • Wang, X. et al. (2023). Deductive Verification of Chain-of-Thought Reasoning. arXiv:2306.03872.
  • Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
  • Lightman, H. et al. (2023). Let’s Verify Step by Step. arXiv:2305.20050.
  • Yang, B. et al. (2025). Hallucination Detection in Large Language Models with Metamorphic Relations. arXiv:2502.15844.

脚注

  1. 1.0 1.1 1.2 Wei, Jason, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed Chi, Quoc Le, и Denny Zhou. «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». arXiv, 10 январь 2023 г. https://doi.org/10.48550/arXiv.2201.11903.[1]
  2. Kojima, Takeshi, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, и Yusuke Iwasawa. «Large Language Models are Zero-Shot Reasoners». arXiv, 29 январь 2023 г. https://doi.org/10.48550/arXiv.2205.11916.[2]
  3. Zhang, Zhuosheng, Aston Zhang, Mu Li, и Alex Smola. «Automatic Chain of Thought Prompting in Large Language Models». arXiv, 7 октябрь 2022 г. https://doi.org/10.48550/arXiv.2210.03493.[3]
  4. «openai/gsm8k · Datasets at Hugging Face», 17 июль 2023 г. https://huggingface.co/datasets/openai/gsm8k.[4]
  5. Wang, Xuezhi, Jason Wei, Dale Schuurmans, Quoc Le, Ed Chi, Sharan Narang, Aakanksha Chowdhery, и Denny Zhou. «Self-Consistency Improves Chain of Thought Reasoning in Language Models». arXiv, 7 март 2023 г. https://doi.org/10.48550/arXiv.2203.11171.[5]
  6. Patel, Arkil. «arkilpatel/SVAMP». Python, 30 май 2025 г. https://github.com/arkilpatel/SVAMP.[6]
  7. «autonlab/aqua». Jupyter Notebook. 2022. Reprint, Auton Lab, Carnegie Mellon University, 12 июнь 2025 г. https://github.com/autonlab/aqua.[7]
  8. «24 (Puzzle)». В Wikipedia [8]
  9. Yao, Shunyu, Dian Yu, Jeffrey Zhao, Izhak Shafran, Thomas L. Griffiths, Yuan Cao, и Karthik Narasimhan. «Tree of Thoughts: Deliberate Problem Solving with Large Language Models». arXiv, 3 декабрь 2023 г. https://doi.org/10.48550/arXiv.2305.10601.[9]