C
ChaoBro

NVIDIA AnyFlow: Эксперимент с «произвольным количеством шагов» в видео-диффузионных моделях — сможет ли On-Policy дистилляция положить конец тревогам по поводу количества шагов инференса

Пользователи моделей генерации видео наверняка сталкивались с такой ситуацией: когда нужен быстрый превью, модель требует 50 шагов, и ожидание раздражает; а когда нужно высокое качество, результат после 50 шагов может едва ли отличаться от результата после 25 шагов.

Статья NVIDIA о AnyFlow, опубликованная 13 мая (получившая 81 голос в тренде Hugging Face Papers), предлагает решение этой проблемы. Идея лежит на поверхности: пусть модель сама научится работать при разном количестве шагов, вместо того чтобы, как сейчас, обучать отдельную дистиллированную версию под каждый вариант шагов.

Проблема с количеством шагов инференса

Современные видео-диффузионные модели сталкиваются со структурной проблемой:

Количество шагов инференса при обучении фиксируется. Если вы обучили модель на 50 шагах, то оптимальным выбором при выводе также будет 50 шагов. Хотите ускорить процесс? Можно использовать методы дистилляции согласованности (Consistency Distillation) или LCM, чтобы сократить число шагов до 4–8. Но ценой этого станет снижение качества, а также необходимость отдельного обучения дистиллированной версии.

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

Амбиция AnyFlow заключается в следующем: одна модель, покрывающая весь диапазон шагов.

On-Policy Flow Map Distillation

Ключевой метод статьи называется On-Policy Flow Map Distillation. Чтобы понять его, необходимо разобрать три концепции:

Flow Map (карта потока): В диффузионных моделях, основанных на потоках, процесс генерации от шума к данным моделируется как непрерывный поток. Flow Map описывает функцию преобразования этого потока.

On-Policy (онлайн-политика): В процессе дистилляции модель использует собственные выходные данные в качестве сигнала для обучения, а не полагается на фиксированную teacher-модель. Это означает, что во время обучения модель постоянно калибрует себя, используя «результаты своей текущей версии».

Обучение на произвольном количестве шагов: Ключевой прием — случайная выборка количества шагов инференса k во время обучения, после чего модель учится завершать генерацию ровно за k шагов, независимо от его значения. Это позволяет модели принимать любое количество шагов в качестве входного параметра на этапе инференса.

В результате модель усваивает непрерывный спектр зависимости «количество шагов — качество», вместо того чтобы стремиться к оптимуму лишь на фиксированном количестве шагов. Один шаг дает приблизительный результат, 10 шагов заметно улучшают качество, а 25 шагов приближают результат к оптимальному — и всё это реализуется в рамках одной модели.

Реакция сообщества HF Papers

Статья об AnyFlow получила 81 голос в тренде Hugging Face Papers, а сопутствующий репозиторий на GitHub уже набрал 202 звезды. Учитывая, что статья вышла менее двух дней назад, такой уровень внимания говорит о том, что сообщество интересуется направлением «произвольного количества шагов».

Авторы статьи работают в исследовательской команде NVIDIA. Учитывая инвестиции NVIDIA в сферу генерации видео (проекты Cosmos, Video LDM и др.), AnyFlow, скорее всего, является не просто академическим исследованием, а технологическим заделом для будущих продуктов компании.

Сравнение с существующими подходами

В сфере «сокращения количества шагов инференса» уже выделяются несколько основных направлений:

Метод Основная идея Ограничения
Consistency Models Обучение модели таким образом, чтобы её выводы оставались согласованными на разных временных шагах Нестабильность обучения, заметная потеря качества
LCM Latent Consistency Models, дистилляция для сокращения количества шагов Требует отдельного обучения для каждого количества шагов
Progressive Distillation Пошаговая дистилляция, сокращение количества шагов вдвое на каждом этапе Всё ещё опирается на несколько дискретных значений шагов
AnyFlow Случайная выборка количества шагов при обучении, On-Policy дистилляция Новый метод, требующий дополнительной проверки

Уникальность AnyFlow заключается в том, что она стремится не к «минимальному количеству шагов», а к «произвольному количеству шагов». Это иная философия проектирования: модель не предполагает, что пользователю нужен лишь один фиксированный вариант, а признает, что разные сценарии требуют разного числа шагов, и позволяет одной модели адаптироваться под все из них.

Моё мнение

Это направление обладает практической ценностью, однако к нему стоит подходить взвешенно.

На что стоит обратить внимание:

  • Упрощение развертывания вполне осязаемо — одна модель заменяет несколько версий
  • Подход с On-Policy дистилляцией гибче, чем использование фиксированной teacher-модели, поскольку «учитель» сам постоянно развивается
  • Если NVIDIA интегрирует эту технологию в свою линейку продуктов для генерации видео (например, Cosmos), её влияние значительно возрастет

Что требует проверки:

  • Как поведет себя заявленная авторами кривая «качество от произвольного количества шагов» на реальных видеоданных? Генерация изображений и видео принципиально различаются — видео требует временной согласованности
  • GitHub-репозиторий с 202 звездами находится на очень ранней стадии, и его воспроизводимость еще предстоит проверить сообществу
  • Вопрос стабильности On-Policy дистилляции уже обсуждался в литературе: не начнет ли модель постепенно деградировать в процессе самообучения?

Следующий этап конкуренции в генерации видео будет заключаться не только в том, «кто создаст более реалистичное видео», но и в том, «кто сможет генерировать пригодное для использования видео с разумными затратами». AnyFlow делает ценную попытку в этом направлении, однако до применения на уровне продакшена потребуется как минимум этап воспроизведения результатов сообществом и нагрузочное тестирование.


Основные источники: