AI・機械学習
上級

LLM Self-Consistency(自己一貫性)(エルエルエムセルフコンシステンシー)

Self-Consistency(自己一貫性)とは、大規模言語モデル(LLM)の推論精度を向上させるデコーディング手法であり、同一の問題に対して複数の推論パス(Chain-of-Thought)をサンプリングし、最終回答の多数決(majority voting)によって最も一貫性のある答えを選択するアプローチである。Wang et al.(2022)の論文 "Self-Consistency Improves Chain of Thought Reasoning in Language Models" で提案され、greedy decodingと比較してGSM8Kで+17.9%、SVAMPで+11.0%の精度向上を達成した。

0 回閲覧
0 いいね

Self-Consistencyとは

Self-Consistency(自己一貫性)は、大規模言語モデル(LLM)における推論精度を飛躍的に向上させるデコーディング戦略である。2022年にGoogle ResearchのXuezhi Wang、Jason Wei らが論文 "Self-Consistency Improves Chain of Thought Reasoning in Language Models"(ICLR 2023 採択)で提案した。従来のChain-of-Thought(CoT)プロンプティングでは、モデルが1つの推論パスのみを生成し、その結果をそのまま最終回答としていた。Self-Consistencyはこの制約を打破し、同一問題に対して複数の異なる推論経路をサンプリングした上で、最終回答の多数決(majority voting)を取ることで、より信頼性の高い回答を導出する。

人間の問題解決プロセスにおいても、難しい問題に対して複数のアプローチで考え、複数の方法で同じ答えに到達した場合にその回答への確信度が高まるという直感に基づいている。Self-Consistencyはこの直感を形式化し、LLMの推論に適用したものである。

基本的な仕組みとアルゴリズム

Self-Consistencyのアルゴリズムは以下の3ステップで構成される。

ステップ1: プロンプト構築

通常のChain-of-Thought(CoT)プロンプトを構築する。few-shot例題として、問題→推論ステップ→回答の形式を数例提示する。この段階は標準的なCoTプロンプティングと同一である。

ステップ2: 多様な推論パスのサンプリング

温度パラメータ(temperature)を0より大きい値(通常0.5〜1.0)に設定し、同一プロンプトに対してn回(通常5〜40回)の独立した推論を生成する。各推論パスは異なる中間ステップを経由するため、多様な推論経路が得られる。

ステップ3: 多数決による回答集約

生成されたn個の推論パスから最終回答のみを抽出し、最も頻度の高い回答を最終出力として選択する。推論の中間ステップではなく、最終回答のみを集約対象とする点が重要である。

入力: 質問Q、few-shot CoTプロンプトP、サンプル数n、温度T
1. for i = 1 to n:
     (reasoning_i, answer_i) = LLM(P + Q, temperature=T)
2. final_answer = mode({answer_1, ..., answer_n})
3. return final_answer

Greedy Decodingとの比較

特性Greedy DecodingSelf-Consistency
推論パス数1(温度0)n個(温度>0)
計算コスト1×n×
GSM8K精度(PaLM-540B)56.5%74.4%(+17.9%)
SVAMP精度(PaLM-540B)79.0%90.0%(+11.0%)
AQuA精度(PaLM-540B)35.8%48.0%(+12.2%)
推論の多様性決定的(単一パス)確率的(多様なパス)
エラー耐性単一障害点多数決による平滑化
追加学習不要不要
実装難易度低低(API呼び出し×n)

Greedy decodingは温度0で最も確率の高いトークンのみを選択するため、推論パスが1つに固定される。LLMは正しい推論能力を持っていても、greedy decodingでは偶発的に誤った経路に入り込む可能性がある。Self-Consistencyは複数のパスをサンプリングすることで、この確率的なエラーを多数決で相殺する。

主要ベンチマーク結果

Wang et al.(2022)の実験結果では、複数の算術・常識推論ベンチマークにおいて一貫した改善が確認された。

