點選下方卡片,關注“CVer”公眾號
AI/CV重磅乾貨,第一時間送達
五一節日福利來了!CVer學術知識星球優惠券!現在贈送50元新使用者優惠券(左圖領取),7折+20元老使用者續費券(右圖領取),大家快掃碼加入!每天分享最新最優質的AI工作,假期不停更!最強助力你的科研和工作!ideas拉滿!
AI/CV重磅乾貨,第一時間送達
五一節日福利來了!CVer學術知識星球優惠券!現在贈送50元新使用者優惠券(左圖領取),7折+20元老使用者續費券(右圖領取),大家快掃碼加入!每天分享最新最優質的AI工作,假期不停更!最強助力你的科研和工作!ideas拉滿!

本文由華東師範大學和小紅書聯合完成,共同第一作者是華東師範大學在讀碩士、小紅書 NLP 團隊實習生黃文軒和翟子傑,通訊作者是小紅書 NLP 團隊負責人曹紹升,以及華東師範大學林紹輝研究員。
多模態大模型(MLLMs)在視覺理解與推理等領域取得了顯著成就。然而,隨著解碼(decoding)階段不斷生成新的 token,推理過程的計算複雜度和 GPU 視訊記憶體佔用逐漸增加,這導致了多模態大模型推理效率的降低。現有的方法透過減少預填充(prefill)階段的視覺 token 冗餘來實現推理加速。遺憾的是,這種在預填充階段實現的視覺 token 稀疏化所帶來的加速優勢,在解碼階段會逐漸減弱。當解碼輸出的文字 token 數量增多時,這些方法仍然會遇到效能瓶頸。
為了解決上述問題,團隊創新性地提出了一個全新的動態視覺 – 文字上下文稀疏化推理加速框架 ——Dynamic-LLaVA。該框架針對多模態大模型在不同推理模式下(包括預填充階段以及有無 KV Cache 的解碼階段),設計了定製化的稀疏化推理方案,以實現多模態大模型的高效推理。實驗結果表明,Dynamic-LLaVA 在幾乎不損失視覺理解和生成能力的前提下,能夠將預填充階段的計算開銷減少約 75%;在無 KV Cache 的解碼階段,計算開銷減少約 50%;在有 KV Cache 的解碼階段,GPU 視訊記憶體佔用減少約 50%。Dynamic-LLaVA 為多模態大模型推理加速領域樹立了新的標杆。

-
論文標題:Dynamic-LLaVA: Efficient Multimodal Large Language Models via Dynamic Vision-language Context Sparsification
-
論文 GitHub 倉庫:https://github.com/Osilly/dynamic_llava
-
論文連結:https://arxiv.org/abs/2412.00876
-
研究團隊:華東師範大學、小紅書 NLP 團隊
1 引言
1.1 前置資訊:預填充與解碼
本文主要圍繞以 LLaVA 為正規化的多模態大模型展開研究。一個多模態大模型的推理過程可以分為預填充和解碼兩個階段:
在預填充階段,不同模態的特徵被對映到與大語言模型(LLM)輸入 embedding 相同的特徵分佈空間中。這些多模態特徵與文字 token 會一起被大語言模型處理,以生成初始輸出文字 token。以圖片理解場景為例,該階段主要處理輸入的圖片和文字格式的問題。
在隨後的解碼階段,預填充階段生成的所有 token 以及後續生成的所有輸出文字 token,將被用於自迴歸生成,從而產生完整的輸出。同樣以圖片理解場景為例,該階段生成針對整個問題的完整回答。
1.2 多模態大模型推理加速困境

