語義熵識破LLM幻覺!牛津大學新研究登Nature
時至今日,大語言模型胡編亂造的情況仍屢見不鮮。
不知大家面對LLM的一本正經胡說八道,是輕皺眉頭,還是一笑而過?
俗話說,大風起兮云飛揚,安得猛士兮走四方。LLM幻覺任何時候都要除掉,不除不行。
試想,當你搜索一個簡單語法時,網頁上排名前幾的都是由大模型生成的錯誤答案,測過之后才發覺浪費了生命。
如果LLM涉及了醫學、法律等專業領域,幻覺將造成嚴重的后果,所以相關的研究也從未停止。
近日,來自牛津大學的研究人員在Nature上發表了利用語義熵來檢測LLM幻覺的新方法。
圖片
論文地址:https://www.nature.com/articles/s41586-024-07421-0
牛津大學計算機科學家Sebastian Farquhar等人,通過設計基于LLM確定的語義熵(相似性),來度量大模型答案中語義層面的不確定性。
做法是讓第一個LLM針對同一問題多次產生答案,并由第二個LLM(裁判)來分析這些答案的語義相似性。
同時,為了驗證以上判斷的準確性,再啟用第三個LLM,同時接收人類的答案和第二個LLM的評判結果進行比較,做到了無監督,但有理有據。
圖片
整個過程簡單來說就是:如果我想檢查你是否在胡編亂造,我就會反復問你同一個問題。如果你每次給出的答案都不一樣......那就不對勁了。
實驗結果表明,本文采用的語義熵方案優于所有基線方法:
圖片
在Nature的一篇評論文章中,皇家墨爾本理工大學計算機技術學院院長Karin Verspoor教授表示,這是一種「Fighting fire with fire」的方法:
「結果表明,與這些簇相關的不確定性(語義熵)比標準的基于單詞的熵更能有效地估計第一個LLM的不確定性。這意味著即使第二個LLM的語義等價計算并不完美,但它仍然有幫助。」
不過Karin Verspoor也指出,用一個LLM來評估一種基于LLM的方法似乎是在循環論證,而且可能有偏差。
「但另一方面,我們確實能從中受到很多啟發,這將有助于其他相關問題的研究,包括學術誠信和抄襲,使用LLM創建誤導或捏造的內容」。
Fighting fire with fire
LLM的幻覺通常被定義為生成「無意義或不忠實于所提供的源內容的內容」,本文關注幻覺的一個子集——「虛構」,即答案對不相關的內容很敏感(比如隨機種子)。
檢測虛構可以讓基于LLM構建的系統,避免回答可能導致虛構的問題,讓用戶意識到問題答案的不可靠性,或者通過更有根據的搜索,來補充或恢復LLM給出的回答。
語義熵和混淆檢測
為了檢測虛構,研究人員使用概率工具,來定義并測量LLM所產生內容的語義熵——根據句子含義計算的熵。
因為對于語言來說,盡管表達方式不同(語法或詞匯上不同),但答案可能意味著相同的事情(語義上等效)。
而語義熵傾向于估計自由形式答案的含義分布,而不是單詞或單詞片段的分布,符合實際情況,同時也可以看作是隨機種子變異的一種語義一致性檢查。
如下圖所示,一般的不確定性衡量方法會將「巴黎」、「這是巴黎」和「法國首都巴黎」視為不同的回答,這并不適合語言任務。
圖片
而本文的方法可以讓答案在計算熵之前根據含義進行聚類。
另外,語義熵還可以檢測較長段落中的混淆。如下圖所示,將生成的長答案分解為事實陳述。
對于每個事實陳述,LLM會生成對應的問題。然后另一個LLM對這些問題給出M個可能的答案。
圖片
最后,計算每個特定問題答案的語義熵(包括原始事實),與該事實相關的問題的平均語義熵較高表明為虛構。
直觀上,本文方法的工作原理是對每個問題的幾個可能答案進行采樣,并通過算法將它們聚類為具有相似含義的答案,然后根據同一聚類(簇)中的答案是否雙向相互關聯來確定答案。
——如果句子A的含義包含句子B(或者相反),那么我們認為它們位于同一語義簇中。
研究人員使用通用LLM和專門開發的自然語言推理 (NLI) 工具來測量語義關聯性 。
實驗評估
語義熵可以檢測跨一系列語言模型和領域的自由格式文本生成中的混淆,而無需先前的領域知識。
本文的實驗評估涵蓋了問答知識(TriviaQA)、常識(SQuAD 1.1 )、生命科學(BioASQ)和開放知識域自然問題 (NQ-Open)。
還包括檢測數學文字問題 (SVAMP) 和傳記生成數據集 (FactualBio)中的混淆。
TriviaQA、SQuAD、BioASQ、NQ-Open和SVAMP均在上下文無關的情況下進行評估,句子長度96±70個字符,模型使用LLaMA 2 Chat(7B、13B和70B)、Falcon Instruct(7B和40B)以及Mistral Instruct(7B)。
實驗采用嵌入回歸方法作為強監督基線。
評估指標
首先,對于給定答案不正確的二元事件,使用AUROC來同時捕獲精確度和召回率,范圍從0到1,其中1代表完美的分類器,0.5代表無信息的分類器。
第二個衡量標準是拒絕精度曲線下的面積 (AURAC),AURAC表示如果使用語義熵來過濾掉導致最高熵的問題,用戶將體驗到的準確性改進。
上圖結果是五個數據集的平均值,表明語義熵及其離散近似都優于句子長度生成的最佳基線。
其中AUROC衡量方法預測LLM錯誤的程度(與虛構相關),而AURAC衡量拒絕回答被認為可能導致混淆的問題,所帶來的系統性能改進。
對實驗中的30種任務和模型組合進行平均,語義熵達到了0.790的最佳AUROC值,而樸素熵為0.691、P(True) 為0.698、嵌入回歸基線 為0.687。
在我們不同模型系列(LLaMA、Falcon和Mistral)和尺度(從7B到70B參數)中,語義熵具有穩定的性能(AUROC在0.78到0.81之間)。
圖片
上表給出了TriviaQA、SQuAD和BioASQ在LLaMA 2 Chat 70B上測試的問題和答案示例。
我們可以從中發現語義熵如何檢測含義不變但形式變化的情況(表的第一行),
當形式和含義一起變化時(第二行),熵和樸素熵都正確預測了虛構的存在;
當形式和含義在幾個重新采樣的代中都保持不變時,熵和樸素熵都正確預測了虛構的不存在(第三行)。
而最后一行的示例顯示了上下文和判斷在聚類中的重要性,以及根據固定參考答案進行評估的缺點。
上圖展示了語義熵的離散變體有效地檢測了FactualBio數據集上的虛構。
離散語義熵的AUROC和AURAC高于簡單的自檢基線(僅詢問LLM事實是否可能為真)或P(True) 的變體,具有更好的拒絕準確性性能。
結論
語義熵在檢測錯誤方面的成功表明:LLM更擅長「知道他們不知道什么」,——他們只是不知道他們知道他們不知道什么(狗頭)。
語義熵作為克服混淆的策略建立在不確定性估計的概率工具的基礎上。它可以直接應用于任何LLM或類似的基礎模型,無需對架構進行任何修改。即使當模型的預測概率不可訪問時,語義不確定性的離散變體也可以應用。
參考資料: