點選下方卡片,關注“CVer”公眾號
AI/CV重磅乾貨,第一時間送達
AI/CV重磅乾貨,第一時間送達
新增微訊號:CVer2233,小助手會拉你進群!
掃描下方二維碼,加入CVer學術星球!可以獲得最新頂會/頂刊上的論文idea和CV從入門到精通資料,及最前沿應用!發論文/搞科研/漲薪,強烈推薦!
新增微訊號:CVer2233,小助手會拉你進群!
掃描下方二維碼,加入CVer學術星球!可以獲得最新頂會/頂刊上的論文idea和CV從入門到精通資料,及最前沿應用!發論文/搞科研/漲薪,強烈推薦!
FastVLM—— 讓蘋果手機擁有極速視覺理解能力

當你用蘋果手機隨手拍圖問 AI:「這是什麼?」,背後的 FastVLM 模型正在默默解碼。
最近,蘋果開源了一個能在 iPhone 上直接執行的高效視覺語言模型 ——FastVLM(Fast Vision Language Model)。

-
程式碼連結:https://github.com/apple/ml-fastvlm
程式碼倉庫中還包括一個基於 MLX 框架的 iOS/macOS 演示應用,優化了在蘋果裝置上的執行效能。

看這個 demo,反應速度是不是反應非常「Fast」!這就是 FastVLM 的獨特之處。
相較於傳統模型,FastVLM 模型專門注重於解決體積、速度這兩大問題,速度快到相對同類模型,首個 token 輸出速度提升 85 倍。
該模型引入了一種新型混合視覺編碼器 FastViTHD,融合了卷積層和 Transformer 模組,配合多尺度池化和下采樣技術,把圖片處理所需的「視覺 token」數量砍到極低 —— 比傳統 ViT 少 16 倍,比 FastViT 少 4 倍。它以卓越的速度和相容性,極大地提升了 AI 與影像之間的使用者體驗能力。
FastVLM 模型不僅可以用於給模型自動生成陳述、回答「這張圖是什麼」的問題、分析圖中的資料或物件等途徑,還相容主流 LLM 並輕鬆適配 iOS/Mac 生態,特別適合落地在邊緣裝置、端側 AI 應用和即時圖文任務場景。
目前,FastVLM 模型主要推出 0.5B、1.5B、7B 三個不同引數量級的版本,每個版本均有 stage2 和 stage3 兩階段微調權重,使用者可以根據自身需求靈活選擇。
蘋果團隊在釋出的論文中詳細闡述了更加具體的技術細節和最佳化路徑。

