Модели фундаментов роботов
Объяснение моделей «видение-язык-действие»: как VLA используются в современных роботах
Модели «зрение-язык-действие» — это роботизированный эквивалент GPT-4 — массивные предварительно обученные нейронные сети, которые можно точно настроить для выполнения широкого спектра физических задач. Понимание того, что такое VLA, как они работают и когда их использовать, теперь является важным знанием для любого серьезного специалиста по робототехнике.
Джерри Хуанг, Центр робототехники Кремниевой долины
Что такое модель «видение-язык-действие»?
Модель «зрение-язык-действие» (VLA) — это нейронная сеть, которая принимает визуальные наблюдения (изображения с камеры) и инструкции на естественном языке в качестве входных данных и выводит действия робота — скорость суставов, позы конечного исполнительного органа или команды захвата. Часть «видение-язык» относится к предварительно обученной магистрали: эти модели наследуют свое визуальное и семантическое понимание от крупномасштабного предварительного обучения в Интернете на парах изображение-текст, во многом подобно CLIP или модели визуального языка (VLM). «Действующая» часть — это голова точной настройки, обученная на демонстрационных данных робота.
Основная идея заключается в том, что предварительное обучение на интернет-данных дает скелету робота богатое представление о физическом мире — что представляют собой объекты, как они соотносятся в пространстве и что означает язык — еще до того, как он когда-либо увидит демонстрацию робота. Затем точная настройка адаптирует это представление к варианту реализации робота и целевым задачам. Поскольку позвоночник уже понимает «возьми синюю чашку» или «открой ящик слева», модель может быть обобщена на новые объекты и формулировки задач с гораздо меньшим количеством демонстраций, чем политика, обученная с нуля.
Архитектура VLA: три компонента
Все VLA имеют одну и ту же трехэтапную архитектуру, хотя реализации существенно различаются в том, как реализуется каждый этап:
-
Vision Encoder: преобразует изображения с камеры в последовательность визуальных токенов. Большинство VLA используют предварительно обученный преобразователь изображения (ViT) — OpenVLA использует SigLIP ViT-L/14 (параметры 304M), RT-2 использует ViT-G (параметры 1,8B). Видеокодер — это компонент, который наиболее непосредственно передается из предварительного обучения в Интернете, поскольку визуальные функции, полученные из веб-изображений (распознавание объектов, пространственная компоновка, понимание текстур), непосредственно полезны для восприятия робота. Разрешение изображения имеет значение: 224x224 является стандартным, но ограничивает детальное восприятие; некоторые модели (pi0) используют разрешение 384x384 или выше для задач, требующих точности изображения до субсантиметра.
-
Базовая сеть с языковыми условиями: большая языковая модель, которая обрабатывает визуальные токены наряду с токенами языковых инструкций. Именно здесь происходит семантическое рассуждение — основа определяет, что «взять красное яблоко» требует идентификации красного яблока в визуальных токенах и планирования соответствующей последовательности действий. OpenVLA использует LLaMA-2 7B; РТ-2 использует PaLM-E 55B; pi0 использует специальную магистраль 3B. Размер магистрали определяет как способность модели рассуждать, так и стоимость ее вывода.
-
Заголовок действия: преобразует выходные данные магистрали в действия, специфичные для робота. Это критический выбор дизайна, который отличает архитектуры VLA:
Токенизированные действия (RT-2, OpenVLA): дискретизируйте пространство непрерывных действий на ячейки (обычно 256 ячеек на измерение) и прогнозируйте токены действий с помощью головки прогнозирования токенов языковой модели. Просто реализовать, поскольку он повторно использует существующий механизм вывода языковой модели. Ограничение: дискретизация приводит к ошибке квантования (~0,5 мм при 256 интервалах на рабочем пространстве 12 см), а многоэтапное предсказание требует генерации авторегрессии, которая работает медленно.
Регрессия непрерывного действия (окто): добавьте небольшую головку MLP, которая напрямую прогнозирует значения непрерывного действия. Задержка ниже, чем у токенизированных подходов, но может потерять некоторые преимущества обобщения языковой модели.
Головка действия, согласующая поток (pi0): моделируйте распределение действия как непрерывный поток и отбирайте из него образцы, используя диффузионный процесс шумоподавления. Обеспечивает плавные, непрерывные траектории движения. Лучше всего подходит для ловких задач, но увеличивает время вывода на 50–100 мс.
Сравнение ключевых моделей
Параметры модели Action Head Обучающие данные GPU для точной настройки доступа к задержке вывода
RT-2 55B Токенизированный внутренний модуль Google + веб-модуль TPU v4 (не общедоступный) ~ 1–2 секунды на шаг Закрыто (Google)
RT-2-X 55B Токенизированный модуль Open X-Embodiment TPU v4 (не общедоступный) ~ 1–2 секунды на шаг Закрыто (Google)
OpenVLA 7B Токенизированный Open X-Embodiment (970 тыс. eps) 1x A100 80 ГБ ~200 мс на шаг Открытый исходный код (HuggingFace)
Octo 93M Непрерывный (диффузия) Открытый X-Embodiment (800 тыс. эпизодов в секунду) 1x RTX 4090 24 ГБ ~50 мс на шаг Открытый исходный код (HuggingFace)
pi0 3B Согласование потоков Собственный (более 10 тыс. часов) Только корпоративный доступ ~100 мс на шаг Коммерческий (физический интеллект)
RT-2 и RT-2-X: базовые показатели Google DeepMind
RT-2 (Robotics Transformer 2), выпущенный Google DeepMind в 2023 году, стал первой демонстрацией того, что масштабирование модели языка видения для управления роботом дает качественно новые возможности. RT-2 одновременно доработал модель языка видения PaLI-X для веб-данных и траекторий роботов, создав политику, которая могла бы следовать новым инструкциям, рассуждать о свойствах объектов и обобщать объекты, которые он никогда не видел в демонстрациях роботов — только в Интернете.
RT-2 показал, что VLA могут рассуждать по цепочке мыслей: когда ее попросили подобрать «что-то, что можно использовать для очистки разлива», модель идентифицировала губку с места происшествия, хотя ей даже не было явно сказано ассоциировать губки с уборкой. Эта возникающая способность — семантическое обобщение за пределами распределения обучения — является тем, что качественно отличает VLA от классической политики имитационного обучения.
RT-2-X расширил RT-2 за счет обучения на наборе данных Open X-Embodiment (демонстрации 22 вариантов реализации робота), показывая, что обучение между вариантами реализации улучшает обобщение. Политика, обученная на данных нескольких роботов, работает лучше для каждого отдельного робота, чем политика, обученная только на данных этого робота — аналогично тому, как многоязычные языковые модели превосходят одноязычные.
OpenVLA: отправная точка открытого исходного кода
OpenVLA, выпущенная исследователями из Стэнфорда и Беркли в 2024 году, демократизировала тонкую настройку VLA, опираясь на Prismatic VLM с открытым исходным кодом (сама основанная на LLaMA) и обучая набору данных Open X-Embodiment — коллекции из 970 тысяч эпизодов демонстраций роботов из 22 различных вариантов реализации. OpenVLA — это отправная точка, которую сегодня использует большинство исследовательских групп, поскольку она имеет полностью открытый исходный код, хорошо документирована и обеспечивает высокую производительность в стандартных тестах манипуляций.
Для точной настройки OpenVLA для выполнения индивидуальной задачи требуется всего 50–200 демонстраций, набор данных, отформатированный в соответствии с соглашениями HuggingFace LeRobot, и один графический процессор A100 или H100 емкостью 80 ГБ для обучения продолжительностью несколько часов. Полученная в результате политика удивительно способна обобщать вариации сцен и новые положения объектов, не замеченные при обучении, благодаря предварительно обученной визуальной основе.
Тонкая настройка OpenVLA (упрощенная)
Требуется: 1x A100 80 ГБ, ~4 часа для 200 демоверсий
pip установить openvla
Отформатируйте ваши данные в формате LeRobot.
скрипты Python/convert_to_lerobot.py
–input_dir svrc_demos/
–output_dir lerobot_dataset/
Точная настройка OpenVLA под вашу задачу
python Finetune.py
–модель openvla/openvla-7b
–dataset lerobot_dataset/
–task_name “pick_and_place_cups”
–эпохи 50
–batch_size 8
–lr 2e-5
–lora_rank 32 # LoRA для эффективности использования памяти
Оценить
python Assessment.py
–checkpoint output/checkpoint_best.pt
–num_trials 50
–record_video
Служба сбора данных ROBO.RU создает наборы данных в формате, совместимом с LeRobot, готовым к точной настройке OpenVLA «из коробки».
Octo: легкая альтернатива
Octo (Ghosh et al., 2024) использует другой подход: вместо масштабирования большой языковой модели создайте специальную архитектуру-трансформер, которая достаточно мала для работы на обычном оборудовании. При 93 миллионах параметров Octo в 75 раз меньше OpenVLA и выполняет вывод за 50 мс на RTX 4090 — достаточно быстро для управления в реальном времени с частотой 20 Гц.
Octo использует головку диффузного действия, а не токенизированные действия, что обеспечивает более плавные траектории. Он поддерживает как языковое кондиционирование, так и кондиционирование образа цели (покажите роботу изображение желаемого конечного состояния вместо того, чтобы описывать его на языке). Для команд, не имеющих доступа к A100 или которым необходим вывод в режиме реального времени на периферийном оборудовании, Octo — практичный выбор. Точная настройка Octo на 200 пользовательских демонстрациях занимает примерно 2 часа на одном RTX 4090.
Компромисс: меньшая магистраль Octo означает меньшее семантическое понимание. Он не может выполнить цепочку рассуждений, которую может RT-2. Для задач, где инструкция проста («поднимите чашку») и обобщение на новые объекты не имеет решающего значения, производительность Octo соответствует OpenVLA при незначительной стоимости вычислений. Для задач, требующих сложного понимания языка или рассуждений о свойствах объекта, необходимы OpenVLA или более крупные модели.
pi0: Общая политика физического интеллекта
pi0 из Physical Intelligence (pi.ai) представляет собой коммерческий рубеж разработки VLA. В отличие от OpenVLA, который наследует основу языковой модели, pi0 использует головку действия, согласующую поток, которая создает непрерывные, плавные траектории действий — больше подходящие для ловких задач, чем дискретные токенизированные действия. pi0 обучался на собственном наборе данных, состоящем из более чем 10 000 часов демонстрации роботов при выполнении десятков задач и аппаратных платформ.
Что отличает pi0 с архитектурной точки зрения, так это разделение между «медленным» путем речевого обусловленного мышления и «быстрым» путем реактивного управления моторикой. Это отражает идеи когнитивной науки о двухпроцессных системах управления. Медленный путь обрабатывает инструкцию задачи и текущую сцену для создания плана высокого уровня; быстрый путь генерирует двигательные команды с малой задержкой. Результатом является политика, которая может обрабатывать как долгосрочные рассуждения, так и высокочастотный реактивный контроль, открывая двери для таких задач, как складывание белья, где обе эти задачи необходимы одновременно.
Доступ к pi0 для коммерческого развертывания доступен через корпоративную программу Physical Intelligence. Для команд, изучающих архитектуры в стиле pi0, тесты ROBO.RU включают оценку политик сопоставления потоков в стандартных пакетах манипуляций, что дает вам ориентир для ожидаемой производительности перед выполнением обучающего запуска.
Требования к обучающим данным
Производительность VLA масштабируется как за счет разнообразия данных перед обучением, так и за счет точной настройки качества данных для конкретной задачи. Эмпирические масштабные соотношения, наблюдаемые в опубликованных результатах VLA:
Демонстрации точной настройки сценариев. Ожидаемый уровень успеха. Примечания.
Нулевой выстрел (без тонкой настройки) 0 10–30% Работает, только если задача находится в предварительном распределении
Минимальная точная настройка 10–50 40–60 % Достаточно для простых задач с предварительно обученной основой
Стандартная точная настройка 50–200 70–85 % Оптимальная точка для большинства задач — лучший возврат инвестиций при сборе данных
Тяжелая точная настройка 200–1000 85–95% Убывающая доходность выше 500; вариации важнее
Специализированная тонкая настройка 1000+ 90-98% Качество промышленного внедрения; может переработать задачу
Критические требования к качеству данных: демонстрации должны включать языковую инструкцию в качестве метаданных, точки обзора камеры должны соответствовать настройке развертывания, а демонстрации должны охватывать весь спектр поз объектов и конфигураций сцен, с которыми столкнется политика. Набор данных из 200 демонстраций с различными конфигурациями превосходит 500 демонстраций с повторяющимися конфигурациями.
Требования к выводу и развертывание
Развертывание VLA — это проблема вычислений. Требования к выводу существенно различаются в зависимости от модели:
Octo (93M параметров): работает на RTX 4090 (24 ГБ видеопамяти) с частотой 20 Гц. Может быть развернут на Jetson AGX Orin с частотой 5–8 Гц с оптимизацией TensorRT. Наименьший VLA, поддерживающий обобщение между воплощениями.
OpenVLA (параметры 7B): требуется A100 или H100 (80 ГБ видеопамяти) для вывода с полной точностью при частоте 5 Гц. С 4-битным квантованием (GPTQ или AWQ) подходит для RTX 4090 с частотой 3–4 Гц. Точная настройка LoRA уменьшает объем памяти до ~40 ГБ.
RT-2 (параметры 55B): требуется несколько графических процессоров A100/H100 с тензорным параллелизмом. Непрактично для развертывания с одним роботом; изначально работал на внутренней инфраструктуре TPU Google. Вот почему существует OpenVLA — чтобы обеспечить возможности класса RT-2 в масштабе развертывания.
pi0 (параметры 3B): оптимизирован для развертывания. Работает на одном A100 или его эквиваленте с частотой 10 Гц. Физический интеллект предоставляет сервер вывода, который обрабатывает пакетные запросы для развертываний нескольких роботов.
Для большинства исследовательских групп практический выбор — между Octo (дешевый, быстрый, менее функциональный) и OpenVLA (дорогой, медленный, более функциональный). Начните с Octo, чтобы проверить свою задачу и конвейер данных, затем обновите его до OpenVLA, если вам нужно лучшее понимание языка или обобщение новых объектов.
Zero-Shot против точной настройки производительности
Ключевой вопрос для практиков: насколько важна точная настройка и когда достаточно производительности с нулевым выстрелом?
Zero-shot работает, когда: задача обычная (выбрать место, открыть/закрыть ящик), объекты представляют собой повседневные предметы, которые появляются в данных перед обучением, точка зрения камеры аналогична стандартным исследовательским установкам (вид от третьего лица сверху или взгляд в руке), а языковая инструкция проста и недвусмысленна.
Точная настройка необходима, когда: задача предполагает нестандартное оборудование или необычную кинематику, объекты специализированы (лабораторное оборудование, промышленные детали), конфигурация камеры нестандартна, задача требует точности, превышающей ту, которую достигает предварительно обученная модель, или среда развертывания имеет уникальные визуальные характеристики (специфическое освещение, фон).
На практике почти все производственные развертывания требуют тонкой настройки. Производительность с нулевым выстрелом обеспечивает полезную проверку работоспособности: если VLA вообще не может выполнить задачу в режиме с нулевым выстрелом, либо задача находится очень далеко от обучающего распределения (требуется много данных для точной настройки), либо задача может быть лучше решена с помощью подхода без VLA.
Текущие ограничения
Задержка вывода: даже самые быстрые VLA (октябрь 50 мс) медленнее классических политик (ACT 10 мс, политика диффузии 15 мс с DDIM). Для задач, требующих управления >30 Гц (чувствительная к силе сборка, реактивный захват), VLA работают слишком медленно без специального аппаратного ускорения.
Характеристики фазы контакта: VLA превосходны на этапе подхода (идентификация объектов, планирование траекторий), но испытывают трудности с фазой контакта (регулирование силы, введение, манипуляции руками). Языковая основа не дает никакой полезной информации о динамике контакта. Гибридные подходы — VLA для подхода, силовая/тактильная политика для контакта — являются современной лучшей практикой.
Галлюцинации. Как и языковые модели, VLA могут «галлюцинировать» — предсказывать уверенные действия в ситуациях, когда правильное действие неясно. Это проявляется в том, что робот выполняет движение захвата, когда нет объекта, который можно было бы схватить, или выполняет инструкцию, которая физически невозможна. Уровни безопасности (пределы силы, границы рабочего пространства) имеют важное значение.
Стоимость обучения: предварительное обучение VLA с нуля требует миллионов демонстраций роботов и сотен часов работы графического процессора. Даже точная настройка OpenVLA стоит 50–200 долларов США за облачные вычисления за один обучающий сеанс. Для команд, быстро меняющих определения задач, эти затраты складываются.
Чем VLA отличаются от классической политики имитационного обучения
Классические политики IL — ACT, Diffusion Policy, BC-Z — полностью учатся на демонстрационных данных роботов. Их визуальные представления изучаются с нуля или с помощью узкого предварительно обученного кодировщика (например, R3M или MVP). Они хорошо обобщают результаты своего обучения, но с трудом справляются с новыми объектами, изменениями освещения или инструкциями по выполнению задач, которые перефразируют цель. Им также требуется больше демонстраций для достижения заданного уровня производительности, поскольку им не хватает семантического предварительного обучения, которое обеспечивает предварительное обучение.
VLA обменивают вычисления на обобщение. Классическая политика ACT для графического процессора стоит копейки за вывод; шаг вывода VLA для модели с 7B параметрами стоит на порядки дороже. Для задач, требующих широкого обобщения по средам и инструкциям, лучше подходят VLA. Для узко определенной, повторяющейся промышленной задачи, где у вас есть более 1000 демонстраций и вы можете настроить среду, классическая политика часто обеспечивает лучшую скорость и надежность при меньших затратах. Схема практического решения: если ваша задача требует обобщения, начните с магистрали VLA. Если он узкий и высокопроизводительный, оптимизируйте классическую политику.
Материал подготовлен редакцией ROBO.RU на основе открытых данных отрасли. Актуальные модели и условия поставки — в каталоге роботов и на форуме.
