Self-Consistencyとは
自己整合性
同じ問題に対する複数の推論過程をサンプリングし、多数決で最終的な答えを決めるプロンプティング手法
ひとことで言うと
同じ問題を何度も考えさせて、一番多かった答えを採用することで正答率を上げる方法。
概要
Self-Consistencyは、Chain-of-Thoughtプロンプティングと組み合わせて使われる手法で、同じ問題に対してTemperatureを上げるなどしてモデルに複数の異なる推論過程をサンプリングさせ、それぞれの推論過程が導いた最終的な答えの中で最も頻度の高いものを採用する。 1回だけの推論では、たまたま誤った推論経路をたどって間違った答えに至ることがある。 複数の独立した推論経路を試して多数決を取ることで、個々の推論のばらつきを平均化し、より安定して正しい答えへたどり着きやすくなる。 特に算数の文章題や論理パズルなど、複数の妥当な解き方が存在し得るタスクで効果を発揮しやすく、GSM8Kなどの推論ベンチマークにおいてChain-of-Thought単体より高い正答率を示すことが報告されている。 複数回の推論を必要とするため、単純な1回の生成と比べて計算コストとレイテンシが増加するというトレードオフを伴う。
背景
Chain-of-Thoughtプロンプティングは推論の精度を高めるが、1回の推論結果は依然としてサンプリングのばらつきの影響を受け、必ずしも毎回同じ答えにたどり着けるとは限らない。 Self-Consistencyは、複数の推論経路の結果を集約することで、この1回きりのサンプリングが持つ不安定さを緩和する目的で考案された。
歴史
2022年: WangらがSelf-Consistencyを提案する論文「Self-Consistency Improves Chain of Thought Reasoning in Language Models」を発表。
ワークフロー
同じプロンプトに対し、Temperatureを上げた設定で複数回モデルに推論させ、それぞれ異なるChain-of-Thoughtの推論過程と最終的な答えを生成させる。 得られた複数の最終的な答えを集計し、最も出現頻度の高い答えを最終出力として選ぶ。
利点
- 1回の推論だけに頼らず、複数経路の結果を集約するため正答率が安定しやすい
- 算数の文章題や論理パズルなど、複数の妥当な解き方があるタスクで特に効果を発揮する
- 既存のChain-of-Thoughtプロンプトに追加の学習なしで適用できる
欠点
- 同じ問題に対して複数回モデルを呼び出す必要があり、計算コストとレイテンシが増加する
- サンプリングする推論経路の数を増やすほど精度は安定するが、コストも比例して増える
- 推論経路にかかわらず同じ誤りを繰り返すタイプの間違いには効果が薄い
比較
- Chain-of-Thought — Self-ConsistencyはChain-of-Thoughtを複数回サンプリングし、多数決で精度を高める拡張手法
- Tree of Thought — Tree of Thoughtが推論の途中経過を分岐・評価しながら探索するのに対し、Self-Consistencyは独立した推論経路を並列に試して集約する
- Temperature — Self-Consistencyでは、多様な推論経路を得るためにTemperatureを高めに設定することが多い
関連用語
よくある質問
Self-Consistencyは何回サンプリングすればよい?
タスクやコスト許容量によるが、研究では5〜40回程度サンプリングして多数決を取る設定がよく使われる。サンプル数を増やすほど精度は安定するがコストも増える。
Self-ConsistencyとTree of Thoughtの違いは?
Self-Consistencyは独立した推論経路を複数生成し最後に多数決するのに対し、Tree of Thoughtは推論の途中経過を分岐させ、都度評価しながら有望な経路を探索する点が異なる。