-
論文標題: FastVLM: Efficient Vision Encoding for Vision Language Models
-
論文地址:https://www.arxiv.org/abs/2412.13303
研究背景
視覺語言模型(Vision-Language Models, VLMs)是一類能夠同時理解影像和文字資訊的多模態模型。VLMs 通常透過一個投影層(也稱連線模組)將來自預訓練視覺骨幹網路的視覺 token 輸入到一個預訓練的 LLM 中。
此前的研究已經探討了視覺骨幹網路、介面卡(adapter)以及通常為解碼器結構的 LLM 這三大元件的訓練和微調策略。
已有多項研究指出,影像解析度是影響 VLM 效能的關鍵因素,尤其在面對文字密集或圖表密集的資料時表現尤為明顯。然而,提升影像解析度也帶來了若干挑戰。
首先,許多預訓練視覺編碼器在設計時並不支援高解析度影像輸入,因為這會顯著降低預訓練效率。
為了解決這一問題,一種方法是持續對視覺骨幹進行預訓練,使其適應高解析度影像;另一種則是採用影像分塊策略(tiling strategies),如 Sphinx、S2 和 AnyRes,將影像劃分為多個子區域,並由視覺骨幹分別處理各個子區域。
這類方法特別適用於基於視覺 Transformer(ViT)的模型架構,因為 ViT 通常不支援可變輸入解析度。
另一個挑戰來自於高解析度推理時的執行時計算成本。無論是單次高解析度推理,還是在較低解析度下多次推理(即採用切片策略),在生成視覺 token 時都存在顯著延遲。
此外,高解析度影像本身生成的 token 數量更多,這會進一步增加 LLM 的預填充時間(prefilling time,即 LLM 對包括視覺 token 在內的所有上下文 token 進行前向計算的時間),從而整體拉長初始輸出時間(time-to-first-token, TTFT),即視覺編碼器延遲與語言模型前填充時間之和。
本研究以 VLM 的裝置端部署為動力,從執行時效率的角度出發,對其設計和訓練進行系統性研究。我們重點研究影像解析度提升對最佳化空間的影響,目標是改進精度 – 延遲之間的權衡,其中延遲包括視覺編碼器的推理時間和 LLM 的前填充時間。
研究者透過在不同的 LLM 規模與影像解析度下的大量實驗證明,在特定的視覺骨幹條件下,可以建立一條帕累托最優曲線(Pareto optimal curve),展示在限定執行時間預算(TTFT)內,不同的影像解析度和語言模型規模組合能達到的最佳準確率。
研究者首先探索了一種混合卷積 – Transformer 架構 FastViT(預訓練於 MobileCLIP)作為 VLM 視覺骨幹的潛力。
實驗證明,該混合骨幹在生成視覺 token 方面的速度是標準 ViT 模型的四倍以上,同時基於多尺度視覺特徵還實現了更高的整體 VLM 準確性。然而,若目標主要是高解析度 VLM(而非如 MobileCLIP 那樣僅關注嵌入生成),則該架構仍有進一步最佳化空間。
為此,研究者提出了一種新型混合視覺編碼器 FastViTHD,其專為在處理高解析度影像時提升 VLM 效率而設計,並以此為骨幹網路,透過視覺指令微調得到 FastVLM。
在不同輸入影像解析度和語言模型規模下,FastVLM 在準確率與延遲的權衡上均顯著優於基於 ViT、卷積編碼器及我們先前提出的混合結構 FastViT 的 VLM 方法。
特別地,相比於執行在最高解析度(1152×1152)的 LLaVa-OneVision,FastVLM 在相同 0.5B LLM 條件下達到了可比的效能,同時擁有快 85 倍的 TTFT 和小 3.4 倍的視覺編碼器規模。
模型架構
研究者首先探討了將 FastViT 混合視覺編碼器應用於 VLM 中的潛力,隨後提出若干架構最佳化策略以提升 VLM 任務的整體表現。
在此基礎上,研究者提出 FastViT-HD—— 一款專為高解析度視覺 – 語言處理任務量身定製的創新型混合視覺編碼器,兼具高效率與高效能特點。
透過大量消融實驗,研究者全面驗證了 FastViT-HD 在多種大型語言模型 (LLM) 架構和不同影像解析度條件下,相比原始 FastViT 及現有方法所展現的顯著效能優勢。
如圖 2 所示,展示了 FastVLM 與 FastViT-HD 的整體架構。所有實驗均使用與 LLaVA-1.5 相同的訓練配置,並採用 Vicuna-7B 作為語言解碼器,除非特別說明。

FastViT 作為 VLM 影像編碼器
典型的 VLM (如 LLaVA)包含三個核心元件:影像編碼器(image encoder)、視覺 – 語言對映模組(vision-language projector)以及大型語言模型(LLM)。
VLM 系統的效能及執行效率高度依賴其視覺主幹網路(vision backbone)。在高解析度下編碼影像對於在多種 VLM 基準任務中取得良好表現尤其關鍵,特別是在文字密集型任務上。因此,支援可擴充套件解析度的視覺編碼器對 VLM 尤為重要。
研究者發現,混合視覺編碼器(由卷積層與 Transformer 塊組成)是 VLM 極為理想的選擇,其卷積部分支援原生解析度縮放,而 Transformer 模組則進一步提煉出高質量的視覺 token 以供 LLM 使用。
實驗使用了一個在 CLIP 上預訓練過的混合視覺編碼器 ——MobileCLIP 提出的 MCi2 編碼器。該編碼器擁有 35.7M 引數,在 DataCompDR 資料集上預訓練,架構基於 FastViT。本文後續均將該編碼器簡稱為「FastViT」。
然而,正如表 1 所示,若僅在其 CLIP 預訓練解析度(256×256)下使用 FastViT,其 VLM 表現並不理想。