圖 1:多模態大模型生成過程(有 / 無 KV Cache)中 FLOPs(計算複雜度)和 GPU 視訊記憶體開銷的增長趨勢
現有的多模態大模型大多以基於解碼器架構的大語言模型(LLM)為核心,這些模型通常擁有龐大的引數規模。在生成輸出文字 token 的過程中,模型計算負擔會逐漸加重,導致對計算資源的巨大消耗。為了提升推理速度,現有模型通常會在解碼過程中運用 KV Cache 技術,透過儲存並複用之前計算的 KV 啟用值來減少重複計算。然而,如圖 1 (B) 所示,即使使用了 KV Cache,LLaVA 在輸出 token 不斷增加時,仍會迅速面臨 GPU 視訊記憶體耗盡的問題。
與文字不同,視覺資訊往往包含大量冗餘。因此,許多方法嘗試透過減少視覺上下文來加速多模態大模型的推理,即對預填充階段的視覺 token 進行剪枝處理。但這種方法存在侷限性:其主要提升了多模態大語言模型在預填充階段的推理效率,而在解碼階段,其效率提升會逐漸減弱。
如圖 1 (B) 和 (C) 所示,FastV 這種針對視覺 token 剪枝的方法,雖然相較於原始的 LLaVA 能夠節省一定的 GPU 視訊記憶體和計算開銷(FLOPs),但當輸出 token 數接近 5K 時,它仍然會遭遇計算資源瓶頸。此外,FastV 和原始 LLaVA 的曲線斜率基本一致,這表明在長輸出的解碼階段,這類方法並沒有顯著的推理效率優勢。因此,僅透過減少預填充階段的視覺 token,在輸出文字 token 數量遠超視覺 token 時,難以實現整個推理效率的顯著提升。
1.3 邁向全階段推理加速:Dynamic-LLaVA
針對上述問題,我們認為:為了實現真正的全階段推理加速,不僅需要對預填充階段的視覺 token 進行剪枝,還必須對解碼階段輸出的文字 token 進行稀疏化處理,限制參與自迴歸運算的 token 數量。為此,我們提出了 Dynamic-LLaVA,針對多模態大模型的視覺 – 語言上下文稀疏化推理加速框架。該框架能夠整合到多模態大模型推理的不同階段中,實現以下目標:
-
顯著降低預填充階段計算開銷:透過最佳化視覺 token 的處理方式,減少不必要的計算。
-
提升解碼階段的推理效率:無論是否使用 KV Cache,都能減少計算開銷,提高推理速度。
-
保持效能優勢:在視覺理解任務上幾乎不損失效能;在長文字輸出場景中,生成能力也幾乎不受影響。
透過這些創新,Dynamic-LLaVA 為多模態大模型的高效推理提供了一種全新的解決方案。
2 方法

圖 2:Dynamic-LLaVA 整體框架
如圖 2 所示,Dynamic-LLaVA 可以整合到多模態大模型推理流程中的不同階段。具體而言,在預填充階段,該框架對視覺 token 執行精準剪枝操作,剔除冗餘資訊;在不使用 KV Cache 的解碼階段,限制參與自迴歸運算的視覺與輸出文字 token 數量,避免不必要的計算負擔;而在使用 KV Cache 的解碼階段,Dynamic-LLaVA 則動態調控 KV Cache,自適應判斷是否將當前輸出文字 token 的 KV 啟用值納入 KV Cache,最佳化資源利用效率。為了使模型適應這種全新的稀疏化推理模式,Dynamic-LLaVA 在預訓練的 LLaVA-1.5 基礎上進行了 1 個 epoch 的監督微調(SFT),確保模型能夠高效地執行在稀疏化的推理路徑上。
2.1 預填充階段
在預填充階段,我們對輸入的視覺 token 進行稀疏化操作。如圖 2 左側部分所示,我們引入一個可訓練的輕量化的影像預測器(Image Predictor),來判斷應當丟棄哪些視覺 token。該影像預測器的結構如下圖:

