Florence-VL來(lái)了!使用生成式視覺編碼器,重新定義多模態(tài)大語(yǔ)言模型視覺信息
本文由馬里蘭大學(xué),微軟研究院聯(lián)合完成。作者包括馬里蘭大學(xué)博士生陳玖海,主要研究方向?yàn)檎Z(yǔ)言模型,多模態(tài)模型。通訊作者為 Bin Xiao, 主要研究方向?yàn)橛?jì)算機(jī)視覺,深度學(xué)習(xí)和多模態(tài)模型。其他作者包括馬里蘭大學(xué)助理教授Tianyi Zhou , 微軟研究院研究員 Jianwei Yang , Haiping Wu, Jianfeng Gao 。
- 論文:https://arxiv.org/pdf/2412.04424
- 開源代碼:https://github.com/JiuhaiChen/Florence-VL
- 項(xiàng)目主頁(yè):https://jiuhaichen.github.io/florence-vl.github.io/
- 在線 Demo:https://huggingface.co/spaces/jiuhai/Florence-VL-8B
- 模型下載:https://huggingface.co/jiuhai/florence-vl-8b-sft
Florence-VL 提出了使用生成式視覺編碼器 Florence-2 作為多模態(tài)模型的視覺信息輸入,克服了傳統(tǒng)視覺編碼器(如 CLIP)僅提供單一視覺表征而往往忽略圖片中關(guān)鍵的局部信息。 然而 Florence-2 通過(guò)生成式預(yù)訓(xùn)練,將多種視覺任務(wù)(如圖像描述、目標(biāo)檢測(cè)、文字識(shí)別和對(duì)象定位)統(tǒng)一為 sequence-to-sequence 結(jié)構(gòu),并通過(guò) prompt 來(lái)完成多樣化的視覺任務(wù)。在 Florence- VL 中,我們僅使用一個(gè)視覺編碼器 Florence-2,但采用多個(gè)不同的 prompt,分別注重 caption,OCR 和 grounding,來(lái)獲得不同層次的視覺表征。通過(guò)融合這些不同深度的特征,F(xiàn)lorence-VL 實(shí)現(xiàn)了更全面的視覺理解。
引言
隨著大規(guī)模語(yǔ)言模型(LLM)的快速發(fā)展,多模態(tài)大語(yǔ)言模型(MLLMs)成為視覺與語(yǔ)言任務(wù)的主流解決方案。然而,現(xiàn)有的視覺編碼器(如 CLIP 和 SigLIP)雖然在整體語(yǔ)義提取方面表現(xiàn)出色,但存在明顯不足:
- 缺乏細(xì)粒度理解:僅捕獲圖像的整體語(yǔ)義,忽略像素級(jí)和局部區(qū)域的細(xì)節(jié)。
- 任務(wù)泛化能力有限:難以適配 OCR、物體定位等需要特定視覺特征的任務(wù)。
Florence-VL 正是針對(duì)這一問題提出的解決方案。通過(guò)引入生成式視覺基礎(chǔ)模型 Florence-2,F(xiàn)lorence-VL 在保持高效訓(xùn)練的同時(shí),能夠靈活適配不同任務(wù),彌補(bǔ)傳統(tǒng)視覺編碼器的缺陷。
在接下來(lái)的部分,我們將詳細(xì)介紹 Florence-2 背后的技術(shù)原,F(xiàn)lorence-VL 如何利用多任務(wù)視覺特征,以及我們提出的深度 - 廣度融合策略如何實(shí)現(xiàn)視覺信息的高效整合。
背景介紹:Florence-2
傳統(tǒng)視覺編碼器如 CLIP 和 SigLIP 主要依賴對(duì)比學(xué)習(xí)來(lái)預(yù)訓(xùn)練,雖然能在跨模態(tài)任務(wù)中取得不錯(cuò)效果,但其輸出的圖像特征通常是單一的全局語(yǔ)義表示,難以捕獲細(xì)粒度信息。這一缺陷使得這些模型在 OCR 文本提取、對(duì)象定位等任務(wù)上表現(xiàn)不佳。
Florence-2 則采用了生成式預(yù)訓(xùn)練的方式,將多種視覺任務(wù)統(tǒng)一到一個(gè)編碼 - 解碼框架中,能夠根據(jù)不同任務(wù)提示生成多樣化的視覺特征。
Florence-2 的主要流程包括:
- 視覺編碼器 DaViT:將輸入圖像轉(zhuǎn)換為基礎(chǔ)視覺特征。
- 任務(wù)提示機(jī)制:通過(guò)不同的文本提示調(diào)整生成目標(biāo),從而提取任務(wù)特定的視覺信息。
- 編碼 - 解碼框架:結(jié)合視覺和文本特征,輸出滿足不同任務(wù)需求的結(jié)果。
通過(guò)這一架構(gòu),F(xiàn)lorence-2 實(shí)現(xiàn)了全局語(yǔ)義到局部細(xì)節(jié)的視覺特征生成,為多模態(tài)任務(wù)提供了更全面的視覺表示。接下來(lái)我們將介紹如何使用 Florence-2 來(lái)構(gòu)建 Florence-VL。
方法:深度與廣度融合 (DBFusion)
Florence-VL 的核心創(chuàng)新在于我們提出的深度 - 廣度融合(Depth-Breadth Fusion)策略,它充分挖掘 Florence-2 的生成式特性,將多任務(wù)提示和多層級(jí)特征有效結(jié)合,形成更豐富的視覺表征。
1. 廣度:通過(guò)任務(wù)提示擴(kuò)展視覺表征
不同的視覺任務(wù)需要不同的視覺信息。例如:
- Captioning:用于理解圖像整體語(yǔ)義,生成描述性文本。
- OCR:提取圖像中的文本內(nèi)容,尤其適用于帶有文字的圖像。
- Grounding:用于定位物體,捕捉物體之間的關(guān)系。
Florence-2 通過(guò)不同的任務(wù)提示,生成針對(duì)性強(qiáng)的視覺特征,從而實(shí)現(xiàn)視覺特征的 “廣度” 擴(kuò)展。
2. 深度:整合多層級(jí)的視覺特征
Florence-2 的不同深度層能夠捕獲從 low- level 到 high-level 的視覺特征,這種多層級(jí)特征的結(jié)合,保證了視覺編碼器既能關(guān)注細(xì)節(jié),又能捕獲整體信息。
3. 融合策略:通道拼接實(shí)現(xiàn)高效整合
為了將多任務(wù)和多層級(jí)的特征高效融合,我們?cè)O(shè)計(jì)了通道拼接(Channel Integration)策略。具體做法是將不同特征按通道維度拼接,并通過(guò) MLP 映射到語(yǔ)言模型的輸入空間。這一策略的優(yōu)勢(shì)在于:避免了增加訓(xùn)練與推理時(shí)的序列長(zhǎng)度以及最大程度保留了視覺特征的多樣性與完整性。
分析:多種視覺編碼器的對(duì)比
為探討不同視覺編碼器(如 CLIP、SigLIP、DINOv2 和 Florence-2)和大語(yǔ)言模型的對(duì)齊能力,我們采用了實(shí)驗(yàn)來(lái)定量評(píng)估不同視覺編碼器與語(yǔ)言模型的跨模態(tài)對(duì)齊質(zhì)量。具體方法如下:對(duì)于每組圖文配對(duì) (image- caption pair),視覺編碼器生成視覺特征,語(yǔ)言模型生成文本特征,我們通過(guò)可訓(xùn)練投影對(duì)視覺特征和文本特征進(jìn)行維度對(duì)齊,并且通過(guò)對(duì)齊損失函數(shù)來(lái)評(píng)估視覺編碼器和語(yǔ)言模型的對(duì)齊能力。實(shí)驗(yàn)結(jié)果表明,F(xiàn)lorence-2 相較于其他視覺編碼器顯示出更優(yōu)的跨模態(tài)對(duì)齊能力。
實(shí)驗(yàn)驗(yàn)證
為了全面評(píng)估 Florence-VL 的性能,我們?cè)O(shè)計(jì)了一系列實(shí)驗(yàn),涵蓋通用視覺問答、OCR、知識(shí)理解等多模態(tài)任務(wù)。
1. 實(shí)驗(yàn)任務(wù)與數(shù)據(jù)
- 通用視覺問答:如 VQAv2、GQA 等。
- OCR 與圖表任務(wù):如 TextVQA 和 ChartQA,側(cè)重文本提取與圖表分析。
- 視覺主導(dǎo)任務(wù):如 CV-bench 和 MMVP, 側(cè)重視覺信息理解。
- 知識(shí)密集型任務(wù):如 AI2D、MathVista 等,測(cè)試模型對(duì)基本知識(shí)的理解能力。
我們使用了經(jīng)過(guò)篩選的 15M 圖像描述數(shù)據(jù) (detailed caption)與 10M 高質(zhì)量指令微調(diào)數(shù)據(jù)進(jìn)行訓(xùn)練,以確保數(shù)據(jù)的多樣性和高質(zhì)量。
2. 實(shí)驗(yàn)結(jié)果
在實(shí)驗(yàn)結(jié)果中,F(xiàn)lorence-VL 在多個(gè)多模態(tài)基準(zhǔn)任務(wù)上展現(xiàn)出卓越的性能優(yōu)勢(shì)。特別是在 TextVQA 和 OCR-Bench 等文本提取任務(wù)上,得益于 Florence-2 生成式視覺編碼器提供的細(xì)粒度 OCR 特征。此外,在通用視覺問答任務(wù),視覺主導(dǎo)任務(wù),知識(shí)密集型任務(wù)中,F(xiàn)lorence-VL 通過(guò)深度 - 廣度融合策略有效結(jié)合了多層級(jí)、多任務(wù)視覺特征,使得整體準(zhǔn)確率相比傳統(tǒng) CLIP-based 方法有所提升。
3. 消融實(shí)驗(yàn)
為了證明采用 Florence-2 作為視覺編碼器的優(yōu)越性,我們使用 llava 1.5 的預(yù)訓(xùn)練和指令微調(diào)數(shù)據(jù),并且采用和 llava 1.5 相同的訓(xùn)練策略。我們發(fā)現(xiàn) florence-VL 顯著優(yōu)于 llava 1.5, Florence-VL 在 TextVQA 和 OCR-Bench 等任務(wù)中表現(xiàn)突出,顯示出生成式視覺特征在提取圖像文字信息中的優(yōu)勢(shì)。
總結(jié)
在本文中,我們提出了 Florence-VL,一種基于生成式視覺編碼器 Florence-2 的多模態(tài)大語(yǔ)言模型。與傳統(tǒng)依賴對(duì)比學(xué)習(xí)的視覺編碼器(如 CLIP)相比,F(xiàn)lorence-2 通過(guò)生成式預(yù)訓(xùn)練能夠捕捉更豐富的視覺特征,提供多層次、多角度的圖像表征。我們?cè)O(shè)計(jì)了創(chuàng)新的深廣融合(Depth-Breadth Fusion)策略,通過(guò)整合不同深度層次和任務(wù)提示生成的視覺特征,將視覺信息全面映射到語(yǔ)言模型輸入空間。通過(guò)廣泛的實(shí)驗(yàn),我們驗(yàn)證了 Florence-VL 在多種任務(wù)中的卓越表現(xiàn),包括通用視覺問答、OCR、圖表理解和知識(shí)密集型任務(wù)等。在未來(lái),我們將進(jìn)一步探索:例如自適應(yīng)融合策略:根據(jù)任務(wù)動(dòng)態(tài)調(diào)整深度與廣度特征的平衡等。