第1回のおさらい。検証手法は「何を根拠に正しさを測るか」で4系統——A. リファレンス不要/B. リファレンス有り/C. ジャッジ系/D. 実行時ガードレール——に整理できる。この回ではそれぞれの中身を棚卸しする。まず全体を1枚の分類ツリーで。
先に俯瞰を。精度感は各論文・ベンチでの相対評価のおおよその目安、コストは1出力あたりの追加推論負荷(低=追加1パス以下、中=数回呼び出し、高=多数サンプリングや多段)。
| 手法 | 系統 | 原理(一言で) | 必要な根拠 | 精度 | コスト |
|---|---|---|---|---|---|
| SelfCheckGPT | A-1 | 複数サンプルとの矛盾を文単位でスコア化 | 不要 | 中〜高 | 中〜高 |
| Semantic Entropy | A | 意味クラスタ上のエントロピーで不確実性 | 不要 | 高 | 高 |
| SEP | A-2 | 意味エントロピーを隠れ状態から1パス近似 | 隠れ状態 | 高 | 低 |
| SAC3 | A-1 | 質問言い換え×クロスモデルで照合 | 不要+別LLM | 高 | 高 |
| INSIDE / EigenScore | A-2 | 回答埋め込みの共分散固有値で意味多様性 | 内部埋め込み | 高 | 中 |
| logprob / perplexity | A-2 | トークン確率を不確実性に使う | logprob | 低〜中 | 低 |
| P(True) / 確信度申告 | A-2 | モデル自身に正しさ確率を言わせる | 不要 | 中 | 低〜中 |
| SAPLMA | A-2 | 隠れ状態に真偽分類器を学習 | 隠れ状態+ラベル | 中 | 低 |
| Lookback Lens | A-2 | 文脈/生成へのattention比率で文脈幻覚検知 | attention | 中〜高 | 低 |
| FActScore | B-1 | 原子事実をKBで検証し精度算出 | 信頼できるKB | 高 | 高 |
| SAFE | B-1 | 原子事実をGoogle検索で検証 | Web検索 | 高 | 高 |
| RAGAS Faithfulness | B-2 | claim分解→文脈支持率 | 取得文脈 | 中〜高 | 中 |
| NLI照合(SummaC/AlignScore) | B-2 | 根拠=前提・出力文=仮説で含意判定 | 根拠+NLIモデル | 中〜高 | 低 |
| MiniCheck | B-2 | GPT-4蒸留の小型グラウンディング判定 | 根拠文書 | 高(GPT-4並) | 低 |
| Vectara HHEM | B-2 | クロスエンコーダで事実整合確率 | 根拠文書 | 高 | 低 |
| RefChecker | B-2 | claim-triplet粒度で照合 | 根拠文書 | 高 | 中 |
| Patronus Lynx | B-2 | RAG忠実性をFT済みLLMで推論付き判定 | 根拠文書 | 高 | 中〜高 |
| 引用検証(ALCE/AIS) | B-2 | 引用が主張を裏付けるかNLI判定 | 引用元 | 中〜高 | 中 |
| LLM-as-a-Judge | C-1 | 強力LLMに採点/比較させる | 不要(任意で参照) | 中〜高 | 低〜中 |
| G-Eval | C-1 | CoT手順+確率加重で連続採点 | logprob | 中〜高 | 中 |
| Prometheus 2 | C-1 | 細粒度評価専用のオープン評価LM | ルーブリック | 高 | 低〜中 |
| Chain-of-Verification | C-2 | 検証質問を独立に解いて自己修正 | 不要 | 中〜高 | 高 |
| Self-Refine | C-2 | 自己フィードバックで反復改善 | 不要 | 中 | 中〜高 |
| Reflexion | C-2 | 失敗を言語反省して次試行に反映 | 外部検証シグナル | 中〜高 | 高 |
| Constitutional AI | C-2 | 原則に照らしcritique→revision | 原則リスト | 中 | 中 |
| Guardrails AI / NeMo | D-1 | 入出力を検証→reask/ブロック | バリデータ定義 | 中 | 低〜中 |
| Llama Guard / Granite Guardian | D-2 | 安全性タクソノミで入出力分類 | ガードモデル | 中〜高 | 中 |
| 構造化出力(Outlines/Instructor) | D-3 | 制約付きデコード/スキーマ検証 | JSON Schema等 | 高(形式のみ) | 低 |
| OpenAI Moderation | D-2 | ホスト型分類器で安全カテゴリ判定 | API | 中〜高 | 低 |
| LlamaFirewall / Prompt Guard | D-4 | 攻撃分類+CoT監査 | ガードモデル | 高 | 低 |
外部知識も正解ラベルも使わず、出力そのものの内部整合性や確信度から怪しさを測る系統。前提は「本当に知っている事実は何度生成しても一致するが、捏造(confabulation)は生成ごとに発散・矛盾する」という仮説だ。外部APIにそのまま被せられるのが最大の利点。
SelfCheckGPT(Manakul ら, EMNLP 2023)は、同じプロンプトを高温度でN回サンプリングし、主回答の各文がサンプル群に支持されるか/矛盾するかを文単位でスコア化する。整合性の測り方に5変種(BERTScore / QA / n-gram / NLI / Prompt)があり、実務ではNLI版とPrompt版が定番。完全ブラックボックスで動き「どの文が怪しいか」を局在化できる反面、1回答あたり6〜20サンプルを追加生成するためコストが数倍になり、「一貫して同じ嘘を繰り返す」誤りは取り逃す。
SAC3(Zhang ら, Findings of EMNLP 2023)はその弱点を補う。質問を意味的に等価な言い換えに変換してクロスチェックし、さらに別のLLMにも同じ質問群を投げてモデル横断で照合する。自信満々の誤答まで潰せるが、言い換え×複数応答×複数モデルで生成回数が掛け算的に増え、コストは最重量級。
logprob / perplexityは最も安価。生成時のトークン確率をそのまま不確実性に使い、追加コストほぼゼロでスパン単位に局在化できる。ただしLLMは過信(overconfident)で、流暢に誤答する一番危険なケースを取り逃しやすい。
Semantic Entropy(意味的エントロピー)(Farquhar ら, Nature 2024)は、表層ではなく意味レベルで不確実性を測る。双方向NLIで意味的に等価な回答をクラスタにまとめ、意味クラスタ上の確率分布からエントロピーを計算する。言い換えの違いに惑わされない頑健さが核心で、Nature掲載で理論的裏付けが厚い。弱点は5〜10回の追加生成。これをSEP(Semantic Entropy Probes)が潰す——1回生成の隠れ状態から線形プローブでSEを直接近似し、追加コストをほぼゼロに。ただし隠れ状態アクセス(ホワイトボックス)が必須。
INSIDE / EigenScore(Chen ら, ICLR 2024)は埋め込み空間で意味多様性を測り、共分散行列の固有値で「回答群の広がり」を評価する。SAPLMA(Azaria & Mitchell, EMNLP Findings 2023)は「LLMの内部状態は嘘を知っている」を実証し、隠れ活性にMLP分類器で真偽を学習させる(精度71〜83%)。Lookback Lens(Chuang ら, EMNLP 2024)はRAG/要約の文脈幻覚に特化し、各attention headの「文脈へのattention ÷ 生成へのattention」(lookback ratio)を特徴量に判定する。軽量で、検出だけでなくデコーディング誘導で緩和にも使える。
クローズドAPIでも動かしたいならP(True)(回答後に「これは正しい?」と問い直しTrue確率を読む)やverbalized confidence(確信度を言葉で述べさせる)。後者はRLHFモデルで内部確率よりよくキャリブレートされうるが、丸い数字への偏りと過信は残る。
外部の根拠(検索結果・KB・与えた文脈)と出力を突き合わせる。中核は「出力をatomic fact / claimに分解 → 各claimを根拠と照合」という分解+検証パイプライン。RAGを運用しているなら、実務でいちばん効くのがここだ。
FActScore(EMNLP 2023)は長文を最小単位の事実に分解し、各事実をWikipedia等で検証して「支持事実数/全事実数」を算出。市販LLMの伝記生成が58%しか取れないことを示した。SAFE(Google DeepMind, 2024)は知識源をライブのGoogle検索に拡張し、人手と約72%一致しつつ人手より20倍以上安いと報告。最新・ニッチな事実に強い反面、検索コストとSEOスパムの影響を受ける。
RAGASは回答を複数claimに分解し、各claimが取得文脈から推論可能かを判定して Faithfulness を0〜1で算出する。正解ラベル不要で、Context Precision/Recall と組み合わせ「検索が悪いのか生成が悪いのか」を切り分けられる。NLIベース照合(SummaC / AlignScore)は「根拠=前提、出力文=仮説」として含意判定する古典的かつ堅実な手法で、LLM不要・小型・決定論的なため大量バッチに最適。
近年の主役は小型の専用判定器だ。MiniCheck(EMNLP 2024)はGPT-4で合成した(文書,主張)ペアで小型モデルを蒸留し、GPT-4並みの精度を約400分の1のコストで実現する。Vectara HHEMは(根拠,生成)の事実整合確率を出すクロスエンコーダで、付随するハルシネーション・リーダーボードはLLM選定の客観指標になる。RefChecker(Amazon)は(主語,述語,目的語)のtriplet粒度で照合して誤り箇所を局所特定し、Patronus LynxはRAGTruthで学習したOSS LLM(8Bで HaluBench 87.3%)で理由付きの忠実性判定を返す。さらに引用検証(ALCE / AIS)は「答えが正しいか」だけでなく「根拠を示せているか(検証可能性)」を Citation Precision/Recall で測る。
別の(または同一の)LLMに採点・批判させる、人手評価を代替する最も普及した品質ゲート。LLM-as-a-Judge(Zheng ら, MT-Bench / Chatbot Arena, 2023)は、GPT-4判定が人間選好と80%超で一致(人間同士と同水準)することを示した。参照回答が無いオープンエンド課題でBLEU/ROUGEより遥かに高い人間相関を得られ、A/Bペアワイズにすると絶対スコアの不安定さを避けられる。G-Eval(Liu ら, EMNLP 2023)は評価手順のCoTを自動生成し、出力トークン確率でスコアを期待値加重して同点を緩和する。Prometheus 2(EMNLP 2024)はルーブリックに沿って採点する専用オープン評価LMで、人間とPearson 0.897(GPT-4の0.882と同等)を達成。自己ホストでバージョン固定・低コスト・データ秘匿ができる。
Chain-of-Verification(CoVe)(Dhuliawala ら, 2023)は (1)回答 → (2)検証質問を計画 → (3)各質問を元回答に引きずられない独立コンテキストで解く → (4)食い違いを修正、という流れ。ステップ(3)の分離が肝で、列挙・固有名詞・数値の幻覚に効く。Self-Refine(NeurIPS 2023)は同一モデルで「生成→自己批評→書き直し」を反復、Reflexion(NeurIPS 2023)は失敗を言語反省してエピソード記憶に蓄える。Constitutional AI(Anthropic 2022)は原則に照らしてcritique→revisionで有害出力を除く。
本番のI/Oを実行時に検査してブロック・再生成・修正する。Guardrails AIは出力をJSON Schema / 型 / Hubバリデータ(PII・profanity・正規表現・toxic等)で検証し、不合格時に correct / refuse / reask を発火する。NeMo GuardrailsはColang DSLで会話フロー全体を状態機械として制御し、self-check・AlignScore・SelfCheckGPT方式の3系統で幻覚レールも張れる。
安全性はガードモデルに寄せる。Llama Guard 3(Llama-3.1-8B)は入出力を safe/unsafe + 違反カテゴリで分類、Granite Guardian(IBM)は安全性に加えRAGの context relevance / groundedness まで検出する。OpenAI Moderationは無料・ホスト型の一次フィルタ。形式崩れ対策の構造化出力は、制約付きデコード(Outlines・OpenAI Structured Outputs)か生成後スキーマ検証+リトライ(Instructor)で「JSONが壊れる」を根絶する——ただし形式の正しさは内容の真偽を保証しない。攻撃面ではLlamaFirewall(Meta)がPromptGuard+AlignmentCheck+CodeShieldの多層でエージェントを守り、AgentDojoで攻撃成功率を90%以上削減したと報告する。
カタログが揃った。第3回「実装編」では、これらを安価→高価の多段防御パイプラインに組み、オフライン回帰テストとオンライン監視で二層化し、人手レビュー(HITL)で継続改善を回すところまで、コードと運用設計に落とす。