MIRA: мультиплеерная интерактивная модель мира, обученная на Rocket League

MIRA (Multiplayer Interactive World Models), модель мира (world model): нейросеть, которая не использует движок физики или графики, а генерирует видеопоток игры Rocket League, аркадного «футбола на машинах» от Epic Games, кадр за кадром, реагируя на действия игроков. Проект сделан совместно тремя командами: стартапом General Intuition, специализирующимся на игровом ИИ, исследовательской лабораторией Kyutai и самой Epic Games; у публикации указано 24 соавтора. Ключевая особенность MIRA в том, что это не одиночная, а мультиплеерная модель мира: она одновременно генерирует отдельный ракурс для каждого из четырёх игроков матча 2 на 2, и все ракурсы остаются согласованы между собой, то есть если один игрок видит, как машина соперника врезается в мяч, то же событие видно и на экране этого соперника. Более ранние модели мира умели воспроизводить игру только для одного игрока.

Технически MIRA, это диффузионный трансформер на 5 миллиардов параметров в паре с отдельным видеокодеком на 600 миллионов параметров. Кодек сжимает кадры игры в компактные латентные представления (авторы называют это «семантической дистилляцией»), а трансформер уже предсказывает будущие латентные кадры по прошлым латентам и действиям игроков, то есть генерация идёт не напрямую в пикселях, а в сжатом латентном пространстве. Обучали модель методом diffusion forcing («форсирование диффузии»): во время обучения ей показывают уже частично зашумлённые предыдущие кадры, из-за чего модель лучше справляется с неопределённостью и не «разваливается» при длинных сессиях генерации. Для обучения использовали около 10 000 часов записанных матчей 2 на 2, это самостоятельная игра (self-play) ботов Nexto друг против друга; видео для обучения пережали до 288p при 20 кадрах в секунду. В инференсе итоговая модель выдаёт видео на 20 кадров в секунду в разрешении 576p, разбитое на четыре синхронных ракурса, по одному на игрока, и работает на одной видеокарте.

MIRA способна на стабильные, потенциально бесконечные «прогоны» игры без расхождения при обычной игре и достоверно воспроизводит базовую механику Rocket League: движение машин, физику мяча, расход буста, разрушение машин и игровые сообщения вроде «Shot on goal» («Удар по воротам») и «Save» («Сейв»). Есть режим автопилота: если скрыть действия одного из игроков, модель сама достраивает вероятное поведение бота вместо него, это достигается приёмом action dropout, когда часть входных действий «выключают» уже во время обучения. Для оценки качества авторы использовали метрику FID (Fréchet Inception Distance), она показывает, насколько статистика сгенерированного видео похожа на реальное; «зондирование» игрового состояния, проверку, можно ли по внутренним активациям модели восстановить физические параметры объектов; и ARR (Action Recoverability Ratio), по сгенерированному видео пытаются понять, какую команду нажал игрок, и по точности такого угадывания судят об управляемости модели.

Авторы прямо указывают на ограничения. После гола игра показывает четырёхсекундный повтор, но у модели нет обучающих данных для этого момента, она достраивает правдоподобную, но не всегда точную замену повтора. Объекты, скрытые от камеры игрока (например, машина за мячом или партнёр за кадром), в одноракурсных версиях модели могут пропадать из кадра. Если игроки играют сильно не так, как в обучающих данных (например, намеренно избегают мяча), генерация может разойтись и стать нестабильной; впрочем, за счёт латентного видеокодека модель умеет самопроизвольно восстанавливаться после такого сбоя, у более ранних моделей мира, построенных на прямой дистилляции пикселей, такой способности не было.

Тренировочный и инференс-код выложен на GitHub, а датасет «Rocket Science» (4000 часов, 1000 часов матчей, записанных с четырёх ракурсов, с потоками действий и физическими состояниями) опубликован на Hugging Face в разрешении 720p вместе с техническим отчётом. Веса самой обученной модели на 5 миллиардов параметров, по крайней мере на момент публикации, не выложены, в обсуждении на Hacker News один из пользователей прямо спросил, почему при открытых коде и датасете недоступны сами веса. Реакция на Hacker News в целом положительная: часть комментаторов называла результат значительно лучше ожидаемого и отмечала, что модель самостоятельно генерирует действия персонажей за пределами тренировочных сценариев; были и критические замечания, например, что бот Nexto, на самостоятельной игре которого обучалась модель, слишком предсказуем, из-за чего MIRA иногда как будто игнорирует ввод игрока и вместо этого выдаёт ожидаемое поведение бота.

