StreamDiffusion: Una soluzione a livello di pipeline per la generazione interattiva in tempo reale
StreamDiffusion: A Pipeline-level Solution for Real-time Interactive Generation
December 19, 2023
Autori: Akio Kodaira, Chenfeng Xu, Toshiki Hazama, Takanori Yoshimoto, Kohei Ohno, Shogo Mitsuhori, Soichi Sugano, Hanying Cho, Zhijian Liu, Kurt Keutzer
cs.AI
Abstract
Presentiamo StreamDiffusion, una pipeline di diffusione in tempo reale progettata per la generazione interattiva di immagini. I modelli di diffusione esistenti sono abili nel creare immagini a partire da prompt testuali o visivi, ma spesso non riescono a garantire un'interazione in tempo reale. Questa limitazione è particolarmente evidente in scenari che coinvolgono input continui, come il Metaverso, lo streaming video live e le trasmissioni, dove un'elevata produttività è essenziale. Per affrontare questo problema, proponiamo un approccio innovativo che trasforma il processo originale di denoising sequenziale in un processo di denoising a batch. Stream Batch elimina il tradizionale approccio di attesa e interazione, consentendo flussi fluidi e ad alta produttività. Per gestire la disparità di frequenza tra l'input dei dati e la produttività del modello, progettiamo una nuova coda di input-output per parallelizzare il processo di streaming. Inoltre, la pipeline di diffusione esistente utilizza la guida senza classificatore (CFG), che richiede un calcolo aggiuntivo della U-Net. Per mitigare i calcoli ridondanti, proponiamo un nuovo algoritmo di guida senza classificatore residua (RCFG) che riduce il numero di passaggi di denoising condizionale negativi a uno o addirittura zero. Inoltre, introduciamo un filtro di similarità stocastica (SSF) per ottimizzare il consumo energetico. Il nostro Stream Batch raggiunge un'accelerazione di circa 1,5x rispetto al metodo di denoising sequenziale a diversi livelli di denoising. La RCFG proposta porta a velocità fino a 2,05x superiori rispetto alla CFG convenzionale. Combinando le strategie proposte e gli strumenti di accelerazione maturi esistenti, la generazione da immagine a immagine raggiunge fino a 91,07 fps su una RTX4090, migliorando la produttività di AutoPipeline sviluppato da Diffusers di oltre 59,56x. Inoltre, il nostro StreamDiffusion proposto riduce significativamente anche il consumo energetico di 2,39x su una RTX3060 e di 1,99x su una RTX4090, rispettivamente.
English
We introduce StreamDiffusion, a real-time diffusion pipeline designed for
interactive image generation. Existing diffusion models are adept at creating
images from text or image prompts, yet they often fall short in real-time
interaction. This limitation becomes particularly evident in scenarios
involving continuous input, such as Metaverse, live video streaming, and
broadcasting, where high throughput is imperative. To address this, we present
a novel approach that transforms the original sequential denoising into the
batching denoising process. Stream Batch eliminates the conventional
wait-and-interact approach and enables fluid and high throughput streams. To
handle the frequency disparity between data input and model throughput, we
design a novel input-output queue for parallelizing the streaming process.
Moreover, the existing diffusion pipeline uses classifier-free guidance(CFG),
which requires additional U-Net computation. To mitigate the redundant
computations, we propose a novel residual classifier-free guidance (RCFG)
algorithm that reduces the number of negative conditional denoising steps to
only one or even zero. Besides, we introduce a stochastic similarity
filter(SSF) to optimize power consumption. Our Stream Batch achieves around
1.5x speedup compared to the sequential denoising method at different denoising
levels. The proposed RCFG leads to speeds up to 2.05x higher than the
conventional CFG. Combining the proposed strategies and existing mature
acceleration tools makes the image-to-image generation achieve up-to 91.07fps
on one RTX4090, improving the throughputs of AutoPipline developed by Diffusers
over 59.56x. Furthermore, our proposed StreamDiffusion also significantly
reduces the energy consumption by 2.39x on one RTX3060 and 1.99x on one
RTX4090, respectively.