RoboTTT: как 8000 шагов контекста превратили робота в мастера сборки
Большинство современных foundation-моделей для роботов живут в одном моменте: они видят текущий кадр и выдают действие. Некоторые помнят пару предыдущих кадров — но не больше восьми. Этого хватает, чтобы поднять предмет или повернуть его в руке, но недостаточно для задач, где нужно помнить, что делал минуту назад, и планировать на пять минут вперёд.
Команда исследователей представила RoboTTT — архитектуру, которая масштабирует visuomotor-контекст до 8000 шагов. Это в тысячу раз дальше, чем у существующих state-of-the-art моделей. И что важнее — без роста задержки при инференсе. Робот, обученный по этой.recipe, с первого раза копирует движения человека из видеодемонстрации, адаптируется к помехам и полностью собирает игрушечного робота за пять минут — задачу, которую ни один базовый метод раньше не доводил до конца.
Почему короткие контексты — это потолок для роботов
Современные Vision-Language-Action (VLA) модели работают по принципу «один кадр — одно действие». π0, OpenVLA, Octo — все они получают текущее наблюдение и генерируют чанк действий на несколько следующих шагов. Некоторые добавляют историю: 2, 4 или 8 кадров. Это помогает справиться с краткосрочной динамикой — например, с дрожанием руки или смещением объекта.
Но для длинных задач этого мало. Представьте, что робот собирает модель автомобиля: ставит крышу, закручивает винты, переворачивает корпус, вставляет колёса, прикручивает их. На это уходит две минуты и десять последовательных этапов. Если на шестом этапе робот «забыл», что крышу нужно было прикрутить до переворота, он начинает крутить винты в перевёрнутый корпус — и ломает всю последовательность.
Существующие подходы к длинной памяти — вынос ключевых кадров во внешние хранилища или делегирование семантики языковой модели — обходят проблему, но не решают её. Ключевые кадры теряют моторные детали, а язык не может описать точную траекторию захвата. Нужен именно visuomotor-контекст — длинные последовательности визуальных наблюдений и действий, из которых модель может извлекать паттерны напрямую.
Test-Time Training: память через градиентный спуск
В основе RoboTTT лежит идея Test-Time Training (TTT) — механизм, при котором часть параметров модели обновляется не только во время обучения, но и во время инференса. Это так называемые «быстрые веса» (fast weights) — небольшая нейросеть внутри основной модели, которая непрерывно подстраивается под то, что видит.
Устройство работает так. На каждом шаге быстрые веса обновляются градиентным спуском, чтобы связать ключевые токены (key) с их значениями (value). Затем обновлённые веса применяются к запросу (query) — и результат несёт в себе сжатую информацию о всей предыдущей истории. Это не attention в классическом понимании, где каждый новый токен тащит за собой всю KV-таблицу: здесь история сжимается в параметры, а размер параметров фиксирован и не растёт с длиной контекста.
Для роботов это значит, что модель может «запомнить» 8000 кадров без квадратичного роста вычислений. На инференсе задержка остаётся константной — каждый новый шаг обрабатывается за фиксированное время, независимо от того, что было до этого.
Архитектура: GR00T N1.7 + 16 слоёв TTT
RoboTTT не изобретает новую foundation-модель с нуля, а встраивается поверх существующей. Базой выбран GR00T N1.7 от NVIDIA — модель с VLM-бэкендом Eagle и Diffusion Transformer (DiT) в качестве action head. DiT имеет 538 миллионов параметров. В каждый из 16 слоёв DiT добавляется TTT-слой с собственными ~10 миллионами параметров, итого 690 миллионов.
Критическая архитектурная деталь: TTT-слои стоят после self-attention и cross-attention, а не заменяют их. Attention обрабатывает информацию внутри одного шага (какие детали кадра важны для текущего действия), а TTT обрабатывает информацию между шагами (что было раньше и как это связано с текущим наблюдением). Это разделение позволяет каждой компоненте делать то, что она делает лучше всего.
Обучение идёт на NVIDIA GB200, по 16 GPU на претренинг и 8 на пост-тренинг. Претренинг — 30 тысяч шагов на смеси бимануальных данных настольных роботов и эгоцентрических человеческих видео. Пост-тренинг — 20 тысяч шагов с контекстом 1K на данных конкретной задачи. Оптимизатор AdamW, расписание Warmup-Stable-Decay для претренинга и cosine для пост-тренинга.
Что даёт длинный контекст: четыре новые способности
One-shot имитация с видео. RoboTTT может посмотреть одно человеческое видеодемонстрация и повторить движение. В экспериментах на задаче Circuit (80 конфигураций сборки) модель успешно完成了 задачу в 6 из 10 попыток после показа одного видео. Базовые методы — ни в одной. Это не обучение: модель берёт конкретную конфигурацию из видео и воспроизводит последовательность действий.
Улучшение на лету. Если робот начинает ошибаться — скажем, захватывает объект не с той стороны — TTT-слои обновляют быстрые веса на основе текущей ошибки и корректируют политику прямо во время выполнения. Без специальной тренировки на эту способность модель показывает на 36% лучшие результаты, чем идентичная архитектура без TTT.
Устойчивость к помехам. При внешних возмущениях (кто-то сдвинул объект, изменилось освещение, появилась преграда) RoboTTT успешно справляется в 83% случаев. Лучший коротко-контекстный базовый метод — 53%. Разница в 30 процентных пунктов — это не «немного лучше», это качественно другой уровень робастности.
Многоэтапные задачи. На задаче Gear Bot — полной сборке игрушечного робота с установкой шестернёк, колёс, двумя переворотами корпуса, креплением головы и дистанционным управлением — RoboTTT полностью завершил задачу в 2 из 10 попыток. Средняя оценка выполнения — 79%, что на 87% выше одиночного-шагового базового метода (42%) и на 41% выше следующего лучшего метода GDN (56%). Ни один базовый метод никогда не доводил Gear Bot до конца.
Масштабирование контекста — новый scaling law
Самое интересное наблюдение: при увеличении длины претренингового контекста с 512 до 8192 шагов производительность монотонно растёт. Каждый удвоение контекста даёт заметный прирост в задачах закрытого цикла. Это первый доказанный случай, когда масштабирование контекста напрямую улучшает реальное поведение робота — не только benchmarks на тестовом наборе, а живую работу с железом.
Это перекликается со scaling laws в LLM: там тоже увеличение длины контекста (с 4K до 128K до миллионов токенов) давало качественные скачки — модели начинали решать задачи, которые раньше были недоступны. Для роботов это означает, что контекст — не просто инженерная деталь, а новый фактор роста возможностей.
Обучение: truncated backpropagation через 8K шагов
Обучать модель на 8000 шагах контекста напрямую невозможно — градиенты либо взрываются, либо затухают. RoboTTT решает эту проблему через Truncated Backpropagation Through Time (TBPTT): последовательность разбивается на сегменты, и градиенты распространяются только внутри каждого сегмента, с передачей состояния между сегментами. В сочетании с Sequence Action Forcing — техникой, при которой модель сначала обучается предсказывать правильные действия на коротких отрезках, а затем постепенно учится расширять горизонт, — это позволяет тренировать стабильно даже на контекстах в тысячи шагов.
Результат: после 30 тысяч шагов претренинга модель уже демонстрирует монотонный рост качества при увеличении контекста. Каждое удвоение длины — с 512 до 1K, с 1K до 2K, с 2K до 4K и с 4K до 8K — даёт измеримый прирост в task completion score на реальных задачах.
Сравнение с альтернативами
GDN (Gated DeltaNet) — линейная рекуррентная память, которая обновляет состояние без градиентного спуска. Она быстрее, чем полный attention, но медленнее, чем TTT при длинных контекстах. На задачах RoboTTT GDN набирает 56% против 79% — разница существенна, особенно на Gear Bot, где GDN не доходит до конца ни разу.
Подход с внешними хранилищами ключевых кадров (keyframe memory) решает проблему длины, но теряет моторную детализацию. Модель видит «объект А был здесь» — но не помнит точную траекторию, угол захвата, усилие. Для задач с винтами и шестерёнками это критично: ошибка в миллиметр на пятом этапе ломает седьмой.
Ограничения
Авторы честно указывают на три проблемы. Первая: увеличение контекста при обучении дорого — нужен больше GPU-часов. Вторая: TTT-слои используют стандартный градиентный спуск; более продвинутые оптимизаторы (например, Muon) могут дать прирост, но не тестировались. Третья: RoboTTT значительно улучшает, но не устраняет полностью отказы — сочетание с reinforcement learning для прямой оптимизации успеха остаётся естественным следующим шагом.
Что это значит для индустрии
RoboTTT показывает, что масштабирование контекста — рабочий путь для робототехники, а не только для языковых моделей. Это открывает дверь к роботам, которые учатся с одного демонстрационного видео на рабочем месте, адаптируются к изменениям среды без переобучения и выполняют задачи длительностью в десятки минут без внешних планировщиков.
Для производственных линий это означает, что робот может получить инструкцию «собери вот такую конфигурацию» (в виде видео или последовательности кадров), запомнить её в fast weights и выполнить без остановки на перекалибровку. Для домашних роботов — что модель, один раз увидев, как человек открывает конкретный тип упаковки, сможет повторить это движение.
8000 шагов контекста без роста задержки — это не академический рекорд. Это архитектурный сдвиг, который делает возможными задачи, ранее требовавшие совершенно другого подхода. И если scaling law для контекста в робототехнике работает так же, как в LLM, мы только в начале пути.
Практические детали развёртывания
При деплое RoboTTT использует инкрементальное обновление быстрых весов: на каждом шаге TTT-слой получает новый токен, обновляет свои fast weights и выдаёт действие — всё за одно прямой проход без пересчёта истории. Это кардинально отличается от chunked-prefill подходов, где модель периодически «пережевывает» всю историю заново. Результат — предсказуемая задержка на каждый шаг, критически важная для реального времени.
В экспериментах модель работает с 4 RGB-камерами (верхняя, нижняя, левый и правый запястные) и обрабатывает проприоцепцию через отдельный encoded-токен. Action head предсказывает чанк из H действий за один шаг — это уменьшает количество вызовов модели в H раз и сглаживает моторные команды. Суммарная архитектура: VLM Eagle → VL-токены → DiT с TTT-слоями → action chunk.
Часто задаваемые вопросы
Чем RoboTTT отличается от обычных рекуррентных моделей?
Обычные RNN и их современные варианты (LSTM, GRU, DeltaNet) обновляют скрытое состояние фиксированной функцией. RoboTTT использует градиентный спуск для обновления «быстрых весов» — маленькой нейросети внутри каждого слоя. Это позволяет сжимать 8000 шагов истории в фиксированный объём параметров с качеством, недостижимым для классических рекуррентных механизмов.
Насколько это быстрее альтернатив с полной памятью?
Полно-attention модели с KV-кешем растут линейно по задержке: каждый новый шаг требует прочитать всю историю. RoboTTT при 8K шагах обрабатывает каждый новый кадр за константное время — быстрые веса уже содержат сжатую историю. Это разница между секундами и минутами на длинных задачах.
Работает ли это с другими роботами, не только бимануальными?
Архитектурно RoboTTT совместим с любым VLM-бэкендом. В статье он инстанцирован на GR00T N1.7 (бимануальный YAM-манипулятор с 4 камерами), но механизм TTT-слоёв — backbone-agnostic. Авторы указывают, что подход применим к любым robot foundation models с action head.
Сколько данных нужно для обучения?
Для претренинга — смесь настольных бимануальных данных и эгоцентрических человеческих видео, акцентированная на длинных траекториях. Для конкретной задачи (пост-тренинг) — от 5 до 8 часов реального роботного времени на задачу, с 20 тренировочными конфигурациями и 60 тестовыми.
Что такое «быстрые веса» и чем они отличаются от обычных параметров?
Обычные параметры модели (slow weights) обновляются только при обучении и заморожены при инференсе. Быстрые веса (fast weights) — это небольшая нейросеть (2-слойный MLP с ~10M параметров в каждом TTT-слое), которая обновляется градиентным спуском и во время обучения, и во время выполнения задачи. Это позволяет модели «запоминать» текущий контекст без изменения основной модели.