StreamDiffusion: Eine Pipeline-basierte Lösung für die Echtzeit-Interaktive Generierung
StreamDiffusion: A Pipeline-level Solution for Real-time Interactive Generation
December 19, 2023
Autoren: Akio Kodaira, Chenfeng Xu, Toshiki Hazama, Takanori Yoshimoto, Kohei Ohno, Shogo Mitsuhori, Soichi Sugano, Hanying Cho, Zhijian Liu, Kurt Keutzer
cs.AI
Zusammenfassung
Wir stellen StreamDiffusion vor, eine Echtzeit-Diffusionspipeline, die für die interaktive Bildgenerierung entwickelt wurde. Bestehende Diffusionsmodelle sind zwar geschickt darin, Bilder aus Text- oder Bildvorgaben zu erzeugen, doch sie scheitern oft an der Echtzeitinteraktion. Diese Einschränkung wird besonders in Szenarien mit kontinuierlichem Input deutlich, wie etwa im Metaverse, bei Live-Videostreaming und -Übertragungen, wo ein hoher Durchsatz unerlässlich ist. Um dies zu beheben, präsentieren wir einen neuartigen Ansatz, der den ursprünglichen sequenziellen Entrauschungsprozess in einen Batch-Entrauschungsprozess umwandelt. Stream Batch eliminiert den konventionellen Warte-und-Interagiere-Ansatz und ermöglicht flüssige und hochdurchsatzfähige Streams. Um die Frequenzdiskrepanz zwischen Dateneingabe und Modell-Durchsatz zu bewältigen, entwerfen wir eine neuartige Eingabe-Ausgabe-Warteschlange zur Parallelisierung des Streaming-Prozesses. Darüber hinaus verwendet die bestehende Diffusionspipeline eine klassifikatorfreie Führung (CFG), die zusätzliche U-Net-Berechnungen erfordert. Um redundante Berechnungen zu reduzieren, schlagen wir einen neuartigen Algorithmus für residuale klassifikatorfreie Führung (RCFG) vor, der die Anzahl der negativen bedingten Entrauschungsschritte auf nur einen oder sogar null reduziert. Zusätzlich führen wir einen stochastischen Ähnlichkeitsfilter (SSF) ein, um den Energieverbrauch zu optimieren. Unser Stream Batch erreicht im Vergleich zur sequenziellen Entrauschungsmethode eine Beschleunigung von etwa 1,5x auf verschiedenen Entrauschungsstufen. Der vorgeschlagene RCFG führt zu Geschwindigkeiten, die bis zu 2,05x höher sind als die konventionelle CFG. Durch die Kombination der vorgeschlagenen Strategien und bestehender ausgereifter Beschleunigungswerkzeuge erreicht die Bild-zu-Bild-Generierung bis zu 91,07 fps auf einer RTX4090, was den Durchsatz der von Diffusers entwickelten AutoPipeline um mehr als 59,56x verbessert. Darüber hinaus reduziert unser vorgeschlagenes StreamDiffusion den Energieverbrauch erheblich, und zwar um das 2,39-fache auf einer RTX3060 und das 1,99-fache auf einer RTX4090.
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.