劍橋團隊開源:賦能多模態(tài)大模型RAG應(yīng)用,首個預(yù)訓(xùn)練通用多模態(tài)后期交互知識檢索器
- 論文鏈接:https://arxiv.org/abs/2402.08327
- DEMO 鏈接:https://u60544-b8d4-53eaa55d.westx.seetacloud.com:8443/
- 項目主頁鏈接:https://preflmr.github.io/
- 論文標題:PreFLMR: Scaling Up Fine-Grained Late-Interaction Multi-modal Retrievers
背景
盡管多模態(tài)大模型(例如 GPT4-Vision、Gemini 等)展現(xiàn)出了強大的通用圖文理解能力,它們在回答需要專業(yè)知識的問題時表現(xiàn)依然不盡人意。即使 GPT4-Vision 也無法回答知識密集型問題(圖一上),這成為了很多企業(yè)級落地應(yīng)用的瓶頸。
圖 1:GPT4-Vision 在 PreFLMR 多模態(tài)知識檢索器的幫助下可以獲得相關(guān)知識,生成正確的答案。圖中展示了模型的真實輸出。
針對這個問題,檢索增強生成(RAG,Retrieval-Augmented Generation)提供了一個簡單有效的讓多模態(tài)大模型成為” 領(lǐng)域?qū)<摇?的方案:首先,一個輕量的知識檢索器(Knowledge Retriever)從專業(yè)數(shù)據(jù)庫(例如 Wikipedia 或企業(yè)知識庫)中獲得相關(guān)的專業(yè)知識;然后,大模型將這些知識和問題一起作為輸入,生成準確的答案。多模態(tài)知識提取器的知識 “召回能力” 直接決定了大模型在回答推理時能否獲得準確的專業(yè)知識。
近期,劍橋大學(xué)信息工程系人工智能實驗室完整開源了首個預(yù)訓(xùn)練、通用多模態(tài)后期交互知識檢索器 PreFLMR (Pre-trained Fine-grained Late-interaction Multi-modal Retriever)。相比以往常見的模型,PreFLMR 有以下特點:
1.PreFLMR 是一個可以解決文文檢索,圖文檢索,知識檢索等多個子任務(wù)的通用預(yù)訓(xùn)練模型。該模型經(jīng)過百萬級的多模態(tài)數(shù)據(jù)預(yù)訓(xùn)練后,在多個下游檢索任務(wù)中取得了優(yōu)秀的表現(xiàn)。同時,作為一個優(yōu)秀的基底模型,PreFLMR 在私有數(shù)據(jù)上稍加訓(xùn)練就能夠獲得表現(xiàn)極佳的領(lǐng)域?qū)S媚P汀?/span>
圖 2:PreFLMR 模型同時在多項任務(wù)上取得極佳的多模態(tài)檢索表現(xiàn),是一個極強的預(yù)訓(xùn)練基底模型。
2. 傳統(tǒng)的密集文本檢索(Dense Passage Retrieval, DPR)只使用一個向量表征問詢(Query)或文檔(Document)。劍橋團隊在 NeurIPS 2023 發(fā)表的 FLMR 模型證明了 DPR 的單向量表征設(shè)計會導(dǎo)致細粒度信息損失,導(dǎo)致 DPR 在需要精細信息匹配的檢索任務(wù)上表現(xiàn)不佳。尤其是在多模態(tài)任務(wù)中,用戶的問詢(Query)包含復(fù)雜場景信息,壓縮至一維向量極大抑制了特征的表達能力。PreFLMR 繼承并改進了 FLMR 的結(jié)構(gòu),使其在多模態(tài)知識檢索中有得天獨厚的優(yōu)勢。
圖 3:PreFLMR 在字符級別(Token level)上編碼問詢(Query,左側(cè) 1、2、3)和文檔(Document,右側(cè) 4),相比于將所有信息壓縮至一維向量的 DPR 系統(tǒng)有信息細粒度上的優(yōu)勢。
3.PreFLMR 能夠根據(jù)用戶輸入的指令(例如 “提取能用于回答以下問題的文檔” 或 “提取與圖中物品相關(guān)的文檔”),從龐大的知識庫中提取相關(guān)的文檔,幫助多模態(tài)大模型大幅提升在專業(yè)知識問答任務(wù)上的表現(xiàn)。
圖 4:PreFLMR 可以同時處理圖片提取文檔、根據(jù)問題提取文檔、根據(jù)問題和圖片一起提取文檔的多模態(tài)問詢?nèi)蝿?wù)。
劍橋大學(xué)團隊開源了三個不同規(guī)模的模型,模型的參數(shù)量由小到大分別為:PreFLMR_ViT-B (207M)、PreFLMR_ViT-L (422M)、PreFLMR_ViT-G (2B),供使用者根據(jù)實際情況選取。
除了開源模型 PreFLMR 本身,該項目還在該研究方向做出了兩個重要貢獻:
- 該項目同時開源了一個訓(xùn)練和評估通用知識檢索器的大規(guī)模數(shù)據(jù)集,Multi-task Multi-modal Knowledge Retrieval Benchmark (M2KR),包含 10 個在學(xué)界中被廣泛研究的檢索子任務(wù)和總計超過百萬的檢索對。
- 在論文中,劍橋大學(xué)團隊對比了不同大小、不同表現(xiàn)的圖像編碼器和文本編碼器,總結(jié)了擴大參數(shù)和預(yù)訓(xùn)練多模態(tài)后期交互知識檢索系統(tǒng)的最佳實踐,為未來的通用檢索模型提供經(jīng)驗性的指導(dǎo)。
下文將簡略介紹 M2KR 數(shù)據(jù)集,PreFLMR 模型和實驗結(jié)果分析。
M2KR 數(shù)據(jù)集
為了大規(guī)模預(yù)訓(xùn)練和評估通用多模態(tài)檢索模型,作者匯編了十個公開的數(shù)據(jù)集并將其轉(zhuǎn)換為統(tǒng)一的問題 - 文檔檢索格式。這些數(shù)據(jù)集的原本任務(wù)包括圖像描述(image captioning),多模態(tài)對話(multi-modal dialogue)等等。下圖展示了其中五個任務(wù)的問題(第一行)和對應(yīng)文檔(第二行)。
圖 5:M2KR 數(shù)據(jù)集中的部分知識提取任務(wù)
PreFLMR 檢索模型
圖 6:PreFLMR 的模型結(jié)構(gòu)。問詢(Query)被編碼為 Token-level 的特征。PreFLMR 對問詢矩陣中的每一個向量,找到文檔矩陣中的最近向量并計算點積,然后對這些最大點積求和得到最后的相關(guān)度。
PreFLMR 模型基于發(fā)表于 NeurIPS 2023 的 Fine-grained Late-interaction Multi-modal Retriever (FLMR) 并進行了模型改進和 M2KR 上的大規(guī)模預(yù)訓(xùn)練。相比于 DPR,F(xiàn)LMR 和 PreFLMR 用由所有的 token 向量組成的矩陣對文檔和問詢進行表征。Tokens 包含文本 tokens 和投射到文本空間中的圖像 tokens。后期交互(late interaction)是一種高效計算兩個表征矩陣之間相關(guān)性的算法。具體做法為:對問詢矩陣中的每一個向量,找到文檔矩陣中的最近向量并計算點積。然后對這些最大點積求和得到最后的相關(guān)度。這樣,每個 token 的表征都可以顯式地影響最終的相關(guān)性,以此保留了 token-level 的細粒度(fine-grained)信息。得益于專門的后期交互檢索引擎,PreFLMR 在 40 萬文檔中提取 100 個相關(guān)文檔僅需 0.2 秒,這極大地提高了 RAG 場景中的可用性。
PreFLMR 的預(yù)訓(xùn)練包含以下四個階段:
- 文本編碼器預(yù)訓(xùn)練:首先,在 MSMARCO(一個純文本知識檢索數(shù)據(jù)集)上預(yù)訓(xùn)練一個后期交互文文檢索模型作為 PreFLMR 的文本編碼器。
- 圖像 - 文本投射層預(yù)訓(xùn)練:其次,在 M2KR 上訓(xùn)練圖像 - 文本投射層并凍結(jié)其它部分。該階段只使用經(jīng)過投射的圖像向量進行檢索,旨在防止模型過度依賴文本信息。
- 持續(xù)預(yù)訓(xùn)練:然后,在 E-VQA,M2KR 中的一個高質(zhì)量知識密集型視覺問答任務(wù)上持續(xù)訓(xùn)練文本編碼器和圖像 - 文本投射層。這一階段旨在提升 PreFLMR 的精細知識檢索能力。
- 通用檢索訓(xùn)練:最后,在整個 M2KR 數(shù)據(jù)集上訓(xùn)練所有權(quán)重,只凍結(jié)圖像編碼器。同時,將問詢文本編碼器和文檔文本編碼器的參數(shù)解鎖進行分別訓(xùn)練。這一階段旨在提高 PreFLMR 的通用檢索能力。
同時,作者展示了 PreFLMR 可以在子數(shù)據(jù)集(如 OK-VQA、Infoseek)上進一步微調(diào)以在特定任務(wù)上獲得更好的檢索性能。
實驗結(jié)果和縱向擴展
最佳檢索結(jié)果:表現(xiàn)最好的 PreFLMR 模型使用 ViT-G 作為圖像編碼器和 ColBERT-base-v2 作為文本編碼器,總計二十億參數(shù)。它在 7 個 M2KR 檢索子任務(wù)(WIT,OVEN,Infoseek, E-VQA,OKVQA 等)上取得了超越基線模型的表現(xiàn)。
擴展視覺編碼更加有效:作者發(fā)現(xiàn)將圖像編碼器 ViT 從 ViT-B(86M)升級到 ViT-L(307M)帶來了顯著的效果提升,但是將文本編碼器 ColBERT 從 base(110M)擴展到 large(345M)導(dǎo)致表現(xiàn)下降并造成了訓(xùn)練不穩(wěn)定問題。實驗結(jié)果表明對于后期交互多模態(tài)檢索系統(tǒng),增加視覺編碼器的參數(shù)帶來的回報更大。同時,使用多層 Cross-attention 進行圖像 - 文本投射的效果與使用單層相同,因此圖像 - 文本投射網(wǎng)絡(luò)的設(shè)計并不需要過于復(fù)雜。
PreFLMR 讓 RAG 更加有效:在知識密集型視覺問答任務(wù)上,使用 PreFLMR 進行檢索增強大大提高了最終系統(tǒng)的表現(xiàn):在 Infoseek 和 EVQA 上分別達到了 94% 和 275% 的效果提升,經(jīng)過簡單的微調(diào),基于 BLIP-2 的模型能夠擊敗千億參數(shù)量的 PALI-X 模型和使用 Google API 進行增強的 PaLM-Bison+Lens 系統(tǒng)。
結(jié)論
劍橋人工智能實驗室提出的 PreFLMR 模型是第一個開源的通用后期交互多模態(tài)檢索模型。經(jīng)過在 M2KR 上的百萬級數(shù)據(jù)預(yù)訓(xùn)練,PreFLMR 在多項檢索子任務(wù)中展現(xiàn)出強勁的表現(xiàn)。M2KR 數(shù)據(jù)集,PreFLMR 模型權(quán)重和代碼均可以在項目主頁 https://preflmr.github.io/ 獲取。
拓展資源
- FLMR paper (NeurIPS 2023): https://proceedings.neurips.cc/paper_files/paper/2023/hash/47393e8594c82ce8fd83adc672cf9872-Abstract-Conference.html
- 代碼庫:https://github.com/LinWeizheDragon/Retrieval-Augmented-Visual-Question-Answering
- 英文版博客:https://www.jinghong-chen.net/preflmr-sota-open-sourced-multi/
- FLMR 簡介:https://www.jinghong-chen.net/fined-grained-late-interaction-multimodal-retrieval-flmr/