GRACE: сжатие латентов ускоряет генерацию видео в 11 раз
Пять секунд видео стоят четырнадцать минут вычислений. Именно столько, 851,5 секунды, уходит у Wan2.1-14B на генерацию клипа 480×832 из 81 кадра, а в режиме image-to-video счётчик показывает 863,2 секунды. Причина в арифметике внимания: диффузионный трансформер обрабатывает латентные токены, и его стоимость растёт квадратично с их числом. Сжать латенты сильнее мешает качество реконструкции, а переобучать модель с нуля слишком дорого. Исследователи из KAIST построили GRACE, двухэтапный фреймворк, который сжимает латентное пространство уже обученного пайплайна почти в 8 раз и ускоряет генерацию видео в 11 раз, сохраняя качество Wan2.1 по метрикам VBench.
Что такое GRACE
GRACE (Generation-Aware Latent Compression for Efficient Video Generation) уменьшает число латентных токенов видеоавтоэнкодера, не ломая совместимость с уже обученным диффузионным трансформером. Авторы не собирают новый автоэнкодер с нуля, а доучивают существующий: латент раскладывается на замороженную базу и обучаемый остаток, а DiT подстраивается к сжатому представлению через LoRA. Обе стадии вместе занимают 38,5 GPU-дня на H200, что на порядок меньше полного переобучения видео-модели.
Почему видео-диффузия упирается в токены
Видео-модели вроде Wan2.1, Open-Sora и LTX-Video работают не с пикселями, а с латентами: автоэнкодер сжимает клип в пространственно-временное представление, а DiT генерирует уже в нём. Длина последовательности для трансформера задаётся конфигурацией автоэнкодера. У Wan2.1-VAE это f8t4c16p2: восьмикратное сжатие по пространству, четырёхкратное по времени, 16 каналов на токен. Для клипа 480×832×81 получается 32,8 тыс. токенов, и каждый шаг внимания пересчитывает взаимодействия между всеми парами. На разрешении 736×1280×81 последовательность вырастает до 77,3 тыс. токенов. При 50 шагах сэмплирования с classifier-free guidance это 100 прямых проходов 14-миллиардного трансформера. Отсюда 14 минут на пятисекундный ролик.
Напрашивается простое ускорение: повысить степень сжатия. Переход с f8t4 на f16t8 сокращает латентную сетку вчетверо и во столько же раз снижает нагрузку на внимание. Но у этого пути три цены. Меньше токенов, меньше информации, и реконструкция деградирует. Компенсировать потери ростом числа каналов (64, 128 и выше на токен) тоже не выход: высокоразмерные латенты замедляют сходимость DiT и ухудшают генерацию. А изменение архитектуры автоэнкодера означает обучение с нуля, то есть потерю накопленных знаний и совместимости с предобученным трансформером.
Даже аккуратный файнтюнинг не закрывает вопрос целиком. Если доучивать сжатый автоэнкодер только под реконструкцию, латент дрейфует от распределения, которое выучил DiT, и трансформеру приходится адаптироваться к сдвинутому представлению. Масштаб проблемы виден в абляции: наивная сжатая версия без дополнительных механизмов теряет на VBench-T2V почти четыре пункта относительно GRACE (82,12 против 85,81).
Двойной латент: замороженная база плюс остаток
Идея первого этапа в том, чтобы не выбрасывать то, что уже работает. Pretrained-энкодер Wan2.1 замораживается и продолжает поставлять базовый латент, только вход для него уменьшается: пространственно в два раза и по времени тоже в два. База несёт основную структуру сцены и остаётся в знакомом DiT распределении. Информацию, которую прореживание теряет, добирает второй, обучаемый энкодер: он смотрит на полноразмерный вход и выдаёт остаточный латент из 16 каналов. Декодер получает конкатенацию базы и остатка и восстанавливает видео.
Автоэнкодер обучался в два прохода: сначала на клипах 256×256×81, затем на 512×512×81, с AdamW и смешанной точностью bf16. Адаптация DiT шла уже на полном разрешении 480×832×81 с эффективным батчем 128. Всё обучение опирается на открытый датасет Panda-70M.
Второй элемент тоньше. Мало получить хорошую реконструкцию, нужно, чтобы трансформер «узнавал» сжатый латент. Поэтому авторы добавляют функцию выравнивания: сжатый латент прогоняется через первые слои замороженного DiT, и его признаки сравниваются с признаками исходного латента в тех же слоях по косинусной близости. Вес этого лосса подстраивается автоматически, по соотношению градиентов реконструкции и выравнивания, чтобы ни одна цель не подавляла другую. Проще говоря, автоэнкодер оптимизируют не только за точные пиксели, но и за то, чтобы трансформер увидел в новом латенте привычную структуру.
Реконструкция обманывает
Поучительнее всего в статье выглядит разбор того, что метрики реконструкции не предсказывают качество генерации. Смотрите на разброс. У сжатого варианта GRACE-VAE PSNR 32,63, у single-latent baseline с той же конфигурацией 33,76, то есть по пиксельной точности выигрывает бейзлайн. А по генерации всё наоборот: 87,90 против 86,44 на VBench-I2V. Ещё ярче на чужих моделях: LTX-VAE показывает худший PSNR среди всех (31,97) и при этом один из лучших результатов генерации (87,06), а Video DC-AE с PSNR 34,61 генерирует заметно хуже (84,94). Корреляции между пиксельными метриками и VBench практически нет.
Причина в том, что оптимизация под реконструкцию сдвигает латент туда, где DiT уже не ориентируется. Абляция с заменой цели выравнивания это подтверждает: без выравнивания T2V-скор 83,55, с признаками V-JEPA 2.1 83,99, а с признаками самого pretrained DiT 84,68. Выигрывает не «более общий» учитель, а именно та сеть, которой потом генерировать. Практический вывод для тех, кто выбирает автоэнкодер под новый пайплайн: сравнивать варианты по PSNR бессмысленно, смотреть нужно на качество генерации после адаптации.
Асимметричный денойзинг: база оседает первой
Второй этап адаптирует DiT к новому латенту через LoRA ранга 512: веса замораживаются, обучаются только низкоранговые добавки, плюс отдельные модуляционные веса для базы и остатка. Главная находка этапа в другом. При обычном денойзинге база и остаток шумятся и очищаются синхронно, с одинаковым уровнем шума. Авторы делают уровни разными: база всегда опережает остаток, то есть очищается раньше. Логика такая: остаток должен строиться поверх уже устоявшейся базы, а не подгоняться под неё в процессе.
Порядок денойзинга влияет заметно. Абляция: если остаток опережает базу, VBench-I2V падает до 87,17; при синхронном режиме 87,51; при правильном порядке 87,90. Разница чуть больше пункта, но достаётся она бесплатно, только за счёт расписания шума.
Результаты: 8 раз меньше токенов, 11 раз быстрее
На клипе 480×832×81 GRACE ужимает последовательность с 32,8 тыс. токенов до 4,3 тыс., то есть почти в 8 раз. Латентность генерации падает с 851,5 до 75,8 секунды в text-to-video и с 863,2 до 77,7 секунды в image-to-video: ускорение 11,2 и 11,1 раза. Качество при этом не просто держится. На VBench-T2V сжатая модель набирает 85,81 против 83,93 у непрессованного Wan2.1-14B, а на VBench-I2V практически повторяет оригинал: 87,90 против 87,92.
Отдельные измерения тоже не в пользу тезиса «сжатие всегда портит». Лучше становятся subject consistency (96,76 против 96,48), background consistency (98,70 против 98,14), temporal flickering (99,42 против 99,20), motion smoothness (99,36 против 98,71) и dynamic degree (62,50 против 56,94). Проседает только aesthetic quality (68,66 против 70,41), что ожидаемо для более агрессивного сжатия.
На 720p выигрыш растёт: 3361,3 секунды превращаются в 215,6, это 15,5 раза, а итоговые скоры VBench-T2V и VBench-I2V составляют 84,74 и 87,84 против 82,96 и 87,88 у Wan2.1. Чем выше разрешение, тем больше токенов экономит сжатие, и тем заметнее ускорение. Отрыв от конкурентов растёт так же: DC-Gen на 720p тратит 456,4 секунды против 215,6 у GRACE.
Среди сравнимых подходов ближе всего DC-Gen, та же Wan2.1-14B с автоэнкодером DC-AE-V: 8,2 тыс. токенов, 157,1 секунды и 84,62 на VBench-T2V. GRACE при почти вдвое меньшем числе токенов работает вдвое быстрее и выигрывает больше пункта. Open-Sora 2.0 и LTX-Video в этой конфигурации проигрывают и по скорости, и по качеству.
Отдельный вопрос, что скажут зрители. В слепом сравнении T2V-роликов GRACE выбрали в 49,4% случаев против 35,3% у Wan2.1 (15,4% ничья), а против DC-Gen преимущество уже 71,2% против 17,3%. В I2V картина честнее: 43,6% голосов всё ещё за оригинальный Wan2.1, 32,7% за ничью и 23,7% за GRACE. На метриках паритет, а глаз человека разницу в пользу оригинала иногда улавливает.
Что это значит
Экономика видеогенерации от таких цифр меняется не в процентах, а в сценариях. Пятисекундный клип за 76 секунд вместо 14 минут позволяет перебирать варианты и подстраивать промпт в интерактивном режиме, а не отправлять задание и уходить по делам. На 720p ускорение доходит до 15,5 раза: почти час генерации превращается в три с половиной минуты.
Методологический вывод шире конкретной архитектуры. Сжатие не обязано означать переобучение с нуля: замороженные компоненты pretrained-пайплайна переиспользуются, если сохранить их латентное пространство. Целевая функция автоэнкодера должна смотреть на генерацию, а не на реконструкцию, и выравнивание в признаках DiT оказывается эффективнее любого внешнего учителя вроде V-JEPA. Ограничение тоже честное: всё показано на паре Wan2.1-VAE и Wan2.1-14B, переносимость рецепта на другие пары «автоэнкодер + трансформер» авторы не проверяли.
Отдельная деталь для практиков: оба ключевых механизма бесплатны на инференсе. Выравнивание работает только во время обучения, а асимметричный денойзинг сводится к расписанию шума, не добавляя ни параметров, ни вычислений.
Часто задаваемые вопросы
Почему нельзя просто повысить степень сжатия автоэнкодера?
Можно, но есть три издержки: реконструкция деградирует, компенсация каналами замедляет сходимость DiT, а латент уходит от знакомого трансформеру распределения. Абляция с обучением DiT с нуля на сжатом латенте показывает катастрофу: VBench-T2V падает до 71,04 против 82,12 у адаптированного варианта. GRACE обходит издержки, сохраняя замороженную базу латента и выравнивая сжатое представление в пространстве самого DiT.
GRACE ухудшает качество видео?
По метрикам нет: на VBench-T2V сжатая модель даже выигрывает (85,81 против 83,93), на VBench-I2V идёт вровень (87,90 против 87,92). Нюанс в человеческих оценках: в слепом сравнении I2V-клипов 43,6% респондентов предпочли оригинал, а GRACE собрал 23,7% голосов. Так что «без потери качества» относится к метрикам и к text-to-video; на image-to-video разницу ощущает часть зрителей.
Сколько стоит применить GRACE?
Обучение заняло 38,5 GPU-дня на H200: 8,5 дня на автоэнкодер и 30 дней на адаптацию DiT через LoRA. Для исследовательской лаборатории это скромно, а полное переобучение видео-модели стоило бы на порядок дороже. Но метод привязан к конкретной паре автоэнкодер плюс трансформер: для другого пайплайна выравнивание и LoRA придётся обучать заново.
Итог
GRACE показывает, что узкое место видео-диффузии, квадратичное внимание к длинным латентным последовательностям, можно обойти без нового железа и без переобучения с нуля. Двойной латент, выравнивание в пространстве DiT и асимметричный денойзинг вместе дают почти 8-кратное сжатие токенов и 11-кратное ускорение с сохранением качества на уровне Wan2.1. Исследователи из KAIST доказали главное: оптимизировать сжатие нужно в том пространстве, где модель генерирует, а не там, где она восстанавливает пиксели. Если тема ускорения видео-моделей интересна, у нас есть разборы VideoMLA про сжатие KV-кэша и FVAttn про разреженное внимание. А что выберете вы: 14 минут ожидания за эталонный клип или 76 секунд за версию, которая в слепом тесте иногда даже выигрывает?