Ключевые факты

  • MIRA, диффузионный трансформер на 5 млрд параметров и видеокодек на 600 млн параметров, которые в реальном времени (20 кадров/с, 576p, на одной видеокарте) генерируют видеопоток Rocket League без движка физики и графики.
  • Модель мультиплеерная: одновременно рисует отдельный, но согласованный ракурс для каждого из четырёх игроков матча 2 на 2, более ранние модели мира работали только для одного игрока.
  • Обучена на примерно 10 000 часах самостоятельной игры (self-play) ботов Nexto методом diffusion forcing; открытый датасет «Rocket Science» (4000 часов, 720p), код и технический отчёт опубликованы, а веса модели, нет.
  • Воспроизводит базовую механику игры (движение машин, физику мяча, буст, разрушение машин, игровые сообщения) и умеет работать в режиме автопилота, достраивая поведение игрока, если скрыть его ввод.
  • Известные проблемы: неточные повторы после гола, пропажа объектов, скрытых от камеры, и расхождение генерации при игре, сильно отличающейся от тренировочных данных, хотя модель умеет самостоятельно восстанавливаться после таких сбоев.

Почему это важно

MIRA, шаг в сторону «нейросетевых игровых движков»: вместо того чтобы кодировать физику и графику вручную, движок игры «выучивается» напрямую из видео матчей. До этого подобные модели мира обслуживали только одного игрока; MIRA, одна из первых демонстраций того, что несколько игроков могут одновременно взаимодействовать с одной и той же генерируемой ИИ игрой, а их ракурсы остаются согласованы между собой. Показательно и то, что в проекте участвует сама Epic Games, крупный издатель игр, включая Rocket League, а не только исследовательские команды: это сигнал интереса игровой индустрии к генеративным движкам.

Кому это важно

Исследователям генеративного видео, диффузионных моделей и обучения с подкреплением, как пример архитектуры (диффузионный трансформер плюс латентный видеокодек) и метрик оценки (FID, ARR) для интерактивных мультиплеерных моделей мира. Игровым студиям и разработчикам, изучающим ИИ-движки, процедурную генерацию контента или обучение игровых ботов на сгенерированных, а не заскриптованных сценах. Рядовых игроков разработка пока напрямую не касается, это исследовательский прототип и демо, а не готовая функция в самой игре.

Как это применить

Авторы выложили тренировочный и инференс-код на GitHub, датасет «Rocket Science» (4000 часов записей матчей 2 на 2 с четырёх ракурсов, с потоками действий и физическими состояниями, разрешение 720p) на Hugging Face, а также технический отчёт с описанием методики, diffusion forcing, устройство видеокодека, метрики оценки. Результат воспроизводим и его можно использовать как основу для собственных экспериментов с моделями мира. Сама MIRA доступна как интерактивное демо на сайте проекта, где, судя по обсуждению на Hacker News, можно понаблюдать за сгенерированным ИИ матчем или сыграть в него. Веса самой обученной модели на момент публикации не опубликованы, поэтому прямое переиспользование готовой модели третьими лицами пока недоступно, воспроизводить пришлось бы заново по коду и датасету.

Можно ли доверять

Материал подкреплён подробным техническим блогом с описанием архитектуры, объёма данных и метрик оценки, а также списком из 24 соавторов от трёх организаций, General Intuition, Kyutai и Epic Games; участие крупного издателя игр (Epic Games, создателя Rocket League) повышает доверие к тому, что демонстрация не постановочная. Независимые свидетельства из обсуждения на Hacker News, включая комментарий, судя по всему, от причастного к проекту человека, подтверждают заявленные характеристики, 5 миллиардов параметров, 20 кадров в секунду на одной видеокарте, отсутствие физического движка. При этом стоит учитывать: веса модели не опубликованы, то есть независимая проверка заявленного качества сторонними исследователями пока ограничена демо на сайте, а не воспроизведением на собственных данных.

Риски и подводные камни

Сами авторы честно перечисляют слабые места: повтор после гола модель генерирует правдоподобно, но неточно, поскольку не видела этот момент в обучающих данных; объекты, скрытые от камеры игрока, машина за мячом, партнёр за кадром, в одноракурсных версиях модели могут пропадать; при игре, сильно отличающейся от тренировочных сценариев (например, если игрок намеренно избегает мяча), генерация может стать нестабильной. Ещё один риск, обучающие данные получены из самостоятельной игры одного и того же бота (Nexto), который, по замечанию одного из комментаторов на Hacker News, довольно предсказуем; из-за этого модель иногда как будто не замечает ввод игрока и вместо этого выдаёт ожидаемое поведение бота, то есть обобщение на действительно непредсказуемую человеческую игру пока под вопросом.

«Нейросеть на 5 миллиардов параметров, которая на входе получает действия, а на выходе выдаёт пиксели.»

— MasterScrat, комментарий на Hacker News