StreamDiffusion : Une solution au niveau du pipeline pour la génération interactive en temps réel
StreamDiffusion: A Pipeline-level Solution for Real-time Interactive Generation
December 19, 2023
Auteurs: Akio Kodaira, Chenfeng Xu, Toshiki Hazama, Takanori Yoshimoto, Kohei Ohno, Shogo Mitsuhori, Soichi Sugano, Hanying Cho, Zhijian Liu, Kurt Keutzer
cs.AI
Résumé
Nous présentons StreamDiffusion, un pipeline de diffusion en temps réel conçu pour la génération interactive d'images. Les modèles de diffusion existants sont habiles à créer des images à partir de prompts textuels ou visuels, mais ils peinent souvent à répondre aux exigences des interactions en temps réel. Cette limitation devient particulièrement évidente dans des scénarios impliquant des entrées continues, tels que le Metaverse, le streaming vidéo en direct et la diffusion, où un débit élevé est impératif. Pour résoudre ce problème, nous proposons une approche novatrice qui transforme le processus de débruîtage séquentiel original en un processus de débruîtage par lots. Stream Batch élimine l'approche traditionnelle d'attente et d'interaction, permettant ainsi des flux fluides et à haut débit. Pour gérer la disparité de fréquence entre l'entrée des données et le débit du modèle, nous concevons une nouvelle file d'attente entrée-sortie pour paralléliser le processus de streaming. De plus, le pipeline de diffusion existant utilise le guidage sans classifieur (CFG), qui nécessite des calculs supplémentaires sur le U-Net. Pour atténuer ces calculs redondants, nous proposons un nouvel algorithme de guidage résiduel sans classifieur (RCFG) qui réduit le nombre d'étapes de débruîtage conditionnel négatif à une seule, voire zéro. Par ailleurs, nous introduisons un filtre de similarité stochastique (SSF) pour optimiser la consommation d'énergie. Notre méthode Stream Batch permet une accélération d'environ 1,5x par rapport à la méthode de débruîtage séquentiel à différents niveaux de débruîtage. Le RCFG proposé permet des vitesses jusqu'à 2,05x supérieures à celles du CFG conventionnel. En combinant les stratégies proposées et les outils d'accélération matures existants, la génération d'image à image atteint jusqu'à 91,07 ips sur une RTX4090, améliorant le débit de l'AutoPipeline développé par Diffusers de plus de 59,56x. En outre, notre StreamDiffusion proposé réduit également significativement la consommation d'énergie de 2,39x sur une RTX3060 et de 1,99x sur une RTX4090, respectivement.
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.