Модели и платформы ИИ

StreamDiffusion: Решение на уровне конвейера для реального времени интерактивной генерации

mm
Добавьте Unite.AI в избранные источники в Google
StreamDiffusion: A Pipeline-level Solution for Real-time Interactive Generation

Благодаря огромному потенциалу и коммерческим возможностям, особенно в играх, вещании и видеопотоке, Метавселенная в настоящее время является одной из самых быстрорастущих технологий. Современные приложения Метавселенной используют框架ы ИИ, включая компьютерное зрение и модели диффузии, для повышения их реализма. Значительной проблемой для приложений Метавселенной является интеграция различных конвейеров диффузии, обеспечивающих низкую задержку и высокий пропускной способ, гарантирующих эффективное взаимодействие между людьми и этими приложениями.

Современные框架ы диффузии на основе ИИ отлично справляются с созданием изображений из текстовых или изображенных подсказок, но не справляются с реальными взаимодействиями. Это ограничение особенно заметно в задачах, требующих непрерывного ввода и высокого пропускного способа, таких как графика видеоигр, приложения Метавселенной, вещание и прямая видеотрансляция.

В этой статье мы обсудим StreamDiffusion, конвейер диффузии в реальном времени, разработанный для генерации интерактивных и реалистичных изображений, решающий текущие ограничения框架ов диффузии в задачах, включающих непрерывный ввод. StreamDiffusion – это инновационный подход, который преобразует последовательное шумление исходного изображения в пакетное очищение, nhằm ermöglicht высокий пропускной способ и жидкие потоки. Этот подход отклоняется от традиционного метода “жди и взаимодействуй”, используемого существующими框架ами диффузии. В следующих разделах мы подробно рассмотрим框架 StreamDiffusion, его работу, архитектуру и сравнительные результаты с текущими передовыми框架ами. Давайте начнем.

StreamDiffusion: Введение в генерацию в реальном времени

Приложения Метавселенной – это ресурсоемкие приложения, поскольку они обрабатывают大量 данных, включая тексты, анимации, видео и изображения в реальном времени, чтобы обеспечить пользователям интерактивные интерфейсы и опыт. Современные приложения Метавселенной полагаются на框架ы ИИ, включая компьютерное зрение, обработку изображений и модели диффузии, для достижения низкой задержки и высокого пропускного способа, чтобы обеспечить бесшовный пользовательский опыт. В настоящее время большинство приложений Метавселенной полагаются на снижение частоты итераций очищения, чтобы обеспечить высокий пропускной способ и повысить интерактивные возможности в реальном времени. Эти框架ы используют общую стратегию, которая либо включает в себя переформулирование процесса диффузии с помощью нейронных ОДУ (обыкновенных дифференциальных уравнений), либо снижение многоступенчатых моделей диффузии до нескольких шагов или даже одного шага. Хотя этот подход дает удовлетворительные результаты, он имеет определенные ограничения, включая ограниченную гибкость и высокие вычислительные затраты.

С другой стороны, StreamDiffusion – это решение на уровне конвейера, которое начинается с ортогонального направления и повышает возможности框架а для генерации интерактивных изображений в реальном времени, обеспечивая при этом высокий пропускной способ. StreamDiffusion использует простую стратегию, при которой вместо очищения исходного входного сигнала框架 группирует шаги очищения. Эта стратегия черпает вдохновение из асинхронной обработки, поскольку框架 не должен ждать завершения первого этапа очищения, прежде чем перейти ко второму этапу, как показано на следующем изображении. Чтобы решить проблему частоты обработки U-Net и частоты входных данных,框架 StreamDiffusion реализует стратегию очереди для кэширования входных и выходных данных.

