Вы только посмотрите на эти отражения! Как объекты приобретают форму, когда за окном проносится тёмный столб, и затем снова превращаются в силуэт на стекле! И это при том, что за окном проплывает пригород, какие-то здания ближе и визуально движутся быстрее, а те, что поодаль, минимально меняют ракурс. Мы, люди, привыкли, что и в кино, и в реальной жизни всё это естественно, но даже для видеоролика сделать такую отрисовку с большим количеством объектов и отражениями — это надо постараться.
Этот и ещё пара примеров (1, 2 и даже 3) вообще заставили людей обсуждать гипотезу об использовании реального игрового движка для отрисовки изображения. И уж если оный не используется для предсказания в сложных сценах, то наверняка в нём генерировали обучающую выборку! Это, конечно, спекуляция, и однозначного ответа на вопрос у нас нет. Из всех технических деталей, представленных в блоге OpenAI, можно сделать вывод, что конкретно пиксели модель рисует сама (без опоры на условный игровой движок Unreal Engine 5) — исследователи даже констатируют, что этот навык появился исключительно при масштабировании модели.
Другие неожиданные сюрпризы SORA
Одна из новых и (частично) неожиданно появившихся способностей модели — это возможность создания видео с динамическим движением камеры. Мы уже это наблюдали в первом примере: камера двигается и вращается, а люди и прочие элементы сцены перемещаются в трехмерном пространстве соответственно нашим естественным ожиданиям. Но не мог не поделиться с вами этими чудесными сценами.
Представляете, какое количество аспектов приходится учитывать модели мира? Ведь приходится моделировать поведение агентов (в данном случае — людей) и множество взаимодействий для каждого кадра. Но давайте изолируем задачу и сфокусируемся на ней: иногда SORA может имитировать простые действия, влияющие на состояние мира. В одном случае это изменение картины в местах, где полотна касается кисточка, а в другом бургер становится откушенным.
Опять же, выглядит естественно, мы даже не замечаем, мозг принимает это как должное. Но представляете сколько усилий пришлось бы прикладывать инженерам-программистам, чтобы все подобные взаимодействия прописать для какой-нибудь игры в мельчайших деталях? Да что там, люди до сих пор смотрят на ролик из Red Dead Redemption 2 ниже, и переживают, что уж ну вот с таким-то уровнем детализации мы никогда не увидим следующего творения Rockstar. А подборки в духе «200 невероятных деталей, которых нет в других играх!» даже спустя 5 лет после релиза заставляют игроков удивляться кропотливости разработчиков.
И раз уж мы заговорили про игры — а вы знали, что SORA как ультимативный симулятор миров может эмулировать... Minecraft?
Всё, что вы увидели в этих двух примерах — полностью сгенерировано. Так же, как в примерах с DOOM и гоночной игрой из середины статьи — это «подглядывание» в симуляции, воспроизводимые моделью. И в эти симуляции можно подсадить агентов обучаться делать что-либо. Они, ни разу не провзаимодействовав с реальным миром, могут обретать навыки, переносимые в реальность.
И, да, все продемонстрированные свойства возникают без какого-либо внесения явной информации о трехмерных объектах в сцене, их геометрии, и т.д. — это исключительно проявление уже упомянутого масштабирования, с которым модель учится всё лучше и лучше решать свою задачу.
Но почему бы просто не создать игру?
Вероятно, главный вопрос, который крутятся в голове технически подкованных читателей — это «Зачем здесь для создания модели мира нужна нейронка, когда можно просто взять игровой движок и сделать игру?». Давайте постараемся подискутировать и порассуждать.
Разработка обычно упирается в три тесно связанных фактора: размер команды, бюджет и срок разработки. Самые дорогие в производстве игры стоят порядка ~$300M, самыми детально проработанными называют игры Rockstar (это которые GTA делают). Пример такой игры я приводил выше, и вот даже после показа трейлера GTA VI интернет взорвался вниманием к деталям: вау, песок на пляже прилипает к ногам! Ого, как реалистично распыляется спрей! Невероятно, там есть ветер, который развевает волосы!
Самые большие фанаты уже покадрово разбирают трейлер следующей игры и строят теории. Уровень детализации впечатляет — от отражений на багажнике до прилипшего к ногам песка.
Но с ручной проработкой есть одна проблема: она плохо масштабируется. Даже при сроке разработки игры больше 5 лет количество мелких деталей, которые в неё можно было бы добавить, всё равно превышает реально имплементированное. Физика волос, тканей, одежды, жидкостей, снега, поведение животных и людей... это всё надо продумать и прописать.
Если задуматься, это всё то, за что мы могли бы похвалить SORA или в худшем случае её наследника SORA 2. Только вот для SORA 2 нам не нужно собирать команду в три тысячи разработчиков и пыхтеть 7 лет, а для игр мы очень сильно ограничены человеческим ресурсом. Количество и качество проработки сильно упирается в программистов (и способности ими руководить). С нейросетями, как было упомянуто, ситуация не такая: ты просто покупаешь больше видеокарт, делаешь модель покрупнее, и вуаля! Кто знает, какие детали начнут около-идеально симулироваться при увеличении модели ещё на порядок?
Поэтому, даже если мы захотим сделать глобальный суперпроект мегасимуляции (для чего бы это ни было нам нужно) — мы просто не сможем прописать каждую песчинку на пляже, каждое дуновение ветра. Масштабирование модели позволяет выучить все полезные вещи из уже имеющихся данных, главное, чтоб электричества, видеоускорителей и денег хватило :)
Но может игры не нужны, и достаточно обойтись реальным физическим миром? На самом деле, тут та же самая проблема — чтобы обучать модели нужны сотни тысяч, миллионы попыток. Те же боты в DotA 2 при обучении наигрывали 200-300 ЛЕТ опыта в сутки. Примерно то же происходило в AlphaGo, системе для настольной игры го от DeepMind: модель играла сама с собой тысячелетиями. Просто не в реальности. Так что для обучения интерактивного агента в реальном мире нам либо придётся долго ждать, либо строить целую армию терминаторов, что а) крайне затратно, и б) из-за развития технологий теряет актуальность, железо устареет быстрее. Проще закупить кластер видеокарточек, которые могут делать и обучение, и ещё десяток вещей в других областях. Опять масштабирование побеждает!
Опускаемся с небес на землю
Но в то же время мы уже видели, что даже моделирование простой игры неидеально, и бот может научиться эксплуатировать симуляцию. Одно из решений — это чередование виртуального и реального мира, с постоянным итеративным дообучением из самых свежих собранных данных. Как только алгоритм определяет, что его модель мира слабо предсказывает происходящее и уж очень ошибается — эти данные кладутся в выборку с пометкой «первый приоритет». Чтобы, наблюдая ситуацию из видео ниже, модель «удивлялась», и исправляла неточность:
В данном примере нейронка (и, вероятнее всего, выработанная ею модель мира) не точно воспроизводит физику многих основных взаимодействий — таких, как разбивание стекла или опорожнение стакана. Другие сложные взаимодействия (вроде потребления пищи) не всегда приводят к правильным изменениям состояния объектов. В длительных сценах возникает несогласованность, а также спонтанные появления или исчезновения объектов. Модель также может путать пространственные аспекты промпта (и даже право-лево не отличать).
Но зачем же тогда OpenAI сделали анонс и выложили кучу демок? Технология как будто бы не готова для производства видеоконтента, а модель мира у неё пока... не ясно, будет ли достаточной для обучения ботов в аналоге Матрицы. Во-первых, как написано на официальной странице: «мы делимся результатами нашего исследования на раннем этапе, чтобы начать обсуждение и получать отзывы от людей, не входящих в состав OpenAI, а также чтобы дать общественности представление о том, какие возможности искусственного интеллекта ожидают нас в будущем». А теперь и вы, прочитав эту статью, имеете более полную картину мира, понимаете, что и как делается, и к чему стоит готовиться. Компания пока не планирует предоставлять доступ к модели всем подряд — но уже начался период закрытого тестирования на предмет безопасности и байесов (устойчивых искажений в какую-либо сторону) генераций.
Во-вторых, OpenAI в очередной раз пофлексили превосходством над другими игроками — только посмотрите на генерации моделей конкурентов (открытых и закрытых) по тем же самым промптам, что и у SORA. Даже не близко! Но впереди нас ждёт только развитие.
А что, собственно, впереди?
И тут мы переходим на территорию осторожных, но спекуляций. В OpenAI уверены, что продемонстрированные возможности указывают на то, что продолжение масштабирования моделей генерации видео является многообещающим путем к разработке очень проработанных симуляторов физического и цифрового мира, а также объектов, животных и людей, которые населяют их. Эта фраза повторяется дважды в этой статье — и точно также в блоге OpenAI, уж настолько сильно компания хотела задать акцент.
Но как такой симулятор нашего мира можно использовать, и чем он полезен? Кроме детально разобранного плана обучения ботов внутри виртуального мира, видится два ключевых направления работы. Первое — это обучение GPT-N+1 поверх (или совместно) с видео-моделью, чтобы те самые латенты, характеризующие состояние мира и механики взаимодействий в нём, были доступны языковой модели. Без углубления в технические детали отмечу, что существуют способы обучения нейросетей одновременно и на тексте, и на изображениях/видео — так, что сам «предсказательный движок» будет общий, а энкодер и декодер свои для каждого типа данных. Тогда даже при генерации текста GPT будет опираться на модель мира, выученную в том числе по видео, получит более полную картину взаимодействий объектов и агентов. Это своего рода «интуиция», которая также, как и латент в случае гоночек/DOOM, будет нести в себе неявное описание потенциального будущего, что в свою очередь повлияет на навыки рассуждений с далёким горизонтом планирования. Именно это является одной из основных проблем современных LLM — они могут выполнить какую-то одну простую задачу, но не могут взять целый кусок работы, декомпозировать, распланировать и выполнить.
Второе направление работы — это непосредственно симуляция, когда модель при генерации как бы берёт паузу, и проигрывает несколько разных симуляций будущего: а что будет, если сделать вот так или эдак? Происходить это будет в пространстве сигналов (латентов), так же, как мы в голове размышляем, что будет при таких-то и таких-то действиях — поэтому проблема неидеальной реконструкции снова уходит на второй план. На основе анализа результата десятков-сотен прокручиваний ситуации можно скорректировать поведение модели/агента. Вероятно, мы увидим первые эксперименты в рамках компьютерных игр — зря что ли OpenAI в прошлом году купили компанию, разрабатывавшую аналог Minecraft, но с упором на социальные взаимодействия? Тем более, что это не будет их первым опытом в игрушках: ещё до GPT-1 проводились эксперименты с популярной игрой DotA 2, где в итоге команда скооперировавшихся ботов дважды обыграла чемпионов мира.
Но у SORA для таких симуляций нет одной важной детали: возможности учитывать действия агента. Ведь вспомните: модель мира работает не только с сигналом от окружения, но и с командой, предсказываемой ботом. Если из одного и того же кадра гонки делать поворот налево или направо — то очевидно, что будущее будет разным. Так что к системе обучения на видео к SORA придётся приделать сбоку модуль, который как бы угадывает, что происходит между кадрами. Тем более что у OpenAI есть опыт подобной работы (опять совпадение? не думаю) — летом 2022 года они обучали нейросеть играть в Minecraft по видео с YouTube. Для того, чтобы сопоставить картинку на экране с действиями, по малому количеству разметки была натренирована отдельная модель, предсказывающая вводимую игроком команду. Правда, на видео общего спектра такой подход применить сложнее — какая вот команда отдаётся на съемке процесса завязывания галстука? А на записи футбольного матча? А как это увязать?
Вполне возможно, что ответ — как и всегда — будет следующим: «ну дай машине, она разберётся, главное чтоб данных хватило». Пока писался этот блогпост, Google DeepMind выпустили статью с описанием модели Genie, предназначенной для... генерируемых интерактивных окружений. Такой подход принимает на вход кадр и действие и предсказывает, как будет выглядеть мир (и какие потенциально действия можно сделать). И, конечно же, тестируется это на настоящей робо-руке, ведь игрушек нам мало!
Обратите внимание на реалистичную деформацию пакета чипсов. Это не реальный объект, кадры полностью сгенерированы выученной моделью мира. Контроллер робо-руки может принять решение после многократной симуляции будущего для более аккуратных манипуляций.
Скорее всего, и на обучение, и тем более на применение моделей на масштабе всего YouTube потребуется огромное количество ресурсов, заточенных под работу с нейросетями. Уже сейчас ведущие в AI-гонке компании сталкиваются с проблемами: видеокарт Nvidia не хватает на всех, а список закупок заполнен на год вперёд. Даже если есть денежные средства масштабировать модели в 10, в 100 раз — может просто не хватить GPU. При этом, нейронки легче и меньше становиться пока не планируют. Вот например SORA, по слухам, требует часа вычислений на генерацию минутного FullHD ролика. Это может быть похоже на правду — сразу после анонса команда OpenAI генерировала в твиттере видео по запросам людей, и минимальное время от твита до генерации составило 23 минуты. Но и ролик был 20-ти секундный!
В общем, как спайс занимает центральное место в мире Дюны, так и вычислительные мощности играют ключевую роль для AI — наравне с данными. Вероятно, поэтому начали появляться слухи о желании Сэма Альтмана привлечь инвестиции на реорганизацию индустрии (не компании, а всей индустрии!) производства полупроводников и чипов, создав глобальную сеть фабрик. Слухи какие-то совсем дикие — мол, нужно привлечь от 5 до 7 триллионов долларов. Это, на минуточку, 4–5% от мирового ВВП! Капитализация самой дорогой компании в мире, Microsoft (лол? напродавали винду), составляет 3 триллиона. Да на 7 триллионов можно и весь Тайвань прикупить, чего уж — главное, чтоб Китай позволил.
Нет, это не оценка компании или всего рынка, это именно необходимые инвестиции. Да.
Лично я не верю в такие суммы, но порядок двух-трёх триллионов инвестиций на горизонте десятилетия считаю посильным. Знаете, запускать Матрицу для того, чтобы погрузить в неё 8 миллиардов людей — дело всё же недешевое! В общем, поживём — увидим.
Согласны? Узнали себя? (Надеюсь, что нет)
Одно можно сказать точно: если Сэм Альтман будет продолжать двигаться такими темпами — то проблема моего досуга на ближайшие несколько лет точно будет решена. Придётся пилить здоровенные лонгриды с объяснением того, каким конкретно образом свежие нейросетки собрались захватывать наш мир на этой неделе, буквально безостановочно. :) Если вы не хотите пропустить эти будущие материалы — то подписывайтесь на мой ТГ-канал Сиолошная. (Также отдельная благодарность Паше Комаровскому из RationalAnswer за то, что помог с редактурой этого гигантского материала, и Богдану Печёнкину с Ярославом Полтораном за вычитку опечаток.)