圖1 RAG技術發展科技樹

2 ?定義

RAG是一種通過整合外部知識庫來增強LLM的性能的模式,采用協同方法結合信息檢索機制和上下文學習來提高LLM的性能。其工作流程包括三個關鍵步驟:將語料庫劃分為離散塊,構建向量索引,并根據與查詢和索引塊的向量相似性來識別和檢索塊。這些步驟支持其信息檢索和上下文感知生成能力。RAG已成為LLMs系統中最受歡迎的架構之一,許多對話產品幾乎完全基于RAG構建。

圖 2 RAG 技術在 QA 問題中的案例

3 ?RAG框架

在RAG的技術演進歷程中,基于技術范式的考量,我們將其劃分為以下幾個發展階段:樸素RAG、進階RAG和模塊RAG。

3.1 ?樸素

RAG樸素RAG研究范式是一種早期的方法學,用于處理自然語言生成任務。它包括索引、檢索和生成三個階段。索引階段從原始數據中提取文本,并將其轉化為向量表示,以便于檢索和生成。檢索階段計算查詢向量與索引語料庫中向量化的塊之間的相似度分數,并優先檢索出最相似的塊作為擴展上下文的基礎。生成階段將查詢和選定的文檔合成一個連貫的提示,并要求大型語言模型根據提示來制定響應。這種方法允許模型利用其內在的參數知識或將其響應限制在提供文檔中所包含的信息。Naive RAG在檢索、生成和增強三個關鍵領域面臨挑戰,包括精度低、召回率低、幻覺挑戰、難以結合上下文、重復冗余、平衡段落價值、協調寫作風格和語氣、過度依賴增強信息等。這些問題影響了模型性能和輸出質量。

3.2 ?進階RAG

進階RAG通過增強有針對性的檢索策略和改進索引方法來彌補Naive RAG的缺點。它實施了預檢索和后檢索策略,并采用了滑動窗口、細粒度分割和元數據等技術來改進索引方法。此外,還引入了各種方法來優化檢索過程,如ILIN。在檢索階段,通過計算查詢和塊之間的相似性來確定適當的上下文,并微調嵌入模型以增強特定領域上下文中的檢索相關性。在后檢索階段,應對上下文窗口限制帶來的挑戰,并對檢索到的內容進行重新排名和提示壓縮。

3.3 ?模塊RAG

圖3 RAG 范式對比圖

模塊RAG結構是新型框架,具大靈活性和適應性,可整合各種方法增強功能模塊,解決特定問題。此范式漸成常態,支持多模塊間串行流水線或端到端訓練方法。進階RAG是模塊RAG的專門形式,Naive RAG是進階RAG的特例。三者關系為繼承和發展。

新模塊搜索模塊通過集成LLM生成的代碼、查詢語言和其他定制工具,實現了對特定場景的定制和額外的語料庫的直接搜索。記憶模塊利用LLM的記憶能力來引導檢索,通過迭代創建無界的記憶池并結合“原始問題”和“雙重問題”。RAG-Fusion通過采用多查詢方法來增強傳統搜索系統,并揭示更深層次的變革性知識。查詢路由決定用戶的查詢的后續操作,選擇適合查詢的數據存儲,并確保搜索結果與用戶的顯式和隱含意圖緊密匹配。任務適配器專注于將RAG適應于各種下游任務,并增強了跨任務和模型的通用性。

新模式下的模塊RAG具有高度的適應性,允許在RAG過程中替換或重新排列模塊以適應特定問題情境。優化RAG管道可以提高信息效率和信息質量,通過整合各種搜索技術、改進檢索步驟、融入認知回溯、實施多功能的查詢策略和利用嵌入相似性,實現檢索效率和上下文信息的深度之間的平衡。這些方法有助于生成對后退提示的響應和最終的答案生成過程。然而,這種方法可能不會始終產生令人滿意的結果,特別是在語言模型對主題不熟悉時。

4 ?檢索

在RAG中,精確語義表示、協調查詢和文檔語義空間、以及檢索器輸出與大型語言模型偏好的協調,是高效檢索相關文檔的核心問題。

4.1 ?加強語義表示

RAG中的語義空間對于查詢和文檔的多維映射至關重要,建立準確語義空間的方法包括塊優化和管理外部文檔的微調嵌入模型。塊優化需要考慮索引內容的性質、嵌入模型、用戶查詢的預期長度和復雜性以及應用程序的使用情況,而微調嵌入模型需要使用專門領域的數據集,以提高模型準確捕捉特定領域信息的能力。最近的研究引入了多樣化的方法,如摘要嵌入技術、元數據篩選技術和圖索引技術等,以提高檢索結果和RAG的性能。

