
使用NestJS和Prisma構建REST API:身份驗證
RAG(Retrieval-Augmented Generation)融合了兩大核心組件:
-(i)檢索模塊,負責從外部知識庫中檢索相關文檔或信息,利用密集向量表示從大型數據集,如維基百科或私有數據庫中識別相關文檔。
-(ii)生成模塊,負責處理這些信息,產出類似人類語言的文本,檢索到的文檔隨后被送至生成模塊,該模塊通常基于 transformer 架構構建。
RAG有助于減少生成內容的“幻覺”現象,確保文本更具事實性和上下文適宜性。RAG已廣泛應用于多個領域,包括:
在RAG出現之前,自然語言處理(NLP)主要依賴于檢索或生成方法。
這兩種方法的互補性,使得大家開始嘗試檢索和生成的混合系統。最早的混合系統可以追溯到DrQA,使用檢索技術來獲取問答任務的相關文檔。
RAG模型包括兩個核心組件:
RAG的強項在于其能夠動態利用外部知識,在性能上超越了依賴靜態數據集的生成模型如GPT-3。
BM25是一種使用較廣的信息檢索算法,利用詞頻-逆文檔頻率(TF-IDF)來根據相關性對文檔進行排序。盡管是一種經典方法,依然是許多現代檢索系統,包括RAG模型中使用的系統的一個標準算法。
BM25根據查詢詞在文檔中的出現頻率來計算文檔的相關性得分,同時考慮文檔長度和詞在整個語料庫中的頻率。盡管BM25在關鍵詞匹配方面表現出色,但它在理解語義含義上存在局限。例如,BM25無法捕捉詞與詞之間的關系,并且在處理需要上下文理解的復雜自然語言查詢時表現不佳。
但是,BM25因簡單高效而被廣泛采用。適用于基于關鍵詞的簡單查詢任務,盡管像DPR這樣的現代檢索模型在處理語義復雜的任務時往往性能更好。
密集段落檢索(Dense Passage Retrieval,DPR)是一種新的信息檢索方法。使用一個高維向量空間,查詢和文檔都被編碼成高維向量。
采用雙編碼器架構,分別對查詢和文檔進行編碼,從而實現高效的最近鄰搜索。
與BM25不同,DPR在捕捉查詢和文檔之間的語義相似性方面表現出色,使其在開放域問答任務中極為有效。
DPR的優勢在于其能夠根據語義含義而非關鍵詞匹配來檢索相關信息。通過在大量問答對語料庫上訓練檢索器,DPR能夠找到與查詢上下文相關的文檔,哪怕查詢和文檔沒有使用完全相同的詞匯。最新的研究通過將DPR與預訓練語言模型結合,進一步優化了DPR。
REALM將檢索過程融入語言模型的預訓練,確保檢索器與生成器協同優化,以適應后續任務。
REALM的創新之處在于:能夠學習檢索出能夠提升模型在特定任務上表現的文檔,比如問答或文檔摘要。
訓練過程中,REALM對檢索器和生成器進行同步更新,優化檢索流程以更好地服務于文本生成任務。
REALM的檢索器被訓練為能夠識別出既與查詢相關又有助于生成準確、連貫回答的文檔。因此,REALM顯著提升了生成回答的質量,尤其是在需要依賴外部知識的那些任務上。
最新研究顯示,在某些知識密集型任務中,REALM超越了BM25和DPR,特別是在檢索與生成緊密結合的情況下。
RAG的精髓在于檢索段落的質量,但許多現有方法依賴于基于相似性的檢索(Mallen等,2022)。
Self-RAG和REPLUG通過利用大型語言模型(LLM)增強檢索能力,實現了更靈活的檢索。
初次檢索后,交叉編碼器模型通過聯合編碼查詢和檢索文檔來重新排序結果,計算相關性得分。這些模型雖然提供了更豐富的上下文感知檢索,但計算成本較高。
RAG系統利用LLM中的自注意力機制來管理輸入和檢索文本各部分的上下文和相關性。在將檢索信息整合到生成模型時,采用交叉注意力機制,以確保在生成過程中突出最相關的信息片段。
在 RAG 中,生成器是將檢索到的信息與輸入查詢融合,生成最終輸出的關鍵環節。
一旦檢索組件從外部資源中提取出相關知識,生成器便會將這些信息編織成連貫、符合上下文的回應。大型語言模型(LLM)構成了生成器的核心,確保生成的文本流暢、準確,并與原始查詢保持一致。
T5((Text-to-Text Transfer Transformer)是RAG系統中用于生成任務的常用模型之一。
T5的靈活性體現在其將所有NLP任務視為文本到文本的任務。這種統一的框架使得T5能夠針對廣泛的任務進行微調,包括問答、摘要和對話生成。
通過整合檢索與生成,基于T5的RAG模型在多個基準測試中超越了傳統生成模型,如GPT-3和BART,特別是在Natural Questions數據集和TriviaQA數據集上。
此外,T5在處理復雜多任務學習方面的能力,使其成為需要應對多樣化知識密集型任務的RAG系統的首選。
BART(Bidirectional and Auto-Regressive Transformer)特別適合處理從嘈雜輸入中生成文本的任務,例如摘要和開放域問答。
作為一種去噪自編碼器,BART能夠重建損壞的文本序列,使其在需要從不完整或嘈雜數據中生成連貫、事實性輸出的任務中表現出色。
當與RAG系統中的檢索器結合時,BART已被證明能夠通過外部知識提高生成文本的事實準確性。
基于文本的RAG模型是目前最為成熟且廣泛研究的類型。
依托文本數據,執行檢索與生成任務,推動了問答、摘要和對話智能體等應用的發展。
BERT和T5等Transformer架構構成了文本RAG模型的基石,運用自注意力機制來捕捉文本內的上下文聯系,從而提升檢索的精確度和生成的流暢度。
基于音頻的RAG模型將檢索增強型生成的理念拓展至音頻領域,為語音識別、音頻摘要和語音界面中的對話智能體等應用開辟了新天地。音頻數據常通過Wav2Vec 2.0等預訓練模型衍生的嵌入表示來呈現。這些嵌入作為檢索和生成組件的輸入,使得模型能夠有效地處理音頻數據。
基于視頻的RAG模型融合視覺與文本信息,增強了視頻理解、字幕生成和檢索等任務的表現。視頻數據通過 I3D TimeSformer 等模型的嵌入表示來呈現。這些嵌入捕捉了時間與空間特征,對于有效的檢索和生成至關重要。
多模態RAG模型融合了文本、音頻、視頻和圖像等多種模態的數據,為檢索和生成任務提供了一種更全面的方法。
例如Flamingo這樣的模型將不同模態整合進一個統一的框架內,實現了文本、圖像和視頻的同時處理。跨模態檢索技術涉及在不同模態間檢索相關信息。
“檢索即生成(Retrieval as generation)”通過結合文本到圖像和圖像到文本的檢索,將檢索增強型生成(RAG)框架擴展到了多模態應用。利用大規模的配對圖像和文本描述數據集,在用戶查詢與存儲的文本描述相匹配時,能夠快速生成圖像(“檢索即生成”)。
基于智能體的RAG
一種新的智能體檢索增強型生成(RAG)框架采用了分層的多智能體結構,子智能體使用小型預訓練語言模型(SLMs)針對特定的時間序列任務進行微調。主智能體將任務分配給這些子智能體,從共享知識庫中檢索相關提示。這種模塊化多智能體方法實現了較高的性能,展現了在時間序列分析中相較于特定任務方法的靈活性和效率。
RULE
RULE是一個多模態RAG框架,旨在提升醫學視覺-語言模型(Med-LVLM)的事實準確性,通過引入校準選擇策略控制事實風險,并開發偏好優化策略平衡模型內在知識與檢索上下文,證明了其在提升Med-LVLM系統事實準確性方面的有效性。
METRAG
METRAG,一個多層次、思維增強(thoughts enhanced)的檢索增強型生成框架,結合文檔相似性和實用性來提升性能。包括一個任務自適應摘要器,以產生蒸餾后內容摘要。利用這些階段的多次思考,LLM生成知識增強內容,在知識密集型任務上與傳統方法相比展現出更優越的性能。
RAFT(Retrieval Augmented Fine-Tuning)
干擾文檔是檢索增強型微調(RAFT)(Zhang等,2024)的關鍵特征之一,用不相關、干擾性文檔訓練模型如何辨別,而直接引用相關來源。結合思維鏈推理,增強了模型的推理能力。RAFT在特定領域的RAG任務中表現出一致的性能提升,包括PubMed、HotpotQA和Gorilla數據集,作為LLMs的后訓練增強。
FILCOFILCO旨在提升生成模型在開放域問答和事實驗證等任務中提供的上下文質量,解決對檢索段落過度或不足依賴的問題,可能導致生成輸出中的幻覺問題。該方法通過詞匯和信息論方法識別有用的上下文,并通過訓練上下文過濾模型在測試期間提煉檢索上下文,提高了上下文質量。
Self-RAG
反思標記是自反思檢索增強型生成(Self-RAG)(Asai等,2023)的關鍵屬性,通過結合檢索與自反思來提高大型語言模型(LLMs)的事實準確性。與傳統方法不同,Self-RAG自適應地檢索相關段落,并使用反思標記評估和提煉其響應,允許模型根據特定任務需求調整行為,并在開放域問答、推理、事實驗證和長篇生成任務中表現出優越性能。RAG的智能性和有效性在很大程度上取決于檢索質量,對知識庫的更多元數據理解將增強RAG系統的有效性。
MK Summary
一種以數據為中心的檢索增強型生成(RAG)工作流程,超越了傳統的檢索-閱讀模式,采用了準備-重寫-檢索-閱讀框架,通過整合上下文相關、時間關鍵或特定領域的信息來增強LLMs。其創新點包括生成元數據、合成問題和答案(QA),并引入文檔集群的元知識摘要(MK摘要)。
CommunityKG-RAG
CommunityKG-RAG是一個零樣本框架,將知識圖譜(KGs)中的社區結構整合到檢索增強型生成(RAG)系統中。通過利用KGs中的多跳連接,提高了事實檢查的準確性和上下文相關性,超越了不需要額外領域特定訓練的傳統方法。
RAPTOR
RAPTOR引入了一種層次化方法來增強檢索增強型語言模型,解決了傳統方法只檢索短的、連續文本塊的限制。RAPTOR通過遞歸嵌入、聚類和總結文本,形成摘要樹以在不同抽象級別檢索信息。實驗表明RAPTOR在需要復雜推理的問答任務中表現出優越性能。當與GPT-4配對時,RAPTOR在QuALITY基準測試中的準確性提高了20%。
近期推出的支持長期上下文的大型語言模型(LLMs),如Gemini-1.5和GPT-4,顯著提升了RAG性能。
Self-Route
Self-Route 通過模型自省動態分配查詢至RAG或LC,從而優化計算成本與性能。為RAG和LC在處理長期上下文任務時的最佳應用提供了深刻見解。
SFR-RAG
SFR-RAG是一個小巧而高效的RAG模型,旨在增強LLMs對外部上下文信息的整合,同時減少幻覺現象。
LA-RAG
LA-RAG是一種新型RAG范式,旨在提升LLMs中的自動語音識別(ASR)能力。亮點在于其能夠利用細粒度的標記級語音數據存儲和語音到語音的檢索機制,通過LLM的上下文學習提高ASR的精確度。
HyPA-RAG
LLMs在AI法律和政策背景下因知識過時和幻覺而面臨挑戰。HyPA-RAG是一個混合參數自適應檢索增強型生成系統,通過自適應參數調整和混合檢索策略提高了精確度。在NYC Local Law 144的測試中,HyPA-RAG展現了更高的正確性和上下文精度,有效應對了法律文本的復雜性。
MemoRAG
MemoRAG引入了一種新型RAG范式,克服傳統RAG系統在處理模糊或非結構化知識時的局限。MemoRAG的雙系統架構利用輕量級長距離LLM生成草稿答案并指導檢索工具,而更強大的LLM則負責完善最終輸出。這一框架針對更好的線索提取和記憶容量進行了優化,在復雜和簡單的任務中都顯著超越了傳統RAG模型。
NLLB-E5
NLLB-E5推出了一個可擴展的多語言檢索模型,解決支持多語言,尤其是像印度語這樣的低資源語言所面臨的挑戰。借助NLLB編碼器和E5多語言檢索器的蒸餾方法,NLLB-E5能夠實現跨語言的零樣本檢索,無需多語言訓練數據。在Hindi-BEIR等基準測試上的評估顯示了其強大的性能,突顯了任務特定的挑戰,并推動了全球包容性的多語言信息獲取。
在RAG模型中整合文本、圖像、音頻和視頻數據,需著眼于提升多模態融合技術,實現不同數據類型間的無縫交互,包括:
隨著RAG模型在更廣泛的大規模應用中部署,其擴展性變得至關重要。研究應聚焦于開發高效擴展檢索和生成過程的方法,同時不犧牲性能。分布式計算和高效索引技術對于處理龐大數據集至關重要。提升RAG模型的效率需要優化檢索和生成組件,以減少計算資源和延遲。
未來的RAG模型應專注于根據個體用戶的偏好和情境個性化檢索過程。這包括開發基于用戶歷史、行為和偏好調整檢索策略的技術。通過深入理解查詢和文檔庫的上下文和情感,增強RAG模型的上下文適應性,對于提升生成響應的相關性至關重要。研究應探索基于互動上下文的動態調整檢索和生成過程的方法,包括將用戶反饋和上下文線索整合到RAG流程中。
解決偏見是未來研究的關鍵領域,尤其是針對RAG模型的偏見。隨著RAG系統在多樣化應用中的部署,確保公平性并減少檢索和生成內容中的偏見至關重要。未來的RAG研究應聚焦于保護隱私的技術,以在檢索和生成過程中保護敏感信息。包括開發安全數據處理方法和隱私意識的檢索策略。模型的可解釋性也是持續改進RAG研究的一個關鍵領域。
拓展RAG技術以支持多語言,尤其是資源匱乏的語言,是一個充滿希望的發展方向。
致力于提升跨語言檢索與生成能力,確保在不同語言中都能提供準確且相關的結果。提升RAG模型對低資源語言的有效支持,需要開發在有限訓練數據下進行內容檢索與生成的方法。研究應聚焦于轉移學習與數據增強技術,以提高在邊緣語言中的表現。
未來RAG研究應探索能夠適應變化查詢模式和內容需求的動態檢索機制。包括構建能夠根據新信息和用戶需求演進而動態調整檢索策略的模型。
研究混合檢索方法,結合密集檢索與稀疏檢索等不同策略,有望提升RAG系統的效果。研究應著眼于如何整合多樣化的檢索方式,以適應各種任務并達到最佳性能。
將RAG模型與腦機接口(BCIs)相結合,可能在人機交互和輔助技術領域開辟新的應用。研究應探討RAG系統如何利用BCI數據來提升用戶體驗和生成具有上下文感知的響應。RAG與增強現實(AR)和虛擬現實(VR)技術的結合,為創造沉浸式互動體驗提供了機遇。未來的研究應調查RAG模型如何被用于增強AR和VR應用,通過提供上下文相關的信息和交互,提升用戶體驗。
文章轉自微信公眾號@算法進階