StreamDiffusion: Een pijplijnoplossing voor real-time interactieve generatie
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
Samenvatting
We introduceren StreamDiffusion, een real-time diffusiepijplijn ontworpen voor interactieve beeldgeneratie. Bestaande diffusiemodellen zijn bedreven in het creëren van beelden vanuit tekst- of beeldprompts, maar schieten vaak tekort in real-time interactie. Deze beperking wordt vooral duidelijk in scenario's met continue invoer, zoals de Metaverse, live videostreaming en uitzendingen, waar een hoge doorvoersnelheid essentieel is. Om dit aan te pakken, presenteren we een nieuwe aanpak die het oorspronkelijke sequentiële denoisen transformeert naar een batchgewijs denoisen. Stream Batch elimineert de conventionele wacht-en-interactie aanpak en maakt vloeiende en hoogdoorvoerende streams mogelijk. Om de frequentieverschillen tussen gegevensinvoer en modeldoorvoer te hanteren, ontwerpen we een nieuwe invoer-uitvoerwachtrij voor het paralleliseren van het streamingproces. Bovendien gebruikt de bestaande diffusiepijplijn classifier-free guidance (CFG), wat extra U-Net-berekeningen vereist. Om overbodige berekeningen te verminderen, stellen we een nieuw residual classifier-free guidance (RCFG)-algoritme voor dat het aantal negatieve conditionele denoisingstappen terugbrengt tot slechts één of zelfs nul. Daarnaast introduceren we een stochastische gelijkenisfilter (SSF) om het energieverbruik te optimaliseren. Onze Stream Batch behaalt een versnelling van ongeveer 1,5x vergeleken met de sequentiële denoisingmethode op verschillende denoisingniveaus. De voorgestelde RCFG leidt tot snelheden tot 2,05x hoger dan de conventionele CFG. Door de voorgestelde strategieën te combineren met bestaande volwassen versnellingsinstrumenten, bereikt de beeld-naar-beeldgeneratie tot 91,07 fps op één RTX4090, wat de doorvoersnelheden van AutoPipline ontwikkeld door Diffusers met meer dan 59,56x verbetert. Bovendien vermindert onze voorgestelde StreamDiffusion ook aanzienlijk het energieverbruik met 2,39x op één RTX3060 en 1,99x op één RTX4090, respectievelijk.
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.