核心程式碼僅三行!即插即用的視覺語言聯結器,一鍵提升多模態大模型


©作者 | 吳文灝
單位 | 悉尼大學博士生
很開心和大家分享一下我們最近的工作,和清華小學弟姚歡晉在多模態大語言模型(Multimodal Large Language Model, 以下簡稱 MLLM)方面進行了一些探索。
論文內容和標題《Dense Connector for MLLMs》一樣簡單,我們提出一個簡單有效、即插即用的視覺語言聯結器 Dense Connector(DC),簡單地利用多層視覺離線特徵來增強現有的多模態大語言模型,且不引入額外的計算量。思路簡單,所以實現也很簡單,核心程式碼僅三行! 
論文連結:
https://arxiv.org/pdf/2405.13800
專案連結:
https://github.com/HJYao00/DenseConnector
DC 能直接應用於不同解析度的多模態大語言模型(比如 LLaVA-1.5,Mini-Gemini)帶來明顯提升,與不同視覺骨架模型、不同預訓練資料、不同引數的大語言模型(從 2B→70B)都能相容。我們在 11 個影像評測集都取得不錯效果,無需訓練直接拓展到影片上也能在 8 個影片指標上也取得領先的表現。 
Dense Connector 很榮幸被大 V(推特)AK 轉發,被 HuggingFace 選為 Daily Papers,歡迎大家的關注與批評指正。我們也希望 DC 能成為未來多模態大語言模型的基礎模組。
Dense Connector 已適配 LLaVA-NeXT!透過將 Dense Connector 與動態高解析度技術(即 LLaVA-NeXT 中的 AnyRes 技術)結合,我們進一步提升了模型效能,並展示了 Dense Connector 在更廣泛應用領域的表現。僅使用 LLaVA-1.5 資料集,Dense Connector 在多個基準測試中超越了 LLaVA-NeXT(指令微調訓練資料未開源)。歡迎檢視 ModelZoo 中的效能表現!
背景
自從 ChatGPT 引領了一波大語言模型(LLM)的熱潮,引入視覺等資訊的多模態大語言模型(MLLMs)的研究也如火如荼。目前幾個常用的提升 MLLMs 的方式是:使用更多更高質量的影像-文字資料集(預訓練資料+指令微調資料)、增加大語言模型的引數量、提高影像解析度、增加視覺骨幹網路的數量等方面來增強 MLLM 的理解能力。

然而,對現有視覺編碼器的更有效利用的探索相對較少,目前的主流方法往往使用凍結的視覺編碼器來獲取高層視覺特徵(比如 CLIP ViT-L 的第 24 層特徵)以此作為最終的視覺表示。然而,這種方式真的充分利用了視覺特徵嗎?除了最高層特徵,凍結的視覺編碼器的各層特徵其實都蘊含不盡相同的視覺資訊,為何不充分使用這些“免費的午餐”呢?

