GraphEvalによる言語モデルの幻覚評価
GraphEvalは、ナレッジグラフと自然言語推論(NLI)を活用して大規模言語モデル(LLM)の出力における幻覚(Hallucination)を検出・特定する評価フレームワークです。本記事では、軽量なシミュレーションコード例を用いて、LLM応答からナレッジグラフを構築し、各トリプルを実データコンテキストと比較する2段階プロセスを解説します。
大規模言語モデル(LLM)が応答を生成する際には、しばしば「幻覚」(Hallucination)と呼ばれる問題が発生します。これは、モデルが事実に反した、無意味な、または架空の内容を生成する現象です。近年、幻覚に対処するための多くの解決策が登場していますが、内部診断のための体系的な評価フレームワークは比較的少数しか研究されていません。アマゾンの研究者らによる最近の研究では、ナレッジグラフを用いてLLMの幻覚を分析・検出するフレームワーク「GraphEval」が提案されました。
GraphEvalは、ナレッジグラフを活用してLLM出力の幻覚を識別・通知します。従来の精度や確信度などの単一スコアを提供する性能指標とは異なり、GraphEvalは説明可能性を重視した2段階評価プロセスを適用します。第1段階では、モデル応答からナレッジグラフを構築します。このグラフは(主体、関係、客体)の意味トリプルで構成され、主体と客体はノード、関係はノードを結ぶエッジに対応します。第2段階では、構築されたナレッジグラフの各トリプルを、ソースコンテキスト(実データの知識ベース)と自然言語推論(NLI)モデルを用いて評価します。NLIエンジンによりコンテキストから含意できないトリプル(矛盾または中立)は、幻覚としてフラグ付けされます。
本記事では、GraphEvalの概念を分かりやすく説明するため、軽量なシミュレーションコード例を提供します。実際のコードでは、NLIモデルとしてHugging Faceの「cross-encoder/nli-deberta-v3-small」を使用し、各トリプルを実データコンテキストと比較します。例として、LLMが出力した「GraphEvalは高価なエンタープライズサーバーファームを必要とする」という文は、実際のコンテキストと矛盾するため、幻覚として検出されます。
さらに、ネットワークXとMatplotlibを用いて、ナレッジグラフを可視化します。グラフ上では、実データに基づくエッジは緑色、幻覚と判定されたエッジは赤色で表示され、評価結果が一目でわかります。
GraphEvalは、LLM出力における幻覚の根本原因を検出・特定するための有望な評価手法です。本記事のシミュレーションは、その実用性とプロダクションシステムへの応用可能性を示しています。