論文 · arXiv 2005.11401
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
三句話總結
- 🎯 純參數化語言模型難以存取、修正並奠定事實知識,導致在知識密集型任務中產生幻覺。
- 🔧 提出 RAG,結合 Dense Passage Retriever(基於 Wikipedia 的非參數化記憶體)與 BART 生成器(參數化記憶體),透過對潛在文件邊緣化進行端到端微調。
- 📈 在開放領域問答刷新 SOTA 成果(Natural Questions 達 44.5 EM),且相較於純參數化基準模型能生成更符合事實、具體且多元的文字。
摘要
大型預訓練語言模型已被證實能將事實知識儲存在其參數中,且在下游 NLP 任務進行微調時能達到最先進的成果。然而,它們存取並精確操作知識的能力仍然有限,因此在知識密集型任務上,其表現仍落後於特定任務架構。此外,為模型的決策提供依據來源以及更新其世界知識,仍是待解決的研究問題。具備顯式非參數化記憶體可微分存取機制的預訓練模型能克服此問題,但目前僅在抽取式下游任務中受到探討。我們探索了一種用於檢索增強生成(retrieval-augmented generation, RAG)的通用微調配方——這類模型結合了用於語言生成的預訓練參數化與非參數化記憶體。我們提出了 RAG 模型,其中參數化記憶體為預訓練 seq2seq 模型,非參數化記憶體則是 Wikipedia 的密集向量索引,並透過預訓練神經檢索器進行存取。我們比較了兩種 RAG 構型:一種在整個生成序列中以相同的檢索段落為條件,另一種則可在每個 token 使用不同的段落。我們在多種知識密集型 NLP 任務上微調並評估模型,在三個開放領域問答任務上刷新了 SOTA 表現,優於參數化 seq2seq 模型與特定任務的檢索抽取架構。在語言生成任務中,我們發現 RAG 模型比僅具備參數的 SOTA seq2seq 基準模型能生成更具體、多元且符合事實的語言。
英文原文摘要
Large pre-trained language models have been shown to store factual knowledge in their parameters, and achieve state-of-the-art results when fine-tuned on downstream NLP tasks. However, their ability to access and precisely manipulate knowledge is still limited, and hence on knowledge-intensive tasks, their performance lags behind task-specific architectures. Additionally, providing provenance for their decisions and updating their world knowledge remain open research problems. Pre-trained models with a differentiable access mechanism to explicit non-parametric memory can overcome this issue, but have so far been only investigated for extractive downstream tasks. We explore a general-purpose fine-tuning recipe for retrieval-augmented generation (RAG) -- models which combine pre-trained parametric and non-parametric memory for language generation. We introduce RAG models where the parametric memory is a pre-trained seq2seq model and the non-parametric memory is a dense vector index of Wikipedia, accessed with a pre-trained neural retriever. We compare two RAG formulations, one which conditions on the same retrieved passages across the whole generated sequence, the other can use different passages per token. We fine-tune and evaluate our models on a wide range of knowledge-intensive NLP tasks and set the state-of-the-art on three open domain QA tasks, outperforming parametric seq2seq models and task-specific retrieve-and-extract architectures. For language generation tasks, we find that RAG models generate more specific, diverse and factual language than a state-of-the-art parametric-only seq2seq baseline.
論文解讀
問題與研究動機
預訓練語言模型在其參數(參數化記憶體)中儲存了大量的世界事實知識。然而,它們有顯著的缺點:若不重新訓練便難以擴展或更新知識、無法輕易為其輸出提供來源出處或可解釋性,且容易產生幻覺(hallucinations)。
雖然 REALM 和 ORQA 等混合參數化/非參數化模型結合了可微分檢索與遮蔽語言模型,但它們僅限於抽取式問答任務。BART 和 T5 等標準序列到序列(seq2seq)架構則大多仍屬於閉卷形式。本研究透過提出**檢索增強生成(Retrieval-Augmented Generation, RAG)**來彌合這一鴻溝,這是一個通用的微調框架,將預訓練的密集神經檢索器與自回歸 seq2seq 生成器相結合,適用於開放領域生成與分類任務。
核心概念
- 混合參數化與非參數化記憶體:非參數化記憶體由涵蓋 2100 萬個 100 字 Wikipedia 段落的密集向量索引組成,並透過最大內積搜尋(MIPS)進行檢索。參數化記憶體則是一個預訓練的 BART 生成器。
- 端到端微調:將檢索到的段落視為潛在變數(latent variables),在沒有顯式檢索監督的情況下,透過最小化目標 token 的邊緣負對數似然來聯合訓練查詢編碼器與生成器。
- 兩種條件化構型:
- RAG-Sequence:在整個生成序列中,皆以相同的檢索文件作為條件。
- RAG-Token:允許每個生成的 token 關注並邊緣化不同的檢索段落。
- 熱插拔世界知識:外部索引可以在推論階段直接替換(例如將 2016 年的 Wikipedia 索引更換為 2018 年的索引),無須修改模型權重即可更新世界知識。
方法
給定輸入序列 ,檢索器 產生文件 的機率分佈,而生成器 則以 和 同時作為條件生成目標 token。
檢索器使用 Dense Passage Retriever (DPR): 其中 且 。Top- 候選文件使用 FAISS MIPS 進行檢索。文件索引與文件編碼器 保持固定,僅微調 以及 BART 生成器參數 。
RAG-Sequence
該模型在整個序列 中將檢索到的文件視為單一潛在變數: 解碼可以透過 徹底解碼(Thorough Decoding)(對每份文件執行束搜尋,並在所有文件中計算候選假設的前向傳遞)或 快速解碼(Fast Decoding)(將缺失的束機率近似為 0)來評估。
RAG-Token
該模型在每個 token 步驟邊緣化文件,實現跨來源的 token 層級內容融合: 這會產生標準的自回歸轉移機率,可直接套用至束搜尋中。
實驗結果
- 開放領域問答:RAG 在多項開放基準測試中使用完全匹配(EM)創下新紀錄:
- Natural Questions:44.5 (RAG-Seq),相較於 DPR 的 41.5 與 T5-11B+SSM 的 36.6。
- TriviaQA(標準開放切分):56.8 (RAG-Seq);在 TQA-Wiki 測試集:68.0 (RAG-Seq),相較於 T5-11B+SSM 的 60.5。
- WebQuestions:45.5 (RAG-Token),相較於 DPR 的 41.1。
- CuratedTrec:52.2 (RAG-Seq),相較於 DPR 的 50.6。
- 值得注意的是,在 Natural Questions 中,當檢索上下文完全缺失正確答案時,RAG 仍達到了 11.8% 的 EM(抽取式模型在此情況下為 0%)。
- 摘要生成:在 Open MS-MARCO 上,RAG-Sequence 達到 40.8 Rouge-L 與 44.2 Bleu-1,優於 BART(38.2 Rouge-L、41.6 Bleu-1)。
- Jeopardy! 題目生成:人類評估員在 42.7% 的案例中認為 RAG-Token 比 BART 更符合事實,而 BART 僅在 7.1% 的案例中勝出。評估員亦認為 RAG 更具體(37.4% 對比 16.8%)。
- 事實查核:在 FEVER 3 類分類中,RAG 達到 72.5% 的標籤準確率(與使用黃金證據監督的管線系統差距在 4.3% 以內);在 2 類分類中,RAG 達到 89.5% 準確率。
- 透過熱插拔更新知識:使用 2016 年至 2018 年間的 82 位領導人時序測試,RAG 使用 2016 索引回答 2016 領導人準確率為 70%,使用 2018 索引回答 2018 領導人為 68%;而在不匹配時準確率急遽下降(12% 與 4%)。
限制與未來方向
- 檢索崩潰:對於需要較弱顯式事實條件的任務(例如開放式故事生成),檢索器可能會退化為檢索靜態、不變的文件,而生成器則學會忽略它們。
- 固定文件索引:由於持續重新索引 2100 萬個向量的運算成本高昂,文件編碼器在下游任務微調期間保持不變,限制了檢索器的適應能力。
- 來源依據與偏見:非參數化記憶體仍然容易受到底層知識語料庫(Wikipedia)中包含的錯誤資訊與偏見影響。
- 聯合預訓練:檢索器與生成器組件在下游任務微調前是分開進行預訓練的,從頭開始聯合預訓練仍是一個待探索的方向。
關鍵術語
- Retrieval-Augmented Generation (RAG) (檢索增強生成)
- 一種混合架構,結合預訓練神經檢索器與預訓練序列到序列模型,以檢索到的非參數化文本段落為條件進行生成。
- Parametric Memory (參數化記憶體)
- 隱式儲存於預訓練 seq2seq 生成器(BART)神經網路權重中的事實知識。
- Non-Parametric Memory (非參數化記憶體)
- 在執行時期存取的顯式外部文件集合(例如涵蓋 2100 萬個 Wikipedia 段落的 FAISS 密集向量索引)。
- RAG-Sequence
- 一種 RAG 構型,將檢索到的段落視為在整個生成序列中保持不變的單一潛在變數。
- RAG-Token
- 一種 RAG 構型,在每個生成的 token 步驟分別對 top-k 檢索文件進行邊緣化,允許綜合多個來源的資訊。
- Dense Passage Retriever (DPR)
- 一種雙 BERT 編碼器架構,透過密集嵌入空間中的最大內積搜尋來計算文件與查詢的相關性分數。
- Maximum Inner Product Search (MIPS) (最大內積搜尋)
- 一種數學搜尋方法,用於在次線性時間內快速檢索與查詢向量最接近的 top-k 文件向量。
- Index Hot-Swapping (索引熱插拔)
- 在不重新訓練或微調模型參數的情況下,直接使用更新的資訊替換非參數化文件索引的操作。
常見問題
RAG-Sequence 與 RAG-Token 有何不同?
RAG-Sequence 在整個序列中使用完全相同的檢索文件作為所有 token 的生成條件;而 RAG-Token 則在每個生成步驟邊緣化排名前列的文件,使不同的 token 可以由不同的文件支援。
在微調期間文件表示法會更新嗎?
不會。文件編碼器與 FAISS 索引保持固定,以避免在訓練期間重新索引 2100 萬份文件的高昂運算成本;訓練僅會更新查詢編碼器與 BART 生成器的參數。
當檢索到的文件沒有答案時,RAG 能否回答問題?
可以。由於生成過程不受限且具備 BART 參數化記憶體的支援,在 Natural Questions 中當所有檢索到的頂尖段落均不含目標字串時,RAG 仍能正確回答 11.8% 的案例,而抽取式模型在此情況下的得分為 0%。
當世界事實改變時,RAG 如何更新其知識?
由於其外部記憶體具有模組化特性,可以在不重新訓練模型參數的情況下,直接將文件索引「熱插拔」替換為較新的文字資料庫(例如將 2016 年的 Wikipedia 索引替換為 2018 年的索引)。
本頁解讀由 AI 根據論文生成,可能有錯誤;細節請以原文為準。