智源開源多模態(tài)向量模型BGE-VL,助力多模態(tài)檢索!
智源研究院開源了多模態(tài)向量模型BGE-VL,助力主要多模態(tài)檢索任務(wù)達(dá)到SOTA。
論文地址:https://arxiv.org/abs/2412.14475
項(xiàng)目地址: https://github.com/VectorSpaceLab/MegaPairs
模型地址: https://huggingface.co/BAAI/BGE-VL-MLLM-S1
先簡單看下研究動(dòng)機(jī):
現(xiàn)有的多模態(tài)檢索模型大多基于預(yù)訓(xùn)練的視覺-語言模型,這些模型主要通過文本-圖像匹配任務(wù)進(jìn)行預(yù)訓(xùn)練,對(duì)于其他常見的多模態(tài)任務(wù)(如組合圖像檢索和多模態(tài)文檔檢索)表現(xiàn)不足。
為了增強(qiáng)模型的多任務(wù)能力,研究者們開始采用指令微調(diào)的方法,但高質(zhì)量的指令微調(diào)數(shù)據(jù)稀缺且難以大規(guī)模獲取。
如何高效地生成高質(zhì)量、多樣化的多模態(tài)訓(xùn)練數(shù)據(jù),成為推動(dòng)多模態(tài)檢索發(fā)展的關(guān)鍵問題。
因此,來自智源的研究團(tuán)隊(duì)提出提出 MegaPairs 數(shù)據(jù)合成方法,合成了一個(gè)包含超過 2600 萬訓(xùn)練實(shí)例的合成數(shù)據(jù)集,這些數(shù)據(jù)在質(zhì)量和多樣性上顯著優(yōu)于現(xiàn)有的多模態(tài)檢索數(shù)據(jù)集。并基于該數(shù)據(jù)訓(xùn)練了一系列多模態(tài)向量模型BGE-VL,現(xiàn)在論文中模型名字為MMRet。
1、MegaPairs構(gòu)建
構(gòu)建MegaPairs是本文的核心部分,旨在通過大規(guī)模數(shù)據(jù)合成方法生成高質(zhì)量的多模態(tài)指令調(diào)優(yōu)數(shù)據(jù)集。MegaPairs完全基于開源數(shù)據(jù)集和開源模型進(jìn)行自動(dòng)化構(gòu)建和標(biāo)注。通過引入多個(gè)相似度模型和兩階段標(biāo)注方法,MegaPairs能夠在無需人工參與的情況下,擴(kuò)展性地生成大規(guī)模、高質(zhì)量且多樣化的多模態(tài)檢索指令數(shù)據(jù)集。
具體來說,MegaPairs 的目標(biāo)是解決以下兩個(gè)技術(shù)挑戰(zhàn):
- 大規(guī)模采樣相關(guān)且多樣化的圖像對(duì):從開放域圖像庫中挖掘具有不同語義和視覺關(guān)系的圖像對(duì)。
- 精確標(biāo)注圖像對(duì)的指令:為采樣的圖像對(duì)生成高質(zhì)量的文本指令,描述圖像之間的關(guān)系。
MegaPairs 的構(gòu)造流程分為兩個(gè)主要步驟:
圖像對(duì)相關(guān)性挖掘
這一過程的目標(biāo)是從大規(guī)模開放域圖像庫中采樣相關(guān)且多樣化的圖像對(duì)。每個(gè)圖像對(duì)由查詢圖像(Query Image )和目標(biāo)圖像(Target Image
)組成,并通過多種相似性模型挖掘它們之間的關(guān)系。
具體方法實(shí)現(xiàn)如下:
- 圖像庫選擇:使用 RecapDataComp-1B 數(shù)據(jù)集的子集作為圖像庫,包含 2000 萬張帶標(biāo)注的圖像。
- 相似性模型:利用三種不同的相似性模型來挖掘圖像對(duì),每種模型捕捉不同類型的圖像關(guān)系:
a.視覺語義相關(guān)性(Visual-Semantic Correlation):使用 EVA-CLIP 的圖像編碼器,衡量圖像的語義相關(guān)性,忽略視覺相似性。例如,不同視角的同一類物體(如不同角度的汽車)。
b.視覺模式相關(guān)性(Visual-Pattern Correlation):使用 DINOv2 的視覺編碼器,捕捉圖像的視覺相似性,忽略語義相關(guān)性。例如,不同物體在相似背景下的圖像(如不同汽車在相似背景中)。
c.描述相關(guān)性(Caption Correlation):使用 EVA-CLIP 的文本編碼器,衡量圖像描述的文本相似性,從而間接反映圖像內(nèi)容的相似性。
- 圖像對(duì)采樣:對(duì)于每個(gè)查詢圖像
,通過上述三種相似性模型分別檢索與之相關(guān)的圖像集
。這些圖像對(duì)涵蓋了從語義到視覺的多樣化關(guān)系。
- 困難負(fù)樣本(Hard Negatives):為了增強(qiáng)檢索模型的訓(xùn)練效果,將檢索結(jié)果
中非目標(biāo)圖像的其他圖像
作為困難負(fù)樣本。這些困難負(fù)樣本增加了訓(xùn)練數(shù)據(jù)的多樣性和難度,有助于提升模型的魯棒性。
通過上述方法,MegaPairs 成功從開放域圖像庫中挖掘出大量具有多樣化關(guān)系的圖像對(duì),并為每對(duì)圖像生成了高質(zhì)量的硬負(fù)樣本。
生成開放性指令
這一過程主要是為挖掘的圖像對(duì)生成描述其關(guān)系的開放性文本指令。這些指令將作為多模態(tài)檢索任務(wù)中的查詢文本,用于檢索目標(biāo)圖像。
具體方法:
- 多模態(tài)大語言模型(MLLM):使用 InternVL2-26B 作為 MLLM,為每對(duì)圖像
生成包括圖像之間的共同點(diǎn)和差異的詳細(xì)描述
。
- 大語言模型(LLM):使用 LLaMA3-8B 作為 LLM,將 MLLM 生成的描述進(jìn)一步精煉為具體的文本指令
。為了確保指令的多樣性,對(duì)于每對(duì)圖像創(chuàng)建至少三個(gè)不同的文本指令,并引入五個(gè)困難負(fù)樣本。
- 指令模板:LLM 的輸入包括圖像對(duì)的描述以及示例指令,以引導(dǎo) LLM 生成高質(zhì)量的指令。例如,描述可能為“兩張圖像都與豐田汽車有關(guān),但源圖像展示了汽車的未來感外觀,而目標(biāo)圖像聚焦于實(shí)用的內(nèi)飾座位”,LLM 則生成如“這輛車的內(nèi)部是什么樣子?”等指令。
結(jié)果:通過 MLLM 和 LLM 的結(jié)合,MegaPairs 為每對(duì)圖像生成了高質(zhì)量、多樣化的開放性指令,最終,構(gòu)建了一個(gè)多模態(tài)三元組,用于多模態(tài)檢索任務(wù)。
下面是MegaPairs的一些可視化示例:
2、BGE-VL(MMRet)
基于預(yù)訓(xùn)練的視覺-語言模型和MegaPairs數(shù)據(jù)集,該工作訓(xùn)練了一個(gè)多模態(tài)檢索模型BGE-VL,也叫MMRet,目標(biāo)是構(gòu)建一個(gè)能夠處理多種多模態(tài)任務(wù)的通用模型,支持從圖像到文本、從文本到圖像,以及組合圖像-文本查詢的檢索。為了實(shí)現(xiàn)這一目標(biāo),BGE-VL基于兩種不同的架構(gòu):基于 CLIP 的模型和基于多模態(tài)大語言模型(MLLM)的模型。
基于 CLIP 的 BGE-VL模型
BGE-VL在 CLIP 的基礎(chǔ)上進(jìn)行了擴(kuò)展,以支持多模態(tài)檢索任務(wù)。具體設(shè)計(jì)如下:
- 圖像編碼器(Image Encoder):使用 CLIP 的圖像編碼器
,將輸入圖像I轉(zhuǎn)換為圖像嵌入向量
。
- 文本編碼器(Text Encoder):使用 CLIP 的文本編碼器
,將輸入文本T轉(zhuǎn)換為文本嵌入向量
。
- 多模態(tài)嵌入(Multimodal Embedding):對(duì)于組合的圖像-文本查詢(I,T),采用UniIR中的分?jǐn)?shù)融合(score-fusion)策略,將圖像嵌入和文本嵌入直接相加,得到多模態(tài)嵌入向量:
這種融合方式簡單且有效,能夠保留圖像和文本的語義信息。
在基于CLIP的BGE-VL中,訓(xùn)練了MMRet-Base(基于CLIP-B,參數(shù)量149M)和MMRet-Large(基于CLIP-L,參數(shù)量428M)兩個(gè)模型。
基于多模態(tài)大語言模型的 BGE-VL 模型
多模態(tài)大語言模型(MLLM)將視覺編碼器(通常是基于 Vision Transformer 的編碼器)集成到大語言模型(LLM)中,能夠直接處理圖像和文本的混合輸入。BGE-VL的 MLLM 版本基于 LLaVA-1.6 架構(gòu),將圖像和文本轉(zhuǎn)換為交錯(cuò)的標(biāo)記序列(interleaved token sequence),并輸入到語言模型中。格式如下:
最終訓(xùn)練得到MMRet-MLLM,參數(shù)量為 7.57B。
多模態(tài)對(duì)比學(xué)習(xí)
為了將 CLIP 和 MLLM 轉(zhuǎn)化為適用于多模態(tài)檢索的 MMRet 模型,采用了多模態(tài)對(duì)比學(xué)習(xí)。具體訓(xùn)練目標(biāo)如下:
使用 InfoNCE 損失函數(shù),優(yōu)化模型以學(xué)習(xí)圖像和文本的聯(lián)合嵌入空間。損失函數(shù)定義為:
3、實(shí)驗(yàn)結(jié)果
零樣本組合圖像檢索
通過在MegaPairs數(shù)據(jù)集上訓(xùn)練的MMRet模型,在多個(gè)流行的 CIR 基準(zhǔn)測試集上取得了最先進(jìn)的性能,尤其是在CIRCO和CIRR數(shù)據(jù)集上,表現(xiàn)尤為突出。這些結(jié)果證明了MegaPairs數(shù)據(jù)集在提升多模態(tài)檢索模型性能方面的有效性,同時(shí)也展示了MMRet模型的強(qiáng)大泛化能力和適應(yīng)性。
在MMEB的性能
MMEB 是一個(gè)綜合性的多模態(tài)嵌入基準(zhǔn)測試,包含 36 個(gè)不同的數(shù)據(jù)集,覆蓋四種元任務(wù)(Meta-Tasks):分類(Classification)、視覺問答(Visual Question Answering, VQA)、檢索(Retrieval)和視覺定位(Visual Grounding)。該基準(zhǔn)測試旨在評(píng)估多模態(tài)嵌入模型在多樣化任務(wù)和模態(tài)組合中的性能,是衡量模型泛化能力和通用性的重要工具。
評(píng)估指標(biāo):使用Precision@1(P@1)作為主要評(píng)估指標(biāo),衡量模型在每個(gè)任務(wù)中將正樣本排在第一位的比例。
MMRet-MLLM在零樣本設(shè)置中取得了SOTA(State-of-the-Art)性能,尤其是在視覺問答、檢索和視覺定位任務(wù)中表現(xiàn)突出。這表明MegaPairs數(shù)據(jù)集能夠有效提升模型在多樣化多模態(tài)任務(wù)中的泛化能力。
值得注意的是:第二好的模型UniIR在M-BEIR上進(jìn)行了訓(xùn)練,該數(shù)據(jù)集包含了MMEB檢索元任務(wù)中12個(gè)數(shù)據(jù)集中的10個(gè),因此在該元任務(wù)中不被視為零樣本,而MegaPairs并未包含MMEB中的絕大部分任務(wù)類型數(shù)據(jù)。因此,MLLM-Ret在檢索元任務(wù)中顯著優(yōu)于其他方法,并在所有任務(wù)中表現(xiàn)出強(qiáng)大的泛化能力。
MMRet-MLLM進(jìn)一步在MMEB的分布內(nèi)(IND)集合(包含36個(gè)評(píng)測任務(wù)中的20個(gè)任務(wù))上對(duì)BGE-VL進(jìn)行了有監(jiān)督微調(diào)。結(jié)果顯示,BGE-VL的平均性能指標(biāo)相比直接在MMEB上微調(diào)的VLM2Vec (LLaVA-1.6) 模型高出9.1個(gè)百分點(diǎn)。同時(shí),在分布外(OOD)數(shù)據(jù)集上的平均表現(xiàn)也比兩版VLM2Vec分別高出11.6%和7.1%。這些結(jié)果證明了MegaPairs數(shù)據(jù)的高質(zhì)量和泛化能力。
數(shù)據(jù)可擴(kuò)展性與質(zhì)量
為了驗(yàn)證MegaPairs數(shù)據(jù)集的可擴(kuò)展性,本工作使用不同規(guī)模的子集(從 128K 到 26M 數(shù)據(jù)對(duì))訓(xùn)練MMRet-Base模型,并在多個(gè)組合圖像檢索(CIR)基準(zhǔn)測試集上評(píng)估其性能。
隨著訓(xùn)練數(shù)據(jù)規(guī)模的增加,MMRet-Base在所有基準(zhǔn)測試集上的性能均顯著提升(如圖 2 所示)。當(dāng)使用僅500K數(shù)據(jù)對(duì)(不到MagicLens數(shù)據(jù)集的 2%)時(shí),MMRet-Base的性能已經(jīng)超越了在36.7M數(shù)據(jù)對(duì)上訓(xùn)練的MagicLens-B模型。表明MegaPairs數(shù)據(jù)集具有極高的質(zhì)量,能夠在較少的數(shù)據(jù)量下實(shí)現(xiàn)更好的性能。
困難負(fù)樣本的作用
使用困難負(fù)樣本的模型(Qry + HN)在所有基準(zhǔn)測試集上的性能顯著優(yōu)于不使用負(fù)樣本或僅使用查詢圖像作為負(fù)樣本的模型。結(jié)果表明,困難負(fù)樣本顯著提升了模型的性能,尤其是在區(qū)分相似但不相關(guān)的圖像時(shí),硬負(fù)樣本能夠增強(qiáng)模型的判別能力。
圖像對(duì)挖掘策略
- 單獨(dú)使用描述相關(guān)性(T)的策略在零樣本 CIR 任務(wù)中表現(xiàn)最佳,表明文本相似性能夠捕捉到更豐富的語義關(guān)系。
- 結(jié)合兩種策略(如D + I或D + T)的性能優(yōu)于單一策略,表明多樣化的圖像對(duì)能夠提升數(shù)據(jù)集的質(zhì)量。
- 同時(shí)使用三種策略(D + I + T)的模型在所有基準(zhǔn)測試集上表現(xiàn)最為穩(wěn)健,最終被選為MegaPairs的標(biāo)準(zhǔn)構(gòu)建方法。
結(jié)果表明,多樣化的圖像對(duì)挖掘策略能夠顯著提升數(shù)據(jù)集的質(zhì)量和模型的性能。結(jié)合視覺語義、視覺模式和描述相關(guān)性的策略能夠捕捉到更豐富的圖像關(guān)系,從而提升模型的泛化能力。
可視化檢索示例
4、Code
來自https://huggingface.co/BAAI/BGE-VL-base
import torch
from transformers import AutoModel
from PIL import Image
MODEL_NAME= "BAAI/BGE-VL-MLLM-S1"
model = AutoModel.from_pretrained(MODEL_NAME, trust_remote_code=True)
model.eval()
model.cuda()
with torch.no_grad():
model.set_processor(MODEL_NAME)
query_inputs = model.data_process(
text="Make the background dark, as if the camera has taken the photo at night",
images="./assets/cir_query.png",
q_or_c="q",
task_instructinotallow="Retrieve the target image that best meets the combined criteria by using both the provided image and the image retrieval instructions: "
)
candidate_inputs = model.data_process(
images=["./assets/cir_candi_1.png", "./assets/cir_candi_2.png"],
q_or_c="c",
)
query_embs = model(**query_inputs, output_hidden_states=True)[:, -1, :]
candi_embs = model(**candidate_inputs, output_hidden_states=True)[:, -1, :]
query_embs = torch.nn.functional.normalize(query_embs, dim=-1)
candi_embs = torch.nn.functional.normalize(candi_embs, dim=-1)
scores = torch.matmul(query_embs, candi_embs.T)
print(scores)
對(duì)于查詢embedding和候選embedding,使用矩陣乘法作為得分的解釋:
- 特征編碼:首先,無論是
query
還是candidates
,都是通過模型的encode
方法將輸入(圖像和文本)轉(zhuǎn)化為特征向量(embeddings)。這些特征向量是高維空間中的表示形式,其中每個(gè)維度代表某種特征或?qū)傩浴@硐肭闆r下,如果兩個(gè)輸入(例如,一個(gè)查詢圖像和一個(gè)候選圖像)在語義上相似,那么它們的特征向量在高維空間中也會(huì)比較接近。 - 內(nèi)積作為相似度:在計(jì)算
query @ candidates.T
時(shí),實(shí)際上是在計(jì)算query
向量與每個(gè)candidate
向量之間的內(nèi)積(也稱為點(diǎn)積)。內(nèi)積的結(jié)果反映了這兩個(gè)向量方向上的相似程度——值越大,意味著兩個(gè)向量越相似。這是因?yàn)閮?nèi)積本質(zhì)上衡量的是兩個(gè)向量投影到對(duì)方方向上的長度乘積,當(dāng)兩個(gè)向量的方向幾乎相同時(shí),它們的內(nèi)積最大。
5、總結(jié)
最后再聊聊BGE-VL和CLIP、BLIP等基于文本-圖像對(duì)訓(xùn)練的模型的區(qū)別:
CLIP、BLIP等模型通過學(xué)習(xí)圖像和文本的聯(lián)合嵌入空間來實(shí)現(xiàn)跨模態(tài)。這些模型在預(yù)訓(xùn)練階段通常是通過大量的圖像-文本對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練,目標(biāo)是使圖像和文本的嵌入在語義上盡可能接近。然而,這種預(yù)訓(xùn)練方式主要關(guān)注的是模態(tài)內(nèi)的一致性,而不是模態(tài)間的融合。
在檢索任務(wù)中,當(dāng)查詢和候選來自同一模態(tài)時(shí),模型往往會(huì)給出更高的相似度分?jǐn)?shù)。例如:
- 如果查詢是文本,而候選也是文本,模型會(huì)更容易找到語義上相似的文本候選。
- 如果查詢是圖像,而候選也是圖像,模型會(huì)更容易找到視覺上相似的圖像候選。
而如果查詢是圖像或者文本,候選是圖像和文本,檢索任務(wù)則幾乎會(huì)失敗。在UniIR的實(shí)驗(yàn)中也驗(yàn)證了這一點(diǎn):
以WebQA數(shù)據(jù)集為例,當(dāng)檢索候選是圖像-文本對(duì)而不是純文本時(shí),BLIP2 的召回率從35.2%下降到0%,表明零樣本模型無法有效融合不同模態(tài)的信息。
這種偏好是由于模型在預(yù)訓(xùn)練階段主要學(xué)習(xí)了模態(tài)內(nèi)的相似性,而不是模態(tài)間的對(duì)齊。因此,當(dāng)候選是圖像-文本對(duì)時(shí),模型可能無法有效地將圖像和文本的信息結(jié)合起來,從而導(dǎo)致檢索性能下降。
而對(duì)于BGE-VL來說,在預(yù)訓(xùn)練階段不僅學(xué)習(xí)了視覺語義、視覺模式和文本語義之間的相關(guān)性,也進(jìn)一步學(xué)習(xí)了模態(tài)間的對(duì)齊,因此效果遠(yuǎn)超于CLIP等模型直接作為檢索器的檢索任務(wù)。
很有意義的一篇論文,智源開源的多項(xiàng)向量模型工作均產(chǎn)生深遠(yuǎn)影響。BGE-VL的開源,也為多模態(tài)檢索帶來新突破,其高效的檢索性能和創(chuàng)新的數(shù)據(jù)合成方法為行業(yè)發(fā)展提供了新的思路和方向,為多模態(tài)應(yīng)用的落地和推廣提供有力支持。