Ай Дайджест

Свежая выжимка ml и AI статей - каждый день

Адаптивное кэширование для ускорения генерации видео с помощью Diffusion Transformers

В последние годы диффузионные модели (DM) стали стандартом для генеративного моделирования, превзойдя по качеству такие подходы, как вариационные автокодировщики (VAEs), генеративно-состязательные сети (GANs) и автокодировщики с маскированием (Auto-Regressive Models). Эти модели нашли широкое применение в различных задачах, включая генерацию изображений, видео, 3D-моделей и аудио, а также в редактировании изображений и видео. Однако, несмотря на их выдающиеся результаты, диффузионные модели, особенно те, которые основаны на трансформерах (DiTs), требуют значительных вычислительных ресурсов, что становится особенно актуальным при генерации видео высокого разрешения и длинной продолжительности.

В этой статье мы рассмотрим метод адаптивного кэширования (AdaCache), предложенный в исследовании Kumara Kahatapitiya и его коллегами, который позволяет ускорить генерацию видео с использованием DiTs без необходимости дополнительного обучения модели. Этот подход основан на идее, что не все видео одинаково сложны для генерации, и некоторые могут достигать приемлемого качества с меньшим количеством шагов денойзинга, чем другие.

Основные понятия и мотивация

Не все видео одинаковы

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

Адаптивное кэширование (AdaCache)

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

Механизм работы

  • Кэширование резидуальных вычислений: Внутри каждого блока трансформера, AdaCache кэширует резидуальные вычисления (например, результаты внимания или MLP), которые затем могут быть повторно использованы в течение нескольких шагов денойзинга.

  • Расчет метрики расстояния: Для каждого шага денойзинга вычисляется метрика расстояния между текущим и предыдущим представлением. Если расстояние велико, это указывает на необходимость пересчета, а не использования кэшированных данных.

  • Кодекс кэширования: На основе метрики расстояния выбирается "скорость кэширования" (количество шагов, в течение которых кэшированное представление будет использоваться). Этот выбор делается из предопределенного набора базовых скоростей кэширования.

Регуляризация движения (MoReg)

Для дальнейшего улучшения AdaCache, вводится регуляризация движения (Motion Regularization, MoReg). Эта техника учитывает содержание движения в генерируемом видео, чтобы адаптировать расписание кэширования. Видео с высоким уровнем движения требуют больше шагов денойзинга для достижения приемлемого качества, поэтому MoReg увеличивает частоту пересчета для таких видео.

Реализация MoReg

  • Оценка движения: Оценка движения производится на основе разницы между кадрами в латентном пространстве. Однако, поскольку ранние шаги денойзинга могут быть ненадежными из-за шума, также используется градиент движения, который служит ранним предиктором для движения в последующих шагах.

  • Применение регуляризации: Метрика расстояния, используемая для определения скорости кэширования, масштабируется с учетом оценки движения и градиента движения. Это позволяет более точно адаптировать расписание кэширования к содержанию видео.

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

Исследование показало, что AdaCache может значительно ускорить процесс генерации видео без ухудшения качества. На различных базовых моделях, таких как Open-Sora, Open-Sora-Plan и Latte, AdaCache обеспечивает ускорение до 4.7 раза при сохранении или даже улучшении качества видео по сравнению с базовыми моделями.

Основные результаты

  • Скорость и качество: AdaCache-fast предоставляет наилучшее ускорение, в то время как AdaCache-slow обеспечивает наилучшее качество при меньшем ускорении. Вариант с MoReg улучшает качество, сохраняя высокое ускорение.

  • Ускорение в многопроцессорных конфигурациях: AdaCache также показывает значительное улучшение производительности в конфигурациях с несколькими GPU, что делает его полезным для масштабирования.

  • Адаптация к различным разрешениям: Метод эффективно работает на различных разрешениях видео, обеспечивая стабильное ускорение.

Качественные результаты

Визуальные сравнения показали, что AdaCache генерирует видео, которые по качеству сопоставимы с базовыми моделями, но значительно быстрее. MoReg помогает избежать артефактов и несоответствий, которые могут возникать при высокой скорости кэширования.

Заключение

AdaCache представляет собой инновационный подход к ускорению генерации видео с использованием диффузионных трансформеров. Благодаря адаптивному кэшированию и регуляризации движения, этот метод позволяет значительно сократить время генерации, сохраняя при этом высокое качество видео. Это делает его привлекательным решением для демократизации генерации высококачественных видео, открывая новые возможности для исследований и коммерческого использования в области генеративного AI.