4.2 ?對齊查詢和文檔

RAG應用中,檢索器可以通過查詢重寫和嵌入變換兩種基本技術實現查詢和文檔語義對齊。查詢重寫通過將原始查詢與額外指導結合來創建偽文檔或生成“假設”文檔,而嵌入變換則通過優化查詢嵌入的表示并將其映射到與預期任務更緊密對齊的潛在空間中。這兩種技術都能提高檢索器識別結構化信息的能力。

4.3 ?對齊檢索器和LLM

在RAG管道中,提高檢索命中率不一定能改善最終結果,因為檢索到的文檔可能不滿足LLMs的需求。為了改善檢索性能和更準確地響應用戶查詢,提出了兩種將檢索器輸出與LLMs偏好對齊的方法:微調檢索器和適配器。微調檢索器時,可以使用LLM反饋信號來完善檢索模型,并使用監督信號進行訓練。適配器則通過API集成功能或解決本地計算資源有限的問題來幫助對齊。此外,還介紹了四種監督微調嵌入模型的方法,以提高檢索器和LLM之間的協同作用。這些方法有助于提高檢索性能和更準確地響應用戶查詢。

5 ?生成

RAG的重要組件是生成器,負責將檢索信息轉換為連貫文本。它通過整合數據提高準確性,受檢索文本指導確保一致性。這種全面輸入讓生成器深入了解問題上下文,提供更有信息和上下文相關的響應。生成器有助于提高大型模型對輸入數據的適應能力。

5.1 ?使用冷凍LLM進行后檢索

使用大型語言模型進行后檢索處理,可以優化檢索結果質量,使其更符合用戶需求或后續任務。信息壓縮和重新排序是兩種常見的操作,通過減少噪音、解決上下文長度限制和增強生成效應來提高模型回答的準確性。重新排序模型在優化檢索器檢索的文檔集合方面起著重要作用,通過重新排列文檔記錄,優先考慮最相關的項目,從而限制文檔總數,提高檢索效率和響應速度。這種方法還納入了上下文壓縮,以提供更精確的檢索信息。

5.2 ?針對RAG的微調

LLM優化RAG模型的關鍵在于生成器的優化,生成器的作用是接收檢索到的信息并生成相關文本。為了提高生成器的性能,需要對模型進行微調,并使用代表性工作進行數據和優化函數的探索。總體優化過程包括訓練數據通常包括輸入-輸出對,旨在訓練模型根據輸入生成輸出。利用對比學習和實施結構化數據訓練方案也可以提高模型性能。

6 ?RAG的增強

RAG發展關鍵技術主要圍繞增強階段、增強數據來源和增強過程三個方面。圖4展示了RAG核心組件的分類。

圖4 RAG的核心組件的分類體系

6.1 RAG的增強階段

RAG的增強階段包括預訓練、微調和推理階段。預訓練階段通過基于檢索的策略加強開放域QA的PTMs,如REALM模型和RETRO模型。微調階段,RAG與微調結合能更好地滿足特定場景需求,微調檢索器能優化語義表示,協調檢索與生成模型,提升通用性和適應性。推理階段,RAG模型的推理階段十分重要,與LLM的集成廣泛,如DSP框架、PKG方法、CREAICL、RECITE和ITRG等。這些增強階段能利用預訓練模型的能力而無需進一步訓練。

6.2 ?增強源

RAG模型通過增強數據源的選擇和不同層次的知識處理技術來提高有效性。增強方法包括使用純文本等非結構化數據、結構化數據,以及利用LLM自身生成的內容進行檢索和增強。結合無結構數據時,模型生成低概率單詞觸發,創建臨時句子,用檢索到的上下文重新生成句子以預測后續句子。結合結構化數據時,模型使用知識圖譜提供高質量的上下文信息,緩解模型幻覺。在RAG中利用LLMs生成的文本時,模型將問題分為已知或未知,選擇性地應用檢索增強,或將LLM生成器用于取代檢索器,通過迭代創建與檢索增強生成器無界的內存池,使用內存選擇器來選擇作為原始問題的雙重問題的輸出,從而自我增強生成模型。這些方法強調了RAG中創新數據源利用的廣泛性,旨在提高模型性能和任務有效性。

6.3 ?增強過程

