劍橋團(tuán)隊(duì)開(kāi)源:賦能多模態(tài)大模型RAG應(yīng)用,首個(gè)預(yù)訓(xùn)練通用多模態(tài)后期交互知識(shí)檢索器

- 論文鏈接:https://arxiv.org/abs/2402.08327
- DEMO 鏈接:https://u60544-b8d4-53eaa55d.westx.seetacloud.com:8443/
- 項(xiàng)目主頁(yè)鏈接:https://preflmr.github.io/
- 論文標(biāo)題:PreFLMR: Scaling Up Fine-Grained Late-Interaction Multi-modal Retrievers
背景
盡管多模態(tài)大模型(例如 GPT4-Vision、Gemini 等)展現(xiàn)出了強(qiáng)大的通用圖文理解能力,它們?cè)诨卮鹦枰獙?zhuān)業(yè)知識(shí)的問(wèn)題時(shí)表現(xiàn)依然不盡人意。即使 GPT4-Vision 也無(wú)法回答知識(shí)密集型問(wèn)題(圖一上),這成為了很多企業(yè)級(jí)落地應(yīng)用的瓶頸。

圖 1:GPT4-Vision 在 PreFLMR 多模態(tài)知識(shí)檢索器的幫助下可以獲得相關(guān)知識(shí),生成正確的答案。圖中展示了模型的真實(shí)輸出。
針對(duì)這個(gè)問(wèn)題,檢索增強(qiáng)生成(RAG,Retrieval-Augmented Generation)提供了一個(gè)簡(jiǎn)單有效的讓多模態(tài)大模型成為” 領(lǐng)域?qū)<摇?的方案:首先,一個(gè)輕量的知識(shí)檢索器(Knowledge Retriever)從專(zhuān)業(yè)數(shù)據(jù)庫(kù)(例如 Wikipedia 或企業(yè)知識(shí)庫(kù))中獲得相關(guān)的專(zhuān)業(yè)知識(shí);然后,大模型將這些知識(shí)和問(wèn)題一起作為輸入,生成準(zhǔn)確的答案。多模態(tài)知識(shí)提取器的知識(shí) “召回能力” 直接決定了大模型在回答推理時(shí)能否獲得準(zhǔn)確的專(zhuān)業(yè)知識(shí)。
近期,劍橋大學(xué)信息工程系人工智能實(shí)驗(yàn)室完整開(kāi)源了首個(gè)預(yù)訓(xùn)練、通用多模態(tài)后期交互知識(shí)檢索器 PreFLMR (Pre-trained Fine-grained Late-interaction Multi-modal Retriever)。相比以往常見(jiàn)的模型,PreFLMR 有以下特點(diǎn):
1.PreFLMR 是一個(gè)可以解決文文檢索,圖文檢索,知識(shí)檢索等多個(gè)子任務(wù)的通用預(yù)訓(xùn)練模型。該模型經(jīng)過(guò)百萬(wàn)級(jí)的多模態(tài)數(shù)據(jù)預(yù)訓(xùn)練后,在多個(gè)下游檢索任務(wù)中取得了優(yōu)秀的表現(xiàn)。同時(shí),作為一個(gè)優(yōu)秀的基底模型,PreFLMR 在私有數(shù)據(jù)上稍加訓(xùn)練就能夠獲得表現(xiàn)極佳的領(lǐng)域?qū)S媚P汀?/span>

圖 2:PreFLMR 模型同時(shí)在多項(xiàng)任務(wù)上取得極佳的多模態(tài)檢索表現(xiàn),是一個(gè)極強(qiáng)的預(yù)訓(xùn)練基底模型。
2. 傳統(tǒng)的密集文本檢索(Dense Passage Retrieval, DPR)只使用一個(gè)向量表征問(wèn)詢(xún)(Query)或文檔(Document)。劍橋團(tuán)隊(duì)在 NeurIPS 2023 發(fā)表的 FLMR 模型證明了 DPR 的單向量表征設(shè)計(jì)會(huì)導(dǎo)致細(xì)粒度信息損失,導(dǎo)致 DPR 在需要精細(xì)信息匹配的檢索任務(wù)上表現(xiàn)不佳。尤其是在多模態(tài)任務(wù)中,用戶(hù)的問(wèn)詢(xún)(Query)包含復(fù)雜場(chǎng)景信息,壓縮至一維向量極大抑制了特征的表達(dá)能力。PreFLMR 繼承并改進(jìn)了 FLMR 的結(jié)構(gòu),使其在多模態(tài)知識(shí)檢索中有得天獨(dú)厚的優(yōu)勢(shì)。

