Facebook 開源人工智能模型 RAG:可檢索文檔以回答問題

教會計算機理解人類如何寫作、說話,即所謂的自然語言處理(Natural Language Processing,NLP),這是人工智能研究領域最古老的挑戰之一。然而,過去兩年,方法出現了明顯的變化。過去,研究主要集中在爲特定任務開發特定框架,而今天強大的通用語言模型已經可以針對各種各樣的不同任務進行微調。雖然前景看好,但這方面的努力都已經將這些通用模型應用於人類無需額外補充背景知識就能產生解決方案的任務(如情感分析)。

構建一個研究和情境化的模型更具挑戰性,但它對未來的進步至關重要。最近,我們在這個領域取得了實質性的進展,我們的 RAG(RetrievalAugmentedGeneration,檢索增強生成)架構是一個端到端的可差異化模型,它結合了信息檢索組件(Facebook AI 的基於稠密段落檢索系統(dense-passage retrieval system)和 seq2seq 生成器(Facebook 的BART 模型(Bidirectional and Auto-Regressive Transformers,雙向和自迴歸 Transformer ))。與最大的預訓練 seq2seq 語言模型相比,RAG 可以在知識密集型下游任務上進行微調,達到最優結果。而且與這些預訓練模型不同,RAG 的內部知識可以輕鬆地隨時更改或補充,從而使研究人員和工程師控制 RAG 所知道的內容,而不會浪費時間或算力來重新訓練整個模型。

結合開卷和閉卷的優勢

RAG 的外觀和行爲類似於標準的 seq2seg 模型,這意味着它接受一個序列並輸出相應的序列。不過,還有一箇中間步驟,它將 RAG 與通常的 seq2seq 方法區別開來並提升。RAG 不是直接將輸入傳遞給生成器,而是使用輸入檢索一組相關文檔,在我們的例子中,是從維基百科(Wikipedia)檢索的。

例如,給出提示“地球上第一個哺乳動物是什麼時候出現的?”,RAG 可能會提供“哺乳動物”、“地球歷史”和“哺乳動物進化”的文檔。然後,將這些支持文檔與原始輸入作爲上下文連接起來,並提供給生成實際輸出的 seq2seq 模型。因此,RAG 有兩個知識來源:seq2seq 模型在其參數中存儲的知識(參數記憶)和存儲在 RAG 段落檢索語料庫中的知識(非參數記憶)。

這兩個來源相輔相成。我們發現,RAG 使用其非參數記憶來“提示”seq2seq 模型產生正確的響應,本質上結合了“閉卷”或純參數方法的靈活性與“開卷”或基於檢索的方法性能。RAG 使用一種後期融合的形式集成所有檢索到的文檔知識,這意味着它對文檔-問題進行單獨的答案預測,然後聚合最終的預測分數。最關鍵的是,使用後期融合允許我們將輸出中的錯誤信號反向傳播到檢索機制,這可以實質性地顯著提高端到端系統的性能。

將基於檢索的組件與生成組件相結合,即使在純粹的提取任務(如開放域 NaturalQuestions 任務)中也具有優勢。當 RAG 可以訪問包含正確答案線索的文檔,但答案從未逐字說明時,性能也會提高,並且 RAG 甚至可以在某些情況下生成正確答案,而正確答案在任何文檔都檢索不到。我們用 RAG 在 NaturalQuestions、CuratedTrec 和 WebQuestions 上獲得了非常好的結果,證明了最先進的機器閱讀性能可以用生成式閱讀器而不是提取式閱讀器來實現。

RAG 確實擅長知識密集型的自然語言生成,我們通過生成“Jeopardy!”問題進行了探索。RAG 生成的“Jeopardy!”問題比同類最先進的 seq2seq 模型的問題更具體、更多樣、更符合事實。我們認爲,這是因爲 RAG 有能力使用從多個來源獲得的不同信息來合成一個響應。

RAG 的真正優勢在於其靈活性。要改變預訓練的語言模型所知道的內容,需要用新的文檔對整個模型進行再訓練。通過 RAG,我們可以通過交換知識檢索所用的文檔來控制它所知道的內容。我們將維基百科的原始數據集換成一箇舊的數據集,然後問一些問題,比如,“誰是冰島的總理?”,對這種行爲進行測試。結果表明,儘管參數知識保持靜態,但 RAG 還是利用交換語料庫中的知識來調整其答案。在事實(或我們對事實的理解)隨時間演變的情況下,這種自適應方法是非常有價值的。

消除研究中的訓練開銷

如果人工智能助手要在日常生活中扮演更有用的角色,它們不僅需要能夠訪問大量的信息,更重要的是,能夠訪問正確的信息。考慮到世界的發展速度,事實證明,這對於預訓練的模型具有挑戰性,即使是很小的變化,也需要不斷的計算密集型再訓練。RAG 允許自然語言處理模型繞過再訓練步驟,訪問並提取最新的信息,然後使用最先進的 seq2seq 生成器輸出結果。這種融合應該會使未來的自然語言處理模型更具適應性,而且我們確實已經從 Facebook 的人工智能相關研究項目 Fusion-in-Decoder 中看到了成果。

我們認爲 RAG 具有廣闊的潛力,這就是我們今天發佈它作爲 Hugging Face Transformer 庫的一個組件的原因。Hugging Face 的Transformer已經成爲開源自然語言處理中事實上的標準,這要歸功於它較低的進入門檻和對最新模型的覆蓋,並且它與新的Datasets庫集成,以提供 RAG 所依賴的索引知識源。現在,隨着 RAG 的加入,我們相信社區將能夠基於檢索的生成應用於我們已經探索過的知識密集型任務和一些我們甚至還沒有想到的任務。

RAG 解放了研究人員和工程師,使他們能夠快速開發和部署解決方案,以完成自己的知識密集型任務,而這些任務只需五行代碼即可完成。我們可以預見未來對知識密集型任務的研究潛力,這些任務就像今天的情緒分析這樣的輕量級知識任務一樣簡單易懂。

作者介紹:

Sebastian Riedel,研究主管;Douwe Kiela,研究科學家;Patrick Lewis,FAIR 博士生;Aleksandra Piktus,軟件工程師。

原文鏈接:

https://ai.facebook.com/blog/retrieval-augmented-generation-streamlining-the-creation-of-intelligent-natural-language-processing-models

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章