TerraZero: 1,3 млн шагов в секунду и нулевых демонстраций — новая парадигма RL-симуляторов

TerraZero: 1,3 млн шагов в секунду и нулевых демонстраций — новая парадигма RL-симуляторов

Когда исследователи говорят «обучение автономного вождения», перед ними стоит дилемма, которая не решается уже лет десять. Симуляторы, достаточно быстрые для reinforcement learning в промышленных масштабах, исторически лишены реализма — один тип агента, фиксированная динамика, никаких светофоров. А симуляторы с полной физикой и реалистичным трафиком — CARLA, SMARTS — в десятки тысяч раз медленнее и непригодны для обучения с нуля, где типичный сценарий требует миллиардов шагов.

TerraZero, представленный в июле 2026 года, впервые закрывает этот разрыв. Процедурный симулятор на C, соединённый с GPU по zero-copy пути, выдаёт 1,3 миллиона agent-steps в секунду на одном серверном GPU — и при этом поддерживает гетерогенный трафик (автомобили, пешеходы, велосипедисты), несколько моделей динамики и полноценное enforcement правил дорожного движения.

Всё это звучит как ещё одна статья про «быстрее и лучше». Но есть одна деталь, которая меняет картину: каждая политика, о которой сообщают авторы, обучена с нуля — без единой человеческой демонстрации. Ни imitation learning, ни logged trajectories, ни fallback-planner на инференсе. Чистый reinforcement signal.

Почемуlogged-данные — это ловушка

Проблема, которую решает TerraZero, начинается с распределения. Реальные данные вождения — это десятки миллионов километров записей с автомобильных флотов. Но 99% этих километров — рутинное движение по полосе, плавные повороты, штатные остановки. Именно те сценарии, в которых агенту нечему учиться.

Длинный хвост — плотные вливания на трассе, агрессивные перестроения, пешеходы, переходящие в неположенном месте, незащищённые левые повороты через встречный поток — встречается редко. Имитационное обучение на таких данных учится воспроизводить то, чего почти нет в логах. А сбор дополнительных данных в масштабах флота закрывает этот пробел мучительно медленно — распределение не меняется за один квартал.

Симулятор может систематически производить именно те сложные сценарии, которые нужны агенту больше всего. Но тут начинается компромисс: быстрые симуляторы уровня PufferDrive жертвуют реалистичностью ради скорости, а реалистичные среды уровня CARLA жертвуют скоростью ради деталей. TerraZero не выбирает между этими полюсами — он обходит саму дилему через процедурную генерацию.

Архитектура: разделение труда между CPU и GPU

Система построена на чётком разделении. Объектная динамика, построение наблюдений, вычисление наград и логика светофоров — всё это работает на CPU в C-движке, скомпилированном как CPython extension. Инференс политики и обучение — на GPU в PyTorch. Между ними — полностью zero-copy путь: C-движок пишет состояние симуляции напрямую в буферы, которые тренировочный цикл читает как тензоры. Никакой сериализации и аллокаций на каждый шаг — именно то, что обычно забивает CPU-bound симуляторы.

Дополнительные оптимизации: буферы размером ровно под активных управляемых агентов (без padding до фиксированного числа), 16-битные наблюдения, которые GPU интерпретирует бит-в-бит, вдвое снижая пропускную способность, и NUMA-aware привязка воркеров к ядрам, локальным для GPU данной ноды.

Результат — 560K agent-steps/sec на потребительском GPU, 1,3M на серверном, 2,8M на 8-GPU ноде. Для сравнения, объекты-ориентированные симуляторы, с которыми TerraZero сравнивается, выдают на порядки меньше. А CARLA и SMARTS, обеспечивающие сопоставимую реалистичность, медленнее в десятки тысяч раз.

Процедурная генерация: одна карта — бесконечное число сценариев

Центральная идея TerraZero — logged данные служат только источником геометрии карт. Реальные карты из Waymo Open Motion Dataset (~576K сценариев), nuPlan (262K сценариев в четырёх городах) и пяти синтетических CARLA-городов превращаются в статический холст. Всё остальное генерируется процедурно.

