一文讀懂:從RAG到多模態(tài)RAG 原創(chuàng) 精華
如果說(shuō)2023年見證了大語(yǔ)言模型的“寒武紀(jì)大爆發(fā)”,那么2024年則是多模態(tài)大模型“元年”。GPT-4o的出現(xiàn)讓大家見識(shí)到多模態(tài)能力引入,給下游應(yīng)用生態(tài)帶來(lái)的巨大改變。隨之而來(lái)的,RAG技術(shù)也將逐漸從單語(yǔ)言模態(tài)的RAG進(jìn)化到多模態(tài)RAG。本文將帶大家速覽多模態(tài)RAG技術(shù)的原理及實(shí)現(xiàn)。
什么是RAG
什么是RAG:Retrieval Augmented Generation,檢索增強(qiáng)生成。是一種結(jié)合了信息檢索技術(shù)和大型語(yǔ)言模型提示功能的框架。它通過(guò)從數(shù)據(jù)源檢索信息來(lái)輔助LLM生成答案,提高了模型在知識(shí)密集型任務(wù)中的準(zhǔn)確性和可信度。
我們?yōu)槭裁葱枰猂AG:大型語(yǔ)言模型通?;诠潭ǖ臍v史數(shù)據(jù)集進(jìn)行訓(xùn)練,這意味著它們的知識(shí)是過(guò)時(shí)的,無(wú)法涵蓋最新的信息或特定領(lǐng)域的專業(yè)知識(shí)。RAG的目的是通過(guò)引入額外知識(shí)庫(kù),檢索其中的相關(guān)信息,并根據(jù)檢索結(jié)果給予用戶回答。這也可以顯著減少大模型因?yàn)椴⒉痪邆湎嚓P(guān)知識(shí),而出現(xiàn)的“幻覺”現(xiàn)象。當(dāng)然我們也可以直接把整個(gè)數(shù)據(jù)庫(kù)作為L(zhǎng)LM的prompt輸入,但由于transformer架構(gòu)O(N2)復(fù)雜度的限制,LLM支持的最長(zhǎng)輸入長(zhǎng)度通常有限,多數(shù)支持到128k token已經(jīng)是極限,使得在面臨更長(zhǎng)知識(shí)庫(kù)輸入時(shí),RAG依然是當(dāng)下唯一可行的解決方案。
如何實(shí)現(xiàn)RAG:在實(shí)際應(yīng)用時(shí),我們常需要給定一系列文檔,并使用RAG方法,讓LLM針對(duì)這些文檔進(jìn)行檢索與交互。RAG的實(shí)現(xiàn)主要包含以下幾個(gè)步驟:
- 數(shù)據(jù)準(zhǔn)備階段:包括數(shù)據(jù)提取、分塊(chunking)、向量化(embedding)、數(shù)據(jù)入庫(kù)等環(huán)節(jié)。數(shù)據(jù)提取涉及將不同格式的數(shù)據(jù)(如PDF、Word、數(shù)據(jù)庫(kù)等)處理為統(tǒng)一的格式。分塊是將大文檔分割成較小的、語(yǔ)義完整的單元,以便于后續(xù)處理和檢索。
- 檢索階段:系統(tǒng)根據(jù)輸入查詢檢索相關(guān)文檔或信息。這個(gè)階段依賴于搜索算法和索引方法來(lái)快速識(shí)別大量集合中最相關(guān)的數(shù)據(jù)。
- 增強(qiáng)階段:將用戶查詢和檢索到的額外上下文放入一個(gè)提示模板中,以增強(qiáng)提示。
- 生成階段:使用大型語(yǔ)言模型來(lái)針對(duì)檢索結(jié)果,生成對(duì)用戶的回復(fù)。?
走向多模態(tài)RAG
從RAG的應(yīng)用可以看出,多數(shù)時(shí)候,我們需要把一些文檔作為RAG的輸入,用于檢索和生成。而現(xiàn)實(shí)應(yīng)用中,文檔通常是以圖文交錯(cuò)的形式存在的,比如網(wǎng)頁(yè)、PDF、PPT文件等等。
通常的做法是,只保留文檔中的文本信息。對(duì)于PDF文檔,則進(jìn)行OCR文字識(shí)別,讀取其中的文本。但這樣會(huì)導(dǎo)致大量圖片中至關(guān)重要的信息被丟失,以及很多結(jié)構(gòu)化內(nèi)容的錯(cuò)亂,比如標(biāo)題、表格、頁(yè)眉頁(yè)腳等格式錯(cuò)亂。
改進(jìn)的做法是,把所有模態(tài)信息都轉(zhuǎn)換為純文本,再進(jìn)行RAG。我們可以使用多種計(jì)算機(jī)視覺模型,比如檢測(cè)模型對(duì)文檔結(jié)構(gòu)進(jìn)行識(shí)別,然后對(duì)文檔中不同的模塊,使用不同的“廣義OCR模型”進(jìn)行解析。比如對(duì)于文本段落,使用OCR模型進(jìn)行文本識(shí)別;對(duì)于表格,可以用表格模型進(jìn)行識(shí)別轉(zhuǎn)換為Markdown或LaTeX文本;對(duì)于公式,則套用公式識(shí)別轉(zhuǎn)換為L(zhǎng)aTeX;對(duì)于圖片,則可使用多模態(tài)大模型如GPT-4o進(jìn)行文本解讀(caption),保存為文本描述。有很多開源的工具可以完成這些事情,比如MinerU等。通過(guò)解析算法,多模態(tài)數(shù)據(jù)就被完全轉(zhuǎn)換為純文本的格式了,也就可以照葫蘆畫瓢套用純文本的RAG方法了。
圖像來(lái)源: 張穎峰 | 所見即所得:多模態(tài)RAG正在向我們走來(lái)
我們注意到,使用上述的方法,信息不可避免會(huì)存在丟失,而且依賴過(guò)多的解析模型。而時(shí)間來(lái)到2024年,多模態(tài)大模型實(shí)現(xiàn)了爆發(fā)式的技術(shù)突破,高分辨率的視覺輸入已經(jīng)取得了巨大突破,使用單一的多模態(tài)大模型做廣義OCR也變得非常容易。比如QWen2-VL以及InternVL-2等開源多模態(tài)大模型,在文檔的廣義OCR上都有非常好的效果。
多模態(tài)大模型成功,讓端到端(end-to-end)的算法已經(jīng)成為了主流。原生多模態(tài)的RAG算法也成為了可能:既然多模態(tài)大模型有能力理解文本,那我們其實(shí)即無(wú)需再把圖像轉(zhuǎn)換為文本,而可以直接使用圖像,提取embedding去做RAG。
即從圖(a)轉(zhuǎn)變?yōu)閳D(b)的模式
DSE
??https://arxiv.org/abs/2406.11251??
DSE,即Document Screenshot Embedding,是一個(gè)不使用廣義OCR的多模態(tài)RAG方法,直接把原始文檔的掃描圖片,切片后,使用視覺語(yǔ)言模型的編碼器編碼。其對(duì)query和docunment使用了雙編碼的架構(gòu)。驗(yàn)證了這一想法的可行性。
ColPali
??https://arxiv.org/abs/2407.01449??
ColPali架構(gòu)也是利用視覺語(yǔ)言模型來(lái)從文檔頁(yè)面的圖像中產(chǎn)生高質(zhì)量的上下文化嵌入。ColPali使用了延遲交互(late interaction)技術(shù),大大提高了檢索效率,同時(shí)在檢索性能上超越了現(xiàn)有的文檔檢索系統(tǒng),并且具有更快的處理速度和可端到端訓(xùn)練的特點(diǎn)。上圖對(duì)比了傳統(tǒng)的文檔RAG與多模態(tài)RAG的區(qū)別。因?yàn)闇p少了廣義OCR的解析過(guò)程,使得處理速度也有了質(zhì)的提升。
CoPali其實(shí)從名字上看,就知道靈感來(lái)源于兩個(gè)工作,PaliGemma和CoBERT。PaliGemma 是 Google 開發(fā)的一款具有多模態(tài)功能的視覺語(yǔ)言模型,它結(jié)合了視覺模型 SigLIP 和大型語(yǔ)言模型 Gemma?!癈ol” 則來(lái)自于ColBERT 的延遲交互編碼器。ColPali 算是延遲交互編碼器在多模態(tài) RAG 檢索的應(yīng)用,并且極大提高了檢索召回的精度。
延遲交互編碼結(jié)合了雙編碼器和交叉編碼器的優(yōu)點(diǎn)。在這種架構(gòu)中,query和文檔被分別編碼成獨(dú)立的embedding集合,然后通過(guò)一個(gè)高效的交互機(jī)制來(lái)計(jì)算它們之間的相似度。
延遲交互編碼的核心思想是將查詢和文檔的編碼過(guò)程分開,這樣文檔的編碼可以離線完成,而查詢的編碼則在在線階段進(jìn)行。這種方法的優(yōu)點(diǎn)是可以在查詢時(shí)僅對(duì)查詢進(jìn)行編碼,從而大大提高了處理速度。此外,由于文檔的編碼是預(yù)先完成的,可以將其存儲(chǔ)在數(shù)據(jù)庫(kù)中,這樣就可以對(duì)更多的文檔進(jìn)行排序,從而提高查詢的精度。
在延遲交互編碼中,一個(gè)關(guān)鍵的計(jì)算是最大相似性(MaxSim)函數(shù),它計(jì)算每個(gè)查詢Token向量與所有文檔Token向量之間的相似度,并跟蹤每個(gè)查詢Token的最大得分。查詢和文檔的總相似度分?jǐn)?shù)是這些最大余弦相似度分?jǐn)?shù)的總和。這種方法允許模型在保持較高排序質(zhì)量的同時(shí),也具備較高的性能。
隨著多模態(tài)大語(yǔ)言模型能力的增強(qiáng),以它為基礎(chǔ)的多模態(tài)RAG,也早已突破了傳統(tǒng)的圖像檢索的應(yīng)用方式,而是真正具備大規(guī)模非結(jié)構(gòu)化多模態(tài)數(shù)據(jù)深度理解的能力,將會(huì)有更多toB的商業(yè)應(yīng)用價(jià)值。
本文轉(zhuǎn)載自公眾號(hào)思源數(shù)據(jù)科學(xué) 作者:思源Source