圖 3:影像預測器的結構示意圖
影像預測器會對每個視覺 token 產生 “決策分數”,以決定對哪些視覺 token 進行保留。在端到端訓練中,視覺 token 的剪枝透過 0-1 二值化的掩碼操作實現(具體過程見 2.4 節)。在實際推理階段中,透過保留 “決策分數” 前 k 大的視覺 token(即圖 2 左側部分的 “Yes” 分支),實現視覺 token 數量減少,以實現推理加速。
2.2 解碼階段
不使用 KV Cache 的解碼過程:
對於視覺 token,採用和上一小節相同的做法,進行稀疏化處理。
對於輸出的文字 token,分兩類進行處理:
-
最後一個輸出的文字 token(即圖 2 中間部分的 “Last output text token”),不進行任何處理,完整輸入 LLM 的 decoder 層進行計算。這樣做的目的是保證模型的輸出內容是連貫的,產生新的輸出文字 token 時,始終保證自迴歸運算包含上一個輸出文字 token。
-
對其他歷史的輸出文字 token 進行稀疏化操作,其形式類似於對視覺 token 的處理。引入一個結構如下圖的輸出預測器(Output Predictor),給出每個輸出文字 token 的 “決策分數”,以決定當前產生新的輸出內容時,應當包括哪些文字 token 進行自迴歸運算。圖 2 中間部分的 “Yes” 分支,表明保留的輸出文字 token。

圖 4:輸出預測器的結構示意圖
使用 KV Cache 的解碼過程:
KV Cache 是節省冗餘計算的一個關鍵推理加速技術,其思想是 “用 GPU 視訊記憶體的空間換計算時間”。顯而易見的是,KV Cache 也並非無限大,在長輸出情況下,必須丟棄一些 KV Cache 以適應有限的 GPU 視訊記憶體。目前在 LLM 領域已有大量的 KV Cache 壓縮方案,以 方法為代表,這一類方法一般基於當前 token 和歷史 KV Cache 進行重要性分數計算,以壓縮歷史 KV Cache。
與上述方法不同的是,我們對有 KV Cache 的解碼階段的設計,核心在於 “僅判斷當前新 token 的 KV 啟用是否需要加入 KV Cache 中”。如圖 2 右側所示,對於當前正在處理的新 token(Last output text token),使用和上一部分結構相同的輸出預測器,以決定是否加入 KV Cache 集合中。這種 “Online KV Cache 壓縮” 方法,判斷是否保留 KV Cache 的過程計算複雜度更低,也更加適應多模態場景。在論文附錄中,我們詳細討論了我們的方法和現有的 LLM KV Cache 壓縮方法的區別。
需要特別說明的是,和不使用 KV Cache 的解碼階段相同,無論當前處理的 token 是否加入 KV Cache,其都會輸入 LLM decoder 層進行計算,以保證輸出的連貫性。
2.3 端到端訓練

圖 5:Dynamic-LLaVA 在端到端訓練過程中的示意圖
Dynamic-LLaVA 是一個需要訓練的多模態大模型推理加速框架。我們基於 LLaVA 進行了一個 epoch 的指令微調,以實現對 token 動態選擇的穩定性,保證最終的效能。為了保證端到端訓練,在訓練階段的稀疏化操作透過 0-1 二值化掩碼實現(在推理中的實現是直接從歷史 token 序列中丟棄 token)。如圖 5 所示,上半部分表示訓練中進行 mask 的過程,在得到整個 token 序列的重要性分數後,我們選取前 k 重要的 token 進行保留,相對應的生成掩碼向量,其中 0 對應丟棄的冗餘 token(不參與注意力過程的計算),1 對應保留的重要 token,進一步基於掩碼向量生成注意力過程的掩碼矩陣。掩碼矩陣用來對多頭注意力機制進行掩碼操作,以確保丟棄的 token 不參與注意力過程的計算。由於二值化操作會導致不可微問題,所以我們藉助了 GumbalSoftmax 和梯度直通估計器(Straight Through Estimator, STE)來保證梯度流的正確傳播,以進行端到端的訓練,如圖 5 下半部分所示。
3 實驗
Dynamic-LLaVA 基於 LLaVA-1.5-7B 和 13B 的兩個版本進行了 1 個 epoch 的指令微調,訓練使用的資料和 LLaVA-1.5 相同。
3.1 視覺理解能力
我們首先評估了 Dynamic-LLaVA 在主要的視覺理解基準的效能,選取了目前主流的多模態大模型推理加速方法進行比較。

