Большими новостями последних нескольких месяцев стали шумные анонсы генеративных моделей для видео, таких как SORA 2 от OpenAI, VEO 3 от Google, Vibes от Meta, а также множества открытых моделей. Как и в момент появления в широком доступе моделей для генерации изображений, интернет сразу же захлестнуло потоком видео, а все площадки для обсуждения - дискуссиями о возможном влиянии этих моделей на человеческую цивилизацию, монетизации и пузыре на рынке генеративного искусственного интеллекта. Отбросив множество из этих вопросов, можно согласиться, что так или иначе эти модели являются готовым и востребованным продуктом, вокруг которого уже будет строиться последующая обвязка.

Это NeRF созданный из DINO - скорее для демонстрации представлений моделей о мире.
Это NeRF созданный из DINO - скорее для демонстрации представлений моделей о мире.

Но в то же время выходили и другие модели вроде Genie 3 от Google, генерирующие видео в реальном времени с реакцией на действия пользователя, управляющего происходящим на экране. Казалось бы, разница невелика, но этот тип моделей далек от состояния продукта и пребывает сейчас в статусе экспериментальной диковинки с демонстрацией с разработчиками у руля либо долгими очередями на тридцатисекундное демо. В этой статье я предлагаю разобраться в чем разница, что должно произойти чтобы этот новый интерактивный вид моделей дошел до пользователя и какие интересные процессы в исследовательской области двигают их в эту сторону.

Начать стоит с ответа на очевидный вопрос о моделях видео генерации и причинах их успешности. Первым делом, видео - это самодостаточный артефакт, который можно создать однократно а просматривать сколько угодно. Это ниша сразу знакомой пользователям, гипотетически делает вычислительный вклад в затраты на один просмотр сгенерированного видео низкими и сильно расстраивает компанию если среднее количество просмотров оказывается низким. В случае с интерактивным видео видео генерируется практически для единственного пользователя. Второе - интерактивное видео должно быть, сюрприз, интерактивным. Это значит что все уловки вроде параллелизма по кадрам, распределение очереди генерации по кластеру и все остальные приятности неинтерактивной генерации отправляются в окно. Пользователь либо использует модель на своем оборудовании, либо это оборудование нужно ему предоставить. Нетрудно догадаться, что в отличие от обучающихся роботов, которые могут жить в матрице замедленной в сто раз, для живых людей весь этот интерактив доберётся до массового пользователя тогда , когда он будет работать хотя бы на флагманской пользовательской карте. Так что интересно поспекулировать, когда это сможет произойти. Для спекуляции можно воспользоваться "законом Дженсена" о том, что производительность пользовательской видеокарты удваивается приблизительно каждый год.

приблизительная прогрессия флагманских потребительских видеокарт для демонстрации закона Дженсена
приблизительная прогрессия флагманских потребительских видеокарт для демонстрации закона Дженсена

Горький урок и прямолинейные подходы.

Прежде чем размышлять об оптимизации, необходимо начать с базового примера. По счастливому стечению обстоятельств, он будет созвучен "горькому уроку" Ричарда Саттона который утверждает, что разработчику стоит предоставить наиболее гибкую модель которая решает непосредственно представленную задачу, и не мешать ей человеческими хитростями и уловками. Такой взгляд на модель наиболее интересен первопроходцам-академикам а также большим корпоративным лабораториям с неограниченным вычислительным бюджетом. Вот краткий список моделей:

Все эти модели объединяет то, что они являются по сути своей либо полностью авторегрессионными, либо авторегрессионными диффузионными трансформерам. Это грубая прикидка которая позволяет прикинуть что происходит у них внутри с вычислительной точки зрения и оценить как эти модели масштабируются. Основной единицей вычисления в подобной модели можно считать токен/патч - кусок изображения примерно 16 на 16 пикселей. Для того чтоб собрать следующий кадр диффузионная модель должна каждый из таких патчей кадра пропустить через себя несколько раз, и самой дорогой операцией в обработке этого патча является аттеншн - просчет взаимоотношений между всеми остальными патчами с текущим. Во "все остальные" токены должны попасть патчи текущего кадра T и какое-то количество исторических патчей H, в наивном случае содержащие в себе сколько-то предыдущих кадров.

В такой модели можно наивно вывести формулу вычислительной сложности одного свежего кадра как C(T^2 +TH), где C - это вычислительная сложность одного взаимоотношения включающая в себя все тонкости архитектуры и количества параметров модели модели, а T и H - это соответственно количество патчей в текущем кадре и в истории. Так же наивно можно представить что архитектура подобной модели не слишком отличается от какой-либо и хорошо протестированной популярной модели для генерации изображений вроде FLUX.1 schnell. Представив что H = 0, а T = 64^2 для генерации изображения 1024 на 1024 и зная что генерация одного изображения на RTX 4090 занимает две секунды, можно оценить что в секунду она обработает порядка 700 тысяч взаимоотношений. Если сделать еще более грубую бытовую прикидку, то для интерактивной игры в кинематографичных 12 кадров в секунду в разрешении 320 на 240 бюджет исторической памяти будет составлять порядка двух-трех предыдущих кадров. Мысли о том что таким темпом с прогрессом моделей и видеокарт в 720p в 24 кадра в секунду в получасовую сессию получится поиграть через десять лет не порождают энтузиазма. Так же становится понятно почему большинство проектов не слишком открыты с информацией о железе, на котором крутятся эти модели.

Но если смириться с двенадцатью кадрами в секунду и разрешением 320 на 240, можно задаться вопросом - не может же быть так, чтобы модели требовалось помнить все предыдущие кадры для того чтоб воспроизвести корректный следующий. Как человеку на риэлтерском сайте достаточно набора фотографий чтоб составить представление о квартире, даже если трехмерная модель, план и видео высокого разрешения для этого гораздо удобней. Чтоб описать комнату достаточно одной панорамы - от четырех до десяти кадров, это уже гораздо более близкий горизонт. Потому на первый план выходит необходимость модели уметь экономить эти исторические кадры.

