StreamDiffusion: Решение на уровне конвейера для генерации в реальном времени с интерактивностью
StreamDiffusion: A Pipeline-level Solution for Real-time Interactive Generation
December 19, 2023
Авторы: Akio Kodaira, Chenfeng Xu, Toshiki Hazama, Takanori Yoshimoto, Kohei Ohno, Shogo Mitsuhori, Soichi Sugano, Hanying Cho, Zhijian Liu, Kurt Keutzer
cs.AI
Аннотация
Мы представляем StreamDiffusion — конвейер диффузии в реальном времени, разработанный для интерактивной генерации изображений. Существующие модели диффузии хорошо справляются с созданием изображений на основе текстовых или графических подсказок, однако они часто не соответствуют требованиям реального времени. Это ограничение становится особенно заметным в сценариях, связанных с непрерывным вводом данных, таких как метавселенная, прямая трансляция видео и вещание, где высокая пропускная способность является обязательной. Для решения этой проблемы мы предлагаем новый подход, который преобразует исходный последовательный процесс удаления шума в пакетный процесс. StreamBatch устраняет традиционный подход "ожидания и взаимодействия" и обеспечивает плавный и высокопроизводительный поток данных. Для устранения разницы в частоте между вводом данных и пропускной способностью модели мы разработали новую очередь ввода-вывода для параллелизации процесса потоковой передачи. Кроме того, существующий конвейер диффузии использует классификатор-свободное управление (CFG), которое требует дополнительных вычислений U-Net. Чтобы минимизировать избыточные вычисления, мы предлагаем новый алгоритм остаточного классификатор-свободного управления (RCFG), который сокращает количество шагов отрицательного условного удаления шума до одного или даже нуля. Также мы вводим стохастический фильтр подобия (SSF) для оптимизации энергопотребления. Наш StreamBatch обеспечивает ускорение примерно в 1,5 раза по сравнению с последовательным методом удаления шума на различных уровнях. Предложенный RCFG позволяет достичь скорости до 2,05 раз выше, чем у традиционного CFG. Комбинирование предложенных стратегий с существующими зрелыми инструментами ускорения позволяет достичь генерации изображений со скоростью до 91,07 кадров в секунду на одной RTX4090, улучшая пропускную способность AutoPipeline, разработанного Diffusers, более чем в 59,56 раз. Кроме того, наш StreamDiffusion также значительно снижает энергопотребление: в 2,39 раза на одной RTX3060 и в 1,99 раза на одной 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.