表 1:視覺理解基準效果對比。其中,Free 表示方法是否是 Training-Free 的。Dynamic-LLaVA 的下標 "I" 和 "I | T" 分別表示僅對視覺 token 做稀疏化和同時對視覺和文字 token 都做稀疏化(該標識適用於下文所有的表格)
如表 1 所示,Dynamic-LLaVA 在大部分視覺理解任務上取得了優越的效能。和其他對視覺內容稀疏化的方法相比,Dynamic-LLaVA 在能大幅減小計算複雜度的同時,能夠實現相比原始的 LLaVA-1.5 效能幾乎不下降。此外,在 SciQA、POPE、MME 和 MMBench 上,Dynamic-LLaVA 相比 LLaVA-1.5 甚至有一定的效能提升。例如,在 SciQA 任務上,Dynamic-LLaVA 的 7B 和 13B 版本,相較於 LLaVA-1.5 實現了 2.3% 和 0.8% 的效能提升。

表 2:與其他高效視覺 projector 的 SOTA 方法對比
值得一提的是,Dynamic-LLaVA 並沒有對 LLaVA-1.5 的視覺 projector 進行修改,就可以實現大幅降低預填充階段計算複雜度,同時維持模型效能。在表 2 中,和其他針對視覺 projector 做高效設計(以提高推理效率)的 SOTA 方法進行了對比。相較於其他使用了高效的視覺 projector 的方法,Dynamic-LLaVA 使用和 LLaVA-1.5 相同的 MLP 結構作為視覺 projector,實現了更好的效能,同時也大幅降低了預填充階段的計算複雜度。此外,Dynamic-LLaVA 也可以和其他使用高效視覺 projector 的方法整合。例如,表 2 中 Dynamic-LLaVA 使用 TokenPacker 這一高效視覺 projector 的版本,在原始的 TokenPacker 方法基礎上,進一步減少了視覺 token。相較於其他基於 TokenPacker 的推理加速方法,效能損失最少。
3.2 生成能力
現有的視覺理解任務中,一般只要求模型給出簡短的回覆,這和現實世界中多模態大模型的應用場景仍然存在不小的區別。在現實使用中,多模態大模型多數情況下會被要求生成更長、更細緻的描述。為了和現實世界的場景對齊,評估 Dynamic-LLaVA 在更長的輸出情況下的生成能力和推理效率。我們額外構建了兩個評估模型生成能力的基準:
-
LVIS-VQA:基於 LVIS-Instruct4 資料集,選取了 1000 個回答超過 100 個單詞的單輪對話樣本構成 LVIS-VQA (single round) 和 1000 個多輪對話樣本(平均回答單詞數超過 300)構成 LVIS-VQA (multi-round);
-
ShareGPT4V-VQA:基於 ShareGPT-4V 資料集,選取了 caption 超過 300 個單詞的單論對話樣本,平均輸出 token 長度超過 1000。
我們以 PPL (Perplexity Metric) 指標評估模型生成內容的流暢度、以 METEOR (Metric for Evaluation of Translation with Explicit ORdering) 指標評估模型生成內容的質量。

表 3:生成能力基準比較。其中,解碼階段的 TFLOPs 和 Mem.(GPU 視訊記憶體佔用)分別在無 / 有 KV Cache 的情況下測量得出。PPL 越低越好,METEOR 越高越好
如表 3 所示,相比 LLaVA-1.5,只進行視覺內容稀疏化的 Dynamic-LLaVA 的生成流暢度(PPL)和生成質量(METEOR)幾乎沒有變化;同時對視覺和文字進行稀疏化的 Dynamic-LLaVA,PPL 僅變高了 0.3,METEOR 甚至略有提升,而在推理效率上,在無 KV Cache 的解碼階段降低了~50% 的 TFLOPs,在有 KV Cache 的解碼階段降低了~50% 的 GPU 視訊記憶體佔用。實驗結果充分表明,Dynamic-LLaVA 針對視覺和文字同時進行稀疏化,幾乎不影響實際生成能力,卻可以實現大幅的推理效率提升。
3.3 實際推理效率

