Florence-VL來了!使用生成式視覺編碼器,重新定義多模態大語言模型視覺信息

AIxiv專欄是機器之心發佈學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯繫報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

本文由馬里蘭大學,微軟研究院聯合完成。作者包括馬里蘭大學博士生陳玖海,主要研究方向為語言模型,多模態模型。通訊作者為 Bin Xiao, 主要研究方向為計算機視覺,深度學習和多模態模型。其他作者包括馬里蘭大學助理教授Tianyi Zhou , 微軟研究院研究員 Jianwei Yang , Haiping Wu, Jianfeng Gao 。

  • 論文:https://arxiv.org/pdf/2412.04424

  • 開源代碼:https://github.com/JiuhaiChen/Florence-VL

  • 項目主頁: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 作為多模態模型的視覺信息輸入,克服了傳統視覺編碼器(如 CLIP)僅提供單一視覺表徵而往往忽略圖片中關鍵的局部信息。 然而 Florence-2 通過生成式預訓練,將多種視覺任務(如圖像描述、目標檢測、文字識別和對象定位)統一為 sequence-to-sequence 結構,並通過 prompt 來完成多樣化的視覺任務。在 Florence- VL 中,我們僅使用一個視覺編碼器 Florence-2,但採用多個不同的 prompt,分別注重 caption,OCR 和 grounding,來獲得不同層次的視覺表徵。通過融合這些不同深度的特徵,Florence-VL 實現了更全面的視覺理解。

引言

隨著大規模語言模型(LLM)的快速發展,多模態大語言模型(MLLMs)成為視覺與語言任務的主流解決方案。然而,現有的視覺編碼器(如 CLIP 和 SigLIP)雖然在整體語義提取方面表現出色,但存在明顯不足:

  1. 缺乏細粒度理解:僅捕獲圖像的整體語義,忽略像素級和局部區域的細節。

  2. 任務泛化能力有限:難以適配 OCR、物體定位等需要特定視覺特徵的任務。

Florence-VL 正是針對這一問題提出的解決方案。通過引入生成式視覺基礎模型 Florence-2,Florence-VL 在保持高效訓練的同時,能夠靈活適配不同任務,彌補傳統視覺編碼器的缺陷。

在接下來的部分,我們將詳細介紹 Florence-2 背後的技術原,Florence-VL 如何利用多任務視覺特徵,以及我們提出的深度 – 廣度融合策略如何實現視覺信息的高效整合。

背景介紹:Florence-2

傳統視覺編碼器如 CLIP 和 SigLIP 主要依賴對比學習來預訓練,雖然能在跨模態任務中取得不錯效果,但其輸出的圖像特徵通常是單一的全局語義表示,難以捕獲細粒度信息。這一缺陷使得這些模型在 OCR 文本提取、對象定位等任務上表現不佳。

Florence-2 則採用了生成式預訓練的方式,將多種視覺任務統一到一個編碼 – 解碼框架中,能夠根據不同任務提示生成多樣化的視覺特徵。

Florence-2 的主要流程包括:

  1. 視覺編碼器 DaViT:將輸入圖像轉換為基礎視覺特徵。

  2. 任務提示機制:通過不同的文本提示調整生成目標,從而提取任務特定的視覺信息。

  3. 編碼 – 解碼框架:結合視覺和文本特徵,輸出滿足不同任務需求的結果。

通過這一架構,Florence-2 實現了全局語義到局部細節的視覺特徵生成,為多模態任務提供了更全面的視覺表示。接下來我們將介紹如何使用 Florence-2 來構建 Florence-VL。

方法:深度與廣度融合 (DBFusion)

Florence-VL 的核心創新在於我們提出的深度 – 廣度融合(Depth-Breadth Fusion)策略,它充分挖掘 Florence-2 的生成式特性,將多任務提示和多層級特徵有效結合,形成更豐富的視覺表徵。

1. 廣度:通過任務提示擴展視覺表徵

不同的視覺任務需要不同的視覺信息。例如:

  • Captioning:用於理解圖像整體語義,生成描述性文本。

  • OCR:提取圖像中的文本內容,尤其適用於帶有文字的圖像。

  • Grounding:用於定位物體,捕捉物體之間的關係。

