LLM に同一の問題に対して複数の Chain-of-Thought 推論パスを独立に生成させ、最終回答の多数決(Majority Voting)で最も一貫した答えを選択する推論強化手法。
Self-Consistency(SC)は、Wang et al.(2023)が提案した推論精度向上手法で、同じ問題に対して LLM に複数回の Chain-of-Thought(CoT)推論を独立に生成させ、各パスの最終回答を多数決で集約する。「正しい推論は異なる経路を辿っても同じ答えに収束する」という直感に基づいている。
| 手法 | 推論パス数 | 回答選択 | 精度 | コスト |
|---|---|---|---|---|
| Standard CoT | 1 | Greedy(最尤) | 基準 | 1x |
| Self-Consistency | 5〜40 | Majority Voting | 高い | 5〜40x |
| Best-of-N | N | Verifier で選択 | 最高 | N x + Verifier |
Temperature を 0(Greedy Decoding)にすると毎回同じ出力になるため、多様な推論パスを得るにはサンプリングが必須。
GSM8K(小学生算術)での PaLM 540B の結果:
| 手法 | パス数 | 精度 |
|---|---|---|
| Standard Prompting | 1 | 17.9% |
| CoT (Greedy) | 1 | 56.5% |
| CoT + SC | 5 | 68.2% |
| CoT + SC | 10 | 72.0% |
| CoT + SC | 40 | 74.4% |
CoT 単体から SC を追加することで +18pt の改善。パス数を増やすほど精度は向上するが、収穫逓減がある。
パス数とコストのトレードオフを考慮する必要がある。
単純な多数決ではなく、各パスの確率(Log-Likelihood)で重み付けする手法も提案されている。高い確率のパスにより大きな投票権を与えることで、少ないパス数でも精度を改善できる。
自由記述タスク(要約・翻訳など)では回答が文字列として一致しないため、単純な多数決が使えない。Universal Self-Consistency(USC)は、LLM 自体を「ジャッジ」として使い、複数の回答候補から最も一貫したものを選択する。
A1: CoT 自体が機能するモデルサイズ(概ね 7B 以上の Instruct モデル)であれば SC も効果がある。ただし、ベースモデルの CoT 精度が低すぎると(例: 20% 未満)、多数決しても誤答が多数派になるため改善しない。
A2: 0.5〜0.7 が推奨。低すぎると推論パスの多様性が不足し SC の効果が薄れる。高すぎると品質の低いパスが増え多数決の精度が下がる。タスクに応じて実験的に調整する。
A3: 各パスは独立なので完全に並列実行可能。OpenAI Batch API や vLLM の並列推論を使えば、N パスをほぼ 1 パス分の壁時計時間で実行できる。コストは N 倍だがレイテンシは増えない。