圖 3:PreFLMR 在字符級(jí)別(Token level)上編碼問(wèn)詢(xún)(Query,左側(cè) 1、2、3)和文檔(Document,右側(cè) 4),相比于將所有信息壓縮至一維向量的 DPR 系統(tǒng)有信息細(xì)粒度上的優(yōu)勢(shì)。
3.PreFLMR 能夠根據(jù)用戶(hù)輸入的指令(例如 “提取能用于回答以下問(wèn)題的文檔” 或 “提取與圖中物品相關(guān)的文檔”),從龐大的知識(shí)庫(kù)中提取相關(guān)的文檔,幫助多模態(tài)大模型大幅提升在專(zhuān)業(yè)知識(shí)問(wèn)答任務(wù)上的表現(xiàn)。



圖 4:PreFLMR 可以同時(shí)處理圖片提取文檔、根據(jù)問(wèn)題提取文檔、根據(jù)問(wèn)題和圖片一起提取文檔的多模態(tài)問(wèn)詢(xún)?nèi)蝿?wù)。
劍橋大學(xué)團(tuán)隊(duì)開(kāi)源了三個(gè)不同規(guī)模的模型,模型的參數(shù)量由小到大分別為:PreFLMR_ViT-B (207M)、PreFLMR_ViT-L (422M)、PreFLMR_ViT-G (2B),供使用者根據(jù)實(shí)際情況選取。
除了開(kāi)源模型 PreFLMR 本身,該項(xiàng)目還在該研究方向做出了兩個(gè)重要貢獻(xiàn):
- 該項(xiàng)目同時(shí)開(kāi)源了一個(gè)訓(xùn)練和評(píng)估通用知識(shí)檢索器的大規(guī)模數(shù)據(jù)集,Multi-task Multi-modal Knowledge Retrieval Benchmark (M2KR),包含 10 個(gè)在學(xué)界中被廣泛研究的檢索子任務(wù)和總計(jì)超過(guò)百萬(wàn)的檢索對(duì)。
- 在論文中,劍橋大學(xué)團(tuán)隊(duì)對(duì)比了不同大小、不同表現(xiàn)的圖像編碼器和文本編碼器,總結(jié)了擴(kuò)大參數(shù)和預(yù)訓(xùn)練多模態(tài)后期交互知識(shí)檢索系統(tǒng)的最佳實(shí)踐,為未來(lái)的通用檢索模型提供經(jīng)驗(yàn)性的指導(dǎo)。
下文將簡(jiǎn)略介紹 M2KR 數(shù)據(jù)集,PreFLMR 模型和實(shí)驗(yàn)結(jié)果分析。
M2KR 數(shù)據(jù)集
為了大規(guī)模預(yù)訓(xùn)練和評(píng)估通用多模態(tài)檢索模型,作者匯編了十個(gè)公開(kāi)的數(shù)據(jù)集并將其轉(zhuǎn)換為統(tǒng)一的問(wèn)題 - 文檔檢索格式。這些數(shù)據(jù)集的原本任務(wù)包括圖像描述(image captioning),多模態(tài)對(duì)話(huà)(multi-modal dialogue)等等。下圖展示了其中五個(gè)任務(wù)的問(wèn)題(第一行)和對(duì)應(yīng)文檔(第二行)。

圖 5:M2KR 數(shù)據(jù)集中的部分知識(shí)提取任務(wù)
PreFLMR 檢索模型

