點擊下方「AINLPer」關注,更多乾貨,第一時間送達
更多精彩內容->專注大模型、Agent、RAG等前沿分享!
引言
當前RAG技術應用非常廣泛,但是由於涉及技術節點比較多,問題排查通用非常困難。為此,本文作者對RAG系統出現的錯誤進行了深入的分析,「引入充分上下文(Sufficient Context)的概念,指出RAG系統中的幻覺現象可能是由於上下文不足引起」,為此提出了選擇性生成框架來提高RAG系統的準確性,實驗結果表明該方法可讓RAG系統準確率最高提升10%。連結:https://arxiv.org/pdf/2411.06037
背景介紹
檢索增強生成(Retrieval-Augmented Generation,RAG)是當前NLP領域中最重要的技術突破之一。它將大語言模型(LLMs)與動態信息檢索機制結合,有效解決了傳統語言模型的三大核心問題:知識固化問題、事實性幻覺傾向,以及長尾知識覆蓋不足的缺陷。這種方法在開源和商用應用中都非常廣泛,如搜索問答、智能客服、醫療輔助診斷等。
儘管 RAG 在許多任務中表現優異,但仍經常出現「幻覺」(hallucination)現象,即模型在提供不完整或無關文檔時依然自信地生成錯誤答案。此時你可能會想到:「這些錯誤究竟是因為檢索系統未能提供足夠信息,還是模型本身未能正確使用上下文?」
為了分析和解決這個問題,Google提出了「充分上下文(Sufficient Context)」的概念,並圍繞這一概念展開了深入研究,旨在明確劃分 RAG 系統錯誤的責任歸屬,並給出了幾種提升RAG生成質量的方法。
上下文充分性評估工具
何為充分上下文(Sufficient Context)?作者給出的定義是:檢索的內容中是否「能夠具備支持正確答案的全部信息」。這一標準並不要求上下文中顯式的包含答案,但應當使一個熟悉該任務的 LLM 能夠基於其常識和推理能力,合理得出正確答案。
為了量化這個概念,作者構建了一個新的評估任務:「給定問題、答案與上下文,判定該上下文是否足夠支持該答案」。簡單來說:如果上下文包含所有必要信息,能夠讓大模型生成正確答案,則將其定義為“充分”;如果上下文缺乏必要信息、不完整、不確定或包含相互矛盾的信息,則定義為“不充分”。基於以上定義,作者首先開發了一個基於大模型的上下文充足評估器(這裡大模型主要採用Gemini 1.5 Pro,通過構建提示詞來實現),用於自動判斷上下文是否充分。如果上下文充足,它會輸出“真”,如果上下文不足,它會輸出“假”。實驗結果表明上下文充足評估器,1-shot 在評估上下文充分性方面達到高達 93% 的準確率。
RAG錯誤溯源分析
本文作者利用上下文充分性評估工具,分析了各種大型語言模型(LLMs)和數據集的性能,得出了以下幾項關鍵發現:
最先進的大型模型(如Gemini、GPT和Claude)在提供足夠上下文時通常能夠出色地回答問題,但在上下文不足時無法識別並避免生成錯誤答案。
小型開源模型存在特定問題,即使在上下文足以正確回答問題的情況下,它們也容易出現幻覺。
有時即使上下文被評定為不足,模型仍能生成正確答案,這表明不足的上下文仍可能有用,例如它可以填補模型知識的空白或澄清查詢中的歧義。
基於以上發現本文作者提出了改善RAG系統的建議,即1)在生成之前增加一個充分性檢查;2)檢索更多上下文或重新排序檢索到的上下文;3)根據置信度和上下文信號調整棄權閾值。
評測基準的上下文充分性
本文作者深入研究了充分上下文背後的相關情況。分析發現,多個標準基準數據集中存在大量上下文不足的案例。本文作者考慮了三個數據集:FreshQA、HotPotQA和MuSiQue。那些上下文充足實例佔比更高的數據集,如FreshQA,往往是上下文來源於人工整理的支持性文檔。
上下文導致幻覺
令人驚訝的是,儘管檢索增強生成(RAG)通常能夠提升整體性能,但它卻降低了模型在合適時機選擇不回答問題的能力。「引入額外上下文似乎會增加模型的自信,從而導致其更傾向於產生幻覺」。為了理解這一點,本文作者利用Gemini來對每個模型的回答進行評級,將其與可能的真實答案進行比較。本文作者將每個回答分類為“正確”“幻覺”(即錯誤答案)或“棄權”(例如說“我不知道”)。通過這種方法,本文作者發現,例如,Gemma在沒有上下文的情況下對10.2%的問題給出錯誤答案,而在使用不足上下文時,這一比例上升到了66.1%。
選擇性生成框架
基於以上分析,本文作者提出了一種“選擇性生成”框架,即利用充分上下文信息來指導棄權。作者考慮了以下指標:1)「選擇性準確率」衡量模型在其回答的問題中正確答案的比例;2)「覆蓋率」為回答問題的比例。
本文作者的選擇性生成方法「將充分上下文信號與模型的自評置信度分數結合起來,以便就何時棄權做出明智的決策」。這比單純在上下文不足時就棄權要更加精細,因為即使上下文有限,模型有時也能給出正確答案。本文作者利用這些信號來訓練一個邏輯迴歸模型以預測幻覺。然後,本文作者設定一個覆蓋率 - 準確率權衡閾值,確定模型何時應該放棄回答。
本文作者使用兩種主要信號來決定是否棄權:
「自評置信度」採用了兩種策略:P(True)和P(Correct)。P(True)涉及多次採樣答案,並提示模型將每個樣本標記為正確或錯誤。P(Correct)用於那些大量查詢成本高昂的模型,它涉及獲取模型的回答及其對正確性的估計概率。
「充分上下文信號」使用自評工具模型(FLAMe)的二元標籤來指示上下文是否充分。至關重要的是,本文作者無需真實答案就能確定充分上下文標籤,因此可以在回答問題時使用這一信號。本文作者的研究結果表明,與僅使用模型置信度相比,這種方法能夠實現更好的選擇性準確率 - 覆蓋率權衡。通過使用充分上下文標籤,本文作者可以在模型回答的問題上提高準確率,有時甚至可以提高多達10%。
更多精彩內容-->專注大模型/AIGC、Agent、RAG等學術前沿分享!
推薦閱讀
[1]Transformer|前饋神經網路(FFN)
[2]Transformer|從MHA到DeepSeek MLA!
[3]Transformer|注意力機制Attention
[4]Transformer|MoE架構(含DeepSeek)
[5]Transformer|歸一化(Normalization)
[6]Transformer|位置編碼(DeepSeek位置編碼)
歡迎投稿或尋求報導,聯繫:ainlperbot
資料整理不易,點個再看、讚吧