進一步思考,為了與現有 MLLMs 完全相容性,有沒有一種既簡單、又高效、又不引入額外引數的方式來充分利用離線視覺特徵呢?於是,我們提出了 Dense Connector,一個即插即用的視覺語言聯結器來增強現有的 MLLMs。
▲ 探索多層視覺特徵,增強現有 MLLM 的能力
探索Dense Connector:三種例項
▲ 概覽Dense Connector
現有的 MLLMs(如 LLaVA 和 InstructBLIP)通常將高層特徵輸入給 MLLM。然而,在計算機視覺的歷史長河中,利用多層視覺特徵以增強視覺表徵是一種經典的策略(如 DenseNet, FPN 等)。
如上圖,我們針對 MLLM 進行了相關的探索,以下是 Dense Connector 的三種例項探索,它融合多層視覺特徵以獲得更強的視覺表徵。Dense Connector 分為兩個部分:第一部分融合多層視覺特徵,第二部分進行特徵轉換,將視覺特徵轉換到大語言模型的特徵空間上。接下來,我們分別介紹實現這三種例項:
▲ Dense Connector的三種例項。N為token數,D為channel維度。
Sparse Token Integration (STI)
現有方法透過 projector 將高層的 ViT patch token 轉換為大語言模型的輸入  token。沿著這種思路,我們將淺層視覺特徵作為額外的 token 輸入給 LLM。然而,隨著 token 數量的增加,大語言模型的前向計算時間也會增加,並且相同編碼器的不同層特徵存在一定的冗餘資訊。
為了解決這些問題,我們使用 average pooling 對低層視覺 token 進行下采樣,同時保持高層特徵不變。然後,我們將這些特徵沿著 token 維度進行拼接,並輸入到一個共享權重的 projector 中進行特徵空間轉換。
Sparse Channel Integration (SCI)
STI 方法簡單有效,但是由於 token 數的增多,影響了其推理效率。受到 DenseNet 的啟發,我們提出了本文的一個核心方法:將 multi-level 的視覺特徵沿著特徵維度拼接,然後將拼接後的視覺特徵透過 projector。projector 在這裡不僅作為視覺特徵的融合器,也作為視覺特徵到文字特徵的對映器,巧妙的實現了兩種功能。
這部分核心程式碼僅三行!
Dense Channel Integration (DCI)
上述的 STI 和 SCI 方法都取得了不錯的效果。然而,由於上述方法需要沿著 token 或者 channel 維度進行拼接,我們僅選擇了少數幾層特徵進行拼接。選擇過多的特徵會導致維度過高,導致效果不好。
為了融合更多層的視覺特徵,我們在 SCI 的基礎上提出了一種更有效的方法融合更多的視覺特徵層。我們的做法如下:首先將 ViT 層(例如,24 層的 ViT-L/14)分為 3 組,分別是第 1~8 層,第 9~16 層,第 17~24 層三組視覺特徵。我們對這三組特徵分別進行特徵相加後,將 24 層視覺特徵縮減為 3 個視覺特徵表徵。然後我們將這三個融合後的視覺特徵和 ViT 原本的高層特徵沿著 channel 維度進行拼接,並透過 projector 進行特徵融合和特徵對映。
實驗結果
下圖是 Dense Connector 的三種例項化結果,以 Baseline LLaVA-1.5 為參考,三種例項都有明顯提升,也能看到其中 Dense Channel Integration (DCI)  實現了最好的結果。
▲ Dense Connector的三種例項化結果
此外,我們測試了利用不同視覺編碼器的多層視覺特徵的效果,我們將 CLIP-L 替換成更先進的 SigLIP-SO,驗證了 Dense Connector 能適用於其他的視覺 backbone。為了驗證 Dense Connector 能輕鬆整合到現有的 MLLM 框架中,除了 LLaVA-1.5,我們也將 Dense Connector 應用於最近的高解析度雙流架構的 Mini-Gemini,並實現了進一步的效能提升。同樣,基於更大的預訓練資料,效果提升也明顯。
▲ 相容性分析
我們基於 LLaVA-1.5 的訓練資料,提供了基於不同引數量(2B-70B)大語言模型的結果,能看到其 scale up 能力。不過由於計算資源的限制(大部分模型都使用 8 卡 A100 訓練),為了訓練 34B 模型和 70B 模型,我們只能凍結 LLM 僅訓練 LoRA 微調。後面如果有更豐富的 80G A100 多機資源,很顯然 full tuning LLM 以及使用比 LLaVA-1.5 更多的訓練資料(比如 Mini-Gemini)會有更好的結果。
▲ 使用不同LLM的結果
除了影像模態,我們也直接利用 FreeVA [1] 將我們的模型用於影片對話(沒有經過任何的影片資料訓練),也取得了不錯的結果。
▲ 影片場景結果
參考文獻
[1] FreeVA: Offline MLLM as Training-Free Video Assistant https://arxiv.org/abs/2405.07798
更多閱讀
#投 稿 通 道#
 讓你的文字被更多人看到 
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋樑,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。 
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析科研心得競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝 稿件基本要求:
• 文章確係個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標註 
• 稿件建議以 markdown 格式撰寫,文中配圖以附件形式傳送,要求圖片清晰,無版權問題
• PaperWeekly 尊重原作者署名權,並將為每篇被採納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬 投稿通道:
• 投稿郵箱:[email protected] 
• 來稿請備註即時聯絡方式(微信),以便我們在稿件選用的第一時間聯絡作者
• 您也可以直接新增小編微信(pwbot02)快速投稿,備註:姓名-投稿
△長按新增PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜尋「PaperWeekly」
點選「關注」訂閱我們的專欄吧
·
·
·

相關文章