圖 6:PreFLMR 的模型結(jié)構(gòu)。問(wèn)詢(xún)(Query)被編碼為 Token-level 的特征。PreFLMR 對(duì)問(wèn)詢(xún)矩陣中的每一個(gè)向量,找到文檔矩陣中的最近向量并計(jì)算點(diǎn)積,然后對(duì)這些最大點(diǎn)積求和得到最后的相關(guān)度。
PreFLMR 模型基于發(fā)表于 NeurIPS 2023 的 Fine-grained Late-interaction Multi-modal Retriever (FLMR) 并進(jìn)行了模型改進(jìn)和 M2KR 上的大規(guī)模預(yù)訓(xùn)練。相比于 DPR,F(xiàn)LMR 和 PreFLMR 用由所有的 token 向量組成的矩陣對(duì)文檔和問(wèn)詢(xún)進(jìn)行表征。Tokens 包含文本 tokens 和投射到文本空間中的圖像 tokens。后期交互(late interaction)是一種高效計(jì)算兩個(gè)表征矩陣之間相關(guān)性的算法。具體做法為:對(duì)問(wèn)詢(xún)矩陣中的每一個(gè)向量,找到文檔矩陣中的最近向量并計(jì)算點(diǎn)積。然后對(duì)這些最大點(diǎn)積求和得到最后的相關(guān)度。這樣,每個(gè) token 的表征都可以顯式地影響最終的相關(guān)性,以此保留了 token-level 的細(xì)粒度(fine-grained)信息。得益于專(zhuān)門(mén)的后期交互檢索引擎,PreFLMR 在 40 萬(wàn)文檔中提取 100 個(gè)相關(guān)文檔僅需 0.2 秒,這極大地提高了 RAG 場(chǎng)景中的可用性。
PreFLMR 的預(yù)訓(xùn)練包含以下四個(gè)階段:
- 文本編碼器預(yù)訓(xùn)練:首先,在 MSMARCO(一個(gè)純文本知識(shí)檢索數(shù)據(jù)集)上預(yù)訓(xùn)練一個(gè)后期交互文文檢索模型作為 PreFLMR 的文本編碼器。
- 圖像 - 文本投射層預(yù)訓(xùn)練:其次,在 M2KR 上訓(xùn)練圖像 - 文本投射層并凍結(jié)其它部分。該階段只使用經(jīng)過(guò)投射的圖像向量進(jìn)行檢索,旨在防止模型過(guò)度依賴(lài)文本信息。
- 持續(xù)預(yù)訓(xùn)練:然后,在 E-VQA,M2KR 中的一個(gè)高質(zhì)量知識(shí)密集型視覺(jué)問(wèn)答任務(wù)上持續(xù)訓(xùn)練文本編碼器和圖像 - 文本投射層。這一階段旨在提升 PreFLMR 的精細(xì)知識(shí)檢索能力。
- 通用檢索訓(xùn)練:最后,在整個(gè) M2KR 數(shù)據(jù)集上訓(xùn)練所有權(quán)重,只凍結(jié)圖像編碼器。同時(shí),將問(wèn)詢(xún)文本編碼器和文檔文本編碼器的參數(shù)解鎖進(jìn)行分別訓(xùn)練。這一階段旨在提高 PreFLMR 的通用檢索能力。
同時(shí),作者展示了 PreFLMR 可以在子數(shù)據(jù)集(如 OK-VQA、Infoseek)上進(jìn)一步微調(diào)以在特定任務(wù)上獲得更好的檢索性能。
實(shí)驗(yàn)結(jié)果和縱向擴(kuò)展
最佳檢索結(jié)果:表現(xiàn)最好的 PreFLMR 模型使用 ViT-G 作為圖像編碼器和 ColBERT-base-v2 作為文本編碼器,總計(jì)二十億參數(shù)。它在 7 個(gè) M2KR 檢索子任務(wù)(WIT,OVEN,Infoseek, E-VQA,OKVQA 等)上取得了超越基線模型的表現(xiàn)。
擴(kuò)展視覺(jué)編碼更加有效:作者發(fā)現(xiàn)將圖像編碼器 ViT 從 ViT-B(86M)升級(jí)到 ViT-L(307M)帶來(lái)了顯著的效果提升,但是將文本編碼器 ColBERT 從 base(110M)擴(kuò)展到 large(345M)導(dǎo)致表現(xiàn)下降并造成了訓(xùn)練不穩(wěn)定問(wèn)題。實(shí)驗(yàn)結(jié)果表明對(duì)于后期交互多模態(tài)檢索系統(tǒng),增加視覺(jué)編碼器的參數(shù)帶來(lái)的回報(bào)更大。同時(shí),使用多層 Cross-attention 進(jìn)行圖像 - 文本投射的效果與使用單層相同,因此圖像 - 文本投射網(wǎng)絡(luò)的設(shè)計(jì)并不需要過(guò)于復(fù)雜。
PreFLMR 讓 RAG 更加有效:在知識(shí)密集型視覺(jué)問(wèn)答任務(wù)上,使用 PreFLMR 進(jìn)行檢索增強(qiáng)大大提高了最終系統(tǒng)的表現(xiàn):在 Infoseek 和 EVQA 上分別達(dá)到了 94% 和 275% 的效果提升,經(jīng)過(guò)簡(jiǎn)單的微調(diào),基于 BLIP-2 的模型能夠擊敗千億參數(shù)量的 PALI-X 模型和使用 Google API 進(jìn)行增強(qiáng)的 PaLM-Bison+Lens 系統(tǒng)。
結(jié)論
劍橋人工智能實(shí)驗(yàn)室提出的 PreFLMR 模型是第一個(gè)開(kāi)源的通用后期交互多模態(tài)檢索模型。經(jīng)過(guò)在 M2KR 上的百萬(wàn)級(jí)數(shù)據(jù)預(yù)訓(xùn)練,PreFLMR 在多項(xiàng)檢索子任務(wù)中展現(xiàn)出強(qiáng)勁的表現(xiàn)。M2KR 數(shù)據(jù)集,PreFLMR 模型權(quán)重和代碼均可以在項(xiàng)目主頁(yè) https://preflmr.github.io/ 獲取。
拓展資源
- FLMR paper (NeurIPS 2023): https://proceedings.neurips.cc/paper_files/paper/2023/hash/47393e8594c82ce8fd83adc672cf9872-Abstract-Conference.html
- 代碼庫(kù):https://github.com/LinWeizheDragon/Retrieval-Augmented-Visual-Question-Answering
- 英文版博客:https://www.jinghong-chen.net/preflmr-sota-open-sourced-multi/
- FLMR 簡(jiǎn)介:https://www.jinghong-chen.net/fined-grained-late-interaction-multimodal-retrieval-flmr/



































