大模型 " 幻覺 ",終于有系統綜述了!
一口氣49 頁,詳細闡述了幻覺定義、分類、導緻幻覺的原因,還有檢測幻覺、減輕幻覺的方法。
這篇最新綜述來自哈工大和華爲,一 po 出就在網上火得不行:
具體來說,文中用一套新的範疇框架來定義模型幻覺,并将其分爲事實性幻覺、忠實性幻覺兩大類。
此外,它還總結了模型産生幻覺的三大來源:數據源、訓練過程和推理,并給出了對應的減輕幻覺策略。
一圖預覽,觀感是這樣嬸兒的:
可謂清晰又明了。目前相關推文浏覽 15 萬 +,轉贊收藏 2000+,網友紛紛評論:
找時間好好看。
還有一位網友的評論亮了:
有意思的是,論文太長,我得用 ChatGPT 幫我讀。
幻覺作爲大模型的一種 " 通病 ",找到了病根,也好對症下藥。
北大數學教授董彬也曾講,作爲研究者,自己其實是比較喜歡大模型幻覺的:
因爲幻覺和創造 / 創新其實隻有一線之隔。
那麽這篇綜述具體如何解剖大模型幻覺現象?一起來看看。
大模型的幻覺 " 病理 "
大模型出現幻覺,簡而言之就是 " 胡說八道 "。
用文中的話來講,是指模型生成的内容與現實世界事實或用戶輸入不一緻的現象。
正如上文提到的,研究人員将大模型的幻覺分爲事實性幻覺(Factuality Hallucination)和忠實性幻覺(Faithfulness Hallucination)。
△左,事實性幻覺;右,忠實性幻覺
事實性幻覺,是指模型生成的内容與可驗證的現實世界事實不一緻。
比如問模型 " 第一個在月球上行走的人是誰?",模型回複 "Charles Lindbergh 在 1951 年月球先驅任務中第一個登上月球 "。實際上,第一個登上月球的人是 Neil Armstrong。
事實性幻覺又可以分爲事實不一緻(與現實世界信息相矛盾)和事實捏造(壓根沒有,無法根據現實信息驗證)。
忠實性幻覺,則是指模型生成的内容與用戶的指令或上下文不一緻。
比如讓模型總結今年 10 月的新聞,結果模型卻在說 2006 年 10 月的事。
忠實性幻覺也可以細分,分爲指令不一緻(輸出偏離用戶指令)、上下文不一緻(輸出與上下文信息不符)、邏輯不一緻三類(推理步驟以及與最終答案之間的不一緻)。
那麽緻使大模型産生幻覺的原因都有哪些?
首先 " 病從口入 ",大模型的糧食數據,是緻使它産生幻覺的一大原因。
這其中就包括數據缺陷、數據中捕獲的事實知識的利用率較低。
具體來說,數據缺陷分爲錯誤信息和偏見(重複偏見、社會偏見),此外大模型也有知識邊界,所以存在領域知識缺陷和過時的事實知識。
即便大模型吃掉了大量數據,也會在利用時出現問題。
大模型可能會過度依賴訓練數據中的一些模式,如位置接近性、共現統計數據和相關文檔計數,從而導緻幻覺。比如說,如果訓練數據中頻繁共現 " 加拿大 " 和 " 多倫多 ",那麽大模型可能會錯誤地将多倫多識别爲加拿大的首都。
此外,大模型還可能會出現長尾知識回憶不足、難以應對複雜推理的情況。
除了數據,訓練過程也會使大模型産生幻覺。
主要是預訓練階段(大模型學習通用表示并獲取世界知識)、對齊階段(微調大模型使其更好地與人類偏好一緻)兩個階段産生問題。
預訓練階段可能會存在:
架構缺陷。基于前一個 token 預測下一個 token,這種單向建模阻礙了模型捕獲複雜的上下文關系的能力;自注意力模塊存在缺陷,随着 token 長度增加,不同位置的注意力被稀釋。
曝露偏差。訓練策略也有缺陷,模型推理時依賴于自己生成的 token 進行後續預測,模型生成的錯誤 token 會在整個後續 token 中産生級聯錯誤。
對齊階段可能會存在:
能力錯位。大模型内在能力與标注數據中描述的功能之間可能存在錯位。當對齊數據需求超出這些預定義的能力邊界時,大模型會被訓練來生成超出其自身知識邊界的内容,從而放大幻覺的風險。
信念錯位。基于 RLHF 等的微調,使大模型的輸出更符合人類偏好,但有時模型會傾向于迎合人類偏好,從而犧牲信息真實性。
大模型産生幻覺的第三個關鍵因素是推理,存在兩個問題:
固有的抽樣随機性:在生成内容時根據概率随機生成。
不完美的解碼表示:上下文關注不足(過度關注相鄰文本而忽視了源上下文)和 softmax 瓶頸(輸出概率分布的表達能力受限)。
檢測大模型病症
分析了大模型的幻覺病因,研究人員還給出了一份模型幻覺檢測基準。
針對事實性幻覺,已有檢索外部事實和不确定性估計兩種方法。
檢索外部事實是将模型生成的内容與可靠的知識來源進行比較。
基于不确定性估計的幻覺檢測方法,可以分爲兩類:基于内部狀态的方法和基于行爲的方法。
基于内部狀态的方法主要依賴于訪問大模型的内部狀态。例如,通過考慮關鍵概念的最小标記概率來确定模型的不确定性。
基于行爲的方法則主要依賴于觀察大模型的行爲,不需要訪問其内部狀态。例如,通過采樣多個響應并評估事實陳述的一緻性來檢測幻覺。
檢測忠實性幻覺的方法,研究人員用一張圖概括了五種不同的方法:
基于事實的度量,測量生成内容和源内容之間事實的重疊程度來評估忠實性。
分類器度量:使用訓練過的分類器來區分模型生成的忠實内容和幻覺内容。
問答度量:使用問答系統來驗證源内容和生成内容之間的信息一緻性。
不确定度估計:測量模型對其生成輸出的置信度來評估忠實性。
提示度量:讓大模型作爲評估者,通過特定的提示策略來評估生成内容的忠實性。
了解了如何度量幻覺後,就是減輕幻覺的方法了。
對症下藥減輕幻覺
研究人員根據緻幻原因,詳細總結了現有減輕幻覺現象的研究。
1、數據相關的幻覺。
減少錯誤信息和偏見,最直觀的方法是收集高質量的事實數據,并進行數據清理以消除偏見。
對于知識邊界的問題,有兩種流行方法。一種是知識編輯,直接編輯模型參數彌合知識差距。另一種通過檢索增強生成(RAG)利用非參數知識源。
檢索增強具體分爲三種類型:一次性檢索、叠代檢索和事後檢索。
一次性檢索是将從單次檢索中獲得的外部知識直接預置到大模型的提示中;叠代檢索允許在整個生成過程中不斷收集知識;事後檢索是基于檢索的修訂來完善大模型輸出。
2、訓練相關的幻覺。
根據緻幻原因,可以完善有缺陷的模型架構,目前已有許多相關研究。
從模型預訓練階段來講,最新進展試圖通過完善預訓練策略、确保更豐富的上下文理解和規避偏見來應對這一問題。
比如針對模型對文檔式的非結構化事實知識理解碎片化、不關聯,有研究在文檔的每個句子後附加一個 TOPICPREFIX,将它們轉換爲獨立的事實,從而增強模型對事實關聯的理解。
此外,還可以通過改進人類偏好判斷、激活引導,減輕對齊錯位問題。
3、推理相關的幻覺。
不完美的解碼通常會導緻模型輸出偏離原始上下文。
研究人員探讨了兩種高級策略,一種是事實增強解碼,另一種是譯後編輯解碼。
此外,忠實度增強解碼優先考慮與用戶說明或提供的上下文保持一緻,并強調增強生成内容的一緻性。現有工作可以總結爲兩類,包括上下文一緻性和邏輯一緻性。
有關上下文一緻性的最新研究之一是上下文感知解碼(CAD),通過減少對先驗知識的依賴來修改輸出分布,從而促進模型對上下文信息的關注。
有關邏輯一緻性的最新一項研究包括知識蒸餾框架,用來增強思維鏈提示中固有的自洽性。
論文鏈接:https://arxiv.org/abs/2311.05232