AsyncDiff: Parallelizzazione dei Modelli di Diffusione tramite Denoising Asincrono
AsyncDiff: Parallelizing Diffusion Models by Asynchronous Denoising
June 11, 2024
Autori: Zigeng Chen, Xinyin Ma, Gongfan Fang, Zhenxiong Tan, Xinchao Wang
cs.AI
Abstract
I modelli di diffusione hanno attirato un notevole interesse da parte della comunità per la loro straordinaria capacità generativa in varie applicazioni. Tuttavia, la loro tipica natura di denoising sequenziale multi-step comporta un'elevata latenza cumulativa, impedendo così la possibilità di calcolo parallelo. Per affrontare questo problema, introduciamo AsyncDiff, uno schema di accelerazione universale e plug-and-play che consente il parallelismo del modello su più dispositivi. Il nostro approccio suddivide l'ingombrante modello di previsione del rumore in più componenti, assegnando ciascuno a un dispositivo diverso. Per interrompere la catena di dipendenza tra questi componenti, trasforma il convenzionale denoising sequenziale in un processo asincrono sfruttando l'elevata somiglianza tra gli stati nascosti in passaggi di diffusione consecutivi. Di conseguenza, ogni componente è facilitato a calcolare in parallelo su dispositivi separati. La strategia proposta riduce significativamente la latenza di inferenza con un impatto minimo sulla qualità generativa. Nello specifico, per Stable Diffusion v2.1, AsyncDiff ottiene un'accelerazione di 2.7x con una degradazione trascurabile e un'accelerazione di 4.0x con una riduzione di soli 0.38 nel CLIP Score, su quattro GPU NVIDIA A5000. I nostri esperimenti dimostrano inoltre che AsyncDiff può essere facilmente applicato ai modelli di diffusione video con prestazioni incoraggianti. Il codice è disponibile all'indirizzo https://github.com/czg1225/AsyncDiff.
English
Diffusion models have garnered significant interest from the community for
their great generative ability across various applications. However, their
typical multi-step sequential-denoising nature gives rise to high cumulative
latency, thereby precluding the possibilities of parallel computation. To
address this, we introduce AsyncDiff, a universal and plug-and-play
acceleration scheme that enables model parallelism across multiple devices. Our
approach divides the cumbersome noise prediction model into multiple
components, assigning each to a different device. To break the dependency chain
between these components, it transforms the conventional sequential denoising
into an asynchronous process by exploiting the high similarity between hidden
states in consecutive diffusion steps. Consequently, each component is
facilitated to compute in parallel on separate devices. The proposed strategy
significantly reduces inference latency while minimally impacting the
generative quality. Specifically, for the Stable Diffusion v2.1, AsyncDiff
achieves a 2.7x speedup with negligible degradation and a 4.0x speedup with
only a slight reduction of 0.38 in CLIP Score, on four NVIDIA A5000 GPUs. Our
experiments also demonstrate that AsyncDiff can be readily applied to video
diffusion models with encouraging performances. The code is available at
https://github.com/czg1225/AsyncDiff.