Хотя конвейер StreamDiffusion черпает вдохновение из асинхронной обработки, он уникален, поскольку реализует параллелизм GPU, который позволяет框架у использовать один компонент U-Net для очищения группированного шумового潜在ного признака. Кроме того, существующие конвейеры диффузии подчеркивают данный подсказку в сгенерированных изображениях, включая руководство классификатора, в результате чего текущие конвейеры имеют избыточные и чрезмерные вычислительные нагрузки. Чтобы конвейер StreamDiffusion не столкнулся с этими же проблемами, он реализует инновационный подход RCFG (Residual Classifier-Free Guidance), который использует виртуальный остаточный шум для приближения отрицательных условий, тем самым позволяя框架у рассчитать отрицательные условия шума на начальном этапе процесса. Кроме того, конвейер StreamDiffusion снижает вычислительные требования традиционного конвейера диффузии, реализуя фильтр стохастического сходства, который определяет, следует ли конвейеру обрабатывать входные изображения, вычисляя сходство между непрерывными входными данными.

Фреймворк StreamDiffusion построен на основе моделей диффузии и ускоренных моделей диффузии.

Модели диффузии известны своими исключительными возможностями генерации изображений и контроля, который они предлагают. Благодаря своим возможностям, модели диффузии нашли применение в редактировании изображений, генерации изображений из текста и генерации видео. Кроме того, разработка последовательных моделей продемонстрировала потенциал для повышения эффективности обработки образцов без компрометации качества сгенерированных изображений, что открыло новые возможности для расширения применимости и эффективности моделей диффузии путем снижения количества шагов выборки. Хотя модели диффузии чрезвычайно способны, они имеют одно значительное ограничение: медленную генерацию изображений. Чтобы решить эту проблему, разработчики ввели ускоренные модели диффузии, которые не требуют дополнительных шагов обучения или реализуют предиктор-корректорные стратегии и адаптивные решатели шага, чтобы повысить скорость вывода.

Отличительной особенностью StreamDiffusion от традиционных конвейеров диффузии является то, что в то время как последние фокусируются в основном на низкой задержке отдельных моделей, StreamDiffusion представляет собой подход на уровне конвейера, предназначенный для достижения высокого пропускного способа, обеспечивающего эффективную интерактивную диффузию.

StreamDiffusion: Работа и архитектура

Конвейер StreamDiffusion – это конвейер диффузии в реальном времени, разработанный для генерации интерактивных и реалистичных изображений, и он включает 6 ключевых компонентов: RCFG (Residual Classifier Free Guidance), стратегию Stream Batch, фильтр стохастического сходства, очередь входных и выходных данных, инструменты ускорения модели с автоэнкодером и процедуру предварительных вычислений. Давайте подробно рассмотрим эти компоненты.

Стратегия Stream Batch

Традиционно шаги очищения в модели диффузии выполняются последовательно, что приводит к значительному увеличению времени обработки U-Net в зависимости от количества шагов обработки. Однако для генерации изображений высокого качества необходимо увеличить количество шагов обработки, и фреймворк StreamDiffusion вводит стратегию Stream Batch, чтобы преодолеть высокую задержку в интерактивных框架ах диффузии.

В стратегии Stream Batch последовательные операции очищения перестраиваются в пакетные процессы, причем каждый пакет соответствует определённому количеству шагов очищения, и количество этих шагов очищения определяется размером каждого пакета. Благодаря этому подходу каждый элемент в пакете может продвинуться на один шаг вперед, используя один проход U-Net в последовательности очищения. Реализуя стратегию Stream Batch итеративно, входные изображения, закодированные на момент времени “t”, могут быть преобразованы в свои соответствующие изображения-изображения на момент времени “t+n”, тем самым оптимизируя процесс очищения.

Residual Classifier Free Guidance

CFG (Classifier Free Guidance) – это алгоритм ИИ, который выполняет ряд векторных вычислений между исходным условным термином и отрицательным условным термином, чтобы повысить эффект исходного условия. Алгоритм усиливает эффект подсказки, хотя для расчета отрицательного условия шума необходимо сопоставить отдельные входные潜在ные переменные с отрицательным условным вложением, а затем передать вложения через U-Net на этапе справки.

