ICLR2025|計算開銷減半!Dynamic-LLaVA重新整理多模態大模型推理加速上限

多模態大模型(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 前置資訊:預填充與解碼
本文主要圍繞以 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: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 中”。
如圖 3 右側所示,對於當前正在處理的新 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 下半部分所示。
實驗
Dynamic-LLaVA 基於 LLaVA-1.5-7B 和 13B 的兩個版本進行了 1 個 epoch 的指令微調,訓練使用的資料和 LLaVA-1.5 相同。
3.1 視覺理解能力
我們首先評估了 Dynamic-LLaVA 在主要的視覺理解基準的效能,選取了目前主流的多模態大模型推理加速方法進行比較。
▲ 表1:視覺理解基準效果對比。其中,Free 表示方法是否是 Training-Free 的。Dynamic-LLaVA 的下標 “” 和 “” 分別表示僅對視覺 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 能夠實現關鍵的視覺、語義資訊的保留,從而保證了模型整體的效能。
總結
針對當前多模態大模型推理效率受限的問題,團隊透過分析多模態大模型推理過程中的不同階段,針對性的設計了推理加速方案。提出了 Dynamic-LLaVA ——第一個同時稀疏化視覺和語言上下文的多模態大模型推理加速框架,將不同推理模式的推理效率最佳化整合到統一框架中。
隨著多模態大模型技術的發展,尤其是其在複雜推理、長思維鏈領域的不斷進步。我們有理由相信,Dynamic-LLaVA 的應用場景正變得更加廣泛,其對輸出文字 token 進行稀疏化的模式,會在當前的更長輸出、更復雜推理的場景下,體現出更明顯的推理加速優勢。
作者簡介
黃文軒
小紅書 NLP 團隊演算法實習生,現碩士就讀於華東師範大學計算機科學與技術學院 2023 級。他在 ICLR、CVPR 等國際頂級會議上以第一作者身份發表了多篇學術論文,主要研究方向包括多模態大模型、大模型的高效訓練與推理等。
翟子傑
小紅書 NLP 團隊演算法實習生,現碩士就讀於華東師範大學計算機科學與技術學院 2023 級。他在 ICML、ICLR、EMNLP 等國際頂級會議上發表過多篇學術論文,研究方向主要集中在多模態大模型、生成式搜尋與推薦大模型等領域。
曹紹升
小紅書 NLP 團隊負責人,發表論文 30 餘篇,授權專利 100 餘項,引用近 4000 次,獲得 ICDE 2023 年最佳工業論文獎、CIKM 2015-2020 年最高引用論文、AAAI 2016 最具影響力論文。此外,還榮獲了中國發明協會創新成果一等獎(排名 1)、中國人工智慧學會吳文俊科技進步二等獎(排名 1),連續 4 年入選世界人工智慧學者榜單 AI-2000 新星榜前 100 名、Elsevier 中國區高被引學者,CCTV-13《新聞直播間》採訪報道。
葉哲宇
碩士畢業於帝國理工學院計算機專業,小紅書 NLP 團隊演算法工程師,專注於大模型演算法與應用方向,開源社群 DMLC 成員。他在 ICLR、NAACL、EMNLP 等國際頂級會議上發表過多篇論文,研究領域涵蓋大模型應用、多模態大模型、Agent 模擬等。
林紹輝
華東師範大學計算機學院研究員,紫江青年學者,2021 年揚帆計劃獲得者,曾獲中國人工智慧學會優秀博士論文提名獎、《中國科學:技術科學》最佳審稿人。在國際頂級期刊和會議發表超過 50 篇論文,包括 TPAMI、TNNLS、TMI、CVPR、ECCV、AAAI、IJCAI 等。擔任 CVPR 2024 領域主席、IJCAI 2020 SPC 以及國際頂級期刊和會議審稿人。目前主要研究方向有計算機視覺、機器學習、影像影片理解、低層視覺等。
更多閱讀
#投 稿 通 道#
 讓你的文字被更多人看到 
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋樑,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。 
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析科研心得競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝 稿件基本要求:
• 文章確係個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標註 
• 稿件建議以 markdown 格式撰寫,文中配圖以附件形式傳送,要求圖片清晰,無版權問題
• PaperWeekly 尊重原作者署名權,並將為每篇被採納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬 投稿通道:
• 投稿郵箱:[email protected] 
• 來稿請備註即時聯絡方式(微信),以便我們在稿件選用的第一時間聯絡作者
• 您也可以直接新增小編微信(pwbot02)快速投稿,備註:姓名-投稿
△長按新增PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜尋「PaperWeekly」
點選「關注」訂閱我們的專欄吧
·


相關文章