LLM事実整合性(エルエルエムジジツセイゴウセイ)
LLMの出力が入力コンテキスト(プロンプト・参照文書)の内容と矛盾せず、事実に忠実であるかどうかを測る品質指標。
LLM事実整合性とは
LLM事実整合性(Factual Consistency)は、モデルの出力が与えられたコンテキスト(参照文書・プロンプト内の情報)と矛盾しないかを測定する指標です。要約タスクでは「原文に書かれていない情報を追加していないか」、RAGでは「取得したドキュメントの内容を正確に反映しているか」という形で評価されます。
ハルシネーションが「事実と異なる情報の生成」全般を指すのに対し、事実整合性は「入力と出力の間の忠実度」に焦点を当てた、より限定的で測定可能な概念です。
事実整合性 vs 事実正確性
| 概念 | 評価対象 | 基準 | 例 |
|---|---|---|---|
| 事実整合性(Faithfulness) | 出力とコンテキストの一致 | 入力文書 | RAGで取得した文書に書いてある通りか |
| 事実正確性(Factual Accuracy) | 出力と現実世界の一致 | 真実 | 地球の直径は本当に約12,742kmか |
RAG システムでは事実整合性が主要指標です。なぜなら、取得した文書が正確であれば、整合性を保つことで正確性も担保されるためです。
測定手法の体系
1. NLIベース(Natural Language Inference)
テキスト含意認識モデルを使い、コンテキスト(前提)が出力(仮説)を含意するかを分類します。
代表モデルと精度:
| モデル | パラメータ | MNLI精度 | 推論速度 |
|---|---|---|---|
| DeBERTa-v3-large | 304M | 91.1% | 高速 |
| Flan-T5-XXL | 11B | 93.2% | 低速 |
| AlignScore-large | 355M | 要約で SOTA | 高速 |
| TRUE (T5-11B) | 11B | 包括的ベンチで高精度 | 低速 |
2. QAベース(Question-Answering)
コンテキストと出力のそれぞれから質問を生成し、両方の回答が一致するかを確認する手法です。
処理フロー:
- 出力テキストからQAペアを自動生成(例: 「RTX 5090のメモリ容量は?」→「32GB」)
- 同じ質問をコンテキストに対して回答させる
- 両回答の一致度を F1 スコアで評価
- 全QAペアの平均スコアが事実整合性スコア
QGQAと呼ばれるこの手法は、NLIベースより解釈性が高い利点があります。
3. LLM-as-a-Judge
GPT-4o や Claude などの高性能LLMに、コンテキストと出力を提示して整合性を評価させる手法です。
以下のコンテキストと回答を比較し、回答がコンテキストの内容と
矛盾していないかを1-5のスケールで評価してください。
コンテキスト: {context}
回答: {response}
評価基準:
5: 完全に整合
4: 概ね整合(軽微な省略あり)
3: 部分的に整合(一部不正確)
2: 大部分が不整合
1: 完全に矛盾
コストは高いですが、ニュアンスの理解度は最も高くなります。
RAGASでの事実整合性評価
RAGAS(Retrieval Augmented Generation Assessment)の Faithfulness メトリクスは、以下のステップで事実整合性を 0.0〜1.0 のスコアとして算出します。
- Statement Extraction: 回答を個別の statement に分解
- Verdict Assignment: 各 statement がコンテキストで supported かを判定
- Score Calculation:
Faithfulness = Supported Statements / Total Statements
from ragas.metrics import faithfulness
from ragas import evaluate
result = evaluate(
dataset,
metrics=[faithfulness],
)
print(result["faithfulness"]) # 0.0〜1.0
事実整合性を高める実践的手法
プロンプトエンジニアリング
- 「提供された情報のみに基づいて回答してください」の明示的指示
- 「情報が不足している場合は、その旨を述べてください」の追加
- Few-shot で事実に忠実な回答例を提示
検索精度の向上
- チャンクサイズの最適化(512〜1024トークンが一般的な推奨値)
- リランキングモデル(Cohere Rerank, bge-reranker)の導入
- ハイブリッド検索(密ベクトル + BM25)の採用
アーキテクチャレベル
- Self-RAG: モデル自身が検索の要否と回答の整合性を判断
- CRAG(Corrective RAG): 検索結果の品質を評価し、不十分なら再検索
FAQ
Q1: 事実整合性スコアはどの程度あれば実用的?
一般的に 0.85 以上が商用品質の目安です。医療・法律・金融など正確性が重要なドメインでは 0.95 以上が求められます。
Q2: 事実整合性と要約品質の関係は?
要約タスクでは事実整合性が最重要指標です。情報の過不足よりも、誤った情報の混入のほうがユーザーへの害が大きいためです。CNN/DailyMail データセットでの評価では、最新モデルでも 3〜8%の要約に事実と異なる内容が含まれています。
Q3: NLIベースとLLM-as-a-Judgeのどちらを使うべき?
コスト効率ならNLIベース(DeBERTa等は1回数ms)、精度重視ならLLM-as-a-Judge(1回数十円だが高精度)。CI/CDパイプラインにはNLIベース、定期的な品質監査にはLLM-as-a-Judgeの併用が推奨されます。