Генеративный AI
Video Generation: Sora и аналоги
15 февраля 2024 года Twitter заполнился реакциями: OpenAI показала видео, где японская женщина идёт по неоновой улице Токио. Один минутный клип. Тени двигаются правильно, отражения в лужах согласованы, текстура куртки сохраняется при повороте головы. Эксперты заговорили о «GPT-моменте для видео». Год спустя Google ответил Veo 3, Runway - Gen-3, Pika и Luma выпустили свои аналоги. Видео-генерация стала возможна не благодаря большей модели, а благодаря spacetime patches - идее обрабатывать видео целостно, а не покадрово.
- **OpenAI Sora (2024)** - первая модель, генерирующая минуту 1080p видео с реалистичной физикой; внутри Diffusion Transformer на spacetime patches
- **Runway Gen-3 / Pika 2.0** - production-видео в маркетинге; реклама полностью генерируется AI без съёмочной группы
- **Google Veo 3 (2025)** - 2-минутные клипы с управлением камерой и стилем, интеграция в YouTube Studio для creators
Путь к Sora
Генерация видео долго отставала от изображений из-за необходимости согласованности во времени. В 2022 году Meta представила Make-A-Video, а Google - Imagen Video, показав первые text-to-video результаты на основе диффузии. В 2023 году Runway выпустила Gen-2, сделав короткую генерацию видео доступной широкой аудитории. Кульминацией стал февраль 2024 года, когда OpenAI анонсировала Sora - модель, генерирующую минуту согласованного 1080p видео с реалистичной физикой через Diffusion Transformer над spacetime-патчами. Это событие назвали "GPT-моментом для видео", и в течение года Google (Veo), Runway (Gen-3), Pika и Luma выпустили свои аналоги.
Предварительные знания
- Теория диффузии и Diffusion Transformer
- Stable Diffusion: латентная диффузия и кондиционирование
- Attention и патчи (ViT) на уровне идеи
Видео-диффузия: 3D U-Net и spacetime patches
Февраль 2024: OpenAI публикует ролики Sora - минута видео с реалистичной физикой, тенями и движением камеры. До этого предел качества ограничивался четырьмя секундами 720p. Что изменилось? Sora перестала рассматривать видео как «последовательность независимых картинок» и стала обрабатывать spacetime patches - кубики из пикселей по двум пространственным и одной временной оси, размером 4x16x16. Модель видит видео целостно, а не покадрово.
Архитектура: Diffusion Transformer (DiT), но патчи трёхмерные. На входе - тензор размера [T, H, W, C], разрезанный на кубики, каждый превращается в токен. Self-attention работает по всем токенам сразу - и пространственным, и временным. Учится через обычный диффузионный процесс: добавляем шум к латентам, учим предсказывать его. Объём данных: миллионы часов видео. Объём вычислений: тысячи GPU-дней.
Чем spacetime patches отличаются от покадровой обработки видео?
Темпоральная согласованность
Старые text-to-video модели (CogVideo, Make-A-Video 2022) генерировали 4 секунды, но мяч между кадрами случайно менял цвет, лицо человека плавно превращалось в другое лицо. Это называется **temporal flickering** - отсутствие согласованности во времени. Сегодняшние Sora, Veo, Gen-3 решили эту проблему тремя приёмами: 3D-attention (модель видит все кадры одновременно), длинное контекстное окно (десятки секунд видео сразу), и специальные данные с аннотациями физики.
Метрики оценки: FVD (Frechet Video Distance) - аналог FID для видео; измеряет дистрибуционное сходство сгенерированных и реальных клипов. CLIPSIM - семантическое соответствие промпту, усреднённое по кадрам. Subject Consistency - совпадение DINO-эмбеддингов одного объекта между кадрами. Чем стабильнее эмбеддинг, тем меньше flickering.
Почему 3D-attention решает проблему flickering лучше, чем покадровая генерация с условием на предыдущий кадр?
Длинные видео и иерархическая генерация
Sora показала минуту видео. Чтобы получить десять минут, наивно увеличить длину окна - нельзя: attention квадратичен, 10x время = 100x compute. Решение - **иерархическая генерация**: сначала генерируется низкоразрешённый «storyboard» (10 keyframes за минуту), потом каждый keyframe интерполируется в полное видео между двумя соседними. Так Veo 3 и Sora-2 строят клипы до 5 минут с устойчивым сюжетом.
Сюжет vs физика. Кратковременная согласованность (1-4 сек) решается локальным 3D-attention. Долговременная (1-5 мин, типа «герой шёл налево, потом направо, потом снова налево») требует явного storyboard + memory tokens. Современные модели тренируются на парах (long_video, storyboard_keyframes), что заставляет их сначала «продумывать» структуру, а потом синтезировать промежуточные кадры.
Почему наивный подход «увеличить контекстное окно для длинных видео» проваливается?
Редактирование: inpainting, outpainting и контроль камеры
Sora и Runway Gen-3 поддерживают не только генерацию с нуля, но и редактирование: video-to-video editing (замени куртку героя на красную во всех кадрах), outpainting (расширь кадр снизу и сверху), motion brush (задай направление движения объекта). Технически это - inpainting в пространстве-времени: маскируем регион, который надо изменить, генерируем диффузией только эту маску, оставляя остальное нетронутым.
Управление камерой через ControlNet-аналоги: на входе - реальная видео-запись с движением камеры (поворот, наезд), модель применяет это движение к сгенерированной сцене. Это часть пайплайна VFX в кино - можно прислать референс «как двигается камера в Бонд-фильме» и применить тот же тип движения к синтетическому миру.
Видео-диффузия - это просто image-diffusion, применённая к каждому кадру независимо
Видео-диффузия требует совместного моделирования пространства и времени - 3D-attention, spacetime patches, иерархия для длинных клипов. Покадровый подход даёт flickering и неприемлемое качество
Покадровая обработка теряет временные связи: объект может изменить цвет, форму, положение между кадрами. Spacetime-моделирование - принципиальное отличие современной видео-генерации от наивных подходов 2022 года
Почему video inpainting сложнее, чем inpainting картинки?
Ключевые идеи
- **Spacetime patches** - кубики 4x16x16 из видео-тензора, объединяющие пиксели по времени и пространству; основа Sora-архитектуры
- **3D-attention** - модель видит весь временной контекст одновременно, что устраняет flickering и обеспечивает согласованность
- **Иерархическая генерация** - storyboard keyframes + интерполяция между ними; обходит квадратичный рост attention для длинных видео
- **Inpainting/outpainting в spacetime** - позволяет редактировать видео без потери временной согласованности; основа production VFX-пайплайнов
Связанные темы
Возврат к мотивации: видео-генерация - не отдельное явление, а развитие идей из image-диффузии. Связь с предыдущими уроками:
- Music и Audio Generation — Аналогичная задача темпоральной согласованности, но в 1D-аудио; spacetime patches видео - обобщение spectogram patches аудио
- Diffusion модели — Видео-диффузия - расширение базовой диффузии на 3D-данные; принципы шумового процесса остаются те же
- Vision Transformer (ViT) — Patch embedding идея ViT прямо обобщается на spacetime patches; DiT-архитектура наследует этот подход
Вопросы для размышления
- Если spacetime patches решают flickering за счёт 3D-attention, почему модель не может просто бесконечно расширить временное окно и генерировать часовые видео?
- Какие индустрии (кино, реклама, gamedev, образование) изменятся первыми с появлением 5-минутных AI-видео, и почему?
- Возврат к Sora: ролик с японкой выглядит реалистично, но при внимательном просмотре видно артефакты в тенях. Какие именно ограничения spacetime-диффузии это отражает?
Связанные уроки
- gai-09 — Video diffusion - расширение image diffusion во времени
- gai-13 — Аудио-генерация - компонент video pipeline
- gai-11 — Продвинутые image models - основа video generation
- gai-19 — Оптимизация inference критична для video из-за размера
- ds-01-intro — Temporal consistency - аналог consistency в distributed systems
- nlp-10 — Temporal attention - та же механика что sequence attention в NLP
- dl-01