Каждая карта наполняется набором rule-based участников: припаркованные и реактивные автомобили, planner-driven трафик, кластеры аварий, строительные зоны, переходящие и нарушающие правила пешеходы. Светофоры управляются рандомизированными контроллерами. На каждом эпизоде рандомизируется динамика агентов, веса наград и размеры bounding-box'ов.

Шесть независимых осей конфигурации — классы агентов, динамика каждого класса, инициализация, управление сигналами, rule-based участники, рандомизация — свободно комбинируются. Каждая ось допускает подмножества своих опций, так что пространство сценариев растёт комбинаторно. Новая комбинация — это изменение конфигурации, а не кода.

Три типа динамики моделируются раздельно: пешеходы — unicycle model, велосипедисты и автомобили — bicycle model, грузовики — bicycle model с силами бокового отклонения шин. Автомобили актуируются на уровне jerk для плавного, ограниченного по jerk управления, остальные — по ускорению.

Self-play без демонстраций: вычислительная эффективность вместо выборочной

Обучение — tabula rasa. Политика стартует с рандомно инициализированных весов и учится исключительно из reinforcement сигнала. Ни imitation loss, ни зависимости от logged trajectories. PPO на базе PufferLib, распределённый на 16 NVIDIA A100 80GB (или 32 GPU для гетерогенного sim-agent), в bf16 mixed precision.

Ключевое наблюдение: когда роллауты дешёвые, правильная валюта — не sample efficiency, а compute efficiency. TerraZero намеренно отбрасывает низкоценные семплы и тратит освобождённые вычисления на агрессивные off-policy коррекции, нормализацию value и гетерогенную популяцию агентов.

Конкретно — saliency-prioritized sampling: вместо прохода по каждому собранному переходу система отбирает мини-батчи, семплируя сегменты траекторий с заменой пропорционально их приоритету. Сегменты с высоким advantage пересемплируются, сегменты с near-zero advantage просто пропускаются. Importance-sampling weights корректируют смещение.

Политика — компактный MLP на ~3,5M параметров: per-group энкодеры (ego MLP и permutation-invariant Deep Sets для дороги, партнёров и сигналов), трёхслойный 1024-unit MLP, общий для actor и value heads. Каждый агент наблюдает своё ego-состояние, до 20 партнёров в радиусе 50 метров и до 200 ближайших сегментов дороги.

Обучение: инфраструктура и конфигурация

Тренировочный стек распределён на 16 NVIDIA A100 80GB GPU для planner-политики и на 32 GPU для гетерогенного sim-agent, в bf16 mixed precision. PPO с GAE (Generalized Advantage Estimation) усилен тремя механизмами стабилизации: V-trace off-policy коррекции обрезают temporal-difference и trace terms, PopArt нормализует value function адаптивно к масштабу наград, а importance-sampling weights аннигилируют bias от приоритизированного семплинга с коэффициентом β, растущим в процессе обучения.

Компактная архитектура политики (~3,5M параметров) включает per-group энкодеры — ego MLP для собственных признаков и permutation-invariant Deep Sets для трёх наборов окружения (дорога, партнёры, сигналы). Выходы энкодеров конкатенируются и проходят через трёхслойный 1024-unit MLP, общий для actor и value heads. Это намеренно проще, чем трансформерные архитектуры конкурентов — авторы показывают, что при достаточной скорости симулятора простая архитекция с качественными данными выигрывает у сложных сетей, которые не могут собрать достаточно обучающих примеров.

Domain randomization покрывает три оси: кинематические параметры (масса, трение, размеры), веса наград (агенты с разными приоритетами — комфорт vs скорость vs безопасность) и плотность агентов (от пустых дорог до насыщенных сцен). Это критически важно для генерализации — политика, обученная в одном городе, должна работать в другом без переобучения.

Бенчмарки: первая fully learned политика на вершине InterPlan

Результаты на трёх бенчмарках — то, ради чего всё затевалось.

InterPlan (long-tail) — это набор из переписанных nuPlan-сцен, моделирующий редкие ситуации: строительные зоны, аварийные участки, нарушающие правила пешеходы. Именно тот «длинный хвост», в котором рутинные политики проваливаются. TerraZero — первая полностью обученная политика, возглавившая этот бенчмарк, опередив более крупные learned planners.

