剛剛!ASP-DAC 2025最佳論文出爐,無問芯穹上交大論文獲獎
就在剛剛,集成電路設計自動化領域的國際傳統頂級會議之一的 ASP-DAC(Asia and South Pacific Design Automation Conference, 亞洲及南太平洋設計自動化會議)在日本東京落下帷幕。在 ASP-DAC 成立 30 周年之際,今年的前端最佳論文獎頒發給了《ViDA: Video Diffusion Transformer Acceleration with Differential Approximation and Adaptive Dataflow》—— 由無問芯穹與上海交通大學聯合研究團隊提出的視頻生成軟硬一體加速器,首次實現通過差分近似和自適應數據流解決 VDiT 生成速度緩慢瓶頸,推理速度相比 A100 提升高達 16.44 倍。
論文第一作者丁立和共同第一作者劉軍均來自上海交通大學,通訊作者戴國浩是上海交通大學副教授、無問芯穹聯合創始人兼首席科學家。據悉,這是該團隊繼 2019 年以結構化稀疏與軟硬件聯合設計打破加速記錄之后,再次以差分稀疏化和軟硬協同方案創造加速記錄,第二次斬獲 ASP-DAC 最佳論文獎。
據 Fortune Business Insights 數據,2024 年全球 AI 視頻生成市場規模達 6.148 億美元,預計到 2032 年將飆升至 25.629 億美元。當下,視頻生成模型的視頻長度、細節逼真度和運鏡流暢度都在快速提升,在可以預見的未來,絕大多數視頻任務將由 AI 視頻生成模型輔助完成。然而這些模型需處理高維度時空數據,計算復雜度極高,尤其在高分辨率、長時序場景下,對計算資源的消耗巨大,給內容創作、虛擬現實等產業帶來嚴峻挑戰。
即便是資金雄厚、設備高端的工業級影視制作團隊,也難以承受當下 AI 視頻生成模型帶來的高昂時間成本、計算成本和算力浪費。在此背景下,視頻生成模型推理加速等基礎研究工作將有望為產業帶來百億級市場的深遠影響。
論文概述
如何有效地加速視頻生成模型的推理過程,不僅對模型性能的優化提出了更高的要求,也成為推動生成技術落地的重要瓶頸問題。這一背景下,針對特定生成任務設計高效的計算架構和優化算法成為當前的研究重點。以 OpenAI 的 Sora 為代表,視頻擴散 Transformer(VDiT)模型的最新進展極大地推動了視頻生成領域的發展。然而,VDiT 推理過程中仍然存在幀間計算冗余和算子計算強度差異較大的問題。現有基于有限幀間相似性的計算方法以及靜態硬件架構和數據流設計,無法有效解決 VDiT 推理速度緩慢的瓶頸。為應對上述挑戰,作者團隊結合幀間預測的差分計算與幀內稀疏特性的分析,提出了視頻生成模型的軟硬一體加速器 ViDA,創造性地通過差分近似方法和自適應數據流架構,利用稀疏性實現軟硬件協同優化,從而大幅提升了 VDiT 的推理性能。在多種主流 VDiT 模型上的實驗結果表明,與 NVIDIA A100 GPU 和現有最先進加速器相比,ViDA 分別實現了平均 16.44 倍 / 2.18 倍的加速比和 18.39 倍 / 2.35 倍的面積效率提升。
核心思想
圖 1:從視頻處理到視頻生成加速
ViDA 的設計深受傳統視頻處理中基于相似性去除幀間冗余方法的啟發。如圖 1 所示,在傳統視頻處理中,幀間的高相似性被充分利用,通過對相鄰幀進行分塊比較,將當前幀的內容表示為參考幀的基礎上疊加變化信息,從而有效去除幀間的冗余。這種方法不僅減少了存儲和傳輸中重復數據的占用,還能通過優化預測和補償機制,大幅提高視頻編碼的效率。這種基于相似性的優化策略為傳統視頻處理提供了顯著的存儲與傳輸優勢,同時也為生成模型的推理優化提供了重要參考。
基于這一理念,ViDA 結合視頻相似性預測的差分計算,提出了一套面向視頻生成模型的優化方法。通過深度挖掘生成過程中的幀間激活相似性,ViDA 有效減少了計算冗余,為推理效率和硬件性能的全面提升奠定了基礎。
- 首先,在算法層面,本文提出了差分近似計算方法,成功減少了 Act-Act 算子 51.67% 的計算量;
- 其次,在硬件層面,設計了列聚集處理單元,利用差分計算中的列稀疏模式,使面積效率提升了 1.47 倍;
- 最后,在數據流層面,構建了計算強度自適應數據流架構,將計算效率提升了 1.76 倍。
現有方法
在視頻生成領域(包括圖像生成),大量研究已經證實了視頻擴散變換器(VDiT)的顯著擴展潛力,例如 Sora 模型。通過 “Patchify” 方法,VDiT 將視頻中不同幀轉換為統一的時空序列(即 patch),從而獲得類似于大規模語言模型(LLMs)中 tokens 的統一數據表示。盡管當前的視頻生成質量取得了巨大進步,但生成速度仍然較慢。我們發現阻礙 VDiT 加速的兩個主要挑戰如下:
挑戰 1:VDiT 推理仍存在大量幀間冗余計算。
VDiT 采用多幀并行推理的方法生成視頻,但由于幀間相似性,多幀激活計算中存在冗余。如圖 2 所示,現有研究包括 ViTCoD [HPCA 2023], InterArch [DAC2024] 和 CMC [ASPLOS 2024] 主要利用幀內相似性,但幀間相似性仍未被充分利用。現有工作僅考慮對 Act-W 算子(如 QKV 投影和 O 投影)進行差分計算。然而,由于激活 - 激活(Act-Act)算子的非線性表達,VDiT 中的 Act-Act 算子(如 Logit 和 Attend)無法使用這些差分計算方法,VDiT 中仍有 56.97% 的計算無法通過現有差分計算方法加速。
圖 2:從相似性的角度與現有方法的比較
挑戰 2:VDiT 算子的計算強度差異較大,導致利用率低下。
在文本生成中,大型語言模型(LLM)推理的主要耗時過程是生成單一 token 的向量。由于 KV 緩存的存在,LLM 推理中的算子表現出較低的計算強度,不同算子之間的差異也較小。在圖像分類中,視覺 Transformer(ViT)同時對所有 tokens 進行計算。由于圖像大小相近,ViT 中不同算子的計算強度差異也較小。然而,在視頻生成中,隨著幀數增加,Act-W 操作與 Act-Act 操作的計算強度差異超過 10 倍。VDiT 在時間維度上的計算和內存資源需求不斷變化,因此現有為文本和視覺任務設計的靜態架構和數據流無法充分應對這一問題,導致硬件利用率小于 40%。
本文方法
圖 3:ViDA(一種基于差分近似和自適應數據流的 VDiT 加速器) 概述,探索了差分近似方法和自適應數據流架構。
針對挑戰 1,我們提出了差分近似方法,可在 Act-W 和 Act-Act 算子中消除冗余計算。通過利用幀間相似性,這種方法將 Act-Act 操作的冗余計算減少了 51.67%。
基于差分近似方法,我們進一步提出了列聚集處理單元,以利用列稀疏模式。相比僅支持稠密或稀疏的 PE,該方法在面積效率上分別提高了 1.56 倍和 1.42 倍。
針對挑戰 2,我們提出了一種計算強度自適應數據流架構,可動態分配資源以適配不同算子的執行需求。通過設計路由控制器平衡操作的執行,性能相比靜態數據流架構提高了 1.76 倍。
我們在多個 VDiT 模型上驗證了 ViDA 的加速性能。與 NVIDIA A100 GPU 和 SOTA 視覺加速器相比,ViDA 分別實現了平均 16.44 倍 / 2.18 倍的加速比和 18.39 倍 / 2.35 倍的面積效率提升。
研究背景以及動機
視頻擴散 Transformer(VDiT)
通過將視覺變換器(ViT)引入擴散模型,VDiT 在 Sora 等視頻生成工作中取得了前沿性能。生成視頻的主要耗時階段是通過 VDiT 在多時間步中預測需要去除的噪聲,因此加速 VDiT 的計算至關重要。
圖 4:VDiT 模型架構圖
圖 4 展示了 VDiT 的基本架構圖。在某個去噪時間步 t,經過分塊及位置嵌入后,噪聲幀被轉換為激活數據,作為 Transformer 塊的輸入。每個塊由四部分組成:空間注意力(S-A)、時間注意力(T-A)、交叉注意力(C-A)和多層感知器(MLP)。模型通過 S-A 和 T-A 學習視頻的空間和時間信息,通過 C-A 學習文本或圖像條件信息。經過 L 層變換器塊后,模型預測噪聲并去噪圖像,并進入下一時間步 t+1。
差分計算
差分計算通過利用激活值之間的相似性來減少計算量。具體來說,下一幀 F+1 的激活值 可以表示為當前幀 F 的激活值
加上一個增量部分 ΔX。由于當前幀和下一幀之間的激活值通常具有很高的相似性,因此 ΔX 中的許多元素非常接近于零。可以設置一個對模型精度影響可接受的閾值,將小于該閾值的增量部分元素視為零。
通過這種方法,可以實現數據的稀疏化,因為在數學計算中,零值與任何值相乘的結果仍然是零,從而有效減少計算量。盡管差分計算在傳統深度學習中已取得成功,例如 Cambricon-D [ISCA 2024] 在 ReLU 激活函數中引入了這一技術,但在 VDiT 模型中,主要的注意力機制包含了大量激活 - 激活(Act-Act)算子。這些算子具有非線性特性,現有的差分計算方法無法直接適用,因此在 VDiT 中的加速效果較為有限。
技術要點
差分近似方法
現有工作中考慮幀間相似性的方法未能對 Act-Act 算子進行加速,主要原因在于差分計算無法處理其非線性特性。然而,Act-Act 計算在 VDiT 中占據了顯著比例。
圖 5:Act-Act 算子的(a)無優化的差分計算與(b)差分近似計算的比較
如圖 5(a)所示,我們選取一個特定的激活作為參考激活,對冗余激活執行差分剪枝操作后,冗余激活的 Act-Act 計算可以拆解為 4 個部分,需要進行三次稀疏矩陣 - 矩陣乘法(SpMM)計算,不能實現計算效率提升。
為了簡化計算,如圖 5(b),我們對多種 Act-Act 操作的值進行了數值分析。結果表明,第二項和第三項的數值比第一項小兩個數量級以上,并且沒有顯著的異常值。因此,可以忽略第二項或第三項以簡化計算,從而減少 SpMM 數量。
此外,我們的近似計算在余弦相似度上的一致性平均超過 98%,對 Act-Act 操作的精度影響可以忽略。通過此方法,與稠密計算相比,Act-Act 操作的計算開銷減少了 51.67%。
列聚集處理單元
我們觀察到這些激活呈現出列稀疏性模式,這是因為 patch 向量之間的編碼格式具有一致性。實驗發現,激活矩陣中 87.94% 的非零值聚集在不到 23.50% 的列中。利用這一稀疏性模式,可以將稀疏列和稠密列進行細粒度拆分計算,從而實現面積效率的提升。如圖 6 所示,為了利用稠密硬件低面積消耗和稀疏硬件低計算開銷的優勢,我們提出了列聚集處理單元(PE),其硬件設計包括分配單元、合并單元、稠密計算陣列和稀疏計算陣列。
如圖 6(c)所示,稠密計算使用普通脈動陣列格式,稀疏計算則通過隊列形式輸入非零值,從而在稠密與稀疏計算之間實現硬件利用率的平衡。如圖 6(d)所示,對于 CSC 格式的稀疏激活,分配單元根據非零值比例動態分配列到稠密或稀疏數組執行計算,優化任務分配并提高硬件利用率。
圖 6:硬件架構概要
計算強度自適應數據流架構
VDiT 的算子計算強度差異明顯,特別是 Act-W 與 Act-Act 操作之間。我們提出了一種可重配置計算架構,通過動態分配計算和存儲資源,實現硬件利用率最大化。
計算強度自適應數據流:
- 資源平衡:針對注意力計算中計算強度差異大(如圖 7 (a)),對 Logit 和 Attend 操作優化內存訪問壓力,對 QKV 和 O 投影操作優化計算密集度,提升處理單元(PE)和內存帶寬的利用率。
- 跨幀優化:利用不同幀計算的獨立性(如空間注意力),重組相鄰幀的操作執行順序(如圖 7 (b)),同時結合計算密集型和內存密集型操作,優化流水線以提高硬件效率并減少延遲。
圖 7:基于可重構架構的計算強度自適應數據流。
計算強度自適應架構:
為支持強度自適應數據流優化,我們設計了一種可重配置硬件架構,其中路由控制器作為核心組件,用于動態調整處理單元(PE)與內存單元(ME)之間的數據路徑(如圖 6 (b) 和 6 (e) 所示)。路由控制器通過映射控制器動態分配資源,結合路由開關調整連接路徑,并利用 FIFO 隊列臨時存儲數據,以適應不同算子的資源需求。
評估
實驗設置
基線
- 通用架構:Intel Xeon 8358P CPU 和 NVIDIA A100 GPU。
- 定制加速器:ViTCoD、InterArch 和 CMC 三個 SOTA 視覺加速器。
算法設置
我們使用多個開源 VDiT 模型(包括 Open-Sora、Latte 等模型)來驗證 ViDA 的有效性,選擇 FVD, FID 和 CLIPSIM 作為評價指標,在 UCF-101 和 MSR-VTT 數據集上進行了測試。
算法評估
我們將 ViDA 的差分方法與 InterArch 和 CMC 兩種代表性方法的準確性進行了比較。為確保實驗的公平性,我們對 InterArch 進行了調整,使其同樣考慮幀內相似性。我們首先基于 OpenSora 的基準 MSR-VTT 及 UCF-101 示例進行了精度測試,實驗結果顯示,在三個評價指標下 ViDA 的算法精度損失平均僅為 0.40%,低于 InterArch 的 0.57% 和 CMC 的 0.78%。通過進一步基于 UCF-101 數據集對 OpenSora 及 Latte 模型進行評估,ViDA 的平均精度損失為 0.81%,低于目前 SOTA 的工作 CMC 的 1.11%。
性能評估
圖 8 展示了 ViDA 與不同基線的性能表現。與 A100 GPU 相比,ViDA 實現了 16.44 倍的性能提升;相較于 ViTCoD、InterArch 和 CMC,加速比分別提升了 2.48 倍、2.39 倍和 2.18 倍。這一顯著的性能提升主要得益于通過差分計算來同時計算 Act-W 和 Act-Act 算子,同時通過強度自適應數據流設計滿足了長視頻生成場景下對計算和存儲資源的復雜需求。
此外,ViDA 在面積效率方面的表現同樣突出,其相較于 A100 GPU 提高了 18.39 倍;相較于 ViTCoD、InterArch 和 CMC,幾何平均效率分別提升了 2.39 倍、2.43 倍和 2.35 倍。這主要得益于列聚集處理單元在列稠密模式下對稠密處理單元和稀疏處理單元的高效利用,以及精細化的任務分配策略在相同硬件面積下實現了更優的性能表現。
圖 8:ViDA 與 CPU、GPU 及 SOTA 加速器在三個 VDiT 模型上的加速和面積效率比較。
敏感性評估
參考幀選擇的影響
如圖 9 (a) 所示,我們分析了參考幀選擇對準確性和推理速度的影響。通過分析幀間余弦相似性,我們將每 8 幀分為一組。結果表明,參考幀選擇對模型的 CLIPSIM 準確性幾乎沒有影響,同時加速比的變化也在可忽略范圍內。
閾值選擇的影響
如圖 9 (b) 所示,我們分析了不同分配閾值對處理單元數組負載和利用率的影響。結果表明,當閾值設為 50% 時,可以實現最低的負載和最高的硬件利用率。
圖 9:參考幀及閾值的選擇對實驗結果的影響
ViDA 在多種主流 VDiT 模型上的實驗結果表明,與 NVIDIA A100 GPU 和現有最先進加速器相比,它分別實現了平均 16.44 倍 / 2.18 倍的加速比和 18.39 倍 / 2.35 倍的面積效率提升,可有效降低視頻生成模型對計算資源的消耗,加速視頻生成模型的推理過程,推動視頻生成技術更好、更快、更大范圍產業化落地。
如果你對文章感興趣,歡迎點擊學術作者團隊實驗室主頁了解更多 https://dai.sjtu.edu.cn/