什麼是檢索增強生成?

檢索增強生成是一種利用從外部來源獲取的事實來提高生成人工智慧模型準確性和可靠度的技術
作者 Rick Merritt

要理解生成式人工智慧的最新進展,可以想像為一個法庭。

法官根據對法律的一般理解來聆聽並做出判決。有時候,一個案件,比如過失訴訟或勞資爭議,需要特殊專業知識,所以法官會派遣法庭助理到法律圖書館,尋找可以引用的先例和特定案例。

就像一位優秀的法官一樣,大型語言模型(LLM)可以回應各種人類查詢。但為了提供引用來源的權威答案,該模型需要助手進行一些研究。

人工智慧的法庭助理是一個稱為檢索增強生成(Retrieval-Augmented Generation,簡稱 RAG)的過程。

名稱的由來

Patrick Lewis 是 2020 年創造這個術語的論文的主要作者,他對這個不太討喜的字母縮寫詞表示歉意,該縮寫詞現在描述了數百篇論文和數十種商業服務中不斷增長的方法系列,他認為代表了生成式人工智慧的未來。

Picture of Patrick Lewis, lead author of RAG paper
Patrick Lewis

「如果我們知道我們的工作會變得如此普及,我們當然會對名稱多花些心思」Lewis在新加坡接受採訪時說,他當時正在一個區域性的資料庫開發者大會分享自己的想法。

「我們一直計劃要取個更好聽的名字,但到了寫論文的時候,沒有人有更好的主意,」Lewis 表示,他現在是人工智慧新創公司 Cohere 的 RAG 團隊的負責人。

那麼,什麼是檢索增強生成?

檢索增強生成是一種利用從外部來源獲取的事實來提高生成人工智慧模型準確性和可靠度的技術。

換句話說,它填補了大型語言模型運作方式中的一個空缺。在本質上,大型語言模型是神經網路,通常透過它們包含多少的參數量來衡量。大型語言模型的參數機基本上代表了人類如何使用單字形成句子的一般模式。

這種深刻的理解,有時被稱為參數化知識,使得大型語言模型能夠以極快的速度對一般提示作出回應。 但是,它無法滿足那些想要更深入研究當前或更特定主題的使用者。

結合內外部資源

Lewis 和他的同事開發了檢索增強生成技術,以將生成式人工智慧服務與外部資源相連接,尤其是那些包含最新技術細節的資源。

這份論文由來自前 Facebook AI Research(現在是Meta AI)、倫敦大學學院和紐約大學的合著作者撰寫,將 RAG 稱為「通用的微調配方」,因為幾乎任何大型語言模型都可以使用它來連接幾乎任何外部資源。

建立使用者的信任

檢索增強生成為模型提供可以引用的來源,就像研究論文中的註腳,這樣使用者可以核查任何主張。這有助於建立信任。

此外,該技術可以幫助模型消除使用者查詢中的歧義。 它還降低了模型產生「幻覺」而做出錯誤猜測的可能性。

檢索增強生成的另一個優勢是它相對簡單。Lewis 和論文的三位合著作者在一篇部落格文章中表示,開發人員可以使用僅五行程式碼建置這個過程。

這使得該方法比使用額外資料集重新訓練模型更快、更便宜。它還允許用戶即時切換新的來源。

人們如何使用檢索增強生成

透過檢索增強生成,使用者基本上可以與資料儲存庫進行對話,開啟了新的體驗方式。這意味著檢索增強生成的應用可能是現有可用資料集的數倍。

舉例來說,一個帶有醫學索引的生成式人工智慧模型可以成為醫生或護士的優秀助手。金融分析師將受益於與市場資料相連接的助手。

事實上,幾乎任何企業都可以將其技術或政策手冊、影片或日誌轉化為稱為知識庫的資源,以增強大型語言模型的能力。這些資源可以實現像是客戶支援、現場支援、員工訓練和開發人員生產力等用例

這種廣大的潛力是為什麼包括 AWSIBMGlean、Google、Microsoft、NVIDIA、OraclePinecone 在內的公司正在採用檢索增強生成技術。

開始使用檢索增強生成

為了幫助使用者入門,NVIDIA 開發了一個用於檢索增強生成的參考架構。它包括一個範例聊天機器人以及使用者需要利用這種新方法創建自己應用程式所需的元素。

這個工作流程使用了 NVIDIA NeMo,這是一個用於開發和自定義生成式人工智慧模型的框架,還使用 NVIDIA Triton 推論伺服器NVIDIA TensorRT-LLM 軟體於運行上線的生成式人工智慧模型。

這些軟體元件都是 NVIDIA AI Enterprise 的一部分,可加速生產就緒人工智慧的開發和部署,並提供企業所需的安全性、支援和穩定性。

要實現檢索增強生成工作流程的最佳效能,需要大量的記憶體和運算來移動和處理資料。NVIDIA GH200 Grace Hopper 超級晶片具有 288GB
快速 HBM3e 記憶體和 8 petaflops 的運算能力,是理想的選擇,它可以實現比使用 CPU 快 150 倍的加速。

