Self-Forcing Генерация видео в реальном времени без компромиссов

12 Sep, 2025

Репозиторий давно не обновлялся

Последнее обновление было 10 месяцев назад.

3,446
🔱 276
👥 22

Представьте, что вы обучаете нейросеть генерировать видео, но при реальном использовании качество оказывается хуже, чем во время тестов. Знакомая проблема? Команда из Adobe Research и UT Austin предлагает элегантное решение — Self-Forcing, метод, который устраняет этот разрыв и открывает новые возможности для генерации видео.

Что делает Self-Forcing особенным?

Self-Forcing — это метод обучения авторегрессионных диффузионных моделей, который:

  • Симулирует процесс вывода во время обучения с использованием KV-кэширования
  • Позволяет генерировать видео в реальном времени на одном RTX 4090
  • Сохраняет качество на уровне state-of-the-art моделей
  • Поддерживает потоковую генерацию длинных видео

Кстати, самое удивительное — для обучения (кроме GAN-версии) даже не нужны видео данные! Метод работает с ODE-инициализированными чекпоинтами.

Кому это будет полезно?

  • Разработчикам генеративных моделей
  • Создателям видеоконтента
  • Исследователям в области компьютерного зрения
  • Всем, кто работает с диффузионными моделями

Как это работает под капотом?

Технически Self-Forcing решает проблему mismatch между обучением и тестированием через:

  1. Авторегрессионное развертывание с кэшированием ключей и значений (KV caching)
  2. Чанковую обработку видео
  3. Оптимизированные алгоритмы вывода

Модель основана на CausVid и Wan2.1, но с ключевыми улучшениями в процессе обучения.

Реклама

Практическое применение

Быстрый старт

  1. Устанавливаем зависимости:
conda create -n self_forcing python=3.10 -y
conda activate self_forcing
pip install -r requirements.txt
pip install flash-attn --no-build-isolation
python setup.py develop
  1. Загружаем модели:
huggingface-cli download Wan-AI/Wan2.1-T2V-1.3B --local-dir-use-symlinks False --local-dir wan_models/Wan2.1-T2V-1.3B
huggingface-cli download gdhe17/Self-Forcing checkpoints/self_forcing_dmd.pt --local-dir .
  1. Запускаем GUI:
python demo.py

Совет от авторов: модель лучше работает с подробными промптами — можно предварительно расширять их через GPT-4o.

Производительность

На 64 H100 обучение занимает менее 2 часов. На 8 H100 с градиентным аккумулированием — около 16 часов. Для ускорения вывода можно использовать:

  • torch.compile (рекомендуется)
  • TAEHV-VAE (чуть хуже качество, но быстрее)
  • FP8 Linear layers

Вывод: стоит ли пробовать?

Definitely! Self-Forcing — это:

✅ Решение реальной проблемы mismatch в генеративных моделях ✅ Качественная генерация видео на потребительском железе ✅ Открытый код и предобученные модели

Особенно рекомендую попробовать, если вы:

  • Работаете с видео генерацией
  • Ищете способы ускорить вывод диффузионных моделей
  • Хотите экспериментировать с авторегрессионными подходами

Проект активно развивается — самое время подключиться и, возможно, внести свой вклад!

P.S. Не забудьте процитировать авторов, если используете их наработки:

@article{huang2025selfforcing,
  title={Self Forcing: Bridging the Train-Test Gap in Autoregressive Video Diffusion},
  author={Huang, Xun and Li, Zhengqi and He, Guande and Zhou, Mingyuan and Shechtman, Eli},
  journal={arXiv preprint arXiv:2506.08009},
  year={2025}
}

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.