天天看點

RAG敲響喪鐘?大模型長上下文是否意味着向量檢索不再重要

作者:閃念基因

AIGC的疊代速度正以指數級的速度增長。Gemini剛釋出不久,便迅速被OpenAI的Sora奪去了光芒。顯然,與詳盡的技術對比報告和性能名額相比,大衆對Sora提供的酷炫逼真的視覺效果更為關注。有愛好者嘗試使用Gemini來分析Sora生成視訊的結果,這種做法宛如用最強之矛去攻擊最堅固之盾。

RAG敲響喪鐘?大模型長上下文是否意味着向量檢索不再重要

測試結果顯示,Gemini 1.5不僅準确了解了視訊的基本内容,還指出了生成視訊中的一些不符合常理的細節。隻有魔法對抗魔法,盡管Sora的生成效果确實令人驚豔,但還是很容易被Gemini找到了漏洞,與衆人所期待的“實體引擎”水準之間還存在顯著的差距。

相比Sora的博人眼球,Gemini釋出的五十多頁技術報告更值得一讀。報告詳細介紹了長上下文和多模态測試,這些測試的許多方面将對AIGC應用未來發展産生深遠影響。Gemini支援高達1000萬token的超長上下文和強大的多模态能力,這意味着利用Gemini能夠與整本書籍、龐大的文檔集、數百個檔案組成的數十萬行代碼庫、完整電影、整個播客系列等進行互動。

RAG敲響喪鐘?大模型長上下文是否意味着向量檢索不再重要

大海撈針 - 長上下文究竟意味着什麼?

Gemini 1.5的亮點在于其長上下文處理能力,特别是在處理龐大資料集時的強大搜尋功能。技術報告中的“needle-in-a-haystack”(大海撈針)測試精彩展示了這一點。在這項測試中,模型需要從一個長序列中檢索到特定的文本片段。通過在不同位置插入文本(即“針”)并要求模型找到這些“針”,測試了模型在不同上下文長度下的資訊檢索能力。Gemini 1.5 Pro在長達530k token的文檔中實作了100%的準确檢索,在長達1M token的文檔中保持了超過99.7%的檢索準确率。此外,即使在文檔長度達到10M tokens時,模型仍能以99.2%的準确率找到并提取資訊。這一結果不僅證明了Gemini 1.5 Pro處理長文檔的能力,還展示了其在極端長上下文中的穩定性和準确性。

RAG敲響喪鐘?大模型長上下文是否意味着向量檢索不再重要

圖檔來源 https://storage.googleapis.com/deepmind-media/gemini/gemini_v1_5_report.pdf

盡管GPT-4在小于128k的上下文中表現也同樣出色,但Gemini的處理更長上下文的能力有了顯著擴充。在長文檔QA測試中,直接将一本710K token的書作為上下文輸入給Gemini,結果遠勝于0-shot查詢和隻召回4k token的标準RAG查詢。人類評估和AutoAIS評估的結果都顯示Gemini模型對原材料有很好的了解。相反,在0-shot設定下,大型模型通常選擇避免回答問題,以減少可能出現的幻覺和非事實性斷言。對于RAG而言,我們觀察到特定的問題集通常需要解決指代表達式(例如,“兄弟”,“主角”),這需要跨越長距離依賴進行推理,而這些依賴通常不容易通過RAG的檢索技術捕獲。

RAG敲響喪鐘?大模型長上下文是否意味着向量檢索不再重要

圖檔來源 https://storage.googleapis.com/deepmind-media/gemini/gemini_v1_5_report.pdf

由于Gemini在處理長上下文方面表現出色,甚至有人高喊“RAG已死”。據愛丁堡大學博士符堯在評價Gemini 1.5 Pro的文章中寫道:“一個擁有1000萬token上下文視窗的大模型擊敗了RAG。大語言模型已經是非常強大的檢索器,那麼為什麼還要花時間建構一個弱小的檢索器,并将時間花在解決分塊、嵌入和索引問題上呢?”

RAG敲響喪鐘?大模型長上下文是否意味着向量檢索不再重要

RAG - 中點還是終點?

RAG技術,即檢索增強生成(Retrieval-Augmented Generation),是一種利用外部來源擷取的事實來增強生成式人工智能模型準确性和可靠性的技術。通常包括兩個階段:檢索上下文相關資訊和使用檢索到的知識指導生成過程。通過從更多資料源添加背景資訊,以及通過訓練來補充大型語言模型(LLM)的原始知識庫,檢索增強生成能夠提高搜尋體驗的相關性。

在過去的2023年,RAG技術取得了快速發展,也帶火了向量資料庫。搜尋增強能夠有效解決幻覺、時效性差、專業領域知識不足等阻礙大模型應用的核心問題。一方面,搜尋增強技術能有效提升模型性能,并且使大模型能“外挂硬碟”,實作網際網路實時資訊+企業完整知識庫的“全知”。這一技術不僅提高了生成式模型的準确性和可靠性,還使其能夠更好地了解上下文,并将檢索到的知識融入到生成過程中,進而生成更加貼合實際需求的文本。

随着大型模型對上下文長度的支援加強以及從長上下文檢索資訊的能力逐漸增強,我們不禁要問:RAG技術是否已經過時,成為人工智能生成與檢索應用中的過客?在筆者看來,RAG技術的發展才剛剛起步,并且随着大型模型在處理長上下文和遵循指令方面的能力不斷提升,RAG技術将持續發展疊代。單純依賴大型模型并不能完全滿足非結構化資料處理的4V特性:

1.Velocity(速度):

根據目前的測試回報,Gemini在回答36萬個上下文時需要約30秒,并且查詢時間随着token數量呈非線性上升。盡管我們對算力和模型的發展都持樂觀态度,但要使長上下文實作秒級響應對于基于transformer的大型模型仍然是一個極具挑戰性的目标。

RAG敲響喪鐘?大模型長上下文是否意味着向量檢索不再重要

2.Value(價值):

盡管長下文的大模型生成結果具有很高的品質,但是推理成本依然是落地的阻礙。例如,如果将上下文的視窗設定為1M,按照目前0.0015美元/1000 token的收費标準,一次請求就要花掉1.5美元。這樣高昂的成本顯然是無法實作日常使用的。

3.Volume(體量):

1000萬token相對于目前龐大的非結構化資料體量而言,依然是九牛一毛。目前還沒有方式把整個Google搜尋的索引資料扔進大模型。

4.Variety(多樣性):

實際的落地場景中,不僅僅包含了長文本,圖檔等非結構化資料,更包含了複雜的結構化資料,比如時間序列資料,圖資料,代碼的變更曆史等等,處理這些資料依然需要足夠高效的資料結構和檢索算法。

RAG路在何方?

RAG已經被證明是一種解決大模型幻覺的有效方法,如何進一步提升RAG的實戰效果?

1.提升長上下文的了解能力

RAG敲響喪鐘?大模型長上下文是否意味着向量檢索不再重要

圖檔來源 https://arxiv.org/abs/2402.11573

由于嵌入模型通常較小,上下文視窗有限,傳統的RAG通常依賴分塊對資料進行切分。這導緻了上下文資訊的丢失,例如一些代詞的資訊無法連貫地了解。舉例來說明,在某個對話中,提到Bill周日去了埃菲爾鐵塔,之後又跟朋友一起去了盧浮宮。當我們進行傳統的提問,例如詢問“Bill周日下午去了哪裡?”時,由于上下文資訊被分割成多個分塊,可能會導緻搜尋到的資訊僅包含了Bill周日去了埃菲爾鐵塔,進而形成了錯誤的結論。這種情況下,由于上下文被切分,系統無法正确了解代詞“去了哪裡”的指代對象,進而導緻了錯誤的結果。

