Chain-of-Verification — チェーン・オブ・ベリフィケーション

From Systems analysis wiki
Jump to navigation Jump to search

Chain-of-Verification (CoVe) とは、大規模言語モデル(LLM)におけるハルシネーション(事実とは異なるがもっともらしい回答を生成すること)の発生を低減するために提案された手法です[1]。このアプローチは、シェザード・ドゥリアワラ(Shehzaad Dhuliawala)が率いるMeta AIの研究者グループによって開発され、「Chain-of-Verification Reduces Hallucination in Large Language Models」(2023年)という論文で発表されたもので、LLMの自己検証および自己修正(self-verification)手法に分類されます[2]。CoVeの基本的な考え方は、生成された回答を外部の情報源を利用せずにモデル自身が段階的に検証するという点にあります[2]。これにより、システムはユーザーに回答を提示する前に、回答を自己分析し、自身の誤りを修正するためにより多くの「思考」労力を費やすよう促されます[2]

背景:言語モデルにおけるハルシネーション

大規模言語モデル(LLM)は、もっともらしく見えるものの、事実とは異なる回答を生成する「ハルシネーション」という現象にしばしば悩まされます[3]。この問題はNLP分野において未解決の課題として広く認識されており、最新のモデルでさえも高い確信度で誤った情報を提供し、ユーザーを誤解させる可能性があります[1]。例えば、モデルは存在しない事実を説得力をもって「捏造」したり、著名人の経歴データを混同したりすることがあります。このような事実誤認は詳細な検証なしに発見することが困難であるため、研究者たちはLLMの回答におけるハルシネーションを低減する手法を積極的に開発しています。

CoVeメソッドの各ステップ

Chain-of-Verificationメソッドは、以下の4つの連続したステップで実行されます[2][2]

  1. ベース回答の生成。モデルは特別な指示なしに、元の質問に対する初期回答(ベースとなる回答仮説)を生成します[3]。この下書き回答は出発点となり、次のステップで検出されるべきハルシネーションを含んでいる可能性があります。
  2. 検証計画の策定。元の質問と生成された回答を基に、モデルはベース回答に含まれる主張の事実的正しさを検証するための一連の質問リストを作成します[3]。これらの検証質問(verification questions)は回答の主要な事実に焦点を当て、潜在的な誤りや不正確さを特定するのに役立ちます。
  3. 検証の実行。次に、モデルは作成された各検証質問に、バイアスを避けるために元の回答に依存しないように注意しながら、一つずつ独立して回答します[3]。得られた回答は、矛盾や誤りを検出するために元の回答と比較されます。これにより、事実によって裏付けられない元の回答の部分が特定されます。
  4. 最終回答の生成。最後に、発見された不一致に基づいて、モデルは修正された最終回答を生成します[3]。この回答には検証結果が反映され、事実の正確性が向上し、ハルシネーションの可能性が低減されます。

これらの各ステップは、同じLLMに対して異なる指示を与えた追加のプロンプトを用いて実行されます[2]。つまり、モデルは回答者、次に検証者(質問を作成し、それに答える)、そして最終的な出力の編集者という役割を順番に担います。

検証の実装バリエーション

この手法の考案者たちは、検証ステップを実装するために、検証質問の作成方法と回答の取得方法が異なるいくつかのモードを試しました[2]

  • 統合アプローチ(Joint)。モデルは単一のプロンプト内で検証質問とその回答の両方を生成します。この方法は、モデルが即座に回答する際にハルシネーションを起こしやすく、バイアスのために元の回答の誤りを繰り返す可能性があるため、あまり好ましくありません[3]
  • 2ステップアプローチ(2-Step)。まず別のプロンプトで検証質問を生成し、その後、次のプロンプトで作成された質問リストにモデルが回答します[3]。ステップを分けることで、質問生成時に元の回答の影響を避けるのに役立ちます。
  • 分割検証(Factored)。モデルは複数の連続したプロンプト(質問ごとに1つ)を使用して、各検証質問に個別に回答します[3]。このアプローチは、元の回答の断片を単純にコピー&ペーストすることを防ぎます。検証質問への回答が自律的に生成されるため、元のハルシネーションを繰り返すリスクが減少します。欠点は、プロンプト数が質問数に比例して増加するため、計算コストが増大することです。
  • 分割検証と修正(Factored + Revise)。すべての検証質問への回答を得た後、モデルは比較と修正の追加ステップを実行します。別のプロンプトを使用して、得られた事実を元の回答と照合し、不一致を明示的に指摘した後、修正を加えた最終回答を生成します[3]。この追加ステップにより、システムは相違点をより注意深く分析し、修正された情報を最終的な出力に統合するよう促されます。

