AI・機械学習
上級

Self-Consistency推論パス(セルフコンシステンシースイロンパス)

Self-Consistency推論パスとは、Self-Consistency手法における個々の推論経路(reasoning path)とその集約メカニズムを指す。各推論パスはChain-of-Thought(CoT)形式の中間ステップと最終回答で構成され、同一問題に対して異なる推論戦略・計算順序・論理展開を経由する。集約は最終回答に対する多数決(majority voting)が標準だが、重み付き投票やクラスタリングベースの手法も研究されている。

0 回閲覧
0 いいね

推論パスとは何か

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人」の多い方が選択される。

推論パスの多様性メカニズム

推論パスの多様性は以下の要因から生じる。

1. トークンレベルの分岐

温度サンプリングにより、各トークン生成ステップで異なるトークンが選択される。これにより、同一の推論論理でも表現のバリエーション(「まず」vs「最初に」vs「第一ステップとして」)が生まれ、後続の推論展開に影響を与える。

2. 推論戦略の分岐

同一問題に対して複数の解法が存在する場合、異なるパスが異なる解法戦略を選択する。数学問題であれば代数的アプローチ vs 幾何学的アプローチ、プログラミング問題であれば反復 vs 再帰などの分岐が発生する。

3. 中間ステップの粒度差

あるパスは詳細な中間ステップを展開し、別のパスはより大きなジャンプで結論に到達する。粒度の差は計算精度に影響を与え、特に多段階の算術計算では詳細なパスがエラーを抑制する傾向がある。

多様性の定量評価

多様性指標定義望ましい範囲
回答エントロピーH = -Σ p(a) log p(a)0.3〜1.5
ユニーク回答率ユニーク回答数 / n0.1〜0.5
多数派集中度最頻回答の票数 / n0.4〜0.9
推論トークン分散推論長の標準偏差中程度

回答エントロピーが0に近い場合、全パスが同一回答を出しており多様性が不足(温度が低すぎる)。逆にエントロピーが高すぎる場合、パスがバラバラで収束していない(温度が高すぎるか、タスクが困難すぎる)。

多数決(Majority Voting)

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)

多数決の特徴は、推論ステップ(中間過程)を完全に無視し、最終回答のみを集約する点である。これは一見情報の損失に見えるが、以下の理由で合理的である。

  1. 中間ステップの集約困難性: 自然言語の中間ステップは形式が不統一であり、意味的等価性の判定が困難
  2. 回答空間の離散性: 最終回答は通常、数値・選択肢・Yes/Noなど離散的で比較が容易
  3. 誤った推論からの正解: 中間ステップに誤りがあっても偶然正しい最終回答に到達するケースがあり、回答ベースの集約はこれらも活用できる

回答の正規化

多数決を正しく機能させるには、回答の正規化(normalization)が不可欠である。

正規化処理例目的
数値の統一「3.0」→「3」、「三」→「3」表記揺れの統一
単位の除去「5ドル」→「5」余分な修飾の除去
空白・句読点の除去「 yes. 」→「yes」フォーマットの統一
大文字小文字の統一「Yes」→「yes」表記の統一
数式の評価「2+3」→「5」未評価式の解決

重み付き投票(Weighted Voting)

単純多数決の拡張として、各推論パスの品質に基づく重み付き投票手法が研究されている。

確率ベースの重み付け

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-Consistency80.0%+両方最高

クラスタリングベースの集約

多数決の代替として、推論パスの中間ステップをクラスタリングし、最大クラスタの代表回答を選択する手法が研究されている。Shi et al.(2022)は推論パスの埋め込みベクトルをk-meansでクラスタリングし、最大クラスタのセントロイドに最も近いパスの回答を採用するアプローチを提案した。この手法は、回答が同一でも推論プロセスが根本的に異なるケースを区別でき、より高品質な推論パスの選択に寄与する。

Chain-of-Thought連鎖の分岐メカニズム

CoT連鎖の分岐は、LLMの自己回帰的生成プロセスにおける確率的トークン選択の累積効果として理解できる。初期トークンの分岐が後続の推論展開全体に影響を与えるバタフライ効果的な現象が観察される。

分岐の伝播パターン

  1. 早期分岐・収束型: 最初のステップで異なるアプローチを選択するが、最終的に同一回答に収束。Self-Consistencyに最も適したパターン。
  2. 漸次分岐型: 各ステップで少しずつ異なる展開となり、最終回答も分散。温度が高すぎる場合に顕著。
  3. 後期分岐型: 中間ステップはほぼ同一だが、最終ステップの計算や結論付けで分岐。数値計算の丸めや端数処理で頻出。

よくある質問

Q1: 多数決で同票になった場合はどう処理しますか?

同票(tie)が発生した場合の標準的な対処法は複数ある。(1)追加のサンプルを生成して票を増やす(最も単純かつ堅実)、(2)同票の回答のうちログ確率が最も高いものを選択する(確率ベースのタイブレーク)、(3)ランダムに選択する(最速だが非決定的)。実用的にはnを奇数に設定してtieを回避するか、同票時に追加サンプリングを行うのが一般的である。

Q2: 中間推論ステップの品質はどう評価できますか?

中間ステップの品質評価は活発な研究分野である。主なアプローチとして、(1)Process Reward Model(PRM):各推論ステップに対して正しさのスコアを付与するモデルを訓練する(Lightman et al., 2023)、(2)LLM-as-Judge:別のLLMインスタンスに推論ステップの妥当性を評価させる、(3)実行ベース検証:コード生成タスクでは中間コードを実行し、テストケースで正しさを検証する。PRMとSelf-Consistencyの組み合わせはGSM8Kで80%以上の精度を達成している。

Q3: 推論パスの数が少なくても多数決は機能しますか?

n=3(最小有効数)でも、単一パス(n=1)に対して有意な改善が得られる。Wang et al.の実験ではn=5の時点でGSM8Kにおいて+13.7%の改善が観察された。ただし、n=3ではtieの発生確率が高く(3つの異なる回答が出た場合、多数決不成立)、実用的にはn≥5が推奨される。タスクの難易度が高いほど、十分な収束のために大きなnが必要となる傾向がある。