12%計(jì)算量就能媲美原模型,Adobe、羅切斯特大學(xué)等提出YOPO剪枝技術(shù)
本篇論文的核心作者包括羅切斯特大學(xué)的博士研究生張澤良,指導(dǎo)教師徐辰良副教授,以及來自Adobe的研究員趙文天,萬錕和李宇哲。
盡管近期 Qwen2-VL 和 InternVL-2.0 的出現(xiàn)將開源多模態(tài)大模型的 SOTA 提升到了新高度,但巨大的計(jì)算開銷限制了其在很多場(chǎng)景下的應(yīng)用。近日,Adobe 研發(fā)團(tuán)隊(duì)聯(lián)合羅切斯特大學(xué)系統(tǒng)性得研究了主流多模態(tài)大模型在參數(shù)和計(jì)算模式層面的冗余,并提出了名為 YOPO(You Only Prune Once)的一系列剪枝方案。實(shí)驗(yàn)結(jié)果表明 LLaVA-1.5 只需保留 12% 的計(jì)算量即可獲得與原始模型同等的性能,并且實(shí)驗(yàn)團(tuán)隊(duì)還驗(yàn)證了這些計(jì)算冗余在 Qwen2-VL 和 InternVL-2.0 同樣普遍存在。這為高效處理密集視覺 token 提供了新路徑。
目前代碼、模型和項(xiàng)目主頁均已放出。
- 論文:Treat Visual Tokens as Text? But Your MLLM Only Needs Fewer Efforts to See
- 論文鏈接:https://arxiv.org/abs/2410.06169
- 開源代碼 & 模型:https://github.com/ZhangAIPI/YOPO_MLLM_Pruning/tree/main?tab=readme-ov-file
背景介紹
近期多項(xiàng)研究表明,隨著模型規(guī)模和輸入圖像分辨率的增加,多模態(tài)大模型的能力也隨之提升。然而,使用更大的模型或引入更多視覺 tokens 會(huì)帶來顯著的計(jì)算負(fù)擔(dān)。大部分多模態(tài)大模型視覺 token 數(shù)量在幾百到幾千不等,通常遠(yuǎn)大于文本 token 的數(shù)量。這種巨大的不平衡帶來了一個(gè)關(guān)鍵挑戰(zhàn):模型的計(jì)算成本隨著總輸入 token 的數(shù)量的平方而增加,從而限制了多模態(tài)大模型的可擴(kuò)展性。盡管近期一些工作提出了對(duì)視覺 token 做削減的解決方案,如 FastV,SparseVLM, Pyramid-drop 等,但這類方法不可避免得在判斷削減哪些視覺 token 時(shí)引入了額外的計(jì)算量。為此研究團(tuán)隊(duì)提出了在不引入額外計(jì)算量的前提下對(duì)模型參數(shù)和計(jì)算模式進(jìn)行更高效剪枝,并在多個(gè) benchmark 上實(shí)現(xiàn)了 SOTA。
方法
1 鄰域感知視覺注意力:研究團(tuán)隊(duì)發(fā)現(xiàn)盡管多模態(tài)大模型中存在大量的視覺 tokens,但在的注意力計(jì)算中,大多數(shù)注意力是稀疏的,且顯著的注意力權(quán)重主要集中在相鄰的視覺 tokens 上。為減少由這種冗余引起的計(jì)算負(fù)擔(dān),研究團(tuán)隊(duì)提出了一種簡(jiǎn)單而有效的剪枝方法,選擇性地消除視覺 token 之間的非必要注意力計(jì)算。具體而言,研究團(tuán)隊(duì)對(duì)注意力機(jī)制進(jìn)行了修改,使得只有相鄰的視覺 token 彼此關(guān)注,而文本 token 則保留了在視覺 token 和文本 token 之間自由關(guān)注的能力。修改后的視覺注意力計(jì)算過程如下:
在應(yīng)用了此剪枝方案后,模型的計(jì)算復(fù)雜度由和視覺 token 數(shù)量的二次方成正比降為了和其數(shù)量成正比。
2 非活躍注意力頭剪枝:研究團(tuán)隊(duì)以 LLaVA-1.5 作為研究對(duì)象,隨機(jī)選取了 100 個(gè)視覺問答樣本,可視化了視覺 token 的不同注意力頭的權(quán)重,實(shí)驗(yàn)發(fā)現(xiàn)大約有一半數(shù)量的注意力頭都沒有被激活。由此可見這部分注意力頭的相關(guān)計(jì)算同樣存在大量冗余并可以被剪枝。
3 選擇性層丟棄:研究團(tuán)隊(duì)通過可視化 LLaVA-1.5 不同層的視覺 token 跨模態(tài)注意力權(quán)重發(fā)現(xiàn),大權(quán)重集中在前 20 層,在第 20 層到 40 層之間權(quán)重接近于 0。
這項(xiàng)結(jié)果表明靠后的 20 層的視覺計(jì)算存在大量冗余。這一觀察啟發(fā)了研究團(tuán)隊(duì)在靠后的層中直接跳過所有與視覺相關(guān)的計(jì)算,從而減少計(jì)算開銷。具體來說,對(duì)于層 l>L?N,視覺注意力和跨模態(tài)注意力計(jì)算都被省略,使得注意力計(jì)算可以簡(jiǎn)化如下:
4 在 FFN 中進(jìn)行稀疏視覺投影:通過剪枝大部分視覺注意力計(jì)算,模型的視覺表示變得高度稀疏。為了有效利用這種稀疏性,研究團(tuán)隊(duì)提出在每個(gè) transformer 模塊內(nèi)的 FFN 隱藏層中隨機(jī)丟棄 p% 的神經(jīng)元。
實(shí)驗(yàn)結(jié)果
研究團(tuán)隊(duì)在眾多常見基準(zhǔn)上評(píng)估了他們提出的方法在剪枝 LLaVA-1.5-7B 和 LLaVA-1.5-13B 模型中的效果。由表中得知,在相同的計(jì)算預(yù)算(即相同的 FLOPs)下,團(tuán)隊(duì)提出的剪枝方法在四個(gè)樣本較多的基準(zhǔn)測(cè)試上一致性得取得了最佳結(jié)果,分別在 GQA、VQAv2、POPE 和 MMB 上比第二優(yōu)方法平均高出 3.7%、1.1%、2.2% 和 0.45%。
為了展示此種方法在剪枝視覺計(jì)算冗余方面的可擴(kuò)展性,團(tuán)隊(duì)在兩個(gè)最大的基準(zhǔn)測(cè)試 VQAv2 和 GQA 上,以不同的剪枝粒度,將他們提出的策略與 token 剪枝代表性工作 PyramidDrop 和 FastV 進(jìn)行比較。可以觀察到,隨著視覺計(jì)算的 FLOPs 減少,剪枝模型的性能也隨之下降。具體來說,對(duì)于使用 FastV 剪枝的模型,將 FLOPs 從 75% 減少到 19% 導(dǎo)致在兩個(gè)基準(zhǔn)測(cè)試上的平均性能從 71.35% 降至 66.63%。相比之下,團(tuán)隊(duì)提出的方法并未直接剪枝 token,而是針對(duì)參數(shù)和計(jì)算模式層面的冗余計(jì)算進(jìn)行剪枝,從而僅導(dǎo)致 0.5% 的性能下降。
為了進(jìn)一步印證文中觀察到的大量視覺計(jì)算冗余是普遍存在的,團(tuán)隊(duì)將該方法應(yīng)用于其他模型包括 Qwen2-VL-7B 和 InternVL-2.0 4B/8B/26B。團(tuán)隊(duì)在 GQA 和 POPE 基準(zhǔn)上評(píng)估了性能,并調(diào)整剪枝粒度以在保持原始模型性能的同時(shí)盡量減少 FLOPs。如圖所示,即使在未微調(diào)的情況下,以適當(dāng)比例剪枝這些模型的視覺計(jì)算也不會(huì)影響其性能。此外,更大的模型能夠適應(yīng)更高的剪枝比例,這從不同模型規(guī)模下對(duì) InternVL-2.0 的剪枝結(jié)果中得到了驗(yàn)證。
討論
為什么不直接同時(shí)剪枝視覺和文本的參數(shù)?研究團(tuán)隊(duì)專注于減少視覺 token 計(jì)算中的冗余,從而降低其開銷,同時(shí)保留文本 token 的計(jì)算。為了探討文本 token 是否也存在類似的冗余,團(tuán)隊(duì)進(jìn)行了一個(gè)實(shí)驗(yàn),分別對(duì)僅視覺 token 和視覺與文本 token 同時(shí)剪枝 20 個(gè)注意力頭。在未進(jìn)行微調(diào)的情況下,僅剪枝視覺 token 在 VQAv2、GQA、SQA 和 TextVQA 上的平均性能為 67.1%,而同時(shí)剪枝視覺和文本 token 的性能則大幅下降至 4.3%。這表明在當(dāng)前多模態(tài)大模型中,視覺計(jì)算中的冗余顯著高于文本計(jì)算中的冗余。
對(duì) token 剪枝和計(jì)算模式剪枝的效率分析。研究團(tuán)隊(duì)對(duì)不同輸入視覺 token 數(shù)量下各方法的效率進(jìn)行了比較。結(jié)果表明,與基于 token 剪枝的方法相比,從計(jì)算模式層面解決視覺計(jì)算冗余問題在處理較長視覺序列時(shí)具有更大的效率優(yōu)勢(shì)。這種方法有效緩解了處理大量視覺 token 所帶來的計(jì)算開銷上升問題,展現(xiàn)了其在處理視覺序列方面的可擴(kuò)展性。
總結(jié)
研究團(tuán)隊(duì)針對(duì)剪枝多模態(tài)大模型以實(shí)現(xiàn)高效計(jì)算的挑戰(zhàn)進(jìn)行了研究。與文本不同,視覺信息具有高度稀疏性和冗余性。以往的研究主要集中在減少視覺 token 數(shù)量;而本篇工作則分析了參數(shù)和計(jì)算模式中的冗余性。團(tuán)隊(duì)提出的策略包括:鄰域感知的視覺注意力、非活躍視覺注意力頭的剪枝、FFN 中的稀疏視覺投影以及選擇性層丟棄。這些方法將 LLaVA-1.5 的計(jì)算開銷減少了 88%,同時(shí)大幅保留了其性能。針對(duì) Qwen2-VL-7B 和 InternVL-2.0 4B/8B/26B 的額外實(shí)驗(yàn)進(jìn)一步證實(shí),視覺計(jì)算冗余在多模態(tài)大模型中普遍存在。