免訓(xùn)練加速DiT!Meta提出自適應(yīng)緩存新方法,視頻生成快2.6倍
現(xiàn)在,視頻生成模型無(wú)需訓(xùn)練即可加速了?!
Meta提出了一種新方法AdaCache,能夠加速DiT模型,而且是無(wú)需額外訓(xùn)練的那種(即插即用)。
話(huà)不多說(shuō),先來(lái)感受一波加速feel(最右):

可以看到,與其他方法相比,AdaCache生成的視頻質(zhì)量幾乎無(wú)異,而生成速度卻提升了2.61倍。
據(jù)了解,AdaCache靈感源于“并非所有視頻都同等重要”。
啥意思??原來(lái)團(tuán)隊(duì)發(fā)現(xiàn):
因此,團(tuán)隊(duì)在加速DiT時(shí)主打一個(gè)“按需分配,動(dòng)態(tài)調(diào)整”,分別提出基于內(nèi)容的緩存調(diào)度和運(yùn)動(dòng)正則化(MoReg)來(lái)控制緩存及計(jì)算分配。
目前這項(xiàng)技術(shù)已在GitHub開(kāi)源,單個(gè)A100(80G)GPU 上就能運(yùn)行,網(wǎng)友們直呼:
“并非所有視頻都同等重要”下面我們具體介紹下這項(xiàng)研究。
先說(shuō)結(jié)論,以O(shè)pen-Sora是否加持AdaCache為例,使用AdaCache能將視頻生成速度提升4.7倍——
質(zhì)量幾乎相同的情況下,前后速度從419.60s降低到89.53s。
具體如何實(shí)現(xiàn)的呢??
眾所周知,DiT(Diffusion Transformers)結(jié)合了擴(kuò)散模型和Transformer架構(gòu)的優(yōu)勢(shì),通過(guò)模擬從噪聲到數(shù)據(jù)的擴(kuò)散過(guò)程,能夠生成高質(zhì)量圖像和視頻。
不過(guò)DiT并非完美無(wú)缺,自O(shè)penAI發(fā)布Sora以來(lái)(DiT因被視為Sora背后的技術(shù)基礎(chǔ)之一而廣受關(guān)注),人們一直嘗試改進(jìn)它。
這不,Meta的這項(xiàng)研究就瞄準(zhǔn)了DiT為人熟知的痛點(diǎn):
展開(kāi)來(lái)說(shuō)——
首先,團(tuán)隊(duì)在研究中發(fā)現(xiàn),有些視頻在達(dá)到合理質(zhì)量時(shí)所需的去噪步驟比其他視頻少。
他們展示了基于Open-Sora的不同視頻序列在不同去噪步驟下的穩(wěn)定性和質(zhì)量變化。
通過(guò)逐步減少去噪步驟,他們發(fā)現(xiàn)每個(gè)視頻序列的 “中斷點(diǎn)”(即質(zhì)量開(kāi)始顯著下降的步驟數(shù)量)是不同的,右側(cè)直方圖也顯示了在不同步驟中特征變化的幅度。
這啟發(fā)了團(tuán)隊(duì),“并非所有視頻都同等重要”。
換句話(huà)說(shuō),針對(duì)每個(gè)視頻都可以有不同的緩存和計(jì)算分配,以此節(jié)約資源。
于是針對(duì)緩存,Meta推出了一種名為AdaCache(自適應(yīng)緩存)的新方法,核心是:
其架構(gòu)如圖所示,下面具體展開(kāi)。
左側(cè)部分,AdaCache將DiT的原始擴(kuò)散過(guò)程分為多個(gè)步驟,并對(duì)每一步進(jìn)行殘差計(jì)算,以生成新的表示。
這些新的表示會(huì)在后續(xù)步驟中被重復(fù)使用,而不需要每次都重新計(jì)算,從而節(jié)省大量計(jì)算資源。
過(guò)程中,研究使用一個(gè)距離度量(ct)來(lái)判斷當(dāng)前表示和之前緩存的表示之間的變化幅度。
如果變化較小,就可以直接使用緩存,節(jié)省計(jì)算量;如果變化較大,則需要重新計(jì)算。
右側(cè)部分,是DiT內(nèi)部的計(jì)算過(guò)程,可以看到空間-時(shí)間注意力(STA)、交叉注意力(CA)和多層感知器(MLP)三個(gè)模塊。
其中每一步生成的新表示(如ft+k和ft)會(huì)使用緩存中的殘差進(jìn)行更新,從而減少重復(fù)計(jì)算的次數(shù)。
總之一句話(huà),這種策略使得計(jì)算資源能夠根據(jù)視頻內(nèi)容的復(fù)雜性和變化率動(dòng)態(tài)分配。
此外,為了進(jìn)一步改進(jìn)AdaCache,團(tuán)隊(duì)還引入運(yùn)動(dòng)正則化(MoReg)來(lái)控制計(jì)算分配。
團(tuán)隊(duì)發(fā)現(xiàn),視頻中的運(yùn)動(dòng)內(nèi)容對(duì)于確定最佳的去噪步驟數(shù)量至關(guān)重要,通常高運(yùn)動(dòng)內(nèi)容需要更多去噪步驟來(lái)保證生成質(zhì)量。
基于此,MoReg的核心思想是:
由于需要在視頻生成過(guò)程中實(shí)時(shí)估計(jì)運(yùn)動(dòng),MoReg不能依賴(lài)于傳統(tǒng)的、計(jì)算密集型的像素空間運(yùn)動(dòng)估計(jì)算法。
補(bǔ)充一下,這是一種用于視頻編碼中的技術(shù),它通過(guò)比較相鄰幀之間的像素差異來(lái)估計(jì)運(yùn)動(dòng)向量,從而實(shí)現(xiàn)視頻的壓縮。
因此,MoReg使用殘差幀差異作為噪聲潛在運(yùn)動(dòng)得分(noisy latent motion-score)的度量,其公式如下:
且為了進(jìn)一步提高運(yùn)動(dòng)估計(jì)的準(zhǔn)確性,MoReg引入了運(yùn)動(dòng)梯度(motion-gradient)的概念。
它可以作為一個(gè)更好的趨勢(shì)估計(jì),幫助在視頻生成的早期階段預(yù)測(cè)運(yùn)動(dòng),并作為調(diào)整緩存策略的依據(jù)。
那么,采用AdaCache+MoReg的最終效果如何呢?
實(shí)驗(yàn)結(jié)果:優(yōu)于其他免訓(xùn)練加速方法最后,團(tuán)隊(duì)使用了VBench基準(zhǔn)測(cè)試來(lái)評(píng)估AdaCache在不同視頻生成任務(wù)中的性能。
其中VBench提供了一系列的質(zhì)量指標(biāo),包括峰值信噪比(PSNR)、結(jié)構(gòu)相似性(SSIM)和感知圖像質(zhì)量指標(biāo)(LPIPS)。
同時(shí),還測(cè)量了推理延遲(Latency)和計(jì)算復(fù)雜度(FLOPs)。
測(cè)試對(duì)象包括了AdaCache的多個(gè)變體,包括慢速(slow)、快速(fast)和帶有MoReg的版本。
結(jié)果顯示,fast變體提供了更高的加速比,而slow變體則提供了更高的生成質(zhì)量。
與此同時(shí),與其他無(wú)訓(xùn)練加速方法(如?-DiT、T-GATE和PAB)相比,在生成質(zhì)量相當(dāng)或更高的情況下,AdaCache都提供了顯著的加速效果。
另外,隨著GPU的數(shù)量增加,AdaCache的加速比也相應(yīng)增加,這表明它能夠有效地利用并行計(jì)算資源,并減少GPU之間的通信開(kāi)銷(xiāo)。
更多實(shí)驗(yàn)細(xì)節(jié)歡迎查閱原論文。
- 免責(zé)聲明
- 本文所包含的觀(guān)點(diǎn)僅代表作者個(gè)人看法,不代表新火種的觀(guān)點(diǎn)。在新火種上獲取的所有信息均不應(yīng)被視為投資建議。新火種對(duì)本文可能提及或鏈接的任何項(xiàng)目不表示認(rèn)可。 交易和投資涉及高風(fēng)險(xiǎn),讀者在采取與本文內(nèi)容相關(guān)的任何行動(dòng)之前,請(qǐng)務(wù)必進(jìn)行充分的盡職調(diào)查。最終的決策應(yīng)該基于您自己的獨(dú)立判斷。新火種不對(duì)因依賴(lài)本文觀(guān)點(diǎn)而產(chǎn)生的任何金錢(qián)損失負(fù)任何責(zé)任。