思考の連鎖
Chain of Thought(CoT)は、大規模言語モデルに最終回答を出す前に中間的な推論手順を明示させることで、複雑な推論能力を高めるプロンプト手法です。結果にいきなり飛びつくのではなく、モデルが問題を段階的に解き進めることで、算術、常識推論、記号処理のタスクにおける精度が大幅に向上します。
Chain of Thought(CoT)は、最終的な答えを述べる前に中間ステップを書き出すよう促すことで、難しい推論タスクにおけるモデルの精度を高めます。
代表的な2つのバリエーションは、いくつかの解答例をモデルに示す few-shot CoT と、単に「Let's think step by step.」というフレーズを付け加える zero-shot CoT です。
Wei et al. (2022, arXiv:2201.11903) は、わずか8例を使って PaLM 540B を GSM8K 数学ベンチマークで約58%まで引き上げ、verifier 付きで fine-tuned した GPT-3(55%)を上回りました。
この効果は創発的なもので、通常は ~100B パラメータを超えるような大規模モデルでのみ現れます。
GEO とAI searchにおいて、CoT はanswer engineが引用や要約の際にたどる推論経路を説明し、明確に構造化されたステップ・バイ・ステップのコンテンツは引用しやすくなります。
概要
Chain of Thought(CoT)は、大規模言語モデル(LLM)に対して、答えをいきなり出すのではなく、中間的な推論を1ステップずつ書き出させるように促すプロンプト手法です。これは、人が難しい問題を紙に書きながら解いていくやり方に似ています。モデルに作業過程を示させることで、計算、常識推論、記号推論など、複数のステップをつなげる必要があるタスクで精度が大きく向上します。
重要なのは、モデルの重みは何も変わらないという点です。これは fine-tuning ではなく、変わるのは入力プロンプトだけです。追加の学習コストなしに、プロンプト設計だけで推論能力を引き出せるため、CoT は、その後に続く多くの推論強化手法や「reasoning models」の出発点となりました。
仕組みの説明
Chain of Thought は、主に2つの方法で実装されます。
Few-Shot CoT
これは Wei et al. (2022) によって提案された元来の形式です。プロンプトの中に、各例を「問題 → ステップ・バイ・ステップの解法 → 答え」という形でいくつか配置し、モデルが同じパターンに沿って自分の解法を展開するよう導きます。
Q: A cafe has 23 apples. If it uses 20 at lunch and buys 6 more, how many apples does it have now?
A: It started with 23 apples. It used 20, so 23 - 20 = 3 are left.
It then bought 6 more, so 3 + 6 = 9. The answer is 9 apples.
Q: There are 3 cars in the lot and 2 more pull in. How many cars are there now?
A:各例の「A:」部分にある自然言語の解法が chain of thought です。このパターンを見たモデルは、新しい問題に対して答えだけを出すのではなく、まず推論を生成します。
Zero-Shot CoT
Kojima ら(2022)は、たった一つのフレーズ「Let's think step by step」を質問の後ろに付け加えるだけで、例を一切使わずに同じ効果が得られることを示しました。解答付きの例を作成する必要がないため、簡単に適用できます。
Q: ジャグリングボールが16個あります。その半分はゴルフボールで、そのゴルフボールの半分は青色です。青いゴルフボールは何個ありますか?
A: Let's think step by step.重要な注意点があります。Wei らによるアブレーションでは、実際に性能向上をもたらしているのは自然言語による中間ステップそのものであることが分かりました。単に出力トークン数を増やしたり、回答の後に説明を付け足したりするだけでは、同じ改善は得られませんでした。
標準プロンプティングとChain of Thoughtの違い
Aspect | Standard prompting | Few-shot CoT | Zero-shot CoT |
|---|---|---|---|
Worked examples | Answer only | Include step-by-step solutions | No examples |
Extra input | None | Hand-written solution examples | The phrase "Let's think step by step" |
Intermediate steps in output | No | Yes | はい |
使いやすさ | 最も簡単 | 例の設計が必要 | 非常に簡単 |
主要ソース | — | Wei et al. 2022 | Kojima et al. 2022 |
エビデンスと数値
Chain of thought の利点は、2本の基礎論文で定量化されています。
Few-shot CoT(Wei et al., 2022):PaLM 540B に chain-of-thought の例をわずか8件与えるだけで、そのGSM8K の精度は約58%まで向上しました。これは、小学生レベルの算数文章題ベンチマークにおける当時の最先端結果でした。これは、検証器でファインチューニングした GPT-3 モデルが記録した55%を上回りました。Google Research のブログでは、CoT に後続手法の self-consistency を組み合わせることで、同じベンチマークでのスコアが74%まで上がったと述べられています。
Zero-shot CoT(Kojima et al., 2022):text-davinci-002(InstructGPT)に「Let's think step by step」を追加するだけで、MultiArith の精度は17.7%から78.7%に上昇し、GSM8K の精度は10.4%から40.7%に向上しました。注目すべき点は、この向上が1文だけで得られ、例は1つも不要だったことです。
ただし、chain of thought はすべてのモデルで機能するわけではありません。Wei et al. と Google Research は、この手法には an約100Bパラメータを超える大規模モデルでのみ現れる創発的特性。小規模モデルは非論理的な解を生成する傾向があり、標準的なプロンプトよりも低いスコアになることもありました。
GEOとAI Search
との関連性AI回答エンジンであるChatGPT、Perplexity、GoogleのAI Overviewsなどは、ユーザーの質問に答える際に、内部でchain of thoughtに近い推論プロセスを経ています。その結果、手順、根拠、因果関係が明示されたコンテンツ(番号付きの手順、定義→根拠→結論の流れ、表など)は、これらのエンジンが推論し、引用するうえでより扱いやすくなります。明確な推論経路を持つコンテンツは、曖昧な文章よりも引用や要約の対象として取り上げられやすくなります。