Чтобы решить эту проблему, поставленную алгоритмом Classifier Free Guidance, фреймворк StreamDiffusion вводит алгоритм Residual Classifier Free Guidance с целью снижения вычислительных затрат на дополнительное вмешательство U-Net для отрицательного условного вложения. Сначала закодированный входной潜在ный вход передается в распределение шума, используя значения, определенные планировщиком шума. Как только модель последовательного潜在ного признака реализована, алгоритм может предсказать распределение данных и использовать остаточный шум CFG для генерации следующего распределения шума.

Очередь входных и выходных данных

Основной проблемой высокоскоростных конвейеров генерации изображений являются их модули нейронной сети, включая компоненты U-Net и VAE. Чтобы максимизировать эффективность и общую скорость вывода, конвейеры генерации изображений перемещают процессы, такие как предварительная и постобработка изображений, которые не требуют дополнительной обработки модулями нейронной сети, вне конвейера, после чего они обрабатываются параллельно. Кроме того, при обработке входного изображения определенные операции, включая преобразование формата тензора, изменение размера входных изображений и нормализацию, выполняются конвейером тщательно.

Чтобы решить несоответствие частот обработки между пропускной способностью модели и входными данными человека, конвейер включает систему очереди входных и выходных данных, которая позволяет эффективно параллелизировать, как показано на следующем изображении.

Обработанные входные тензоры методично очередь для моделей диффузии, и во время каждого кадра модель извлекает наиболее недавний тензор из входной очереди и передает тензор в кодировщик VAE, тем самым запуская процесс генерации изображений. В то же время выходной тензор из декодировщика VAE передается в выходную очередь. Наконец, обработанные данные изображений передаются клиенту рендеринга.

Фильтр стохастического сходства

В сценариях, когда изображения либо остаются неизменными, либо демонстрируют минимальные изменения без статической среды или без активного взаимодействия пользователя, входные изображения, похожие друг на друга, повторно вводятся в компоненты U-Net и VAE. Повторный ввод приводит к генерации почти идентичных изображений и дополнительному потреблению ресурсов GPU. Кроме того, в сценариях, включающих непрерывный ввод, неизмененные входные изображения могут появиться время от времени. Чтобы преодолеть эту проблему и предотвратить ненужное использование ресурсов, конвейер StreamDiffusion использует компонент фильтра стохастического сходства в своем конвейере. Фильтр стохастического сходства сначала вычисляет косинусное сходство между изображением-справкой и входным изображением, а затем использует балл косинусного сходства для расчета вероятности пропуска последующих процессов U-Net и VAE.

На основе балла вероятности конвейер решает, следует ли пропустить эти процессы или нет. Если эти процессы не пропускаются, конвейер сохраняет входное изображение в это время и одновременно обновляет изображение-справку, которое будет использоваться в будущем. Этот вероятностный механизм пропуска позволяет конвейеру StreamDiffusion работать полностью в динамических сценариях с низкой межкадровой сходством, тогда как в статических сценариях конвейер работает с более высокой межкадровой сходством. Этот подход помогает сохранить вычислительные ресурсы и обеспечивает оптимальное использование GPU на основе сходства входных изображений.

Предварительные вычисления

Архитектура U-Net требует как условных вложений, так и входных潜在ных переменных. Традиционно условные вложения получаются из вложений подсказки, которые остаются постоянными на протяжении кадров. Чтобы оптимизировать получение из вложений подсказки, конвейер StreamDiffusion предварительно вычисляет эти вложения подсказки и хранит их в кэше, который затем вызывается в потоковом или интерактивном режиме. В рамках фреймворка U-Net пара ключ-значение вычисляется на основе предварительно вычисленного вложения подсказки для каждого кадра, и с небольшими модификациями в U-Net эти пары ключ-значение могут быть повторно использованы.

