AI・機械学習
上級

ハルシネーション検出(ハルシネーションケンシュツ)

LLMが生成する事実と異なる情報(ハルシネーション)を自動的に検出・評価する技術。参照文書との整合性チェック(Faithfulness)、外部知識ベースとの事実確認(Factuality)、自己矛盾の検出(Consistency)の3つのアプローチがあり、RAGパイプラインの品質保証に不可欠である。

0 回閲覧
0 いいね

ハルシネーション検出とは

ハルシネーション検出(Hallucination Detection)は、LLMが生成したテキスト中の事実と異なる情報を自動的に識別する技術である。LLMのハルシネーション(幻覚)は、モデルがもっともらしいが事実無根の情報を生成する現象で、医療・法律・金融など正確性が重要なドメインでは深刻な問題となる。

GPT-4oクラスのモデルでもハルシネーション率は5〜15%とされ、事実確認が必要な用途ではハルシネーション検出は品質保証の必須コンポーネントである。特にRAG(Retrieval-Augmented Generation)パイプラインでは、検索されたコンテキストと生成された回答の整合性検証が重要となる。

ハルシネーションの分類

種類定義例検出難易度
Intrinsicソース文書と矛盾する情報RAG回答がコンテキストに反する中程度
Extrinsicソース文書にない情報の追加コンテキストにない数値の捏造高い
Factual世界知識と矛盾する事実「東京タワーは500mの高さ」中〜高
Faithfulness指示やコンテキストの無視要約で原文にない内容を追加中程度

Intrinsicハルシネーションは参照文書との照合で比較的検出しやすいが、Extrinsicハルシネーション(ソースにない情報の追加)はモデルの内部知識と外部知識の区別が困難なため検出が難しい。

検出手法

NLI(自然言語推論)ベース

テキストのペア(前提文と仮説文)の含意関係を判定するNLIモデルを使用する。生成文をソース文書に対する「仮説」として扱い、「含意(Entailment)」「矛盾(Contradiction)」「中立(Neutral)」を判定する。DeBERTa-v3-largeベースのNLIモデルが広く使われている。

LLM-as-Judge

別のLLMに「この回答はコンテキストに基づいているか」を判定させる方式。自然言語で判定理由も出力されるため、デバッグに有用。ただし、ジャッジLLM自体がハルシネーションを起こすリスクがある。

SelfCheckGPT

外部参照なしでハルシネーションを検出する手法。同じプロンプトで複数回サンプリングし、回答間の一貫性を評価する。ハルシネーションの場合はサンプリングごとに異なる情報が生成される傾向があるため、一貫性の低い部分をハルシネーションと判定する。

評価メトリクス

メトリクス測定対象ツール
Faithfulnessコンテキストとの整合性RAGAS, TruLens
Answer Relevance質問への関連性RAGAS
Factual Consistency事実との一致度FActScore
SelfCheck Scoreサンプリング間の一貫性SelfCheckGPT
G-EvalLLM判定による総合スコアDeepEval

RAGASフレームワークはRAGパイプライン専用の評価ツールで、Faithfulness(忠実性)・Answer Relevance(回答関連性)・Context Precision(コンテキスト精度)・Context Recall(コンテキスト再現率)の4メトリクスを提供する。

プロダクション環境での実装

本番環境でのハルシネーション検出は、リアルタイム検出とバッチ検出の2パターンがある。

リアルタイム検出: 各LLM応答に対してNLIモデルまたはLLM-as-Judgeを実行し、ハルシネーションスコアが閾値を超えた場合に応答をブロックまたは警告を付与する。レイテンシが100〜500ms増加する。

バッチ検出: 定期的に生成ログを分析し、ハルシネーション率の推移を監視する。急激な増加はモデル劣化やRAGインデックスの品質低下を示唆する。

よくある質問

Q1: ハルシネーション率をゼロにすることは可能ですか?

現在の技術では不可能である。RAGの活用でハルシネーション率を大幅に低減できるが(30〜50%→5〜10%程度)、完全にゼロにすることはできない。重要な用途では人間によるレビューを併用するか、「確信度が低い場合は回答しない」という保守的な設計にすることを推奨する。

Q2: RAGを使えばハルシネーションは防げますか?

RAGはハルシネーションの低減に効果的だが、完全な防止にはならない。検索されたコンテキストが不適切な場合(検索品質の問題)、コンテキストに含まれない追加情報をLLMが生成する場合(Extrinsicハルシネーション)、コンテキスト自体に誤りがある場合は、RAGを使用してもハルシネーションが発生する。

Q3: ハルシネーション検出にかかるコストは?

NLIベースの検出はDeBERTaなどの小型モデルを使用するため、GPU推論でも1リクエスト数ms・コストはほぼゼロである。LLM-as-Judgeの場合、GPT-4o-miniで$0.001〜$0.005/リクエスト程度。高頻度な本番環境ではNLIベースを一次フィルタ、LLM-as-Judgeを二次確認とするハイブリッド方式がコスト効率に優れる。