蘋果最近又搞了個大新聞,偷偷摸摸地發佈了一個叫 FastVLM 的模型。聽名字可能有點懵,但簡單來說,這玩意兒就是讓你的 iPhone 瞬間擁有了“火眼金睛”,不僅能看懂圖片裏的各種複雜信息,還能像個段子手一樣跟你“貧嘴”!而且最厲害的是,它速度快到飛起,蘋果官方宣稱,首次給你“貧嘴”的速度比之前的一些模型快了足足85倍!這簡直是要逆天啊!

視覺語言模型的 “成長煩惱”

現在的視覺語言模型,就像個不斷進化的小天才,能同時理解圖像和文本信息。它的應用可廣了,從幫咱們理解圖片裏的內容,到輔助創作圖文並茂的作品,都不在話下。一般來說,VLMs 是把預訓練的視覺骨幹網絡提取的視覺 token,通過投影層傳給預訓練的大語言模型(LLM)。之前好多研究都在探索怎麼訓練和微調這幾個組件,讓模型變得更強。

image.png

研究發現,提高圖像分辨率能顯著提升 VLMs 在一些任務上的表現,尤其是處理那些文字和圖表豐富的圖像時。你想啊,圖片越清晰,模型能 “看” 到的細節就越多,理解起來不就更準確嘛!但這也帶來了不少麻煩。一方面,很多預訓練的視覺編碼器不太支持高分辨率圖像,強行用的話,預訓練效率會變得超級低。爲了解決這個問題,有人嘗試持續預訓練視覺骨幹網絡,讓它適應高分辨率;還有人把圖像切成小塊,像拼圖一樣分別處理,不過這也挺麻煩的。

另一方面,高分辨率推理的計算成本太高了!不管是直接進行高分辨率推理,還是把圖像切塊後進行低分辨率推理,都會產生很大的延遲。而且高分辨率圖像生成的 token 更多,這又增加了 LLM 處理這些 token 的時間,導致整個模型輸出首個 token 的時間(TTFT)變長。這就好比你讓一個人一下子處理太多任務,他肯定會手忙腳亂,速度變慢。

FastVLM 來 “救場”

面對這些難題,蘋果的研究團隊搞出了 FastVLM,它就像是給 VLMs 注入了一劑 “加速藥水”,能在保證性能的同時,大幅提升運行效率。

架構設計:另闢蹊徑的 “智慧結晶”

FastVLM 的核心是 FastViTHD 這個新型混合視覺編碼器。在探索 VLM 架構時,團隊發現混合視覺編碼器(卷積層加上 Transformer 塊)是個不錯的選擇。卷積層可以輕鬆處理不同分辨率的圖像,Transformer 塊則能進一步優化視覺 token,讓 LLM 更好地理解。

image.png

他們用的 FastViT 就是基於這種架構,經過 MobileCLIP 預訓練,效果還不錯。比如,在相同的 VLM 基準測試中,FastViT 生成視覺 token 的速度比 ViT 模型快4倍多,準確率也更高。

image.png

不過,團隊並沒有滿足於此。爲了讓模型在高分辨率下表現更出色,他們又設計了 FastViTHD。這個新架構在 FastViT 的基礎上做了不少改進。它增加了一個額外的階段和下采樣層,讓 self - attention 層處理的張量更小,這樣就能減少圖像編碼延遲,還能爲計算密集型的 LLM 解碼器生成更少的 token,從而降低 TTFT。打個比方,這就像是給模型的 “信息高速公路” 拓寬了車道,還優化了交通規則,讓信息傳遞得又快又穩。

訓練與優化:精心打磨的 “成長之路”

訓練 FastVLM 就像培養一個優秀的運動員,需要精心規劃。研究人員採用了兩階段訓練法,和 LLaVA -1.5的設置類似。第一階段,只訓練投影儀,用的是 LLaVA -558K 對齊數據集,訓練時圖像分辨率和骨幹網絡預訓練分辨率一致。第二階段,用 LLaVA -665K 監督微調數據集,把模型的所有模塊都拿來訓練,這時圖像分辨率就設置成目標分辨率。


image.png

爲了讓模型更好地適應不同的任務和數據集,研究人員還做了很多優化。比如,他們嘗試了多尺度特徵提取,把網絡不同階段的信息整合起來,讓模型能更好地理解圖像。就像我們看一幅畫,不僅要看整體,還要關注細節,多尺度特徵提取就起到了這個作用。此外,他們還對比了不同的池化策略和連接器設計,發現用深度卷積進行池化能讓模型性能更優。

實驗結果:實力碾壓的 “高光時刻”

在實驗環節,FastVLM 簡直就是 “學霸”,成績相當亮眼!研究人員在主流基準測試中對 FastVLM 進行了全面評估,包括 GQA、ScienceQA、TextVQA 等多個任務。結果顯示,在和其他模型的對比中,FastVLM 優勢明顯。

image.png

和基於卷積的 ConvLLaVA 相比,同樣的 LLM 和相似的訓練數據規模下,FastVLM 在 TextVQA 任務上性能提升了8.4%,在 DocVQA 任務上提升了12.5%,而且速度還快了22%。在高分辨率下,這種優勢更加明顯,FastVLM 的速度比 ConvLLaVA 快了2倍,在多個基準測試中都取得了更好的成績。

image.png

和其他用多個視覺編碼器的模型比,FastVLM 也毫不遜色。像 Cambrian -1用了多個視覺編碼器,視覺編碼在總 TTFT 中佔比很大,而 FastVLM 用單個編碼器,不僅速度比它快7.9倍,在相似的視覺指令調優數據集訓練下,性能還超過了 Cambrian -1。就算是在對視覺 token 數量很敏感的文本豐富型評估任務中,FastVLM 也能憑藉更少的視覺 token 取得更好的成績。

FastVLM 的優勢與意義

FastVLM 的出現,給視覺語言模型領域帶來了新的希望。它最大的優勢就是在保證模型性能的同時,大幅提升了運行效率。以前的模型在處理高分辨率圖像時,要麼速度慢,要麼準確率低,FastVLM 很好地解決了這些問題。

對於我們普通用戶來說,這意味着以後在手機上使用相關應用時,體驗會大大提升。比如用圖像搜索功能,以前可能要等半天才能出結果,現在用搭載 FastVLM 的應用,瞬間就能得到答案。對於開發者來說,FastVLM 提供了一個高效的模型框架,能讓他們開發出更強大、更智能的應用。

從更宏觀的角度看,FastVLM 的成功也爲未來的研究指明瞭方向。它證明了通過優化架構和訓練方法,可以在資源有限的設備上實現高性能的視覺語言模型。相信在不久的將來,會有更多基於 FastVLM 的創新應用出現,讓我們的生活變得更加智能和便捷。

論文地址:https://www.arxiv.org/pdf/2412.13303

項目地址:https://github.com/apple/ml-fastvlm