3D как код
@ai_longreadsWorld Labs проводит аналогию между программным кодом и трёхмерными представлениями мира: подобно тому, как код стал универсальным интерфейсом для программного обеспечения, 3D становится универсальным интерфейсом для пространственного взаимодействия людей и машин.
Это AI-перевод статьи, сделанный каналом Про AI: Лучшие Статьи и Исследования.
3D как код
3D as code Автор: World Labs Оригинальный текст:
Никогда прежде не было более захватывающего времени для совместной работы людей и машин. Интерфейсы, связывающие людей и машины, переосмысляются по всему спектру — от абстрактных рассуждений до физических задач. Большие языковые модели быстро распространились, опираясь на текст как универсальный интерфейс. Текст — это общая среда, глубоко встроенная в наши инструменты и привычки; он может выражать идеи, давать инструкции и передавать информацию между людьми и программами. Но какой эквивалентный носитель способен описывать физические и виртуальные миры и обеспечивать взаимодействие с ними?
Мы убеждены, что таким интерфейсом является 3D, обеспечивающий коммуникацию, совместную работу и созидание как для людей, так и для машин. Трёхмерные представления позволяют людям и машинам общаться о пространстве, совместно работать над проектами и создавать новые среды. За последние десятилетия сформировалась богатая экосистема 3D-инструментов и форматов обмена данными, поддерживающая рабочие процессы от идеации и моделирования до симуляции, презентации и производства.
В этом эссе проводится аналогия между программным кодом и трёхмерными представлениями мира. Опираясь на достижения последнего десятилетия в области нейрографики и симуляции, новое поколение моделей мира ускорит существующие пространственные рабочие процессы и породит совершенно новые. Подобно тому, как языковые модели революционизируют программное обеспечение, модели мира революционизируют то, как мы формируем виртуальные и физические миры и взаимодействуем с ними.
3D — пространственный «код»
Роль трёхмерных представлений в пространственной области можно понять, сравнив их с кодом. Код — это устойчивая абстракция, созданная для описания логики, исполняемой процессорами. На протяжении десятилетий он приводил в действие значительную часть современного мира. Сегодня модели искусственного интеллекта становятся чрезвычайно умелыми в рассуждениях о коде и его генерации; этот код затем исполняется на аппаратном обеспечении, которое появилось задолго до больших языковых моделей. Как интерфейсы, код и 3D обладают важным структурным сходством в том, зачем и как мы их используем.
Между людьми и машинами:
- Код служит мощным интерфейсом между людьми и машинами. Когда ИИ-система генерирует код, человек может его просмотреть, изменить, отладить и интегрировать в более крупные системы. Это делает возможными составные рабочие процессы: программисты и ИИ-агенты для написания кода могут итеративно совершенствовать решения совместно.
- 3D-представления могут играть аналогичную роль. Когда модель мира генерирует 3D-сцену, объект или среду, человек может открыть результат в знакомых инструментах, отредактировать геометрию, скорректировать ограничения, перезапустить симуляции и исправить ошибки. Здесь тоже возможны составные рабочие процессы и pipeline (пайплайн, конвейер обработки): дизайнеры и инженеры могут сотрудничать с генеративными моделями мира.
Между машинами:
- Код также функционирует как интерфейс между машинами. Сгенерированные ИИ программы подключаются к компиляторам, средам исполнения, API и существующей программной инфраструктуре. Поскольку код следует устоявшимся абстракциям, он совместим с существующими инструментами.
- Аналогично, 3D-выходные данные интегрируются с движками рендеринга, системами симуляции, физическими решателями, стеками робототехники и CAD-инструментами. Когда модель мира производит структурированные 3D-представления, а не пиксели, она может участвовать в существующих конвейерах и взаимодействовать с программами редактирования и симуляционными движками.
В обоих случаях ключевым свойством является экстернализация состояния в структурированные артефакты, которые могут потреблять другие системы.
Рассмотрим альтернативный подход в области «кода». Вместо того чтобы просить LLM написать программу, мы могли бы попросить её быть программой. Например, можно предложить LLM: «Отсортируй следующий список из миллиона чисел». Модель способна попытаться сымитировать это поведение целиком в потоке токенов (токены), поглотив список и попытавшись выдать его в отсортированном порядке.
Но мы редко используем LLM таким образом, разве что в качестве трюка, и не ожидаем, что они идеально справятся с подобной задачей. Почему? Потому что исполнение кода предоставляет гарантии, которых нет у «сырого» inference (инференс, вывод модели): воспроизводимость исполнения, читаемость для человека и модульную компонуемость. Код можно хранить, версионировать, тестировать и запускать независимо от эфемерного контекстного окна модели. Он разделяет рассуждение, представление и исполнение: вы думаете об алгоритме, записываете программу как текст, а затем запускаете её.
Существует прямая параллель в пространственных системах. Эквивалент просьбы к LLM «быть программой» — это отказ от структурированных представлений мира и симуляционных движков в пользу чисто «чёрноящичного» сплетения состояния и измерения, например моделей для покадровой генерации пикселей или состояний, обусловленных действиями. Такие модели могут отлично справляться со своей основной задачей и быть полезны для множества приложений, но им не хватает манипулируемой структуры: их выходные данные нельзя инспектировать, редактировать, легко передавать (например, совместные переживания вроде многопользовательских систем или общее намерение и состояние между роботами) или интегрировать в существующие системы симуляции и управления.
Нейрографика — пространственный «язык программирования»
Если 3D — это пространственный аналог кода, что играет роль языка программирования: достаточно точного, выразительного и общего для моделирования мира? За десятилетия возникло множество 3D-представлений: меши, воксели, облака точек, неявные поля, CAD-форматы и т. д. Но создание насыщенных крупномасштабных пространств, в особенности цифровых двойников, оставалось сложным и ограниченным возможностями оборудования. Традиционные 3D-движки строились вокруг жёстких ограничений памяти и вычислений, требуя упрощённой геометрии и зачастую созданных вручную ассетов. Для минимизации использования памяти и пропускной способности конвейеры проектировались с расчётом на переиспользование и сжатие ассетов. Подходы, основанные на данных, были слишком дорогими и конфликтовали с фундаментальными допущениями, лежащими в основе проектирования этих систем.
Взрывной рост аппаратного и программного обеспечения, оптимизированного для машинного обучения, снимает эти ограничения. Современные GPU, изначально созданные для рендеринга треугольников, оказались необычайно полезными для крупномасштабных операций матричного умножения, питающих нейронные сети. Новые поколения GPU проектируются с учётом ИИ-нагрузок, с большими чипами памяти для размещения моделей и наборов данных. При этом эти GPU по-прежнему превосходно рендерят графику и выполняют симуляции.
В частности, эта аппаратная тенденция позволяет проявить себя новым ресурсоёмким технологиям, таким как NeRF и Gaussian splatting (сплэттинг гауссовых примитивов). Теперь мы можем генерировать, хранить и рендерить представления масштаба целого мира, помещающиеся в памяти, и при необходимости динамически пересчитывать их. Конвейеры, ранее опиравшиеся на статические ассеты, могут стать (частично или полностью) генеративными. Это обеспечивает более высокую детализацию сред, большее разнообразие и новые области применения. Цифровые двойники, например, могут перейти от упрощённых макетов с ручным обновлением к непрерывно обновляемым высокоточным зеркалам своих физических прототипов, поддерживая мониторинг, управление и критически важные рабочие процессы.
В этом новом стеке нейрографика функционирует как язык программирования. Она предоставляет выразительный носитель для описания и генерации пространственной структуры, подобно тому как языки высокого уровня описывают вычислительную структуру.
Симуляционные движки — пространственные «чипы»
Модель мира становится по-настоящему полезной, когда она работает во времени, обеспечивая интерактивность, постоянство и динамику. Если 3D — это код, то симуляционные движки — это чипы, которые его исполняют.
Интерактивность — это не одна отдельная функция. Это совокупность системных задач, которые симуляционные движки решают десятилетиями: управление состоянием, физика, обнаружение коллизий, освещение, синхронизация, детерминизм и воспроизведение.
Как минимум, для длительных интерактивных переживаний требуется постоянство. Мир должен обладать идентичностью, сохраняющейся за пределами одного прохода рендеринга. Действия оставляют следы, объекты сохраняют состояние, а сессию можно возобновить. Это подразумевает три основных компонента:
- управление состоянием (что существует),
- правила обновления (как действия и физика/правила изменяют состояние),
- и наблюдения (как текущее состояние рендерится в пиксели или выходные данные датчиков).
В принципе, большие диффузионные или генеративные модели могли бы свернуть всё это в сквозное отображение: (история + действие) → следующий кадр. Здесь «состояние» живёт только внутри эфемерных нейронных активаций. Это перспективное направление исследований, и множество моделей и проектов изучают, насколько далеко может зайти подход «пиксели на всех уровнях».
Но сворачивание этого стека вводит фундаментальный компромисс. Когда память, динамика и рендеринг переплетены внутри одной сети, создание и потребление сливаются. Физическое взаимодействие во время выполнения (пинок мяча) и нефизическое редактирование (удаление стены) становятся входом одного типа. Используя нашу аналогию, редактирование кода становится неотличимым от исполнения кода. Хотя это удобно в качестве цели обучения крупномасштабных моделей, такое смешение ослабляет гарантии физической согласованности, воспроизводимости и детерминизма.
Альтернатива — факторизованная или гибридная среда исполнения: обученные модели мира генерируют и интерпретируют структуру, но целенаправленно используют внешний инструментарий, напоминающий элементы существующих движков, опосредованный 3D-интерфейсами и представлениями. Учитывая траекторию развития кодирования на основе LLM, вероятно, эти модели смогут создавать пользовательскую логику, лучше подходящую для их задач, чем готовые библиотеки и движки, доступные сегодня. Но, по нашему прогнозу, различие сохранится — между компонентами для восприятия, генерации и рассуждения, и частями, где «важны правила».
В факторизованной системе 3D становится мощным интерфейсом для людей и машин, предоставляющим входы и выходы, которые контролируемы, воспроизводимы и совместимы.
3D как интерфейс для людей и машин
С учётом нашей аналогии между 3D и кодом рассмотрим, почему 3D — это мощный носитель для взаимодействия людей и машин при описании физических и виртуальных миров.
Для машин. Многие программные системы уже работают пространственно: симуляторы, стеки робототехники, игровые движки, CAD-инструменты и геоинформационные системы (GIS) — все они взаимодействуют через геометрию, преобразования, материалы, траектории и ограничения. Если модель мира производит выходные данные на том же структурированном языке, она может подключаться непосредственно к существующим конвейерам.
Не менее важно и то, что машинам всё чаще необходимо передавать друг другу пространственные намерения. Агент планирования может обозначить целевую область, монитор безопасности — запретные зоны, модуль восприятия — аннотировать неопределённую геометрию, а модуль рендеринга — запросить новый ракурс: всё это пространственные концепции.
Если все пространственные рассуждения переплетены внутри единой монолитной модели, одним из способов реализации может быть обмен латентными векторами. Но это сильное допущение, требующее либо общей модели, либо по крайней мере общего латентного пространства. В гетерогенных модульных средах это допущение не выдерживает. Даже язык — неэффективный формат обмена для геометрии и ограничений; структурированное 3D — более естественный лингва-франка.
Возможности экспорта не менее важны. Когда модель мира может экстернализировать свои «мысли» в конкретные представления (сплэты, меши, видео), они становятся артефактами, которые можно инспектировать, валидировать, версионировать, тестировать и переиспользовать — возникают компонуемые конвейеры.
Для людей. 3D-взаимодействие естественно и для людей. Мы проводим всё время бодрствования, навигируя в пространстве: дотягиваемся, ходим, манипулируем, выравниваем... Наши ментальные модели построены вокруг устойчивых объектов и отношений: «стул стоит под столом», «дверной проём соединяет эти комнаты». Когда системы обнажают такие явные структуры, они совпадают с тем, как мы уже мыслим.
Контраст с чисто картиночными рабочими процессами разителен. В 2D-анимации каждый кадр нужно перерисовывать, фактически реконструируя мир десятки раз в секунду. В 3D мир строится один раз, после чего перемещение камеры, изменение освещения, анимация объектов — единственная пространственная правка автоматически распространяется на каждый отрендеренный кадр.
Это разделение между пространственным 3D-представлением и рендерингом зеркалит разделение между кодом и исполнением. Вы модифицируете исходный код один раз и перезапускаете его, вместо того чтобы переписывать каждый выходной результат с нуля.
Взгляд в будущее
Если 3D играет роль, аналогичную коду как интерфейсу между людьми и машинами, то траектория ясна: миры становятся «программируемыми» — средой, которую могут генерировать, редактировать, компоновать и разделять и люди, и машины.
Именно в этом направлении мы строим World Labs:
- Marble — мультимодальная модель мира, предназначенная для реконструкции, генерации и симуляции 3D-миров. Она способна создавать устойчивые, доступные для навигации миры из текста, изображений, видео или грубых 3D-макетов. Эти миры можно редактировать, расширять, экспортировать (в виде Gaussian splats, мешей или видео) и интегрировать в последующие инструменты.
- Интерфейс 3D-кондиционирования Marble, экспериментальная функция под названием Chisel, развивает идею 3D как грубого управляющего слоя. Она позволяет создателям набросать структуру с помощью стен, плоскостей, объёмов и импортированных ассетов, а затем передать их в качестве входных данных модели для генерации насыщенных и детализированных визуальных результатов. Разделение макета и стиля даёт пользователям явный контроль над композицией и внешним видом.
- RTFM и Spark исследуют уровень рендеринга. RTFM экспериментирует с «обученным рендерингом», создавая сложные визуальные эффекты — отражения и тени — из простых структурных входных данных. Spark — это высокопроизводительный рендерер Gaussian splatting, интегрирующийся с WebGL и привносящий нейрографику в среды реального времени в вебе.
Этот ландшафт стремительно эволюционирует. Модели мира будут всё активнее участвовать в гибридных стеках: генерируя структурированные миры («код»), выраженные через нейрографику («язык»), исполняемые внутри симуляционных движков («чипы»). Это сдвиг к программируемым, управляемым данными пространственным системам, способным поддерживать реалистичные среды, цифровых двойников, робототехнику, обучение, дизайн и совершенно новые категории приложений. Основная предпосылка остаётся неизменной: надёжная коммуникация и сотрудничество между людьми, агентами и программным обеспечением требует интерфейса, который был бы точным, компактным, инспектируемым и манипулируемым.
Этот интерфейс — 3D.
Подпишитесь на канал и каждый день читайте лучшие материалы про AI переведенные на русский!
Нашли интересную статью для перевода? Пришлите нашему боту: @ailongreadsbot