実験結果

Chain-of-Verificationメソッドは、回答の事実的正確性が求められる多くのタスクでテストされました[1]。その中には、知識ベースに基づく事実の列挙(WikidataやWikipediaのカテゴリからのリスト)、テキストの複数箇所から複数の回答を抽出する質問(MultiSpanQA)、さらには詳細なテキスト生成(例:伝記)などのタスクが含まれていました[1]

結果は、自己検証を行わないベースラインモデルと比較して、CoVeを使用した場合にすべてのタスクタイプでハルシネーションが大幅に減少したことを示しました[1]。特に効果的だったのは、最終的な事実照合を伴う分割検証である「factored + revise」でした。このアプローチは最高の精度を達成しました。例えば、伝記生成タスクにおいて、LLaMA-65B(650億パラメータのLLM)にCoVeを適用したところ、その事実性スコアであるFactScoreが約63.7点から約71.4点に向上しました[2]。FactScoreの向上は、最終的な回答がより多くの検証済み事実を含み、創作された情報が少なくなったことを示しています。

さらに、検証チェーンを組み込んだLLMは、より強力な、あるいは特別に装備されたシステムさえも上回ることができました。例えば、CoVeを適用したLLAMA-65Bは、ChatGPT(OpenAIのモデル)よりも高いFactScoreを達成し、事実に基づいた回答をサポートするためにインターネット検索機能を備えたモデルであるPerplexity.aiを上回りました[2]。Perplexityが情報検索のために外部ソースを使用するのに対し、CoVeはモデル自身の推論と自己検証能力のみに依存して品質向上を達成しているため、これは注目に値します[2]。ただし、非常に稀な事実(専門的な知識が必要な場合)に関しては、Perplexityのような検索拡張型のシステムが依然として優位性を保っていますが、ほとんどの質問ではCoVeの方がより正確な回答を提供しました[2]

限界と今後の展望

Chain-of-Verificationはハルシネーションの割合を著しく減少させるものの、この手法で完全に排除することはできない点に留意すべきです。検証質問が何らかの誤った詳細を見逃した場合や、LLM自体が正しい事実を知らない場合には、モデルは依然として誤りを犯す可能性があります。さらに、CoVeは計算負荷を増大させます。1つのユーザープロンプトに対して、モデルへの複数回の連続したアクセス(回答生成、質問生成、それらへの回答、最終的な統合)が必要となるのに対し、通常のモデルは1ステップで回答します[2]。しかし、著者たちは、CoVeの総コストはハルシネーションを検出する他の多段階アプローチと同等であり、実用的な解決策であると示しています[2]

Meta AIの研究者たちは、論文の中でこの手法を改善するための可能な方向性を示しました。明らかな方向性の一つは、CoVeを外部ツールの利用と組み合わせることです。例えば、検証段階でインターネット検索モジュールや知識ベースを接続することが考えられます[2]。これにより、外部から信頼できる情報を取得し、元の回答に含まれる事実をより確実に検証または反証することが可能になります。このように、Chain-of-Verificationは、より責任感があり、正確なAIシステムへの一歩となります。モデルに自身の回答を批判的に再検討させることで、その品質を大幅に向上させ、生成されるテキストにおける創作された事実の拡散を減らすことができることを示しています[2]

関連リンク

参考文献

  • Dhuliawala, S. et al. (2023). Chain-of-Verification Reduces Hallucination in Large Language Models. arXiv:2309.11495.
  • Manakul, P. et al. (2023). SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models. arXiv:2303.08896.
  • Yang, B. et al. (2025). Hallucination Detection in Large Language Models with Metamorphic Relations. arXiv:2502.15844.
  • Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
  • Lightman, H. et al. (2023). Let’s Verify Step by Step. arXiv:2305.20050.
  • Ling, Z. et al. (2023). Deductive Verification of Chain-of-Thought Reasoning. arXiv:2306.03872.
  • Lyu, Q. et al. (2023). Faithful Chain-of-Thought Reasoning. arXiv:2301.13379.
  • Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651.
  • Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
  • Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
  • Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.

脚注

  1. 1.0 1.1 1.2 1.3 1.4 Dhuliawala, Shehzaad et al. «Chain-of-Verification Reduces Hallucination in Large Language Models». arXiv. [1]
  2. 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 2.14 Dhuliawala, Shehzaad et al. «Chain-of-Verification Reduces Hallucination in Large Language Models». ACL Anthology. [2]
  3. 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 chowdhury, sourajit roy. «Chain of Verification (CoVe) — Understanding & Implementation». Medium. [3]