大模型在裝傻!谷歌蘋果最新發(fā)現(xiàn):LLM知道但不告訴你,掌握知識比表現(xiàn)出來的多
大模型的應用歷來受幻覺所擾。
這個幻覺可以指代LLM產(chǎn)生的任何類型的錯誤:事實不準確、偏見、常識推理失敗等等。
——是因為大模型學半天白學了嗎?并不是。
近日,來自谷歌和蘋果的研究表明:AI模型掌握的知識比表現(xiàn)出來的更多!
論文地址:https://arxiv.org/pdf/2410.02707
研究人員在LLM內(nèi)部表示上訓練分類器,以預測與生成輸出的真實性相關的各種特征。
結果表明LLM的內(nèi)部狀態(tài)編碼反映出的真實性信息,比以前認識到的要多得多。
這些真實性信息集中在特定的token中,利用這一屬性可以顯著提高檢測LLM錯誤輸出的能力。
雖說這種錯誤檢測無法在數(shù)據(jù)集中泛化,但好處是,模型的內(nèi)部表示可用于預測模型可能犯的錯誤類型,從而幫助我們制定緩解錯誤的策略。
研究揭示了LLM內(nèi)部編碼和外部行為之間的差異:可能編碼了正確的答案,卻生成了不正確的答案。
——簡單來說就是,LLM它知道,但它不想告訴你!
LLM在裝傻
作者建議將重點從以人類為中心的幻覺解釋轉移到以模型為中心的視角,檢查模型的中間激活。
不同于使用RAG或者依賴更強大的LLM judge,本文工作的重點是僅依賴于模型輸出的logits、softmax后的概率和隱藏狀態(tài)的計算。
錯誤檢測器
第一步是確定真實性信號在LLM中的編碼位置。
假設我們可以訪問LLM的內(nèi)部狀態(tài)(白盒),但不能訪問任何外部資源(搜索引擎或其他LLM)。
建立一個數(shù)據(jù)集D,由N個問題標簽對組成,對于每個問題,提示模型生成響應,從而得到一組預測答案。
接下來,比較LLM生成的回答與正確答案,從而構建錯誤檢測數(shù)據(jù)集(這一部可由AI代勞)。
實驗選擇了四個LLM:Mistral-7b,Mistral-7b-instruct-v0.2,Llama3-8b和Llama3-8b-instruct。
作者選取了10個跨越不同領域和任務的數(shù)據(jù)集:TriviaQA、HotpotQA(with/without context)、Natural Questions、Winobias、Winogrande、MNLI、Math、IMDB review sentiment analysis和另一個自制的電影角色數(shù)據(jù)集。
實驗允許無限制地生成響應以模擬現(xiàn)實世界LLM的用法,并貪婪地解碼答案。
性能指標
測量ROC曲線下面積以評估錯誤檢測器,這能夠反映模型在多個閾值中區(qū)分陽性和陰性情況的能力,平衡靈敏度(真陽性率)和特異性(假陽性率)。
錯誤檢測方法
Majority:始終預測訓練數(shù)據(jù)中最頻繁的標簽。
聚合概率/logits:從之前的研究中選取幾種方法,包括計算這些值的最小值、最大值或平均值。
P(True):通過提示要求LLM評估其生成的正確性時。
Probing:在模型的中間激活上訓練一個小分類器,以預測已處理文本的特征,這里使用線性探測分類器對靜態(tài)token進行錯誤檢測。
作者認為,現(xiàn)有方法忽略了一個關鍵的細節(jié):用于錯誤檢測token的選擇。
研究者通常只關注最后生成的token或取平均值,然而,由于LLM一般會生成長格式響應,這種做法可能會錯過重要的部分。
本文中,作者關注表示確切答案的token(EXACT ANSWER TOKENS),它代表了生成的響應中最有意義的部分。
這里將EXACT ANSWER TOKENS定義為,如果修改則會改變答案正確性的token。
實踐中,作者使用設置好的instruct模型代勞,來提取確切答案。之后,通過簡單的搜索過程確定對應的token。
重點關注4個特定token:第一個確切答案的token及其前一個token、最后一個確切答案token及其后一個token。
作者廣泛分析了層和token選擇對分類器的激活提取的影響,通過系統(tǒng)地探測模型的所有層,從最后一個問題token開始,一直到最終生成的token。
上圖顯示了Mistral-7b-Struct中各個層和token關于探測的AUC指標。雖然一些數(shù)據(jù)集似乎更容易進行錯誤預測,但所有數(shù)據(jù)集都表現(xiàn)出一致的真實性編碼模式,中后期層通常會產(chǎn)生最有效的探測結果。
通過比較使用和不使用EXACT ANSWER TOKENS的性能,來評估各種錯誤檢測方法,上表展示了三個代表性數(shù)據(jù)集上的AUC。
不同任務中的泛化
了解錯誤檢測器在不同任務中的泛化能力,對于實際應用程序至關重要。
上圖(a)顯示了Mistral-7b-instruct的泛化結果,大于0.5的值表示泛化成功。乍一看,大多數(shù)熱圖值超過了0.5,似乎任務之間存在一定程度的泛化。
然而事實上,大部分性能可以通過基于logit的真度檢測來實現(xiàn)。圖(b)顯示了從最強的基于Logit的基線(Logit-min-exact)中減去結果后的相同熱圖。
這表示檢測器的泛化程度很少超過僅依賴Logit所能達到的效果。所以,泛化并不源于真實性的內(nèi)部編碼,而是反映了已經(jīng)通過logits等外部特征訪問的信息。
經(jīng)過訓練的探測分類器可以預測錯誤,但其泛化能力只發(fā)生在需要相似技能的任務(如事實檢索)中。
對于涉及不同技能的任務,例如情感分析,探測分類器與基于logit的不確定性預測器效果差不多。
錯誤類型研究
在確定了錯誤檢測的局限性,并研究了不同任務的錯誤編碼有何不同之后,作者深入研究了單個任務中的錯誤,根據(jù)模型對重復樣本的響應對其錯誤進行分類。
比如,持續(xù)生成的相同錯誤與偶爾生成的錯誤屬于不同類別。
研究人員在T = 30的溫度設置下,對數(shù)據(jù)集中的每個樣本進行采樣,然后分析答案的結果分布。
上圖展示了三種代表性的錯誤類型:
圖(4a)中,模型通常會給出正確的答案,但偶爾會出錯,這意味著存在正確的信息,但采樣可能會導致錯誤。
圖(4b)中,模型經(jīng)常犯同樣的錯誤,但仍保留了一些知識。
圖(4c)中,模型生成了大量錯誤的答案,整體置信度較低。
分類的標準有三個:生成的不同答案的數(shù)量,正確答案的頻率,以及最常見的錯誤答案的頻率。
上表顯示了所有模型的測試集結果。結果表明,可以從貪婪解碼的中間表示中預測錯誤類型。
檢測正確答案
模型的這種內(nèi)部真實性如何在響應生成過程中與其外部行為保持一致?
作者使用經(jīng)過錯誤檢測訓練的探測器,從同一問題的30個響應中選擇一個答案,根據(jù)所選答案衡量模型的準確性。
如果這種準確性與傳統(tǒng)解碼方法(如貪婪解碼)沒有顯著差異,則表明LLM的真實性內(nèi)部表示與其外部行為一致。
實驗在TriviaQA、Winobias和Math上進行,選擇probe評估的正確性概率最高的答案。這里比較了三個基線:貪婪解碼;從30個候選答案中隨機選擇;選擇生成的最頻繁的答案。
結果如上圖所示,總體而言,使用探針選擇答案可以提高LLM所有檢查任務的準確性。但是,改進的程度因錯誤類型而異。
探針可以有效地識別正確答案的事實表明,LLM的內(nèi)部編碼與其外部行為之間存在重大脫節(jié):即使模型編碼了哪個答案是正確的信息,它在實踐中仍然可能生成錯誤的答案。