ベンチマークタスク種別CoT(greedy)Self-Consistency改善幅
GSM8K算術推論56.5%74.4%+17.9%
SVAMP算術推論79.0%90.0%+11.0%
AQuA代数推論35.8%48.0%+12.2%
StrategyQA常識推論73.4%81.6%+8.2%
ARC-challenge科学推論85.2%90.7%+5.5%

特筆すべきは、Self-Consistencyが追加の学習データやファインチューニングを一切必要とせず、純粋にデコーディング戦略の変更のみで達成される点である。既存の任意のLLMに対してゼロコストで適用可能であり、CoTプロンプティングとの組み合わせでプラグイン的に利用できる。

理論的背景と直感

Self-Consistencyの有効性は、以下の理論的観察に基づいている。

  1. 推論パスの多様性: 正しい最終回答に到達する推論パスは複数存在する。例えば「8 + 5 = 13」を計算する方法として、「8 + 2 = 10, 10 + 3 = 13」や「5 + 5 = 10, 10 + 3 = 13」など複数の経路がある。
  2. 誤答の分散: 誤った推論パスはランダムに異なる誤答を生成する傾向がある。正解への収束確率が誤答の個別確率を上回る限り、サンプル数を増やすことで多数決の精度が向上する。
  3. 条件付き独立性の近似: 各サンプリングが近似的に独立であると仮定すると、Condorcet陪審定理のアナログが成立し、個々の推論パスの精度が50%を超える限りサンプル数の増加に伴い集約精度が1に収束する。

適用範囲と制約

Self-Consistencyは特に以下のタスクで高い効果を示す。

  • 数学・算術推論: 明確な正解が存在し、多数決が機能しやすい
  • 多肢選択問題: 回答空間が離散的で有限
  • 論理推論: 複数の推論経路から同一結論への収束が期待できる
  • コード生成(テストケース付き): 実行結果の一致で一貫性を判定可能

一方で以下の制約がある。

  • 自由形式生成: 要約・翻訳など回答が一意でないタスクでは多数決が困難(→ Universal Self-Consistencyで対処)
  • 計算コスト: サンプル数nに比例してAPIコール数が増加
  • レイテンシ: 並列実行しても全サンプルの完了を待つ必要がある

よくある質問

Q1: Self-Consistencyを使うとコストはどれくらい増加しますか?

サンプル数nに比例してAPI呼び出しコストが増加する。n=10の場合、単純計算で10倍のコストとなる。ただし、Wang et al.の実験ではn=5〜10程度でも大幅な改善が得られ、n=40以上ではほぼ収束する。実用的にはn=5〜15が費用対効果の最適レンジとされる。GPT-4(入力$30/1M tokens, 出力$60/1M tokens)でn=10を使用した場合、1問あたり約$0.01〜0.05の追加コストとなる。

Q2: Self-Consistencyはどのモデルサイズから効果がありますか?

Wang et al.の実験では、PaLM-540B、GPT-3(175B)、LaMDA-137B、Codex、UL2-20Bなど幅広いモデルサイズで効果が確認された。一般的に、CoTプロンプティングが有効なモデルサイズ(概ね10B以上)であればSelf-Consistencyの恩恵を受けられる。小規模モデル(1B以下)ではCoT自体が機能しにくいため、Self-Consistencyの効果も限定的である。

Q3: 温度パラメータはどの値に設定すべきですか?

Wang et al.の実験では温度0.5が多くのタスクで良好な結果を示した。温度が低すぎると(0.1以下)推論パスの多様性が不足し、高すぎると(1.5以上)ノイズが増加する。一般的な推奨範囲は0.5〜0.7であり、タスクの難易度やモデルの特性に応じて調整する。数学タスクでは0.5〜0.7、常識推論では0.7〜1.0が目安となる。

Q4: Self-Consistencyと他のアンサンブル手法の違いは何ですか?

従来のモデルアンサンブルでは複数の異なるモデルを訓練・推論に用いるため、計算リソースが大幅に増加する。Self-Consistencyは単一モデルの確率的サンプリングによる「自己アンサンブル」であり、追加の訓練コストが不要である。また、回答の多数決のみを取るため、中間推論ステップの集約という困難な問題を回避している点でも実用的である。