Ускорение модели и Tiny AutoEncoder

Конвейер StreamDiffusion использует TensorRT, инструмент оптимизации от Nvidia (NVDA ) для интерфейсов глубокого обучения, для создания двигателей VAE и U-Net, чтобы ускорить скорость вывода. Для этого компонент TensorRT выполняет ряд оптимизаций нейронных сетей, предназначенных для повышения эффективности и пропускной способности для фреймворков и приложений глубокого обучения.

Чтобы оптимизировать скорость, фреймворк StreamDiffusion настраивает фреймворк для использования фиксированных размеров входных данных и статических размеров пакетов, чтобы обеспечить оптимальное выделение памяти и вычислительные графы для определенного размера входных данных, чтобы достичь более быстрой обработки.

Вышеуказанная фигура дает обзор конвейера вывода. Основной конвейер диффузии включает компоненты U-Net и VAE. Конвейер включает пакет очищения, кэш образца шума, кэш предварительно вычисленных вложений подсказки и кэш значений планировщика, чтобы повысить скорость и способность конвейера генерировать изображения в реальном времени. Фильтр стохастического сходства или SSF развертывается для оптимизации использования GPU и также для динамического шлюза прохода модели диффузии.

StreamDiffusion: Эксперименты и результаты

Чтобы оценить свои возможности, конвейер StreamDiffusion реализован на фреймворках LCM и SD-turbo. TensorRT от Nvidia используется в качестве ускорителя модели, а для обеспечения легкой эффективности VAE конвейер использует компонент TAESD. Давайте теперь посмотрим, как конвейер StreamDiffusion работает по сравнению с текущими передовыми фреймворками.

Количественная оценка

Следующая фигура демонстрирует сравнение эффективности между исходным последовательным U-Net и компонентом пакета очищения в конвейере, и как можно видеть, реализация подхода пакета очищения помогает снизить время обработки значительно, почти на 50%, по сравнению с традиционными циклами U-Net на последовательных шагах очищения.

Кроме того, среднее время вывода на разных шагах очищения также демонстрирует значительный прирост с различными факторами ускорения по сравнению с текущими передовыми конвейерами, и результаты демонстрируются на следующем изображении.

Двигаясь дальше, конвейер StreamDiffusion с компонентом RCFG демонстрирует меньшее время вывода по сравнению с конвейерами, включающими традиционный компонент CFG.

Кроме того, влияние использования компонента RCFG очевидно на следующих изображениях по сравнению с использованием компонента CFG.

Как можно видеть, использование CFG усиливает влияние текстовой подсказки на генерацию изображений, и изображение больше похоже на входную подсказку по сравнению с изображениями, сгенерированными конвейером без использования компонента CFG. Результаты улучшаются еще больше с использованием компонента RCFG, поскольку влияние подсказки на сгенерированные изображения значительно по сравнению с исходным компонентом CFG.

Окончательные мысли

В этой статье мы обсудили StreamDiffusion, конвейер диффузии в реальном времени, разработанный для генерации интерактивных и реалистичных изображений, решающий текущие ограничения фреймворков диффузии в задачах, включающих непрерывный ввод. StreamDiffusion – это простой и новый подход, который стремится преобразовать последовательное шумление исходного изображения в пакетное очищение. StreamDiffusion направлен на обеспечение высокого пропускного способа и жидких потоков путем исключения традиционного подхода “жди и взаимодействуй”, используемого текущими фреймворками диффузии. Потенциальные выгоды от эффективности подчеркивают потенциал конвейера StreamDiffusion для коммерческих приложений, предлагающих высокопроизводительные вычисления и привлекательные решения для генеративного ИИ.

"Инженер по профессии, писатель по сердцу". Кунал - технический писатель с глубокой любовью и пониманием ИИ и МО, посвященный упрощению сложных концепций в этих областях посредством своей увлекательной и информативной документации.