Florence-2 通過不同的任務提示,生成針對性強的視覺特徵,從而實現視覺特徵的 「廣度」 擴展。

2. 深度:整合多層級的視覺特徵

Florence-2 的不同深度層能夠捕獲從 low- level 到 high-level 的視覺特徵,這種多層級特徵的結合,保證了視覺編碼器既能關注細節,又能捕獲整體信息。

3. 融合策略:通道拚接實現高效整合

為了將多任務和多層級的特徵高效融合,我們設計了通道拚接(Channel Integration)策略。具體做法是將不同特徵按通道維度拚接,並通過 MLP 映射到語言模型的輸入空間。這一策略的優勢在於:避免了增加訓練與推理時的序列長度以及最大程度保留了視覺特徵的多樣性與完整性。

分析:多種視覺編碼器的對比

為探討不同視覺編碼器(如 CLIP、SigLIP、DINOv2 和 Florence-2)和大語言模型的對齊能力,我們採用了實驗來定量評估不同視覺編碼器與語言模型的跨模態對齊質量。具體方法如下:對於每組圖文配對 (image- caption pair),視覺編碼器生成視覺特徵,語言模型生成文本特徵,我們通過可訓練投影對視覺特徵和文本特徵進行維度對齊,並且通過對齊損失函數來評估視覺編碼器和語言模型的對齊能力。實驗結果表明,Florence-2 相較於其他視覺編碼器顯示出更優的跨模態對齊能力。

實驗驗證

為了全面評估 Florence-VL 的性能,我們設計了一系列實驗,涵蓋通用視覺問答、OCR、知識理解等多模態任務。

1. 實驗任務與數據

  • 通用視覺問答:如 VQAv2、GQA 等。

  • OCR 與圖表任務:如 TextVQA 和 ChartQA,側重文本提取與圖表分析。

  • 視覺主導任務:如 CV-bench 和 MMVP, 側重視覺信息理解。

  • 知識密集型任務:如 AI2D、MathVista 等,測試模型對基本知識的理解能力。

我們使用了經過篩選的 15M 圖像描述數據 (detailed caption)與 10M 高質量指令微調數據進行訓練,以確保數據的多樣性和高質量。

2. 實驗結果

在實驗結果中,Florence-VL 在多個多模態基準任務上展現出卓越的性能優勢。特別是在 TextVQA 和 OCR-Bench 等文本提取任務上,得益於 Florence-2 生成式視覺編碼器提供的細粒度 OCR 特徵。此外,在通用視覺問答任務,視覺主導任務,知識密集型任務中,Florence-VL 通過深度 – 廣度融合策略有效結合了多層級、多任務視覺特徵,使得整體準確率相比傳統 CLIP-based 方法有所提升。

3. 消融實驗

為了證明採用 Florence-2 作為視覺編碼器的優越性,我們使用 llava 1.5 的預訓練和指令微調數據,並且採用和 llava 1.5 相同的訓練策略。我們發現 florence-VL 顯著優於 llava 1.5,  Florence-VL 在 TextVQA 和 OCR-Bench 等任務中表現突出,顯示出生成式視覺特徵在提取圖像文字信息中的優勢。

總結

在本文中,我們提出了 Florence-VL,一種基於生成式視覺編碼器 Florence-2 的多模態大語言模型。與傳統依賴對比學習的視覺編碼器(如 CLIP)相比,Florence-2 通過生成式預訓練能夠捕捉更豐富的視覺特徵,提供多層次、多角度的圖像表徵。我們設計了創新的深廣融合(Depth-Breadth Fusion)策略,通過整合不同深度層次和任務提示生成的視覺特徵,將視覺信息全面映射到語言模型輸入空間。通過廣泛的實驗,我們驗證了 Florence-VL 在多種任務中的卓越表現,包括通用視覺問答、OCR、圖表理解和知識密集型任務等。在未來,我們將進一步探索:例如自適應融合策略:根據任務動態調整深度與廣度特徵的平衡等。

[1]. https://arxiv.org/abs/2311.06242