剛剛!ASP-DAC 2025最佳論文出爐,無問芯穹上交大論文獲獎

机器之心發表於2025-01-23
讓 AI 影片生成更快更省。

就在剛剛,積體電路設計自動化領域的國際傳統頂級會議之一的 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 操作之間。我們提出了一種可重配置計算架構,透過動態分配計算和儲存資源,實現硬體利用率最大化。

計算強度自適應資料流:

  1. 資源平衡:針對注意力計算中計算強度差異大(如圖 7 (a)),對 Logit 和 Attend 操作最佳化記憶體訪問壓力,對 QKV 和 O 投影操作最佳化計算密集度,提升處理單元(PE)和記憶體頻寬的利用率。

  2. 跨幀最佳化:利用不同幀計算的獨立性(如空間注意力),重組相鄰幀的操作執行順序(如圖 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/

相關文章