深度解析RAG大模型知識衝突,清華西湖大學港中文聯合釋出

机器之心發表於2024-07-10
圖片
AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

本文章的作者為清華大學交叉資訊院二年級碩士生許融武和一年級博士生祁澤涵,他們也是本篇綜述的的主要作者。

隨著人工智慧和大型模型技術的迅猛發展,檢索增強生成(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 是必要的。

相關文章