RAG: Retrieval-Augmented Generation for Knowledge-Intensive NLP

RAG模型的概述:RAG模型是一種結(jié)合了預(yù)訓(xùn)練的seq2seq模型和基于Wikipedia的密集向量索引的生成模型,可以用于各種知識(shí)密集的NLP任務(wù)。RAG模型通過(guò)將檢索到的文檔作為隱變量,進(jìn)行概率建模和邊緣化,實(shí)現(xiàn)了檢索和生成的端到端聯(lián)合學(xué)習(xí)。
RAG模型的兩種形式:RAG-Sequence和RAG-Token。前者假設(shè)生成整個(gè)序列時(shí)使用相同的文檔,后者假設(shè)生成每個(gè)單詞時(shí)可以使用不同的文檔(舉個(gè)例子,如果我們要生成“我想吃一碗牛肉面”,對(duì)于RAG-Sequence,我們會(huì)使用相同的文檔來(lái)生成整個(gè)句子;對(duì)于RAG-Token,我們會(huì)使用不同的文檔來(lái)生成“我”、“想”、“吃”、“一碗”和“牛肉面”這五個(gè)單詞。)。兩種形式都使用最大內(nèi)積搜索(MIPS)來(lái)檢索文檔,并使用近似方法來(lái)計(jì)算邊緣化概率(邊緣化概率是指在概率論中,對(duì)一個(gè)變量的可能值求和,以確定另一個(gè)變量的邊緣貢獻(xiàn))。
RAG模型的組成部分:檢索器和生成器。檢索器是基于DPR [26]的雙編碼器架構(gòu),使用BERT [8]作為查詢編碼器和文檔編碼器。生成器是基于BART [32]的預(yù)訓(xùn)練seq2seq模型,可以根據(jù)輸入、前綴和檢索到的文檔生成輸出。
RAG模型的訓(xùn)練和解碼方法:訓(xùn)練時(shí),使用負(fù)對(duì)數(shù)似然作為損失函數(shù),只更新查詢編碼器和生成器的參數(shù),保持文檔編碼器和索引不變。解碼時(shí),對(duì)于RAG-Token,使用標(biāo)準(zhǔn)的束搜索;對(duì)于RAG-Sequence,使用一種基于每個(gè)文檔進(jìn)行束搜索并匯總候選集的方法。
RAG模型的評(píng)估方法:使用四個(gè)開放域問(wèn)答數(shù)據(jù)集(Natural Questions, TriviaQA, WebQuestions和CuratedTrec)和兩個(gè)生成式任務(wù)(MS-MARCO和Jeopardy)來(lái)評(píng)估RAG模型的性能。使用精確匹配(EM)和F1分?jǐn)?shù)作為問(wèn)答任務(wù)的指標(biāo),使用BLEU和ROUGE作為生成式任務(wù)的指標(biāo)。
RAG模型的實(shí)驗(yàn)結(jié)果:RAG模型在所有任務(wù)上都顯著優(yōu)于BART基線,證明了檢索增強(qiáng)生成的有效性。RAG-Token在問(wèn)答任務(wù)上表現(xiàn)更好,RAG-Sequence在生成式任務(wù)上表現(xiàn)更好。RAG模型也優(yōu)于其他基于檢索的方法,如REALM [20]和Fusion-in-Decoder [14]。
RAG模型的分析和討論:通過(guò)對(duì)比不同的檢索方法、不同的文檔數(shù)量、不同的解碼策略等,分析了RAG模型的各個(gè)組成部分對(duì)性能的影響。通過(guò)可視化檢索到的文檔和生成的輸出,展示了RAG模型如何利用外部知識(shí)來(lái)提高生成質(zhì)量。通過(guò)人工評(píng)估,比較了RAG模型和BART模型在事實(shí)性、流暢性、多樣性等方面的差異。
RAG模型的內(nèi)部知識(shí)可以輕松地隨時(shí)更改或補(bǔ)充,從而控制RAG知識(shí)的取舍,而無(wú)需浪費(fèi)時(shí)間或算力重新訓(xùn)練整個(gè)模型。這是因?yàn)镽AG使用了兩種知識(shí)來(lái)源:以參數(shù)形式存儲(chǔ)于seq2seq模型的知識(shí)(參數(shù)記憶)和用檢索系統(tǒng)召回的語(yǔ)料庫(kù)中的知識(shí)(非參數(shù)記憶)。這兩種知識(shí)來(lái)源相互補(bǔ)充,使用非參數(shù)記憶讓RAG擅長(zhǎng)知識(shí)密集型任務(wù)的自然語(yǔ)言生成。
(1) NeurIPS 2020|RAG:為知識(shí)密集型任務(wù)而生 - 知乎 - 知乎專欄. https://zhuanlan.zhihu.com/p/264485658.
(2) 檢索增強(qiáng)生成 (RAG) | Prompt Engineering Guide. https://www.promptingguide.ai/zh/techniques/rag.
(3) Retrieval-Augmented Generation for Open-Domain QA - 知乎 - 知乎專欄. https://zhuanlan.zhihu.com/p/339942960.