近期,基于大型模型實作的嵌入逐漸成為主流。在Huggingface MTEB LeaderBoard中,效果最好的嵌入基本上都是由大型模型所霸榜。這一趨勢的一個副産品是嵌入的上下文視窗也逐漸提升,例如SRF-Embedding-Mistral和GritLM7B已經支援32k的長上下文,這意味着嵌入本身處理長上下文的能力也得到了大幅提升。

最近釋出的BGE Landmark embedding的論文也闡述了一種利用長上下文解決資訊不完整檢索的方法。通過引入無分塊的檢索方法,Landmark embedding能夠更好地保證上下文的連貫性,并通過在訓練時引入位置感覺函數來有限感覺連續資訊段中最後一個句子,保證嵌入依然具備與Sentence Embedding相近的細節。這種方法大幅提升了長上下文RAG的精度。

RAG敲響喪鐘?大模型長上下文是否意味着向量檢索不再重要

圖檔來源 https://arxiv.org/abs/2402.11573

2.利用多路召回提升搜尋品質

為了提升RAG的回複品質,關鍵在于能夠檢索到高品質的内容。資料清理、結構化資訊提取以及多路混合查詢,都是提高搜尋品質的有效手段。最新的研究表明,相比稠密向量模型,使用如Splade這類稀疏向量模型,在域外知識搜尋性能,關鍵詞感覺能力以及可解釋方面表現更佳。最近開源的BGE_M3模型能夠在同一模型中生成稀疏、稠密以及類似Colbert的Token多向量,通過不同類型的向量多路召回并結合大型模型進行排名,可以顯著提高檢索效果。這種混合查詢的方法也被向量資料庫廠商廣泛接受,即将釋出的Milvus 2.4版本也即将支援稠密和稀疏向量的混合查詢。

RAG敲響喪鐘?大模型長上下文是否意味着向量檢索不再重要

圖檔來源https://arxiv.org/pdf/2402.03216.pdf

3.使用複雜政策提升RAG能力

RAG敲響喪鐘?大模型長上下文是否意味着向量檢索不再重要

圖檔來源https://towardsdatascience.com/12-rag-pain-points-and-proposed-solutions-43709939a28c

開發大模型應用不僅面臨算法挑戰,還涉及複雜的工程問題。這要求開發者具備深入的算法知識及複雜系統設計和工程實踐的能力。采用複雜政策,如查詢改寫、意圖識别和實體檢測,不僅提升了準确性,也顯著加快了處理速度。即使是先進的Gemini 1.5模型,在進行Google的MMLU基準測試時也需調用32次才能達到90.0%的準确率,顯示出采用複雜工程政策以提升性能的必要性。通過使用向量資料庫和RAG,采取空間換時間的政策,使RAG系統能更有效利用大型語言模型(LLM)的能力。這不僅限于生成答案,還包括分類、提取結構化資料、處理複雜PDF文檔等任務,增強了RAG系統的多功能性,使其能适應更廣泛的應用場景。

大記憶體的發展并不意味着硬碟的淘汰

大模型技術正在改變世界,但無法改變世界的運作規律。自馮諾依曼架構誕生之日起,存儲器、電腦和外存分開,即使在單機記憶體已經達到TB級别的今天,SATA磁盤和閃存依然在不同應用場景下發揮着重要的價值。對于大模型而言,長期記憶的重要性也将持續存在。AI應用的開發者一直在追求查詢品質和成本之間的完美平衡。當大型企業将生成式人工智能投入生産時,他們需要控制成本,同時保持最佳的響應品質。RAG技術和向量資料庫依然是實作這一目标的重要工具。

作者:Zilliz 合夥人兼研發 VP 栾小凡

來源-微信公衆号:矽基立場

出處:https://mp.weixin.qq.com/s/mz-MB7abcYKKbIXoGxnAHQ

繼續閱讀