Token Compression for Vision Domain_Generation
文章目錄
- Image Generation
- Token Merging for Fast Stable Diffusion, CVPRW 2023.
- Token Fusion: Bridging the Gap between Token Pruning and Token Merging, WACV 2024
- ToDo: Token Downsampling for Efficient Generation of High-Resolution Images, IJCAIw 2024.
- Turbo: Informativity-Driven Acceleration Plug-In for Vision-Language Models, ECCV 2024.
- Importance-Based Token Merging for Efficient Image and Video Generation, arXiv 2025.
- Token Merging for Training-Free Semantic Binding in Text-to-Image Synthesis, NeurIPS 2024.
- Video Generation
- Object-Centric Diffusion for Efficient Video Editing, ECCV 2024.
Image Generation
Token Merging for Fast Stable Diffusion, CVPRW 2023.
paper|code
ToMe 能顯著提高圖像生成的速度,同時又不會影響質量。此外,其優點還能與現有的方法(如 xFormers [8])相疊加。借助 ToMe 和 xFormers 的結合,在一臺 4090 顯卡上,僅用 28 秒就生成了這幅 2048×2048 的圖像,比原始模型快了 5.4 秒。
通過將 ToMe 應用于Stable Diffusion來進行測試。初始應用下,它可以將擴散速度提高多達 2 倍,并減少 4 倍的內存消耗,但生成的圖像質量卻大打折扣(圖 3)。為了解決這個問題,我們引入了新的token分區技術(圖 5),并進行了多次實驗來決定如何應用 ToMe(表 3)。結果是,我們能夠保持 ToMe 的速度并提高其內存效益,同時生成的圖像與原始模型極其接近。此外,這種速度提升與諸如 xFormers(圖 1)等實現方式相結合。
對源數據(src)和目標數據(dst)進行分區。ToMe將源數據中的標記合并到目標數據中。(a)默認情況下,ToMe 交替使用源數據和目標數據的標記。在我們的例子中,這會導致目標數據形成規則的列,從而產生不良的輸出(魚的形狀不佳)。(b)我們可以通過使用二維步幅(例如 2 2)對目標數據進行采樣來改進生成過程,但這仍然形成了規則的網格。(c)我們可以通過隨機采樣來引入不規則性,但這可能會導致目標數據標記出現不期望的聚集現象。(d)因此,我們在每個 2x2 區域中隨機選擇一個目標數據標記。
在提出的方法中,Attention以及MLP前后均有一次合并以及拆分,這是因為U-Net的核心是編碼器(下采樣路徑)和解碼器(上采樣路徑)之間的跳躍連接。編碼器某一層的輸出特征圖,需要與解碼器對應層的特征圖進行拼接,尺寸必須匹配。
Inspiration:根據任務及模型特點 1. 設計新的token分區技術。2. 模型里的哪些block是需要ToMe的?
Token Fusion: Bridging the Gap between Token Pruning and Token Merging, WACV 2024
paper|code
Token Fusion(ToFu),這是一種融合了 Token 剪枝和 Token 合并優點的方法。
- 當模型表現出對輸入插值的敏感性時,token剪枝被證明是有利的,而當模型表現出接近對輸入的線性響應時,token合并是有效的。
- 解決了平均合并的局限性,它不保留內在特征范數,導致分布偏移。為了緩解這種情況,引入了 MLERP( 球面線性插值)合并,這是 SLERP(SLERP的多線性擴展)技術的一種變體,專門用于合并多個令牌,同時保持常數分布。
- 模型能學習A和B,但是學習不了介于A和B之間的對象,這就是對輸入插值敏感,此時應該剪掉其中某個對象。模型對學習范圍內的對象滿足可加性和齊次性,這就是表現出線性響應,此時應該合并其中某些對象。
- 首先要清晰范數代表什么,在向量空間中,范數(或模長)||t|| 代表了向量的“長度”或“強度”。在深度學習中,特征向量的范數往往也編碼了重要的信息,比如特征的顯著性。模型在訓練時,看到的都是范數在某個范圍內(比如接近1)的Token。而經過多層平均合并后,深層網絡的Token范數變得越來越小。這就是分布偏移,測試時的數據分布與訓練時不同了。
頂圖:兩個輸入點 x1 (藍色) 和 x2 (紅色)連接它們的彩色直線代表了 x1 和 x2 之間的線性插值 (linear interpolation)。紫色星號代表了 x1 和 x2 的簡單平均值
底層四張圖:分別展示了將頂圖中的整條彩色線作為輸入,送入ViT模型中不同深度(第1到第4層)的MLP模塊(表示為f1到f4)后,得到的輸出是什么樣的。
(左)在 ViT 主干網絡內部的令牌融合集成。每個 Transformer 塊都包含一個令牌縮減操作,用符號 R 表示。在該圖示中,R 在多層感知機(MLP)之前被調用。通過二分軟匹配(BSM),每個 R 都會識別出相似度最高的 r 個索引,例如,在此圖示中 r = 2。值得注意的是,層的深度決定了所選擇的合并策略:早期層使用剪枝合并,而后期層則過渡到平均(或 MLERP)合并。這種動態方法加快了 ViT 的運行速度,同時仍能保留完整令牌推理的大部分性能。(右)將兩個特征(x1 和 x2)組合在一起的不同合并方法的可視化。所有方法都可以適應合并更多的特征。
ToDo: Token Downsampling for Efficient Generation of High-Resolution Images, IJCAIw 2024.
paper|code
圖像中的相鄰像素往往與它們的鄰近像素具有相似的值。因此,我們采用了降采樣技術來減少Token數量,類似于圖像處理中的網格式采樣。
原始的 ToMe 方法基于在輸入到注意力層之前通過合并相似的向量來減少計算量。這一過程包括計算一個相似性矩陣,其中相似度最高的token會被合并。隨后,解合并過程旨在將合并后的token信息重新分配回原始token位置。
然而,這種方法引入了兩個關鍵的瓶頸:
- 計算復雜度:相似性矩陣的計算(O(n2)復雜度)本身就很昂貴,尤其是在整個過程的每個步驟中都需要進行計算的情況下。
- 質量下降:ToMe 中固有的合并-解合并循環會導致圖像細節的顯著損失,尤其是在合并比例較高的情況下。
具體實現:
Optimized Merging Through Spatial Contiguity. ToMe計算所有token對內容的相似度,認為相似的token應該被合并,復雜度O(n2)。ToDo認為空間上相鄰的令牌就是相似的,使用下采樣計算,復雜度O(n)。
Enhanced Attention Mechanism with Downsampling. 將合并(下采樣)操作直接嵌入到了注意力計算的內部。保持 Q (Queries) 不變,對 K (Keys) 和 V (Values) 進行下采樣:
因為 Q 是完整的,所以注意力機制的輸出結果仍然是針對所有原始令牌位置的。每個原始令牌 q 會根據它與下采樣后的 D(K) 的關系,去有選擇地從下采樣后的 D(V) 中提取信息。這個過程是“多對少”的信息聚合,而不是粗暴的“反向合并”,因此自然地將信息聚合到了原始分辨率上,保留了圖像的完整性。
Turbo: Informativity-Driven Acceleration Plug-In for Vision-Language Models, ECCV 2024.
paper|code
設計了一個由信息度指導的即插即用 Turbo 模塊應用于VLM。信息度考慮了兩個關鍵因素:相互冗余和語義價值。具體來說,前者評估順序token之間的數據重復;而后者則根據每個token對整體語義的貢獻來評估。因此,具有高信息度的 Token 具有較少的冗余和更強的語義。
-
信息度計算。采用了二分圖匹配策略,計算每個token 與其他token的余弦相似度,最大的相似度作為互冗余度R。token的語義價值 A 定義為 [CLS] token 在注意力計算中分配給 xi 的注意力權重。兩者融合得到信息度
-
根據下游任務選擇合并策略
VLMs理解對像素級的精細信息要求不高
1)Atten之后執行Turbo
2)計算E并排序
3)選擇分數最低的 r 個 token將它們合并到它們各自最相似的 token 中
VLMs生成對像素級的精細信息要求高
1)在進入 VLM 的每一個 block 之前,Turbo 模塊根據信息度 E 合并冗余的 token,縮短序列長度。
2)合并后的token進入attn計算
3)在 block 計算完成之后,Turbo 模塊需要將之前合并的 token “恢復”回來,以保持序列的原始長度和結構,供下一層使用或最終生成圖像。
Importance-Based Token Merging for Efficient Image and Video Generation, arXiv 2025.
paper|code
在合并過程中保留高信息的token——那些對于語義保真度和結構細節至關重要的令牌——會顯著提高樣本質量,產生更精細的細節和更連貫、更逼真的生成結果。提出了一種基于重要性的token合并方法,在計算資源分配中優先考慮最關鍵的token
- 使用classifier-free guidance計算每塊token的重要性。
- 構造important token pool。直接選擇Top-K個最重要token作為合并目標(即“錨點”)存在兩個問題:冗余和不重要的獨立token。重要的token在空間上接近且特征相似,錨點集中產生冗余,不重要的獨立token與其他token無法合并,導致計算浪費。
- Token Merging Process. 隨機選擇目標token dst,確定源token src,保留獨立token ind,將其他token都合并到dst中
CFG的本質
最終的噪聲預測 = 無條件的噪聲預測 + w * (有條件的噪聲預測 - 無條件的噪聲預測)
Token Merging for Training-Free Semantic Binding in Text-to-Image Synthesis, NeurIPS 2024.
paper|code
現有的模型難以將文本中的對象與其屬性或相關子對象正確關聯,表現為錯誤的綁定或者屬性的丟失。我們將這一問題稱為語義綁定(Semantic Binding)。比如當提示詞為“一只戴著帽子的狗和一只戴著太陽鏡的貓”時,生成的圖像可能會出現帽子戴在貓頭上,太陽鏡戴在狗頭上的錯誤情況。
Video Generation
Object-Centric Diffusion for Efficient Video Editing, ECCV 2024.
paper|code
如何在不犧牲視頻編輯質量的前提下,大幅提升擴散模型進行視頻編輯的速度并降低計算成本?
Motivation
- 高昂的計算和內存成本:1)擴散反演 (Diffusion Inversion):先將原始視頻“編碼”回噪聲,并保存大量的中間激活和注意力圖,這會占用巨大的存儲空間。2)跨幀注意力 (Cross-frame Attention):在生成時,讓每一幀的注意力計算都參考其他幀,這導致計算量隨著幀數的增加而急劇增長。3)大量的采樣步數 (Sampling Steps):高質量的生成需要很多次的去噪迭代,非常耗時。
- 計算資源分配不合理:現有模型對前景和背景一視同仁,將大量的計算資源浪費在了不那么重要的背景區域上。
以物體為中心 (Object-Centric),將計算資源智能地、不均衡地分配給前景和背景,從而實現大幅加速。
Method
Object-Centric Sampling.
- 分離前景和背景: 首先利用一個前景蒙版 (foreground mask, m) 將潛在空間的噪聲圖 z_t 分離成前景部分 z_f 和背景部分 z_b。
- 差異化采樣: 對前景和背景采用不同的去噪策略。前景區域: 使用正常的、較多的采樣步數進行去噪,以保證編輯質量。背景區域: 使用一個加速因子 φ,大幅減少采樣步數(例如,前景走3步,背景才走1步),因為背景通常不需要編輯或改動很小。
- 融合與平滑: 在去噪過程的某個中間時間點 T_γ(例如,總步數的25%處),將前景和背景的潛在表示重新合并,并用剩余的少量步數對整個圖像進行聯合去噪,以平滑兩者邊界處的偽影,保證最終結果的自然過渡。
Object-Centric Token Merging.
加權相似度引導 ToMe:
- 檢查待合并的token是否屬于前景
- 計算它與目標token的相似度 Sim(x_i, x_j) 時,引入一個權重因子 η。背景相似度計算不變,前景相似度乘η。
- spatio-temporal volumes. 同時在空間和時間維度上合并令牌,以最大化地利用視頻中的時序冗余。