在RAG領域,為了解決單一檢索步驟和生成可能導致效率低下的問題,提出了改進檢索過程的方法,包括迭代檢索、遞歸檢索和自適應檢索。迭代檢索通過多次迭代提供額外的上下文參考,增強后續答案生成的魯棒性。遞歸檢索通過反復改進搜索查詢來提高搜索結果的深度和相關性。自適應檢索通過使LLM主動確定檢索的最佳時間和內容來提高檢索信息的效率和相關性。這些方法需要根據特定場景的要求和每個方法的固有屬性進行選擇。

圖5 具有不同增強方面的代表性 RAG 研究的技術樹圖譜

圖6 RAG與其他模型優化方法的比較表1 RAG與微調之間的比較

6.4 ?RAG與微調的比較

RAG和FT是兩種不同的方法,RAG適合特定查詢,FT適合復制特定結構、樣式或格式。FT可以提升模型性能和效率,但不適合整合新知識或快速迭代新用途。這兩種方法可以相互補充,結合使用可能產生最優性能。優化過程可能需要多次迭代。

7 ?RAG評估

自然語言處理中的RAG模型評估在法律語言學社區中受到關注,評估主要目的是理解和優化模型在不同應用場景的性能。歷史上,評估主要集中在特定下游任務中的表現,使用適合手頭任務的既定指標。現在,評估的目標、方面、基準和工具已經轉向基于RAG模型獨特屬性的研究,以提供一個全面的概述。

7.1 ?評估目標

RAG模型的評價集中于檢索和生成模塊,評估檢索質量可以使用命中率、MRR和NDCG等指標,評估生成質量包括真實性、相關性、非危害性和準確性,可以通過手動或自動評估方法進行。對于未標記的內容,評估還包括上下文相關的答案。評估方法可以用于檢索和生成的質量評估。

7.2 評估方面

RAG模型的評價主要關注三個關鍵質量分數(上下文相關性和答案準確性、相關性)和四種基本能力(噪聲魯棒性、負拒絕、信息整合、反事實魯棒性)。這些因素共同影響著模型的檢索和生成兩大目標。質量分數從信息檢索和生成過程中的不同角度評估模型的效率,而能力則對模型在各種挑戰和復雜場景下的性能至關重要。表2總結了每個評估方面的具體指標。表2 適用于評價方面RAG的指標摘要表

7.3 ?評估基準和工具

RAG模型評估框架由基準測試和自動化評估工具組成,提供定量指標以衡量模型表現并加深對其能力的理解。基準測試評估模型基本能力,而自動化工具利用LLM裁定質量分數。這些工具和基準共同構成強大的RAG模型評估框架,如表3所示。表3 評價框架摘要

8 ?未來展望

這一部分探討了RAG的三個未來展望:未來的挑戰、模式擴展和RAG生態系統。

8.1 ?RAG的未來挑戰

RAG技術雖然取得了顯著進展,但仍面臨一些挑戰,如擴大LLM角色、規模定律和生產就緒的RAG等。RAG技術已經超越了基于文本的問答,接納了圖像、音頻和視頻等多種模態數據,催生了創新的多模態模型。在圖像領域,RA-CM3和BLIP-2等模型實現了文本和圖像的檢索和生成,以及零樣本圖像到文本轉換。在音頻和視頻領域,GSS方法、UEOP、基于KNN的注意力融合、Vid2Seq等也取得了進展。在代碼領域,RBPS通過編碼和頻率分析檢索與開發人員目標一致的代碼示例,表現出色。RAG技術還有很大的發展空間。

8.2 ?RAG生態系統

RAG生態系統是一種強大的語言模型,能夠處理復雜的查詢并產生詳細的響應,在醫學、法律和教育等領域表現出色。RAG生態系統的發展受到技術堆棧發展的影響,如關鍵工具的流行和新興技術堆棧的獨特貢獻。RAG模型和技術堆棧的共同增長是顯而易見的,技術進步不斷為現有基礎設施制定新標準。RAG工具包正在匯集成為一個基礎技術堆棧,為高級企業應用程序奠定基礎。然而,完全集成和全面的平臺的概念仍然存在,有待進一步的創新和發展。

圖 7 RAG 的生態系統概覽

文章轉自微信公眾號@Python人工智能前沿

上一篇:

完整解讀!機器學習模型評估指標!

下一篇:

一文講透 AI Agent 與 AI Workflow 的區別和深度解析:從自動化到智能化的演進
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費