端側實時運行、3B媲美7B!美團、浙大等提出MobileVLM V2:更快、更強的端側視覺語言模型
美團、浙大等于近日推出了 MobileVLM V2,其中包含參數量 1.7B、3B、以及 7B 的一系列視覺-語言模型。代碼與模型以及適配的端側推理方案都已開源。
論文地址:https://arxiv.org/abs/2402.03766
模型地址:https://huggingface.co/mtgv
代碼地址:https://github.com/Meituan-AutoML/MobileVLM
大模型涌向移動端的浪潮愈演愈烈,作為第一個針對端側的視覺語言模型的工作,歸功于 MobileVLM 在小參數量下的強大性能和完善的端側實時運行端側推理方案,MobileVLM 一經推出就受到了國內外開源社區的廣泛關注。
在延續前作優勢的基礎上,MobileVLM V2 進行了顯著的改進,使用了新穎的架構設計、針對移動端 VLM 量身定制訓練方案、并豐富了高質量數據,使 MobileVLM V2 的性能表現更上一層樓的同時,也為業界對于端側視覺語言模型解決方案提供了新的思路。
具體而言,與參數量更大的 3B VLM 相比,MobileVLM V2 1.7B 在標準 VLM 基準測試中達到了同等甚至更好的的性能;特別是 MobileVLM V2 3B 模型在某些標準測試基準上甚至優于參數規模 7B 甚至更大的 VLM。
一、簡介
視覺-語言模型(VLM)已成為當今人工智能領域的一個研究熱點。通過融合大型語言模型(LLM)和多模態功能,視覺-語言模型展現出前所未有的多功能性。例如,Gemini 和 GPT-4V 等專有模型在多種任務中展示了卓越的性能。盡管 VLM 表現出色,但如何將其部署到如移動設備、自動駕駛汽車和嵌入式人工智能系統等實際應用中,依然面臨著挑戰。
最近,MobileVLM 在探索移動端硬件架構導向的小規模 VLMs 的能力方面走在了前列。MoE-LLaVA 采用了 mixture-of-experts 方法,顯著提升了小型模型的性能,使其超越了許多大型模型。最新研究顯示,VLMs 正朝著擴展模態、優化訓練流程、高效架構和高質量訓練數據集的方向發展。
本文基于 MobileVLM 進行了大幅改進,主要集中在三個方面:首先是訓練數據的利用:本文通過使用 ShareGPT4V 收集的 120 萬對高質量圖像-文本配對數據,有效地對齊了視覺-語言特征。這一數據集的引入提高了數據的多樣性,并增強了模型遵循指令的能力,同時納入了更多學術任務,例如 ScienceQA、TextVQA、SBU 等。
其次是訓練策略的探索:在訓練策略方面,該方法在預訓練和指令微調階段對投影網絡和語言模型的所有參數進行了訓練,這種做法在充分利用高質量數據潛力方面顯示出了有效性。
輕量級高性能投影網絡的更新:引入了一個更加精簡而強大的輕量級投影機制并通過該機制連接視覺和語言模型。通過改進圖像 token 的表示、增強了位置信息的手段,MobileVLM V2 能夠在幾乎不降低性能的情況下顯著減少語言模型所需的輸入圖像 token 的數量。本文的主要貢獻如下:
- 本文探索并評估了增加小型視覺-語言模型訓練數據的性能,顯著縮小了如 MobileVLM 這樣的小型 VLMs 與大參數量視覺-語言模型之間的性能差距。
- 本文深入研究了對于移動端場景下更友好的訓練策略,并設計了一種新穎的訓練方案,以充分利用更多高質量多模態數據的潛力。本文提出了一個非常輕量級的投影網絡,以顯著減少視覺 token 的數量,同時對性能只有輕微的影響。
- 本文提出的方法在多個視覺-語言基準測試中取得了性能與推理速度之間的最佳平衡。通過將 MobileVLM V2 模型的參數規模擴展到70億,本文的方法大幅超越了之前最先進的模型。
二、MobileVLM V2
1. 總體架構設計
本文的方法延續了與 MobileVLM 相似的框架。如圖 2 所示,MobileVLM V2 的整體架構包括一個預訓練的用于提取圖像特征視覺編碼器,一個預訓練的端側語言模型 MobileLLaMA 來處理多模態 token 并生成最終回答,以及一個針對端側設計的投影網絡,即輕量級下采樣投影器(表示為 LDPv2),用于將圖像特征在特征空間層面與語言模型對齊。
2. 視覺編碼器
延續 MobileVLM 的思想,本文使用 CLIP ViT-L/14 作為視覺編碼器
,該編碼器通過對比學習在數百萬圖像-語言對上進行預訓練,并已被證明對 VLMs 有效。
特別地,圖像首先被調整大小至 336 × 336 分辨率,并以 14 為步長
切割成塊。然后提取高級視覺嵌入
來表示圖像的語義信息,其中
表示視覺嵌入的序列長度,
表示視覺嵌入的 hidden size。具體如下式所示:
3. 語言模型
本文采用 MobileLLaMA 系列作為基礎的語言模型(LLM)。該選擇有三個原因:首先,MobileLLaMA 設計用于即插即用部署,并已在資源有限的設備上展示了實時推理能力和可靠的性能。保持語言模型不變有助于進行受控實驗,以探索其他因素的影響,例如擴大數據語料庫、改進訓練策略、更新投影網絡等新設計。
其次,MobileLLaMA 與 LLaMA2 共享相同的分詞器,這有助于進行無障礙的知識蒸餾。最后,它是在開放數據集上訓練的,并且沒有因數據泄露而導致評估污染的風險。這也有助于確認這個模型是否能夠在性能上取得優勢。
具體來說,本文采用 MobileLLaMA-1.4B-Chat 和 MobileLLaMA-2.7B-Chat 作為語言模型。文本輸入首先被分詞并處理成文本 token
,其中
表示文本 token 的序列長度,
是單詞嵌入空間的隱藏尺寸。文本 token
和視覺 token ?
通過投影網絡轉換,以便作為語言模型的輸入串聯起來。最終響應
的長度為
,以如下的自回歸方式生成:
4. 輕量級的降采樣投影網絡
受 MobileVLM 的 LDP 設計啟發,本文引入了一個新的投影網絡,以更少的參數實現更好的視覺-語言特征對齊。它包含三個組成部分,即特征轉換、減少 token 數、位置信息增強。
首先,投影網絡在圖像 token 上使用兩個逐點卷積層來匹配 LLM 的特征維度。然后,引入了一個平均池化層來極度壓縮圖像 token 的數量。最后,應用了一個非常簡單但有效的模塊 PEG,它帶有跳躍連接,能夠增強位置信息。與 LDP 相比,該投影網絡更加高效,減少了 99.8% 的參數數量,并且在運行速度上略有提升。
在公式化中,輕量級降采樣投影網絡 LDPv2(標記為 )將視覺嵌入
轉換為具有位置增強的模態對齊視覺 token
。這種設計針對部署十分友好,因為它由主流推理框架支持的算子組成。給定一個平均核
,剩余 token 的數量只有輸入特征的
。具體來說,如下 LDPv2 的公式化如下所示:
其中 PW 和 DW 分別代表逐點卷積和深度卷積,GELU 是 GELU 激活層,AvgPool2×2 是 2×2 平均池化層。
5. 訓練策略
MobileVLM V2 的訓練過程分為兩個階段:預訓練和多任務訓練。如表 1 所示,與LLaVA-1.5 和之前的 MobileVLM 的訓練范式不同,MobileVLM V2 在兩個階段中始終訓練投影網絡和大型語言模型的權重,同時凍結視覺編碼器的權重。
(1) 預訓練
大多數視覺-語言模型(VLMs)在預訓練期間通常會凍結視覺編碼器和語言模型,以避免優化難題。ShareGPT-4V 部分凍結視覺編碼器并訓練語言模型。在本文中分別從 CLIP ViT-L/14 和 MobileLLaMA 初始化視覺編碼器和語言模型的權重。這種初始化為隨后的統一訓練過程提供了一個堅實的基礎。
本文對投影網絡和 LLM 進行完整訓練,同時微調視覺編碼器,在訓練過程中凍結 ViT 降低了訓練成本。然后,模型利用一個自回歸損失函數,將訓練目標集中在下一個 token 的預測上。通過專注于這個特定任務,模型更好地學習視覺信息背景下語言生成的復雜性,從而提高了多模態任務的性能。
如表 2 所示,在預訓練階段,模型使用 ShareGPT4V-PT 數據集進行訓練,該數據集包含 120 萬圖像-文本對。該數據集在提高模型的圖像-文本對齊能力方面起著至關重要的作用,是多模態表示學習的一個關鍵方面。
(2) 多任務訓練
在圖像-文本對齊學習的預訓練階段之后,MobileVLM V2 已經獲得了基本的圖像內容理解能力。然而,它利用視覺信息進行分析和對話的能力還不成熟,尤其是在一系列特定的下游任務中。因此,在多任務訓練階段,本文引入了多個視覺-語言任務,通過對訓練過程中的參數進行調整,使模型具備多任務分析和圖像-文本對話的能力。
在多任務訓練階段,本文使用了大量的數據集,包含了多種任務,以進一步擴充模型的能力集合。如表 2 所概述,這些數據集根據功能不同精挑細選,例如使用 Visual Dialog 數據集提高對話能力,通過 TextVQA 數據集提高 OCR 技能,通過 COCO Caption 和 SBU 數據集提高場景理解能力,以及通過 VSR 數據集等提高位置理解能力。
總的來說,這一階段的聚合數據包含了 240 萬個樣本,確保了跨不同模態和任務的全面學習。
三、實驗結果
表三中列出了本文方法在訓練過程中所涉及的參數設置:
1. 與SOTA視覺-語言模型的比較
本文評估了 MobileVLM V2 的性能,并在表 4 中展示了準確性結果。與 MobileVLM 相同,本文采用了一系列基準測試,包括圖像問答系列 GQA、SQA、TextVQA,綜合基準測試 MME、MMBench,以及物體幻覺基準測試 POPE。
本文的模型的目標雖然是針對真實應用場景而取得準確性與運行時延遲兩個方面的平衡,但它們的性能超過了大多數以前的模型,并有在實時推理性能上具有明顯的優勢。憑借快 75% 的推理速度優勢,MobileVLM V2 3B 在平均性能上仍然比最近的工作 MoE-LLaVA-2.7B×4 高出 1.4 個百分點。
值得注意的是,MoE-LLaVA-2.7B×4 與許多 7B+ 的 VLMs 相比展現出可比或更好性能。這些 VLM 中的大部分都引入了大量的額外訓練成本。相比之下,本文的方法在達到最均衡的性能表現的同時,訓練成本與計算友好的 LLaVA-1.5 相當。
(1) 與MoE-LLaVA比較
MoE-LLaVA 利用多個專家模型來實現良好的性能,每個專家模型規模都較小,以提高推理速度。盡管只有一部分參數被激活,但它仍然需要存儲所有參數,這在移動端應用場景中不可避免地會導致 IO 開銷。此外,將模型壓縮技術應用到這些模型上非常困難。
相比之下,本文的方法在實際優化部署方面優勢很大。本文所提出的模型在 Tesla A100 GPU 上評估的推理速度領先于 MoE-LLaVA,如果在真實的端側環境中測試,優勢將會進一步擴大。原則上,MobileVLM V2 也可以與其 MoE 設計相結合,但在不犧牲 MobileVLM V2 的內存占用和推理延遲優勢前提下提出一種新的結合方式,還有待研究。
(2) 與MobileVLM比較
表 4 顯示,MobileVLM V2 顯著提高了 MobileVLM 的性能表現,平均準確率提高了 5.3 個百分點。由于這兩種方法共享相同的視覺-語言模態編碼器,性能的提高歸功于更優的數據、更好的訓練策略、以及更有效的投影網絡。
MobileVLM V2 的良好性能表現說明,MobileLLaMA 作為小型語言模型也能夠成為一個很好的基線,因為它是基于開放資源數據集 Redpajama 構建的,該數據集可復現且評估數據泄露的風險低。
(3) NVIDIA A100上的運行延遲比較
由于許多模型尚未得到最新的移動推理框架支持,本文使用 PyTorch 框架在 NVIDIA A100 GPU 上比較了一些模型的推理延遲,如圖 3 所示。
MobileVLM V2 模型在 token 生成速度和測試基準平均得分兩方面通常都有優勢。MoileVLM V2 1B/3B 的速度分別為 37.37tokens /秒和 28.97tokens /秒,這比 MoE-LLaVA 的對應參數量的模型快 1.65 倍,且平均性能更好。
2. 模型規模分析
雖然本文的目標是設計應用在端側的多模態模型,但本文進一步擴大了模型的參數規模到 7B,以驗證性能的上限。這也使得 MobileVLM V2 能夠與許多現有 VLM 進行同異性比較。在都使用 Vicuna-7B 作為 LLM 模型的條件下,MobileVLM V2 在圖 4 中的結果展現出全面的多模態性能改進。
如圖 5 和表 5 所示,文中將 MobileVLM V2 7B 與主流的大型 VLM 如 LLaVA-1.5 7B 和 ShareGPT4V 7B 在性能和推理速度上進行了比較,可以看出 MobileVLM V2 7B 不僅在多個基準測試中獲得了顯著的性能優勢,而且在推理速度上也明顯領先。
在幾乎快了 20% 的情況下,MobileVLM V2 7B 在平均性能上比 ShareGPT4V 高出 1.3%。這進一步說明了本文數據擴展策略、訓練策略和新的投影網絡設計的有效性。
可以觀察到,7B 模型的推理速度差距較小,所以在去除了減少 token 數的組件的設置下,本文的 7B 模型具有與 ShareGPT4V 相同的延遲速度,并且能夠達到性能上界。
表 4 的最后一行展示了這種設置下的比較結果,MobileVLM V2 7B(無 AvgPool)達到了 73.5% 的平均得分,顯著優于 LLaVA-1.5 4.7 個百分點。與MobileVLM V2 7B(帶 AvgPool)相比,性能提升主要來自 TextVQA 任務分數的提高,這是一個 OCR 任務,這項任務包含許多小物體,因此 token 數減少可能是有害的,本文作者將持續關注如何在未來的工作中有效利用高分辨率輸入的問題。
3. NVIDIA Jetson Orin上的運行延遲
在 Jetson Orin 平臺上, MobileVLM V2 在相同參數規模下展現了比其他模型更低的推理延遲。如表 5 所示,MobileVLM V2 具有最快的推理速度,這歸功于更加輕量化的投影網絡設計:將原始的 576 個視覺提示 token 數優化為 144 個,同時在平均準確率上的表現保持不變甚至更好。
四、消融實驗
1. 數據規模的影響
如表 6 所示,第一行代表 MobileVLM 1.7B 的基線。本文用 ShareGPT4V 數據集替換了預訓練數據集,并將指令調優數據集規模擴展到 240 萬圖文對,訓練策略和模型架構與基線保持一致。
在 GQA、SQA 和 TextVQA 上的性能提升表明,模型在認知和對話方面的能力在數據增強后有所提高。然而,在更高質量數據的配置下,保持原始訓練策略不能充分利用數據優勢,因此模型在 MME 和 MMBench 上的性能下降。
2. 訓練策略的影響
基于對訓練數據規模影線的觀察,本文進一步探索了更合理的訓練策略。在增強數據和小參數量 VLMs 的設置下,在全部階段對語言模型進行訓練能夠實現更高效的學習。因此,本文選擇同時對投影網絡和語言模型進行微調。比較結果顯示在表 6 的第二行和第三行,可以看到,這種訓練設置使模型在大多數 VLM 基準測試中都實現了全面的性能提升,平均準確率提高了 2%。
3. 投影網絡的影響
表 7 的第一行和第二行顯示,MobileVLM 提出的 LDPv1 在減少了 75% 的 token 數(從 576 減少到 144)的情況下,幾乎保持性能不變。基于新提出的數據配置和訓練策略,上述相應的架構分別能夠實現平均 5.4 和 4.5 的性能提升(見表 7 的第三行和第四行)。
然而,當嘗試繼續探索視覺和語言特征更好的對齊方法時,本文觀察到增加可學習參數的數量容易導致訓練過程陷入優化困境,從而導致整體特征對齊效果的下降。
基于這一現象,本文首先用一個非常簡單的無參數操作,即 2×2 平均池化,替換了 LDPv1 中的 [DW^kPW] 塊,發現可以獲得平均 0.4 的性能提升(見表7的第五行)。
其次,為了使對齊的視覺特征具有更強的位置信息,本文使用可學習的位置編碼對位置信息進行增強,取得了 0.5 的性能提升。PEG 的位置編碼是動態生成的,并且取決于輸入 token 的局部鄰域,受其啟發,本文隨后用 PEG 層替換了可學習的 PE,以獲得更好的增強特征。表7的第7行顯示,這種設計帶來了 0.5 的平均性能改提升。
值得一提的是,在 MobileVLM V2 1.7B 中應用的 PEG 層只包含 0.02M(2048×3×3)參數,與 MobileVLM 中的 [DW^PW] 塊相比,可學習參數的數量減少了近 630 倍(從 12.64M 減少到 0.02M),但總體性能提高了 1.4,這證明了本文投影網絡結構設計的有效性。
結論
本文提出了一系列基于 MobileVLM 的高效視覺-語言模型,稱為 MobileVLM V2。本文深入探索了數據配比、訓練策略、以及模態對齊網絡的設計,以在小參數量 VLM 模型的設置下提高整體性能。
在與 LLaVA-v1.5 相當的訓練成本下,本文的方法在精度和實時推理性能方面達到了當前針對真實的應用環境的最優綜合性能。在性能相當的前提下,本文的模型在推理優勢方面超越了許多更大的模型,這為在資源有限的場景中應用先進的 AI 技術提供了有效的方案。
本文轉載自PaperWeekly
