- The AI Optimization Digest
- Posts
- RAG 還有未來嗎?在 large context LLM 時代重新思考傳統 RAG 策略
RAG 還有未來嗎?在 large context LLM 時代重新思考傳統 RAG 策略
引言
在早期大型語言模型(LLM)尚未突破上下文限制時,RAG(Retrieval-Augmented Generation,檢索增強生成) 成為了提升 AI 回答能力的關鍵技術。當時,由於模型的 token 數量極為有限(例如 GPT-3.5-turbo 僅能處理約 4,000 個 token),開發者必須將長文檔切割成小塊,再透過 embedding 與向量檢索(vector search)將相關內容餵給模型進行生成。
然而,隨著 Google 推出 Gemini 2.0 Flash 等具備百萬 token 上下文視窗的新一代模型出現,傳統的 RAG 策略正面臨前所未有的挑戰與變革。本文將探討傳統 RAG 的核心流程、其存在的問題,以及為何在大上下文時代下,我們需要重新思考甚至放棄部分傳統做法,並介紹全新的 RAG 流程將會如何演變。
傳統 RAG 的運作模式與限制
傳統 RAG 策略通常包含以下步驟:
Chunking
將長文檔拆分成 256~1024 token 不等的小片段。這一步雖能使資料進入 LLM 的上下文視窗,但也不可避免地破壞了原始內容的連貫性。Embedding 與向量資料庫建構
將每個片段轉換成向量並存入資料庫,方便根據用戶查詢時進行相似度比對與檢索。檢索與生成
當用戶提出問題時,系統從向量資料庫中找出最相關的幾個片段,再由 LLM 根據這些片段生成最終回答。
儘管這種方法在應對上下文限制方面曾解決了一些痛點,但也暴露出不少弊端:
語境割裂
將文檔切成片段會導致上下文連貫性受損,AI 僅能依據局部資訊進行推理,往往難以整體把握文檔邏輯。例如,當分析財報時,不同段落間的數據關係可能被斷裂,進而影響最終分析結果的準確性。依賴向量檢索的局限
向量檢索的準確性依賴於 embedding 的質量,如果資料編碼不佳,系統便可能返回無關或錯誤的片段。此外,僅以語義相似度判斷,也難以捕捉真正重要的信息。計算與時間成本
從文檔切割、生成向量到檢索比對,每一步都增加了計算負擔,特別是在處理大量資料時,系統的延遲和運行成本顯著提高。
大上下文模型的挑戰與機遇
Google Gemini 2.0 Flash 這類 large context LLM 的出現,徹底改變了我們對 RAG 的需求。這類模型擁有百萬 token 的上下文視窗,意味著:
直接全文輸入
開發者可以將完整文檔一次性輸入模型,而無需繁瑣的 chunking 過程。這不僅保留了文檔原有的語境連貫性,也大幅簡化了資料處理流程。低幻覺率(Hallucination Rate)
根據最新測試數據,Gemini 2.0 Flash 的幻覺率僅為 0.7%,遠低於許多傳統模型。這表示新模型在生成回答時,能夠更準確地依據完整文檔進行推理,避免因資訊片段斷裂而導致的誤解或虛構信息。簡化的系統架構
直接處理完整文檔意味著開發者可省去建立和維護向量資料庫的步驟,從而節省計算資源和運行成本。
不過,這並不意味著 RAG 完全失去應用場景。在面對海量文檔(例如數十萬份報告或合同)的情況下,檢索技術仍然不可或缺。但對於單一文檔或少量文件,直接利用大上下文模型往往能取得更佳效果。
我們新的 RAG 流程將會如何演變?
面對大上下文模型帶來的技術突破,一個全新的 RAG 流程可能會取代傳統的 chunking 與向量檢索方法。新流程的核心在於保留文檔完整性,同時兼顧大規模文檔檢索需求,具體步驟如下:
候選文檔初篩
當面對海量文檔時,首先使用傳統的檢索技術(例如關鍵詞搜索或粗略向量搜索)進行初步篩選,從中選出與查詢最相關的候選文檔。此步驟僅作為粗篩,不需要細粒度的 chunking。全文輸入與處理
對於候選文檔,利用 large context LLM 的能力,將完整的文檔直接輸入模型。由於現代模型可處理百萬 tokens,因此可以完整保留文檔的上下文連貫性,避免因拆分而失去重要資訊。全局分析與綜合生成
LLM 在獲得完整文檔後,根據用戶的查詢進行全局的理解與推理,綜合各文檔中的關鍵資訊,生成一個全面且精確的回答。這一過程不再依賴局部片段,而是基於整體語境進行智能分析。答案驗證與反饋
生成的回答可以經過後處理與用戶反饋進行驗證,必要時進行輕量級的修正,以確保最終答案的正確性和一致性。
具體案例說明
假設一家金融分析公司需要從數千份企業財報中提取關鍵指標,以回答「這家公司近五年的營收增長趨勢如何?」的問題。傳統 RAG 方法需要先將每份財報切成小段,再進行 embedding 與向量檢索;但這樣做容易造成數據斷裂,導致分析結果不準確。
在新的 RAG 流程中:
候選文檔初篩:系統首先利用關鍵詞搜索,從數千份財報中快速篩選出與「營收」、「增長」相關的 50 份報告。
全文輸入與處理:接著,這 50 份報告將被完整輸入大上下文模型中,保留每份報告的全部細節與上下文。
全局分析與綜合生成:LLM 根據用戶查詢,分析每份報告中的關鍵數據,並跨報告綜合出一個全面的營收增長趨勢,指出公司在不同年度的具體數值變化。
答案驗證與反饋:最後,生成的分析結果會交由金融專家審核,並根據反饋進行必要調整,確保最終報告的準確性和可操作性。
這個案例展示了新流程如何在保留文檔完整性的同時,快速且準確地從大量資料中提取出所需信息,從而大幅提升 AI 分析的效率與精確度。
結論
隨著 AI 技術的飛速發展,傳統基於 chunking 與向量檢索的 naive RAG 策略正逐步顯露出其局限性。大上下文模型如 Gemini 2.0 Flash 的出現,不僅使得 LLM 能直接讀取完整文檔,還大幅降低了幻覺率,從而改寫了我們對知識檢索與生成的認知。
新 RAG 流程旨在保留文檔完整性、簡化系統架構,同時在面對海量資料時依然能夠進行有效篩選與全局分析。對於開發者而言,這既是一個挑戰,也是一次機遇——如何在應對海量資料檢索需求的同時,充分利用大上下文模型的強大能力,打造出更高效、更準確的 AI 應用。
RAG 的未來,並非在於延續舊方法,而是在於持續創新與突破。
這篇文章旨在幫助 AI/ML 工程師與開發者重新思考 RAG 技術在新時代中的應用,並鼓勵大家關注技術演進帶來的新可能性。