FastViT 的主要優勢在於其影像解析度縮放所具有的高效性 —— 相比採用 patch size 為 14 的 ViT 架構,其生成的 token 數量減少了 5.2 倍。
這樣的 token 大幅裁剪顯著提升了 VLM 的執行效率,因為 Transformer 解碼器的預填充時間和首個 token 的輸出時間(time-to-first-token)大大降低。
當將 FastViT 輸入解析度擴充套件至 768×768 時,其生成的視覺 token 數量與 ViT-L/14 在 336×336 解析度下基本持平,但在多個 VLM 基準測試中取得了更優的效能。
這種效能差距在文字密集型任務上尤為明顯,例如 TextVQA 和 DocVQA,即使兩種架構生成的 visual token 數量相同。
此外,即便在高解析度下 token 數量持平,FastViT 憑藉其高效的卷積模組,整體影像編碼時間依然更短。
1、多尺度特徵(Multi-Scale Features)
典型的卷積或混合架構通常將計算過程劃分為 4 個階段,每個階段之間包含一個下采樣操作。VLM 系統一般使用倒數第二層輸出的特徵,但網路前幾層所提取的資訊往往具有不同的粒度。結合多個尺度的特徵不僅可提升模型表達能力,也能補強倒數第二層中的高層語義資訊,這一設計在目標檢測中尤為常見。
研究者在兩個設計方案之間進行了消融對比,用於從不同階段匯聚特徵:均值池化(AvgPooling)與二維深度可分離卷積(2D depthwise convolution)。
如表 2 所示,採用深度可分卷積在效能上更具優勢。除多尺度特徵外,研究者還在聯結器設計(connector design)上進行了多種嘗試(詳見補充材料)。這些結構性模型改進對於使用分層主幹的架構(如 ConvNeXt 與 FastViT)特別有效。

FastViT-HD:面向 VLM 的高解析度影像編碼器
在引入上述改進後,FastViT 在引數量比 ViT-L/14 小 8.7 倍的情況下已具備良好效能。然而,已有研究表明,擴大影像編碼器的規模有助於增強其泛化能力。
混合架構中,常見的做法是同時擴充套件第 3、4 階段中的自注意力層數量和寬度(如 ViTamin 所採用的方式),但我們發現在 FastViT 上簡單擴充套件這些層數並非最優方案(詳見圖 3),甚至在速度上不如 ConvNeXT-L。

為避免額外的自注意力層帶來的效能負擔,研究者在結構中加入一個額外階段,並在其前添加了下采樣層。在該結構中,自注意力層所處理的特徵圖尺寸已經被以 1/32 比例降取樣(相比 ViTamin 等常見混合模型的 1/16),最深的 MLP 層甚至處理降取樣達 1/64 的張量。
此設計顯著降低了影像編碼的延遲,同時為計算密集型的 LLM 解碼器減少了最多 4 倍的視覺 token,從而顯著縮短首 token 輸出時間(TTFT)。研究者將該架構命名為 FastViT-HD。
FastViT-HD 由五個階段組成。前三階段使用 RepMixer 模組,後兩階段則採用多頭自注意力(Multi-Headed Self-Attention)模組。
各階段的深度設定為 [2, 12, 24, 4, 2],嵌入維度為 [96, 192, 384, 768, 1536]。ConvFFN 模組的 MLP 擴充套件倍率為 4.0。整體引數量為 125.1M,為 MobileCLIP 系列中最大 FastViT 變體的 3.5 倍,但依然小於多數主流 ViT 架構。
研究者採用 CLIP 的預訓練設定,使用 DataComp-DR-1B 進行預訓練後,再對該模型進行 FastVLM 訓練。
如表 3 所示,儘管 FastViT-HD 的引數量比 ViT-L/14 小 2.4 倍,且執行速度快 6.9 倍,但在 38 項多模態零樣本任務中的平均表現相當。相比另一種專為 VLM 構造的混合模型 ViTamin,FastViT-HD 引數量小 2.7 倍,推理速度快 5.6 倍,檢索效能更優。

表 4 比較了 FastViT-HD 與其他 CLIP – 預訓練層次型主幹網路(如 ConvNeXT-L 和 XXL)在 LLaVA-1.5 訓練後的多模態任務表現。儘管 FastViT-HD 的引數量僅為 ConvNeXT-XXL 的 1/6.8、速度提升達 3.3 倍,其效能仍然相當。

