Self-Consistency推論パスとは、Self-Consistency手法における個々の推論経路(reasoning path)とその集約メカニズムを指す。各推論パスはChain-of-Thought(CoT)形式の中間ステップと最終回答で構成され、同一問題に対して異なる推論戦略・計算順序・論理展開を経由する。集約は最終回答に対する多数決(majority voting)が標準だが、重み付き投票やクラスタリングベースの手法も研究されている。
Self-Consistencyにおける推論パス(reasoning path)とは、LLMがChain-of-Thought(CoT)プロンプティングに従って生成する一連の中間推論ステップと最終回答のペアである。同一の問題に対して、温度パラメータを用いた確率的サンプリングにより、異なる推論パスが生成される。各推論パスは独立にサンプリングされるため、中間ステップの表現・順序・戦略が異なる一方で、正しい推論を行ったパスは同一の最終回答に収束する傾向がある。
例えば、「バスに36人が乗っていて、各停留所で半分ずつ降り、3つの停留所を経た後に何人残っているか?」という問題に対して、以下のような異なる推論パスが生成されうる。
パスA: 36 → 36/2=18 → 18/2=9 → 9/2=4.5 → 切り捨てで4人(もしくは5人) パスB: 各停留所で半分だから、3停留所で 36 × (1/2)^3 = 36/8 = 4.5人 → 4人(切り捨て) パスC: 1つ目: 36-18=18、2つ目: 18-9=9、3つ目: 9-4=5(切り上げ)… 答え5人
この例では、パスAとBが「4人」(もしくは問題の解釈次第で「4.5人」)に収束し、パスCが「5人」を出力する。多数決により「4人」または「5人」の多い方が選択される。
推論パスの多様性は以下の要因から生じる。
温度サンプリングにより、各トークン生成ステップで異なるトークンが選択される。これにより、同一の推論論理でも表現のバリエーション(「まず」vs「最初に」vs「第一ステップとして」)が生まれ、後続の推論展開に影響を与える。
同一問題に対して複数の解法が存在する場合、異なるパスが異なる解法戦略を選択する。数学問題であれば代数的アプローチ vs 幾何学的アプローチ、プログラミング問題であれば反復 vs 再帰などの分岐が発生する。
あるパスは詳細な中間ステップを展開し、別のパスはより大きなジャンプで結論に到達する。粒度の差は計算精度に影響を与え、特に多段階の算術計算では詳細なパスがエラーを抑制する傾向がある。
| 多様性指標 | 定義 | 望ましい範囲 |
|---|---|---|
| 回答エントロピー | H = -Σ p(a) log p(a) | 0.3〜1.5 |
| ユニーク回答率 | ユニーク回答数 / n | 0.1〜0.5 |
| 多数派集中度 | 最頻回答の票数 / n | 0.4〜0.9 |
| 推論トークン分散 | 推論長の標準偏差 | 中程度 |
回答エントロピーが0に近い場合、全パスが同一回答を出しており多様性が不足(温度が低すぎる)。逆にエントロピーが高すぎる場合、パスがバラバラで収束していない(温度が高すぎるか、タスクが困難すぎる)。
Self-Consistencyにおける標準的な集約手法は、最終回答に対する単純多数決(plurality voting / majority voting)である。
入力: n個の推論パス {(r_1, a_1), ..., (r_n, a_n)}
(r_i: 推論ステップ、a_i: 最終回答)
1. 回答カウント: count(a) = |{i : a_i = a}| for each unique a
2. 最終回答: a* = argmax_a count(a)
3. 確信度: confidence = count(a*) / n
出力: (a*, confidence)
多数決の特徴は、推論ステップ(中間過程)を完全に無視し、最終回答のみを集約する点である。これは一見情報の損失に見えるが、以下の理由で合理的である。
多数決を正しく機能させるには、回答の正規化(normalization)が不可欠である。
| 正規化処理 | 例 | 目的 |
|---|---|---|
| 数値の統一 | 「3.0」→「3」、「三」→「3」 | 表記揺れの統一 |
| 単位の除去 | 「5ドル」→「5」 | 余分な修飾の除去 |
| 空白・句読点の除去 | 「 yes. 」→「yes」 | フォーマットの統一 |
| 大文字小文字の統一 | 「Yes」→「yes」 | 表記の統一 |
| 数式の評価 | 「2+3」→「5」 | 未評価式の解決 |
単純多数決の拡張として、各推論パスの品質に基づく重み付き投票手法が研究されている。
LLMの出力ログ確率(log-probability)を利用して、各パスの尤度に基づく重みを付与する方法である。
weight_i = exp(Σ_t log P(token_t | context_t)) # パス全体のトークン確率の積
a* = argmax_a Σ_{i: a_i=a} weight_i
ただし、Wang et al.(2022)の実験では、確率ベースの重み付けが単純多数決を一貫して上回ることは確認されなかった。これはLLMの出力確率がキャリブレーションされていない(過信・過小評価が混在する)ためと考えられる。
推論パスの中間ステップを別のモデル(検証器/verifier)で評価し、ステップの正当性スコアに基づいて重みを付与する方法である。Cobbe et al.(2021)の "Training Verifiers to Solve Math Word Problems" で提案されたverifierモデルとの組み合わせが代表的である。
| 集約手法 | GSM8K精度 | 追加コスト | 実装複雑性 |
|---|---|---|---|
| 単純多数決 | 74.4% | なし | 低 |
| 確率重み付け | 74.1%〜75.2% | ログ確率取得 | 中 |
| verifier重み付け | 78.2% | 検証モデル訓練 | 高 |
| verifier + Self-Consistency | 80.0%+ | 両方 | 最高 |
多数決の代替として、推論パスの中間ステップをクラスタリングし、最大クラスタの代表回答を選択する手法が研究されている。Shi et al.(2022)は推論パスの埋め込みベクトルをk-meansでクラスタリングし、最大クラスタのセントロイドに最も近いパスの回答を採用するアプローチを提案した。この手法は、回答が同一でも推論プロセスが根本的に異なるケースを区別でき、より高品質な推論パスの選択に寄与する。
CoT連鎖の分岐は、LLMの自己回帰的生成プロセスにおける確率的トークン選択の累積効果として理解できる。初期トークンの分岐が後続の推論展開全体に影響を与えるバタフライ効果的な現象が観察される。
同票(tie)が発生した場合の標準的な対処法は複数ある。(1)追加のサンプルを生成して票を増やす(最も単純かつ堅実)、(2)同票の回答のうちログ確率が最も高いものを選択する(確率ベースのタイブレーク)、(3)ランダムに選択する(最速だが非決定的)。実用的にはnを奇数に設定してtieを回避するか、同票時に追加サンプリングを行うのが一般的である。
中間ステップの品質評価は活発な研究分野である。主なアプローチとして、(1)Process Reward Model(PRM):各推論ステップに対して正しさのスコアを付与するモデルを訓練する(Lightman et al., 2023)、(2)LLM-as-Judge:別のLLMインスタンスに推論ステップの妥当性を評価させる、(3)実行ベース検証:コード生成タスクでは中間コードを実行し、テストケースで正しさを検証する。PRMとSelf-Consistencyの組み合わせはGSM8Kで80%以上の精度を達成している。
n=3(最小有効数)でも、単一パス(n=1)に対して有意な改善が得られる。Wang et al.の実験ではn=5の時点でGSM8Kにおいて+13.7%の改善が観察された。ただし、n=3ではtieの発生確率が高く(3つの異なる回答が出た場合、多数決不成立)、実用的にはn≥5が推奨される。タスクの難易度が高いほど、十分な収束のために大きなnが必要となる傾向がある。