使用GraphEval評估語言模型幻覺
GraphEval是一種利用知識圖譜檢測和定位大型語言模型(LLM)輸出中幻覺的評估框架。本文通過一個輕量級的模擬代碼示例,展示了GraphEval的兩階段流程:從模型響應中構建知識圖譜,然後使用自然語言推理(NLI)模型評估每個三元組是否與源上下文相矛盾,若無法被藴含則標記為幻覺。
大型語言模型(LLM)在生成響應時,常出現“幻覺”問題,即產生事實錯誤、無意義或憑空捏造的內容。儘管近年來湧現出許多應對幻覺的方法,但用於內部診斷的系統性評估框架相對較少。亞馬遜研究人員近期提出了一種基於知識圖譜的評估框架——GraphEval,旨在分析和檢測LLM中的幻覺。
GraphEval的核心思想是利用知識圖譜來識別和標記LLM輸出中的幻覺。與傳統的性能指標(如準確率)不同,它採用兩階段評估流程,強調可解釋性,即揭示幻覺發生的具體位置。第一階段,從模型生成的響應中構建知識圖譜,該圖由語義三元組(主體,關係,客體)組成,其中主體和客體為節點,關係為連接節點的邊。第二階段,使用自然語言推理(NLI)模型,將每個三元組與源上下文(即真實知識庫)進行比對。任何無法被上下文藴含(即矛盾或中性)的三元組均被標記為幻覺。
為了更直觀地理解GraphEval的工作原理,本文提供了一個輕量級模擬代碼示例。該示例避免了實際應用中高昂的計算開銷,通過模擬知識圖譜提取和NLI評估過程來演示整個流程。在示例中,我們首先定義了真實上下文(即關於GraphEval的準確描述),然後假設LLM生成了一個包含幻覺的響應:“GraphEval需要昂貴的、企業級的服務器羣才能運行”。接下來,我們模擬從該響應中提取三元組,包括正確的三元組(如“GraphEval是一種評估框架”)和幻覺三元組(即關於服務器羣的要求)。隨後,使用預訓練的NLI模型(cross-encoder/nli-deberta-v3-small)評估每個三元組與源上下文的關係。結果顯示,正確的三元組被判定為“藴含”(即真實上下文支持它們),而幻覺三元組被判定為“中性”,從而被標記為幻覺。
最後,示例還通過可視化方式展示了知識圖譜,其中綠色邊表示真實的三元組,紅色邊表示幻覺三元組,直觀呈現了評估結果。
GraphEval框架為檢測和定位LLM輸出中的幻覺根源提供了一種富有前景的方法。它在生產系統中的應用潛力巨大,尤其是在檢索增強生成(RAG)等場景中,能夠幫助開發者更有效地識別和修正幻覺問題。