2、視覺編碼器與語言解碼器的協同作用
在 VLM 中,效能與延遲之間的權衡受到多個因素的影響。
一方面,其整體效能依賴於:(1) 輸入影像解析度、(2) 輸出 tokens 的數量與質量、(3) LLM 的建模能力。
另一方面,其總延遲(特別是首 token 時間,TTFT)由影像編碼延遲和 LLM 預填充時間組成,後者又受到 token 數量和 LLM 規模的共同影響。
鑑於 VLM 最佳化空間的高度複雜化,針對視覺編碼器最優性的任何結論都須在多組輸入解析度與 LLM 配對下加以驗證。我們在此從實證角度比較 FastViT-HD 相較 FastViT 的最優性。研究者測試三種 LLM(Qwen2-0.5B/1.5B/7B),並在不同輸入解析度下進行 LLaVA-1.5 訓練與視覺指令調優,然後在多個任務上評估結果,結果見圖 4。

首先,圖 4 中的帕累托最優曲線(Pareto-optimal curve)表明,在預算固定的情況下(如執行時間 TTFT),最佳效能對應的編碼器 – LLM 組合是動態變化的。
例如,將高解析度影像輸入配備小規模 LLM 並不理想,因為小模型無法有效利用過多 token,同時,TTFT 反而會因視覺編碼延遲增大(詳見圖 5)。

其次,FastViT-HD 遍歷 (解析度,LLM) 所形成的帕累托最優曲線明顯優於 FastViT —— 在固定延遲預算下平均效能提升超過 2.5 個點;相同時序目標下可加速約 3 倍。
值得注意的是,在此前已有結論表明,基於 FastViT 的 VLM 已超越 ViT 類方法,而 FastViT-HD 在此基礎上進一步大幅提升。
3、靜態與動態輸入解析度
在調整輸入解析度時,存在兩種策略:(1) 直接更改模型的輸入解析度;(2) 將影像劃分成 tile 塊,模型輸入設為 tile 尺寸。
後者屬於「AnyRes」策略,主要用於讓 ViT 能處理高解析度影像。然而 FastViT-HD 是專為高解析度推理效率而設計,因此我們對這兩種策略的效率進行了對比分析。
圖 6 顯示:若直接將輸入解析度設定為目標解析度,則 VLM 在準確率與延遲之間獲得最佳平衡。僅在極高輸入解析度(如 1536×1536)時,動態輸入才顯現優勢,此時瓶頸主要表現為裝置上的記憶體頻寬。

一旦使用動態策略,tile 數量越少的設定能獲得更好的精度 – 延遲表現。隨著硬體發展與記憶體頻寬提升,FastVLM 在無需 tile 拆分的前提下實現更高解析度處理將成為可行方向。
4、與 token 剪枝及下采樣方法的比較
研究者進一步將不同輸入解析度下的 FastViT-HD 與經典的 token 剪枝方法進行對比。如表 5 所示,採用層次化主幹網路的 VLM 在精度 – 延遲權衡上明顯優於基於等維(isotropic)ViT 架構並藉助 token 剪枝最佳化的方法。在不使用剪枝方法、僅利用低解析度訓練的前提下,FastViT-HD 可將視覺 token 數降至僅 16 個的水平,且效能優於近期多個 token 剪枝方案。
有趣的是,即便是當前最先進的 token 剪枝方法(如所提出的 [7, 28, 29, 80]),在 256×256 解析度下,整體表現亦不如 FastViT-HD。
更多詳細內容請參見原論文。
CVPR 2025 論文和程式碼下載
CVPR 2025 論文和程式碼下載
ECCV 2024 論文和程式碼下載
ECCV 2024 論文和程式碼下載
CV垂直方向和論文投稿交流群成立
一定要備註:研究方向+地點+學校/公司+暱稱(如Mamba、多模態學習或者論文投稿+上海+上交+卡卡),根據格式備註,可更快被透過且邀請進群
▲掃碼或加微訊號: CVer2233,進交流群
CVer計算機視覺(知識星球)人數破萬!如果你想要了解最新最快最好的CV/DL/AI論文、實戰專案、行業前沿、從入門到精通學習教程等資料,一定要掃描下方二維碼,加入CVer知識星球!最強助力你的科研和工作!
▲掃碼加入星球學習
▲點選上方卡片,關注CVer公眾號
整理不易,請點贊和在看

▲掃碼或加微訊號: CVer2233,進交流群
CVer計算機視覺(知識星球)人數破萬!如果你想要了解最新最快最好的CV/DL/AI論文、實戰專案、行業前沿、從入門到精通學習教程等資料,一定要掃描下方二維碼,加入CVer知識星球!最強助力你的科研和工作!

▲掃碼加入星球學習
▲點選上方卡片,關注CVer公眾號
整理不易,請點贊和在看
