To Believe or Not to Believe?DeepMind新研究一眼看穿LLM幻覺
大語言模型產(chǎn)生幻覺、胡說八道的問題被詬病,已經(jīng)不是一天兩天了。
前有ChatGPT編造法律案件,后有谷歌搜索建議披薩放膠水。
就連號稱模型更安全、幻覺更少的Claude系列,在Reddit上也能看到不少吐槽。
LLM輸出虛假信息的問題,似乎并不能在短時間內(nèi)徹底解決。
這就給很多場景下的應(yīng)用帶來了巨大的障礙,尤其是法律、醫(yī)療、學(xué)術(shù)這樣比較嚴(yán)謹(jǐn)?shù)闹R領(lǐng)域。如果答案有錯,還不如不用。
那么能不能有一種方法,至少為LLM的輸出劃定一個置信區(qū)間呢?
6月5日,DeepMind發(fā)表了一篇名為「To Believe or Not to Believe Your LLM」,就開始著手解決這個問題。
如果無法強(qiáng)迫LLM堅持輸出真實(shí)信息,知道它什么時候在胡說八道也很重要。
論文地址:https://arxiv.org/abs/2406.02543
這篇論文由DeepMind Foundations團(tuán)隊出品,帶頭人是加拿大阿爾伯塔大學(xué)教授Csaba Szepesvari,他也是這篇論文的作者之一。
論文探討了大語言模型中的不確定性量化問題,也就是說,旨在確定LLM的響應(yīng)何時會出現(xiàn)較高的不確定性。
不確定性分為兩個范疇,一個是認(rèn)知不確定性(epistemic uncertainty),另一個是偶然不確定性(aleatoric uncertainty)。
前者是指對基本事實(shí)的不了解,比如,不清楚事實(shí)或者語言不通所造成的不確定性,可能來源于訓(xùn)練數(shù)據(jù)量或者模型容量不足。
后者則是一種不可約的隨機(jī)性,比如同一個問題存在多種可能的答案。
LLM的工作本質(zhì)是對文本的概率分布進(jìn)行建模,因此會很自然地通過統(tǒng)計不確定性的視角看待問題的真實(shí)性。
以前的許多工作通過啟發(fā)式的方法計算LLM回答的對數(shù)似然性,但這一般只適用于偶然不確定性較低的情況,也就是有「標(biāo)準(zhǔn)答案」的問題。
對于有多個正確答案的問題,需要將認(rèn)知不確定性和偶然不確定性解耦。
因此,團(tuán)隊推導(dǎo)出了一種信息論度量(information-theoretic metric)方法,能可靠地檢測出認(rèn)知不確定性占多數(shù)的情況,這時我們就可以說,模型的輸出沒有那么可靠,Not to Believe!
這種方法根據(jù)什么來計算?
其實(shí),可以完全基于模型的輸出來考察,只需根據(jù)之前的回答進(jìn)行一些特殊的迭代prompting即可。
有了這個量化方法,無論是面對有單一答案的問題,還是有多個可能答案的問題,都可以檢測出回答中的幻覺,也就是認(rèn)知不確定性很高的情況。
這和此前的不確定性量化策略相比,形成了鮮明對比,因為之前的方法都不能檢測出多答案情況下的幻覺。
DeepMind Foundations團(tuán)隊進(jìn)行了一系列實(shí)驗,證明了他們方法的優(yōu)勢。
此外,研究還揭示了如何通過迭代prompting放大LLM指定給定輸出的概率,這可能會引起人們的興趣。
方法概述
首先,我們需要形成這樣一個共識:
如果從基本事實(shí)(語言)中獲得對同一查詢的多個回復(fù),那么它們應(yīng)該是相互獨(dú)立的。
也就是說,在概率論解釋中,對于一個固定的查詢,這些多個回復(fù)的聯(lián)合分布必須是一個乘積分布。
基于這一點(diǎn),我們就可以將其用于衡量LLM的輸出與基本事實(shí)之間的距離。
由語言模型實(shí)現(xiàn)的序列模型允許我們構(gòu)建多個響應(yīng)的聯(lián)合分布,基于LLM先前的響應(yīng)和概率鏈規(guī)則,對LLM進(jìn)行迭代prompting。
具體來說,先給定查詢要求模型提供一個響應(yīng),然后將查詢和相應(yīng)輸入給LLM,要求提供另一個響應(yīng),然后給定查詢和前兩個響應(yīng)提供第三個響應(yīng),依此類推。
關(guān)鍵思路是,在對LLM進(jìn)行迭代prompting的過程中,激發(fā)模型重復(fù)潛在回答,可以觀察到不同的行為模式,反映不同程度的認(rèn)知不確定性。。
如果模型對某個查詢的認(rèn)知不確定性較低,那么在prompting中重復(fù)一個不正確的回答不會顯著增加其概率。
但是,如果認(rèn)知不確定性較高,重復(fù)一個不正確的回答就會大大增加其概率。
下面是這一過程的prompt模板:
不斷誘導(dǎo)LLM
下面的例子可以更好地解釋這一過程——
給定問題:「英國的首都是什么?」通過在提示中重復(fù)錯誤答案(如巴黎),正確答案倫敦仍然保持很高的概率。
這意味著該模型的答案是確定的,它的認(rèn)知不確定性較低。
相反,如果答案的概率發(fā)生了變化,那么模型就具有高度的認(rèn)識不確定性。
如上圖最左邊的示例所示,當(dāng)我們將錯誤回答的重復(fù)次數(shù)增加到100次的時候,正確回答「倫敦 」的條件歸一化概率從100%下降到大約 96%。
在這些示例中,最初對查詢的回答的認(rèn)識不確定性較低,即使在錯誤信息重復(fù)出現(xiàn)的情況下,正確回答的概率仍然很大。
可是當(dāng)面對更有挑戰(zhàn)性的問題時,模型就不那么容易「堅持己見 」了。
比如,問LLM「愛爾蘭的民族樂器是什么?」,它回答「豎琴」和 「尤利安管 」的概率都很大(第一個答案是正確答案)。
這一次,通過多次在提示中加入錯誤的回答,正確答案的概率迅速下降到接近于零。
認(rèn)知不確定性度量
在對LLM進(jìn)行完上述觀察,研究者推導(dǎo)出了一種信息論度量方法。
通過測量模型的輸出分布對重復(fù)添加以前的(可能不正確的)提示回答的敏感程度,來量化認(rèn)知不確定性。
更確切地說,如果LLM對之前的回復(fù)不敏感,模型就有了所需的獨(dú)立性,并且LLM得出的聯(lián)合分布可以任意接近基本事實(shí)。
如果正相反,上下文中的響應(yīng)嚴(yán)重影響了模型的新響應(yīng),那么直觀地說,LLM對其參數(shù)中存儲的知識的置信度很低,因此LLM派生的聯(lián)合分布不可能接近基本事實(shí)。
這一觀察結(jié)果可用于區(qū)分高不確定性的兩種情況:一種是偶然不確定性高,另一種是認(rèn)知不確定性高。
最后,利用這一指標(biāo),論文介紹了一種基于互信息分?jǐn)?shù)的幻覺檢測算法M.I.。
通過應(yīng)用鏈?zhǔn)揭?guī)則,他們定義了多個響應(yīng)的「偽聯(lián)合分布 」,同時將之前的響應(yīng)納入提示。
這種偽聯(lián)合分布的互信息可作為認(rèn)知不確定性的下限?;バ畔⒌墓烙嬛悼捎米鞯梅?,表示LLM對給定查詢產(chǎn)生幻覺的信念強(qiáng)度。
結(jié)果
論文在開放域問答基準(zhǔn)上讓Gemini 1.0 Pro進(jìn)行閉卷回答,對這種基于互信息(MI)的方法進(jìn)行了評估,包括TriviaQA、AmbigQA以及基于WordNet創(chuàng)建的一個多標(biāo)簽數(shù)據(jù)集。
實(shí)驗中共使用了3種基線方法作為對比:T0表示貪婪方法選擇的LLM回答,S.E.表示使用2023年提出的「語義熵」方法(semantic-entropy)選擇的前10個回答,S.V.表示2022年提出的「自我驗證」方法(self-verification)的一個版本。
對LLM的回答主要使用兩個方面衡量,一是準(zhǔn)確率,二是召回率。
準(zhǔn)確率表示查詢中正確決策的百分比,召回率則表示沒有棄權(quán)的查詢的百分比。
結(jié)果表明,與基線方法相比,該方法能有效檢測幻覺(認(rèn)識不確定性較高的輸出),尤其是在處理包含單標(biāo)簽和多標(biāo)簽查詢的數(shù)據(jù)集時。
在TriviaQA和AmbigQA數(shù)據(jù)集上,論文提出的M.I.方法與S.E.方法基本表現(xiàn)相當(dāng),但明顯優(yōu)于T0和S.V.。
而后兩個數(shù)據(jù)集包含大量的高熵、多標(biāo)簽查詢,此時M.I.方法明顯優(yōu)于S.E.方法。
將LLM輸出回答的熵進(jìn)行分區(qū)后,分別查看兩種方法的召回率和錯誤率,可以更直觀地看到M.I.方法在高熵查詢中的優(yōu)越性能,不僅很少犯錯誤,而且召回值更高。
這篇論文相對于考慮LLM整體不確定性的一階方法,將認(rèn)知不確定性和任意不確定性分開考量,從而確定了LLM認(rèn)知不確定性的可證明的下界。
此外,在認(rèn)知不確定性視角下提出的基于互信息的棄權(quán)方法,能讓LLM在混合單標(biāo)簽/多標(biāo)簽查詢?nèi)蝿?wù)上取得更好的表現(xiàn)。