
Исследователи из Хуачжунского университета науки и технологий и Huawei опубликовали TurboVLA — компактную vision-language-action модель, которая выдаёт действия для робота за 31.2 мс на потребительской RTX 4090 и набирает 97.7% на бенчмарке для роботов LIBERO. Главное отличие от других VLA в том, что внутри нет языковой модели. Вместо неё используется лёгкий текстовый энкодер BERT, а картинка и инструкция обмениваются информацией напрямую. Отсюда 0.2B параметров вместо миллиардов, и меньше 1 ГБ видеопамяти при инференсе. Обучали и тестировали модель на открытых датасетах LIBERO и RoboTwin 2.0. Закрытых датасетов не использовали совсем, поэтому результаты можно воспроизвести. Проект полностью открытый: код лежит на GitHub, веса выложены на Hugging Face.
Почему LLM внутри робота мешает
Чтобы понять, зачем всё это, нужно вспомнить, как обычно устроены VLA-модели. Робот получает картинку с камеры и текстовую инструкцию по типу «сложи три миски друг на друга». В классической схеме визуальные признаки сначала проецируются в пространство токенов большой языковой модели, склеиваются с токенами инструкции, прогоняются через LLM, и уже из её скрытых состояний декодируются действия. Авторы обозначают этот путь как V → L → A: сначала зрение, затем язык, потом действие.
Эта схема работает, потому что LLM приносит с собой семантические знания из предобучения и умеет обобщать на новые формулировки. Но у этого есть цена: на каждом шаге управления все визуальные токены проходят через модель с миллиардами параметров. Отсюда высокая задержка инференса и большой расход видеопамяти. Например, у модели π0.5 от Physical Intelligence на RTX 4090 от получения кадра до готового набора команд проходит 93.6 мс, то есть действия обновляются примерно 11 раз в секунду. Это заметная задержка для робота, который должен реагировать на изменения сцены в реальном времени.

Ключевое наблюдение авторов простое. Язык нужен для того, чтобы понять, какую задачу выполнять, но на уровне исполнения движения модели не требуется открытая генерация текста или самостоятельная декомпозиция задачи. Если в инструкции уже написано, что делать, то от текста нужно только одно: подсказать, на какие визуальные детали смотреть. Для этого достаточно лёгкого текстового энкодера.
Как устроена TurboVLA
Вместо V → L → A авторы предлагают прямое отображение V + L → A. Картинки и инструкция кодируются независимо, потом обмениваются информацией напрямую, минуя языковую модель.
- Визуальный энкодер (V): DINOv3 (ViT-B в основной конфигурации);
- Текстовый энкодер (L): BERT.
Оба выхода проецируются в общее скрытое пространство размерности d = 256. Важная деталь: из текста берут не усреднённый эмбеддинг предложения, а всю последовательность токенов, чтобы объекты, свойства и пространственные отношения из инструкции остались доступны для тонкой визуальной привязки. Изображения с нескольких камер конкатенируются, к признакам каждой добавляются позиционные эмбеддинги и эмбеддинг конкретного ракурса.
Состояние робота (углы суставов, положение схвата) кодируется отдельной лёгкой проекцией и подаётся сразу в декодер, а не в блок взаимодействия. Логика такая: для сопоставления слов и пикселей проприоцепция не нужна, она нужна только на этапе превращения понятой задачи в конкретные числа команд.

Двунаправленное кросс-внимание вместо LLM
Модуль взаимодействия состоит из N = 6 слоёв, в каждом есть layer norm, двунаправленное кросс-внимание и отдельные feed-forward сети для каждой модальности с остаточными связями.
Двунаправленность означает, что обновляются оба потока признаков. Внимание от визуальных признаков к текстовым добавляет в представление инструкции контекст сцены, а внимание в обратную сторону подсвечивает в картинке те области, которые относятся к задаче. Идея заимствована из Grounding DINO, модели для поиска объектов по текстовому описанию. Веса блоков взаимодействия инициализируются из предобученного feature enhancement модуля Grounding DINO, то есть модель стартует не с нуля в самой чувствительной части.
Дальше объединённые признаки вместе с состоянием робота идут в лёгкий трансформерный декодер в стиле ACT. Он принимает H обучаемых запросов действий и за один прямой проход выдаёт сразу весь чанк из H шагов непрерывных команд. Никакой авторегрессии, никакой токенизации действий. Обучение проходит методом поведенческого клонирования с функцией потерь ℓ1, дополнительная языковая цель не нужна.
Результаты на бенчмарке LIBERO
LIBERO — это набор задач манипуляции в симуляторе Robosuite на движке MuJoCo, где робот на каждом шаге получает семь чисел: шесть на перемещение и поворот манипулятора плюс одно на его сжатие. Четыре набора по десять задач (Object, Spatial, Goal, Long) устроены так, что каждый меняет ровно один фактор (предмет, его расположение, цель или длину сценария) и фиксирует остальные, поэтому по результатам видно, за счёт чего именно модель справляется или проваливается.
Авторы обучили одну общую модель на всех наборах: 80 тысяч шагов, 10 тысяч шагов прогрева, эффективный размер батча — 256, чанки — по 12 шагов семимерных непрерывных действий. Для оценки делали по 50 запусков на задачу, суммарно 2000 испытаний.
TurboVLA набирает 97.7% в среднем при 0.2B параметров, 0.9 ГБ видеопамяти и 31.2 мс задержки. Для сравнения, π0.5 даёт 96.9% при 3.4B параметров, 12.8 ГБ и 93.6 мс. То есть при примерно 6% параметров и втрое меньшей задержке результат чуть выше. VLA-JEPA набирает 97.2% при 2.8B и 108.7 мс, CogVLA 97.4% при 8.3B и 115.5 мс. Среди лёгких моделей Evo-1 даёт 94.8% при 0.8B, VLA-Adapter 97.3% при 1.5B.
Отдельно стоит отметить колонку Emb. PT. в таблице: у TurboVLA там стоит прочерк, дополнительного предобучения на роботических данных сверх LIBERO не проводилось. У большинства конкурентов с сопоставимым качеством такое предобучение есть.

