深度解析RAG大模型知識衝突,清華西湖大學港中文聯合發布
AIxiv專欄是機器之心發布學術、技術內容的欄目。
過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。
如果您有優秀的工作想要分享,歡迎投稿或者聯系報導。
投稿郵箱:[email protected];[email protected]
本文章的作者為清華大學交叉信息院二年級碩士生許融武和一年級博士生祁澤涵,他們也是本篇綜述的的主要作者。
隨著人工智能和大型模型技術的迅猛發展,檢索增強生成(Retrieval-Augmented Generation, RAG)已成為大型語言模型生成文本的一種主要範式。
這種技術的代表 —— 檢索增強的大型語言模型(Retrieval-Augmented Large Language Model, RALM)—— 能夠直接利用檢索得到的文檔信息進行內容生成,無需進行額外的訓練,這一優勢使其在工業界得到了廣泛應用,例如 New Bing 搜索引擎。
然而,自 2023 年起,RALM 在處理知識沖突方面面臨的問題逐漸成為研究的焦點。知識沖突不僅嚴重影響了模型在知識密集型任務上的性能,也暴露了其在面對錯誤信息時的脆弱性,進而對模型的安全性構成威脅,尤其是在那些對事實準確性有著嚴格要求的應用場景中。
知識沖突主要表現在模型內部的參數化知識與外部上下文信息之間,以及外部上下文信息內部的不一致性。此外,研究者還觀察到模型內部參數化知識之間存在沖突,即出現自相矛盾的現象,這可能源於模型在預訓練階段學習到了相互矛盾的信息。
我們來看一個具體的例子:
在上面這個例子中,大模型接受了一個事實性問題:哪只隊伍在世界杯中獲得了最多次的冠軍?
對於這個問題,一個 RALM 可能會檢索網絡上、向量數據庫內的文檔,同時加上用戶之前的提示語組成的歷史對話記錄,共同形成了上下文知識(Contextual Knowledge, Context,在上圖用黃色予以標出);與此同時,大模型在預訓練中也看到了關於解答這個問題的信息,這些信息構成了其參數化知識,又稱模型的 「記憶」(Parametric Knowledge,Memory,在上圖用藍色標出)。
根據沖突兩方信息的來源,我們便可 「兩兩(可重)組合」 劃分為以下三個類別:
Context-Memory Conflict 即上下文和參數知識之間的沖突。例子 1:模型通過 Web 檢索獲取的知識是即時的,但學到的知識已經 「過氣」;例子 2:模型獲得了錯誤的假信息,與參數知識發生了沖突。
Inter-Context Conflict 即上下文知識內部的沖突。例子:通過 Web 檢索,獲得的信息因為發布的時間不同,或是混入了惡意的有誤信息而自相沖突。
Intra-Memory Conflict 即參數化知識內部的沖突。例子:對於事實性問答,模型在語義相同的提示一下被激發出不同結果的答案,產生出自相矛盾的效果。
知識沖突最早的文獻可以追溯到 Longpre 等人在 EMNLP 2021 的文章:Entity-based knowledge conflicts in question answering。
這篇文章通過命名實體替換的方法在開放域問答(Open-Domain Question Answering)構造了沖突的知識,並對當時的語言模型進行了評測。隨著 2023 年大型語言模型的興起和 RAG 範式在工業界廣泛應用,知識沖突的研究熱度逐漸升高,因其很大程度上降低了模型在關鍵任務上的表現,特別是對真實性有要求的任務。
近期,來自清華大學、劍橋大學、西湖大學、香港中文大學的研究者聯合發布了一篇綜述,從起因、表現以及解決方案三個方面,對三種不同的知識沖突類型進行詳細探討,幫助讀者更好地理解和應對這一挑戰。在我們看來,知識沖突既是導致各種模型下遊表現的原因,也是從知識自身和模型知識學習中天然復雜性中呈現出的效果。
論文地址:https://arxiv.org/abs/2403.08319
項目地址:https://github.com/pillowsofwind/Knowledge-Conflicts-Survey
這篇綜述:
1. 首次系統性地總結了知識沖突領域的研究工作;
2. 全面分析了三種大模型可能遭遇的沖突類型,特別是對參數化知識沖突進行討論;
3. 我們不僅探討了每種沖突的分析,還從其 「生命周期」 的視角出發,審視了沖突的起因、表現以及可能的解決策略。
探索 Context-memory conflict:起因、表現與解決方案
起因--- Context-Memory Conflict 的核心在於上下文信息與參數化知識之間的差異。
這種沖突的起因主要分為兩個方面:時間錯位(Temporal Misalignment)和信息汙染(Misinformation Pollution)。
1. 時間錯位(Temporal Misalignment)
時間錯位是指模型在訓練過程中使用的歷史數據無法準確反映當前或未來的現實。這種現象在大語言模型中尤為明顯,因為這些模型通常在大量靜態數據上進行預訓練,而這些數據可能在現實中已經過時。例如,一篇關於 2020 年奧運會的文章在 2024 年可能已經不再準確,然而,模型可能依然依賴這些過時的信息進行預測和回答問題。研究表明,語言模型的性能會隨著時間的推移而下降,語言的使用方式、文化變化以及知識更新等都會影響模型對當前信息的處理能力。
2. 信息汙染(Misinformation Pollution)
信息汙染是指外部信息中夾雜著錯誤或誤導性的信息,這些不準確的數據會影響模型的判斷和決策能力。這種情況在互聯網時代尤為普遍,網絡上充斥著各種虛假信息、謠言以及故意編造的假新聞。惡意用戶可能通過在網絡上發布虛假信息,幹擾模型的判斷。例如,惡意攻擊者可以在社交媒體上發布虛假的醫療信息,從而誤導依賴這些信息進行判斷的模型。信息汙染不僅會影響模型的準確性,還會破壞用戶對模型的信任。研究表明惡意的虛假信息會顯著削弱自動化事實核查系統和開放域問答系統的準確性。
表現--- 當面對 Context-Memory Conflict 時,模型的行為表現出顯著的復雜性和多樣性。
以下是兩種表現形式:
1. 依賴參數化知識
一些模型在處理上下文與內存矛盾時,往往會過度依賴其內部的參數知識,而忽視外部提供的上下文信息。這種行為在早期的開放域問答(ODQA)研究中得到了驗證。Longpre 等人(2021)發現 QA 模型在面對上下文信息與其內部知識沖突時,傾向於依賴內存知識。
2. 依賴上下文信息
另一方面,某些模型在面對外部證據時,即使這些證據與其內部記憶相矛盾,也會傾向於采信外部證據。Chen 等人(2022)在 QA 模型上的實驗表明模型傾向於依賴上下文知識,與 Longpre 等人的發現形成對比,其解釋為 Longpre 構造的沖突信息過於簡單。最近,Xie 等人(2023)通過操控大模型生成 「更符合邏輯」 的沖突上下文,發現大模型在面對外部證據時,即使這些證據與其參數知識相矛盾,也更傾向於信任外部證據。
解決方案--- 為了有效應對 Context-Memory Conflict,研究人員提出了多種解決方案,這些方案主要分為在沖突發生前的預防措施(pre-hoc strategies)和沖突發生後的應對措施(post-hoc strategies)。
以下是幾種主要的解決方案:
1. 預防措施
持續學習(Continue Learning):通過持續預訓練模型以納入新的和更新的數據,從而減少時間錯位帶來的影響。例如,Lazaridou 等人(2021)建議通過持續預訓練來更新模型的內部知識,以跟上最新的信息。
知識編輯(Knowledge Editing):直接更新已訓練模型的參數知識,以反映最新的信息。例如,De Cao 等人(2021)提出了一種知識編輯方法,旨在直接修改模型的內部知識,以糾正錯誤或過時的信息。但是知識編輯的一個弊端是可能會導致模型出現內在沖突的知識,即誘發後面我們提到的 intra-memory conflict。
2. 應對措施
微調模型(Fine-Tuning):通過引入反事實和無關上下文等方法,加強模型對上下文的控製能力和魯棒性。例如,Li 等人(2022)提出的知識感知細調(KAFT)方法,通過在標準訓練數據集中引入反事實和無關上下文,增強了模型在面對沖突信息時的魯棒性。
提示語技術(Prompting):通過專門設計的提示語策略,增強模型對上下文的依賴。例如,Zhou 等人(2023)提出了簡潔的 context-faithful prompting 的技術,顯著提升了模型在上下文敏感任務中的表現。
知識插入(Knowledge Plug-in):通過插件模塊存儲更新的知識,確保原始模型不受影響。例如,Lee 等人(2022)提出的持續更新 QA(CuQA)方法,通過知識插件增強模型的知識更新能力,而不影響其原有參數。
解碼技術(Decoding):通過調整解碼策略,減少模型在知識沖突情況下生成幻覺的概率。例如,Shi 等人(2023)提出的上下文感知解碼(CAD)方法,通過放大輸出概率的差異,優先考慮上下文信息,從而減少模型在沖突信息下的誤導。
通過結合這些預防和應對措施,可以從不同角度提高模型在處理 Context-Memory Conflict 時的準確性和魯棒性,從而提升模型在實際應用中的表現和用戶體驗。
探索 Inter-Context Conflict:起因、表現與解決方案
起因--- Inter-Context 沖突是指在不同外部信息整合過程中出現的矛盾,盡管這些外部信息能豐富大模型的回答,但也可能導致上下文之間的信息沖突。
這種沖突的發生主要是因為外部信息中可能包含錯誤信息(Misinformation)和過時信息(Outdated Information)。
1. 錯誤信息(Misinformation)
檢索增強生成技術(RAG)通過整合外部信息來提升大模型的響應質量,然而這些外部信息可能含有虛假內容。例如,可能會混入偽造新聞或由 AI 生成的誤導性內容,導致檢索到的信息之間產生沖突。面對這些沖突,模型如何處理是一個重要挑戰。若不能有效解決這些沖突,可能導致模型生成的內容不準確,進而加劇虛假信息的傳播,進一步混淆信息。
2. 過時信息(Outdated Information)
隨著時間推移,事實會發生變化。大模型在檢索外部文件時,可能會遇到同時包含最新和過時信息的文檔。這種信息的時間差異會導致上下文之間的沖突。例如,關於某個事件的最新發展與過時的信息之間的矛盾,會影響模型的響應準確性。過時的信息不僅會使模型的回答變得不準確,還可能導致用戶對模型失去信任。
表現--- 在面對 Inter-Context Conflict 時,大模型在被動和主動兩種角度下都表現出了特定的行為特征:
1. 性能影響(Performance Impact)
錯誤或過時信息會顯著影響大模型的性能。例如,Chen 等(2022)的研究也指出,當模型在遇到矛盾的信息時,但它們更傾向於信任與問題直接相關的信息和模型內部的參數知識。Pan 等(2023a)通過將偽造的維基百科文章插入真實的維基百科語料庫,發現現有語言模型在面對虛假信息攻擊時表現不佳。Xie 等(2023)的研究進一步揭示,大模型對與模型參數記憶一致的證據存在顯著偏好,尤其是當這些證據涉及常見實體或得到大量文檔支持時。
2. 檢測能力(Detection Ability)
檢測上下文中的矛盾信息也是一項重要任務。Li 等(2023a)分析了 GPT-4、PaLM-2 和 Llama 2 在新聞、故事和維基百科文章中檢測矛盾文件的能力,結果顯示平均檢測準確率較低。Wan 等(2024)的研究則揭示,現有模型在評估文檔可信度時,往往高度依賴與查詢相關的文檔內容,但忽略了人類認為重要的文體特征,如科學引用或中立的語氣。Jin 等人(2024a)發現大模型偏愛在上下文中出現頻率最高的證據,並對與其內部記憶一致的外部信息表現出明顯傾向。
解決方案--- 為了有效應對 Inter-Context Conflict,研究人員從多種角度提出了解決方案,這些方案主要分為消除沖突(Eliminating Conflict)和提高魯棒性(Improving Robustness)兩個方面,從主動和被動兩個角度解決 Inter-Context Conflict。
1. 消除沖突(Eliminating Conflict)
專用模型(Specialized Models):專門訓練一個模型來更好地處理特定類型的沖突。如 Pielka 等(2022)建議在學習過程中加入語言學知識,通過引入語法和語義特征來增強對矛盾信息的識別,以提高模型對矛盾檢測的能力。
通用模型(General Models):使用通用模型來完成沖突消除。Chern 等(2023)提出了一個整合了多種工具(如 Google Search、Google Scholar 等)的事實核查框架,用於檢測文本中的事實錯誤。這種方法不僅依賴於模型的內部知識,還結合了外部檢索到的信息,提供更為全面的事實驗證。
2. 提高魯棒性(Improving Robustness)
訓練方法(Training Approach):從訓練算法上提升模型在面臨沖突上下文時的魯棒性。Hong 等(2023)提出了一種新的微調方法,通過同時訓練判別器和解碼器來提高模型的魯棒性。這種方法不僅可以提高模型在面對沖突信息時的穩定性,還能增強其處理復雜信息的能力。
查詢增強(Query Augmentation):在推理階段通過進一步引入外界知識來提升模型的魯棒性。Weller 等(2022)提出了一種查詢增強技術,提示 GPT-3 從原始查詢中提取新的問題,通過生成多個與原始問題相關的查詢,模型可以從多個角度驗證答案的正確性,從而減少由於單一信息源導致的錯誤。這種方法不僅提高了模型應對沖突信息的能力,還增加了其回答的準確性和可靠性。
Inter-Context Conflict 是知識沖突中的重要一環。大模型如何處理相互沖突的信息是一個關鍵任務。通過上述方法,可以從不同角度提高模型在處理 Inter-Context Conflict 時的準確性和魯棒性。
探索 Intra-Memory Conflict:起因、表現與解決方案
起因--- Intra-Memory Conflict 是指模型在面對語義相同但句法不同的輸入時,表現出不一致的行為。
這種沖突的主要原因可以分為以下幾個方面:
1. 訓練語料庫的偏差(Bias in Training Corpora)
LLMs 的主要知識獲取階段是在預訓練期間完成的,而這些預訓練數據通常是從互聯網上抓取的。這些數據來源廣泛,包括社交媒體、新聞文章、百科全書等,其質量參差不齊,可能包含不準確或誤導性的信息。這些錯誤信息會被模型記住並在推理時放大,導致模型內的知識出現沖突,這會導致模型在回答相關問題時出現多種相互矛盾的答案。同時,大模型存在對訓練數據的表面關聯進行編碼的情況,這會導致模型依據表面的虛假相關性進行判斷。由於對虛假相關性的依賴,當遇到句法結構不同但語義相同的提示時,模型可能會給出不同的答案。
2. 解碼策略(Decoding Strategy)
大模型的輸出是通過對可能的下一個詞進行概率分布采樣而得出的。不同的采樣方法(如貪心采樣、top-p 采樣、top-k 采樣等)會導致生成內容的隨機性。例如,在使用 top-k 采樣時,模型會從概率最高的 k 個候選詞中隨機選擇下一個詞,這種隨機性增加了輸出的不確定性,使得相同的輸入在不同次推理中可能得到不同的結果。
3. 知識編輯(Knowledge Editing)
為了高效地修改大模型中的知識,研究人員提出了知識編輯技術。這些技術旨在高效地修改模型中小範圍的知識,而不需要重新訓練整個模型。然而,這些編輯方法可能導致知識的一致性難以保證。例如,通過知識編輯修改某一事實(如某一科學發現的具體細節),但未能同步更新與之相關的所有知識,可能導致模型在面對不同問題時產生不一致的響應。同時,修改後的知識可能無法有效地在不同情境下應用,從而導致模型在處理同一知識的不同表達時產生不一致的回答。
表現--- Intra-Memory Conflict 會對大模型的表現產生顯著影響,主要體現在以下幾個方面:
1. 自我不一致性(Self-Inconsistency)
自我不一致性是指模型在面對語義等價但句法不同的問題時,生成的回答不一致。例如,研究表明,即便是 GPT-4 這樣的先進模型,在處理常識性問題時,仍然有 13% 的回答存在不一致性。這意味著用戶提出同樣的問題,但換種說法時,可能會得到不同的回答。另一方面,模型在回憶知識時,可能更多依賴於訓練數據中詞語的表面關聯,而不是對知識的真正理解。例如,一個模型可能會錯誤地關聯某些高頻共現的詞語,導致生成的回答偏離預期。這種錯誤關聯進一步加劇了模型回答的自我不一致性。
2. 知識的潛在表示(Latent Representation of Knowledge)
大模型內部的多層 Transformer 架構導致不同層次存儲著不同的知識表示。這種分散的知識表示會導致模型在生成過程中無法準確表達已經存儲的知識。例如,淺層次可能存儲的是低級信息,而深層次存儲的是語義信息。這種多層表示的分散導致模型在面對不同問題時,可能無法協調不同層次的知識,進而產生不一致的回答。
3. 跨語言不一致性(Cross-lingual Inconsistency)
由於大模型在不同語言中維護著不同的知識集合,這導致了跨語言的一致性問題。例如,同一個事實在不同語言中可能會得到不同的回答,這種現象在跨語言知識問答中尤為明顯。例如,一個在英語中訓練的模型可能會對某個事實有準確的回答,但在西班牙語中卻給出不同的答案。
解決方案--- 針對內部記憶沖突,研究人員提出了多種解決方案,主要可以分為以下幾類:
1. 提升一致性(Improving Consistency)
微調(Fine-tuning):通過引入一致性損失函數,並結合標準的語言模型訓練損失,進行微調,提升模型的知識一致性。例如,Li 等人(2023)則利用模型生成的回答對其進行驗證,篩選出一致性較高的回答對進行微調,進一步提升生成的答案的一致性。
插件(Plug-in):通過模塊插入的整合方法提高模型的一致性。例如,Jang 和 Lukasiewicz(2023)提出通過利用字典中的詞義對模型進行訓練,增強其對符號意義的理解。然後將這些增強的參數與現有語言模型的參數合並從而提高模型的一致性。
輸出集成(Output Ensemble):通過對多次輸出進行綜合,從而獲得一個最正確的答案。Mitchell 等人(2022)提出了這種雙模型架構,通過評估答案間的邏輯一致性來選擇最可信的最終答案,減少模型生成的不一致性。
2. 提升事實準確性(Improving Factuality)
提升模型響應的真實性,從而減少模型自身不一致的發生。例如,Li 等人(2023)提出了一種知識探測方法,通過識別模型參數中包含的真實知識,並在推理階段沿著這些真實知識相關的方向調整激活,從而減少生成過程中的事實錯誤。
內部記憶沖突是 LLMs 研究中的一個重要挑戰,解決這一問題需要從訓練、生成和後處理等多個階段入手。雖然目前的解決方案已經在一定程度上緩解了這一問題,但仍有許多挑戰需要克服。
討論 1:模型應當如何響應沖突?
理想情況下,模型在遇到知識沖突時應能夠識別沖突並提供明確的答案。然而,研究發現現有模型在識別沖突存在方面表現較好,但在確定具體沖突段落並生成有區分的答案方面仍存在挑戰。另一方面,有些研究者認為我們不應該將 「處理沖突」 的任務完全丟給大模型代表的 AI,而是應該將這個權力掌握在人類手中。
討論 2:當前挑戰和後續研究方向
1. 實際環境中的知識沖突:
研究應關註知識沖突在現實世界中自然發生的情況,如在從網絡直接檢索文檔的檢索增強語言模型(RALMs)中。應盡量減少人為創造知識沖突,以更好地反映實際應用。
2. 更精細的解決方案:
需要更細致的解決方案,考慮用戶查詢的性質、沖突信息的來源和用戶期望。解決方案應針對不同類型的沖突(如錯誤信息、過時信息或主觀問題)進行定製,認識到問題和潛在解決方案的廣泛性。
3. 下遊任務評估:
未來的研究應超越常見的問答數據集,評估知識沖突對更廣泛應用的影響。這包括需要高準確性和一致性的領域,如法律文檔分析、醫療診斷、財務分析和教育工具。
4. 沖突之間的相互作用:
研究不同類型沖突(如內部記憶沖突和上下文記憶沖突)之間的相互作用是至關重要的。理解這些關系可能揭示大模型中知識表示和處理的機製,從而開發更強大的模型。
5. 可解釋性:
需要對大模型內部機製(如沖突期間的註意力頭或神經元激活)進行更微觀的檢查。這將有助於理解模型在遇到沖突時如何做出決策,並開發如路徑修補剪枝的沖突解決方法。
6. 多語言性:
研究應探索非英語提示和跨語言的知識沖突。這包括非英語中的知識沖突,以及不同語言的多個文檔的上下文沖突。
7. 多模態性:
隨著大模型處理多種格式(文本、圖像、視頻、音頻)的發展,未來研究應關註多模態環境中的沖突。開發能夠跨多種數據類型進行跨模態推理和沖突解決的先進 LLMs 是必要的。---[來源: 機器之心Pro]