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