nuPlan val14 (routine driving) — стандартный split для городского вождения. Здесь TerraZero входит в число лучших подходов и демонстрирует лучшие показатели по collision и time-to-collision — то есть оказывается самым безопасным среди всех сравниваемых методов.

WOSAC (Waymo Open Sim Agents realism) — оценка реалистичности симулируемых агентов. Та же self-play рецептура превосходит другие demonstration-free методы и конкурентна с сильнейшим reference-anchored self-play подходом.

При этом одна и та же система обслуживает обе роли: driving policies (только автомобили) и sim agents (совместно управляющие автомобилями, пешеходами и велосипедистами). Emergent left-hand traffic — агент обучается левостороннему движению на картах nuPlan без явного наблюдения — демонстрирует, что процедурная рандомизация действительно покрывает сценарии, которые не закладывались вручную.

Почему это важно для индустрии

TerraZero не просто быстрее — он меняет экономику обучения. Если симулятор достаточно быстр, можно позволить себе «расточительные» стратегии: приоритизированный семплинг, агрессивные off-policy коррекции, гетерогенные популяции. Каждая из этих техник увеличивает compute на один шаг обучения, но радикально улучшает качество финальной политики. В медленных симуляторах такой tradeoff невозможен.

Применимость выходит за рамки автономного вождения. Тот же self-play подход с процедурной генерацией сценариев работает везде, где нужно обучение в среде с длинным хвостом редких событий — от робототехники (манипуляции с разнообразными объектами) до кибербезопасности (редкие атаки, которые невозможно встретить в нормальном трафике). Архитектурный паттерн «реальные данные = геометрия + рандомизация = бесконечные сценарии» универсален.

Ограничения

Система требует HD-карт с lane-level топологией, фазовой информацией светофоров и геометрией перекрёстков — регионы без таких карт недоступны. Объектная абстракция не моделирует визуальное восприятие: политики работают на ground-truth structured features, а не на камерных или лидарных входах. Sim-to-real gap для физической динамики — трение шин, подвеска, аэродинамика — остаётся открытой проблемой, которую domain randomization не полностью закрывает.

Часто задаваемые вопросы

Чем TerraZero отличается от CARLA или других графических симуляторов?

CARLA и графические симуляторы моделируют фотореалистичную визуальную среду с полной физикой — но работают на уровне единиц сценариев в секунду. TerraZero сознательно жертвует визуальной реалистичностью (работает на ground-truth features, не камерах) ради скорости в десятки тысяч раз. Это разные ниши: CARLA для восприятия, TerraZero для масштабного RL-обучения политических решений.

Что означает «zero demonstrations» на практике?

Ни одной записанной траектории человека в обучении. Агент стартует с рандомных весов и учится исключительно из reward-сигнала. Logged данные используются только как источник геометрии карт — формы дорог, перекрёстков, разметки. Это принципиально отличается от imitation learning или поведения клонирования, где агент повторяет действия водителя из логов.

Почему 1,3 миллиона шагов в секунду — это много?

Для сравнения, CARLA выдаёт порядка сотен шагов в секунду на одном GPU. PufferDrive — десятки тысяч, но с одним типом агента и без светофоров. TerraZero одновременно поддерживает три класса агентов, полную логику светофоров, реактивный трафик и процедурную генерацию — при этом достигая 1,3M steps/sec. Это означает, что за один день обучения можно собрать столько данных, сколько CARLA собирал бы месяцами.

Итог

TerraZero показывает, что дилема «скорость против реалистичности» в симуляторах автономного вождения — ложная. Процедурная генерация сценариев, zero-copy CPU-GPU пайплайн и compute-efficient self-play позволяют одновременно достичь промышленной скорости и сценарной глубины. Результат — первая fully learned политика, лидирующая на long-tail бенчмарке InterPlan, при максимальной безопасности на рутинном вождении.

Для исследователей автономных систем это сигнал: будущее обучения — не в сборе большего количества данных, а в умении синтезировать правильные сценарии. А для инженеров, работающих с RL в любых доменах с редкими критическими событиями, архитектурный паттерн TerraZero — реальные данные как геометрия плюс процедурная рандомизация как генератор сложности — стоит перенести в свои проекты.

← Все записи