На RoboTwin 2.0, где 50 задач требуют скоординированной работы двух рук, картина похожая. Версия с DINOv3 ViT-L (0.4B параметров) даёт 60.2% среднего успеха при задержке 43.4 мс, тогда как π0.5 набирает 57.0% при 95.6 мс, а StarVLA-α 50.3% при 74.9 мс. Обучение шло только на чистых демонстрациях, без рандомизации сцен, что авторы объясняют ограниченным вычислительным бюджетом.
Проверка на настоящем роботе
Симуляция симуляцией, но интереснее реальное железо. Тесты проводились на платформе AgileX Piper: шестистепенная рука, камера RGB-D на запястье и вторая камера со стороны. Четыре задачи: взять валик, отодвинуть игральную карту, нажать степлер, сложить три миски. Модель инициализировали чекпоинтом с LIBERO и дообучили на 4 × 65 телеуправляемых демонстрациях за 12.5 тысяч шагов. Каждая задача проверялась в 40 попытках.
Результаты: 92.5%, 80%, 90% и 87.5% соответственно, во всех четырёх случаях выше, чем у π0.5 при том же железе, тех же данных и том же протоколе оценки.

Что показали ablation-эксперименты
Здесь самое полезное для понимания того, что именно работает.
Первое: язык действительно нужен. Если убрать инструкцию совсем, средний успех падает с 97.7% до 70.8%, причём на наборе LIBERO-Goal обвал с 97.4% до 11.6%. Логично: в Goal сцена одна и та же, а требуемое поведение разное, и без текста модель просто не знает, какое из совместимых со сценой действий выбрать. Если заменить инструкцию обученным эмбеддингом идентификатора задачи, результат поднимается до 95.4%, но всё равно на 2.3% ниже полной версии. Значит, естественный язык даёт больше, чем просто номер задачи из закрытого списка.
Второе: конкретный текстовый энкодер не критичен. T5-Small даёт 97.1%, текстовый энкодер SigLIP 95.5%, BERT 97.7%. Архитектура не привязана к одному представлению текста.
Третье: двунаправленность взаимодействия важна. Простая конкатенация признаков без обмена информацией даёт 95.2%. Односторонние варианты (обновляем только текст или только картинку) дают 96.1% и 96.5%. Двунаправленный обмен добавляет ещё около процента до 97.7%.

Четвёртое: у глубины взаимодействия и горизонта действий есть оптимум. Рост числа слоёв с N = 2 до N = 6 поднимает успех с 93.5% до 97.7%, а N = 8 уже даёт откат до 96.6%. С горизонтом чанка так же: H = 8 даёт 96.4%, H = 12 даёт 97.7%, H = 15 падает до 95.6%. Короткий горизонт ограничивает выразительность во времени, слишком длинный усложняет предсказание всего чанка сразу.
Ограничения
Авторы честно оговаривают границы применимости. TurboVLA рассчитана на конкретные исполнительные инструкции. Модель не поддерживает сложное семантическое понимание и рассуждения, нужные для планирования задач высокого уровня, потому что оттуда как раз убрали ту часть, которая этим занималась. Если попросить робота «приготовить завтрак», разбивать это на шаги будет нечем.
Естественное продолжение, которое авторы называют направлением дальнейшей работы: иерархическая схема, где LLM отвечает за планирование и вызывается редко, а быстрая исполнительная модель вроде TurboVLA крутится в цикле управления. Отдельно стоит держать в голове, что LIBERO и RoboTwin 2.0 остаются симуляционными бенчмарками, а реальные тесты ограничены четырьмя задачами на одной платформе.
Главный вывод работы: сильное качество манипуляции на уровне исполнения не обязано быть привязано к LLM в центре пайплайна. Это повод пересмотреть, за что именно в VLA-архитектурах отвечает LLM и на каких этапах она действительно необходима.