表 4:Dynamic-LLaVA-13B 推理效率實測。其中,2K/4K 表示輸出的文字 token 數,所有結果均在一張 A100 (80G) 上測試得出,batch size 固定為 8。“” 表示 GPU 視訊記憶體耗盡
在表 4 中,我們測試了多模態大模型實際推理的時間和 GPU 視訊記憶體佔用。Dynamic-LLaVA 實現了更快的推理速度和更低的視訊記憶體佔用。FastV 這種對預填充階段的視覺 token 進行剪枝的方法,隨著輸出長度的增長,推理效率也逐漸降低。而我們提出的 Dynamic-LLaVA,隨著輸出變長,相比於 FastV 的推理效率優勢也逐漸顯現出來。
3.4 例項展示

圖 6:Dynamic-LLaVA-13B 在 LVIS-VQA (single-round) 上的推理結果展示。圖片的白色部分表示該位置的影像塊被丟棄,文字中的灰色部分表示其在稀疏化過程中被丟棄,這表示它們不參與後續的自迴歸解碼過程,但在模型的輸出中都被完整保留
圖 6 中展示了 Dynamic-LLaVA-13B 在 LVIS-VQA (single-round) 上的推理結果,以及對視覺和文字 token 的稀疏化情況。視覺化結果表明,視覺 token 部分的主要資訊得以保留;文字 token 中,一些不影響整體語義理解的連詞、介詞等被丟棄。這表明 Dynamic-LLaVA 能夠實現關鍵的視覺、語義資訊的保留,從而保證了模型整體的效能。
4 總結
針對當前多模態大模型推理效率受限的問題,團隊透過分析多模態大模型推理過程中的不同階段,針對性的設計了推理加速方案。提出了 Dynamic-LLaVA—— 第一個同時稀疏化視覺和語言上下文的多模態大模型推理加速框架,將不同推理模式的推理效率最佳化整合到統一框架中。
隨著多模態大模型技術的發展,尤其是其在複雜推理、長思維鏈領域的不斷進步。我們有理由相信,Dynamic-LLaVA 的應用場景正變得更加廣泛,其對輸出文字 token 進行稀疏化的模式,會在當前的更長輸出、更復雜推理的場景下,體現出更明顯的推理加速優勢。
五一節日福利來了!CVer學術知識星球優惠券!現在贈送50元新使用者優惠券(左圖領取),7折+20元老使用者續費券(右圖領取),大家快掃碼加入!每天分享最新最優質的AI工作,假期不停更!最強助力你的科研和工作!ideas拉滿!

CVPR 2025 論文和程式碼下載
CVPR 2025 論文和程式碼下載
ECCV 2024 論文和程式碼下載
ECCV 2024 論文和程式碼下載
CV垂直方向和論文投稿交流群成立
一定要備註:研究方向+地點+學校/公司+暱稱(如Mamba、多模態學習或者論文投稿+上海+上交+卡卡),根據格式備註,可更快被透過且邀請進群
▲掃碼或加微訊號: CVer2233,進交流群
CVer計算機視覺(知識星球)來了!想要了解最新最快最好的CV/DL/AI論文速遞、優質實戰專案、AI行業前沿、從入門到精通學習教程等資料,歡迎掃描下方二維碼,加入CVer計算機視覺(知識星球),已彙集上萬人!
▲掃碼加入星球學習
▲點選上方卡片,關注CVer公眾號
整理不易,請點贊和在看

▲掃碼或加微訊號: CVer2233,進交流群
CVer計算機視覺(知識星球)來了!想要了解最新最快最好的CV/DL/AI論文速遞、優質實戰專案、AI行業前沿、從入門到精通學習教程等資料,歡迎掃描下方二維碼,加入CVer計算機視覺(知識星球),已彙集上萬人!

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