StreamDiffusion: Uma Solução em Nível de Pipeline para Geração Interativa em Tempo Real
StreamDiffusion: A Pipeline-level Solution for Real-time Interactive Generation
December 19, 2023
Autores: Akio Kodaira, Chenfeng Xu, Toshiki Hazama, Takanori Yoshimoto, Kohei Ohno, Shogo Mitsuhori, Soichi Sugano, Hanying Cho, Zhijian Liu, Kurt Keutzer
cs.AI
Resumo
Apresentamos o StreamDiffusion, um pipeline de difusão em tempo real projetado para geração interativa de imagens. Os modelos de difusão existentes são habilidosos em criar imagens a partir de prompts de texto ou imagem, mas frequentemente falham em interações em tempo real. Essa limitação torna-se particularmente evidente em cenários que envolvem entrada contínua, como Metaverso, transmissão ao vivo de vídeo e broadcasting, onde alta taxa de transferência é essencial. Para resolver isso, apresentamos uma abordagem inovadora que transforma o processo original de desnaturação sequencial em um processo de desnaturação em lote. O Stream Batch elimina a abordagem convencional de esperar e interagir, permitindo fluxos fluidos e de alta taxa de transferência. Para lidar com a disparidade de frequência entre a entrada de dados e a taxa de transferência do modelo, projetamos uma nova fila de entrada-saída para paralelizar o processo de streaming. Além disso, o pipeline de difusão existente utiliza orientação livre de classificador (CFG), que requer cálculos adicionais da U-Net. Para mitigar os cálculos redundantes, propomos um novo algoritmo de orientação residual livre de classificador (RCFG) que reduz o número de etapas de desnaturação condicional negativa para apenas uma ou até mesmo zero. Adicionalmente, introduzimos um filtro de similaridade estocástica (SSF) para otimizar o consumo de energia. Nosso Stream Batch alcança um aumento de velocidade de aproximadamente 1,5x em comparação com o método de desnaturação sequencial em diferentes níveis de desnaturação. O RCFG proposto resulta em velocidades até 2,05x maiores que o CFG convencional. Combinando as estratégias propostas e ferramentas de aceleração maduras existentes, a geração de imagem para imagem alcança até 91,07 fps em uma RTX4090, melhorando a taxa de transferência do AutoPipeline desenvolvido pelo Diffusers em mais de 59,56x. Além disso, nosso StreamDiffusion proposto também reduz significativamente o consumo de energia em 2,39x em uma RTX3060 e 1,99x em uma RTX4090, respectivamente.
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.