一旦公司熟悉了檢索增強生成,他們就可以將各種現成的或客製化的大型語言模型與內部或外部的知識庫結合,創建各種助手來協助其員工和客戶。

Chart shows running RAG on a PC
個人電腦上檢索增強生成的應用範例

檢索增強生成不需要資料中心。大型語言模型已經在 Windows PC 上亮相,使用者透過 NVIDIA 軟體可以在筆記型電腦上存取各種相關應用程式。

搭載 NVIDIA RTX GPU 的個人電腦現在可以本地端運行一些人工智慧模型。透過在個人電腦上使用檢索增強生成,使用者可以連接到私有知識來源,無論是電子郵件、筆記還是文章,以改進回應。使用者可以放心,他們的資料來源、提示和回應都保持私密和安全。

最近的一篇部落格文章提供了一個使用 TensorRT-LLM 加速 Windows 上的檢索增強生成以快速獲得更好結果的範例。

檢索增強生成的歷史

這項技術的根源至少可以追溯到 20 世紀 70 年代初。那時,訊息檢索領域的研究人員開發了他們所稱之為問答系統的原型,即使用自然語言處理(NLP)來訪問文本的應用程式,最初僅限於像是棒球等狹窄的主題。

多年來,這種文本探勘背後的概念一直相當穩定。 但驅動它們的機器學習引擎已經顯著成長,提高了它們的實用性和受歡迎程度。

在 20 世紀 90 年代中期,Ask Jeeves 服務,現在稱為 Ask.com,透過其穿著考究的侍者為吉祥物,普及了問答服務。IBM 的華生(Watson)在 2011 年輕鬆擊敗兩名 Jeopardy! 遊戲節目上的人類冠軍,成為了一位電視名人。

Picture of Ask Jeeves, an early RAG-like web service

今天,大型語言模型正在將問答系統提升到全新的水平。

來自倫敦實驗室的見解

這篇開創性的 2020 年論文發表之際,Lewis 正在倫敦大學學院攻讀 NLP 博士學位,並在倫敦一個新的人工智慧實驗室為 Meta 工作。這個團隊當時正在尋找方法,以將更多的知識融入到大型語言模型(LLMs)的參數中,並使用他們開發的基準來測量進展。

基於先前的方法並受到 Google 研究人員一篇論文的啟發,該小組「擁有這樣一個令人信服的願景:經過訓練的系統,中間有一個檢索索引,這樣就可以學習和產生任何你想要的文本輸出。」Lewis 回憶道。

Picture of IBM Watson winning on "Jeopardy" TV show, popularizing a RAG-like AI service
IBM Watson 問答系統在電視遊戲節目Jeopardy!中大獲全勝後成為名人

當 Lewis 將另一支 Meta 團隊正在進行中的檢索系統整合進來時,第一個結果出乎意料地令人印象深刻。

「我向我的主管展示了結果,他說,『哇,太棒了,要把這個功勞算在你的頭上,這種事情不常發生』,因為這些工作流程可能很難在第一次就設定正確。」他說。

Lewis 也將此歸功於團隊成員 Ethan Perez 和 Douwe Kiela 的重大貢獻,他們當時分別在紐約大學和 Facebook 人工智慧研究中心工作。

完成後,這項工作在一個 NVIDIA GPU 叢集上運行,展示了如何使生成式人工智慧模型更具權威性和可信度。此後,這一工作已被數百篇論文引用,這些論文擴展了概念,並使其成為一個持續活躍的研究領域。

檢索增強生成如何運作

從高層次來看,NVIDIA 技術簡報中對檢索增強生成過程的描述:當使用者向大型語言模型提出問題時,人工智慧模型將該查詢發送給另一個模型,該模型將其轉換為數值格式,以便機器能夠閱讀它。這個查詢的數值版本有時被稱為嵌入(embedding)或向量(vector)。

NVIDIA diagram of how RAG works with LLMs
檢索增強生成將大型語言模型與嵌入模型和向量資料庫結合

然後,嵌入模型將這些數值與可用知識庫的機器可讀索引中的向量進行比較。當它找到一個或多個匹配時,它檢索相關數據,將其轉換為人類可讀的文字,然後傳遞回給大型語言模型。

最後,大型語言模型將檢索到的文字與自己對查詢的回應結合,形成最終的答案,呈現給使用者,可能還引用了嵌入模型發現的來源。

保持來源最新

在背景中,嵌入模型不斷建立和更新機器可讀索引(有時稱為向量資料庫),以納入在全新的和更新的知識庫。

Chart of a RAG process described by LangChain
LangChain 的圖表提供了大型語言模型使用檢索過程的另一種視角

許多開發人員發現 LangChain 這個開源程式庫在將大型語言模型、嵌入模型和知識庫連結在一起時特別有用。 NVIDIA 在其參考架構中使用 LangChain 進行檢索增強生成。

LangChain 社群提供了自己對檢索增強生成流程的描述。

展望未來,生成式人工智慧的未來在於創造性地將各種大型語言模型和知識庫連結在一起,以創建新型助手,提供使用者可以驗證的權威結果。

NVIDIA LaunchPad 實驗室中,透過人工智慧聊天機器人親身體驗使用檢索增強生成。