Если оставаться абсолютно верными философии Саттона, модель должна сама научиться выбирать патчи, которые стоит оставить в памяти, а на которые можно не обращать внимания. И благодаря усилиям в развитии языковых моделей, таких механизмов полно. Основные методы выглядят как фильтрация либо явное преобразование контекста, когда модели дается задача сделать преобразовать набор токенов в меньший набор токенов. Звучит вполне логично, что наиболее стабильная интерактивная модель представлена Google DeepMind, у которой полно опыта в работе с длинными контекстами, накопившегося в работе над Gemini и других подобных проектов.

Примеры работы Matrix-Game 2.0
Примеры работы Matrix-Game 2.0

Интересные модели:
GameNGen
Oasis
Hunyuan-GameCraft
Genie-3
Matrix-Game 2.0

Скользкая дорожка интерпретируемой оптимизации.

Большинство других проектов идут путем более явной работы с уплотнением контекста истории. Этому сильно помогает то, что большинство моделей для генерации изображений довольно хорошо приспосабливаются чтоб параллельно с цветом пикселей генерировать и геометрическую информацию вроде карты глубин и нормалей, так что небольшая модификация позволяет для каждого патча получать также его представление в пространстве. А дальше уже можно либо явно работать с дедупликацией и сжатием информации как в работах вроде WorldMem, либо ограничится лишь предварительной фильтрацией контекста в пространстве как делает свежая версия RTFM от World Labs. Последняя модель рекламирует возможность поддерживать интерактивность длиной до трех минут в разрешении 378 на 378 "всего лишь на одной H100", то есть на трех RTX 4090 или двух RTX 5090.

Интересные проекты:
WorldMem
World Labs RTFM

Логическим продолжением этого хода мысли является идея что раз уж мы начали строить что-то вне универсальной модели, то можно уйти в эту идею с головой. Если модель генерирует пространственные артефакты в виде RGBD изображений и знает свое положение в пространстве - почему бы не перехватить полностью ответственность за этот поток информации о прошлых состояниях и работать с ними вне модели? Процедура получения облака точек, репроекции для нового положения камеры и рендер в новое изображение не является новым. А ответственность модели может быть полностью ограничена поправкой артефактов подобной репроекции и дополнением отсутствующих фрагментов полученного изображения. Таким путем идут многие модели вроде Hunyuan World-Voyager или WVD от Apple. Подобные модели идут больше в сторону генерации трехмерных сцен, работая со всевозможными промежуточными представлениями - облаками точек, Гауссовскими сплатами и полигональными представлениями. Одним из компромиссов, на которые идут все подобные модели, является упор на статические объекты и сцены, оставляя подвижной лишь камеру для исследования. Работа же с динамическими объектами или персонажами в большинстве случаев приносится в жертву. Поскольку движение камеры и вещей в пространстве более не контролируется моделью, ей гораздо сложнее научиться работать с подобными вещами, потому подавляющее большинство примеров являются скорее бродилками по конечным или бесконечным сценам чем интерактивными мирами.

Явное представление World-Voyager о мире
Явное представление World-Voyager о мире

Интересные проекты:
Hunyuan World-Voyager
Matrix-3D
WVD от Apple

Отдельно можно отметить крайнее воплощение этого подхода - в случае когда требуется четкий контроль над симуляцией, всю модель можно вовсе превратить в терминатора T-800 - максимально эффективная нейронная сеть, под тонким слоем которой скрывается игровой движок. Строго говоря, к подобным методам можно отнести большинство современных методов работы с трассировкой лучей или методы повышения разрешения вроде DLSS. Но так же идея делать игровую графику более привлекательной и сделать графику Майнкрафта фотореалистичной жива еще со времен GAN, она пыталась найти применение в тренировке беспилотных автомобилей и так же все еще является зоной интереса для лабораторий, которые нацелены именно на их работу на потребительских видеокартах.

Пример работы GANcraft
Пример работы GANcraft

Интересные проекты:
GANcraft
NVIDIA COSMOS Transfer
SurfelGAN от Waymo
Oasis 2.0

В поисках альтернативных идей.

Естественно, такой одномерный спектр подходов не может покрывать все направления развития. Где-то между грубым подходом и прямой оптимизацией есть компромисс - способ обучать модели, при котором главным промежуточным результатом является не что-то явно привязанное к пикселям на экране и не что-то явно портируемое в графический движок. Самым похожим на этот подход являются работы по объектно-ориентированным токенам, которые пачкой выходят из Google DeepMind. Из них, наверное, самым понятным и интересным будет подход Neural Assets, где идет прямой фокус на представление объектов как что-то, что чуть более похоже на объекты в 3D редакторе или человеческое представление о предметах в пространстве. Возможно, работа с объектами будет более успешным медиумом для хранения информации нежели разрозненные клочки изображений в пространстве.

Как Neural Assets думает о предметах на сцене.
Как Neural Assets думает о предметах на сцене.

Интересные статьи:
Neural Assets
DORSAL
Moving Off-the-Grid: Scene-Grounded Video Representations

Вывод.

Да, сейчас подобные модели являются скорее исследовательскими игрушками для больших лабораторий, но похоже что в ближайшие годы при должном внимании индустрии у нас появится возможность поиграть в что-то совершенно новое, хоть и в 360p на флагманской видеокарте. И заслугой этого будет скорее не одна магическая модель, а множество и множество улучшений в архитектуре диффузии, компактной памяти об объектах и прогрессивном улучшении видеокарт.

Комментарии (0)