Масштабное обучение OpenVLA: как создавать наборы данных для обучения роботов

Кратко:

  • OpenVLA — это модель vision-language-action с открытым исходным кодом и 7 млрд параметров для задач роботизированной манипуляции
  • Обучена на 970 тыс. эпизодов робототехнических задач из набора данных Open X-Embodiment (22 типа роботов, 527 навыков)
  • Превосходит закрытые модели с 55 млрд параметров, такие как RT-2-X, на нескольких бенчмарках
  • Для дообучения новых конфигураций роботов достаточно всего 100 демонстраций с LoRA
  • The biggest challenge in robotics AI isn’t the model architecture; it’s building diverse, high-quality training datasets
  • Сбор видео- и визуальных данных в больших объемах требует надежной прокси-инфраструктуры и автоматизации

Enterprise Note: Для исследовательских команд или компаний, создающих AI-системы для робототехники, которым нужны миллионы визуальных обучающих примеров, инфраструктура сбора данных корпоративного уровня становится критически важной. Узкие места здесь — масштаб, доступность и разнообразие данных. Такие решения, как Платформа видеоданных Bright Data Может обеспечить надежные пайплайны, необходимые для создания наборов данных промышленного масштаба.

ИИ для робототехники входит в период прорыва. Так же как большие языковые модели преобразовали генерацию текста, а модели компьютерного зрения изменили понимание изображений, vision-language-action-модели (VLAs) меняют то, как роботы учатся взаимодействовать с физическим миром.

В центре этого сдвига находится OpenVLA, модель с открытым исходным кодом на 7B параметров, которая умеет управлять роботами из коробки, понимать инструкции на естественном языке и адаптироваться к новым задачам при минимальном количестве обучающих данных.

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

Что такое OpenVLA?

OpenVLA — это модель vision-language-action с открытым исходным кодом, разработанная исследователями из Stanford, UC Berkeley, Toyota Research Institute и Google DeepMind. Она обрабатывает изображения с камер, интерпретирует команды на естественном языке и выдает непрерывные управляющие действия для роботов.

Архитектура модели объединяет три ключевых компонента:

  1. Объединённый визуальный энкодер используя бэкбоны SigLIP и DinoV2
  2. Проекционный слой который проецирует визуальные признаки в пространство ввода языковой модели
  3. Языковая модель Llama 2 на 7B параметров который предсказывает токенизированные действия робота

OpenVLA выделяется прежде всего своими обучающими данными. Команда отобрала 970 000 траекторий роботизированных манипуляций из Датасет Open X-Embodiment, охватывающий 22 различные робототехнические платформы и 527 отдельных навыков.

Результат? OpenVLA превосходит RT-2-X, закрытую модель Google с 55 млрд параметров, оставаясь полностью с открытым исходным кодом и в 8 раз компактнее.

Начало работы с OpenVLA

Вы можете запустить инференс OpenVLA всего несколькими строками кода:

с сайта transformers импорт AutoModelForVision2Seq, AutoProcessor
с сайта PIL импорт Image
импорт torch
# Load the model and processor
processor = AutoProcessor.from_pretrained("openvla/openvla-7b", trust_remote_code=Правда)
vla = AutoModelForVision2Seq.from_pretrained(
    "openvla/openvla-7b",
    attn_implementation="flash_attention_2",
    torch_dtype=torch.bfloat16,
    low_cpu_mem_usage=Правда,
    trust_remote_code=Правда
).to("cuda:0")
# Get image from robot camera
image: Image.Image = get_from_camera(...)
prompt = "Вход: Какое действие должен предпринять робот, чтобы поднять красную чашку?\nВыход:"
# Predict action (7-DoF)
inputs = processor(prompt, image).to("cuda:0", dtype=torch.bfloat16)
action = vla.predict_action(**inputs, unnorm_key="bridge_orig", do_sample=Ложь)
# Execute the action
robot.act(action, ...)

Модель выдает действия с 7 степенями свободы, которые могут напрямую управлять роботизированными манипуляторами. Для роботов, представленных в обучающих данных (например, WidowX или Franka Panda), OpenVLA можно использовать в режиме zero-shot. Для новых конфигураций роботов требуется дообучение.

Дообучение OpenVLA под собственных роботов

Одна из сильных сторон OpenVLA - эффективная адаптация к новым роботам и задачам. Используя LoRA (адаптацию низкого ранга), вы можете дообучить модель на удивительно небольшом объёме данных.

Вот как запустить дообучение по LoRA:

torchrun --standalone --nnodes 1 --nproc-per-node 1 vla-scripts/finetune.py 
  --vla_path "openvla/openvla-7b" 
  --data_root_dir /path/to/datasets 
  --dataset_name your_robot_dataset 
  --run_root_dir /path/to/checkpoints 
  --lora_rank 32 
  --batch_size 16 
  --learning_rate 5e-4 
  --image_aug True

Ключевой вывод из статьи про OpenVLA: дообучение всего на 10–150 демонстрациях может дать высокую эффективность на новых задачах. LoRA дообучает лишь 1,4% параметров, при этом достигая результатов, сопоставимых с полным дообучением.

Проблема нехватки данных в ИИ для робототехники

Вот где становится по-настоящему интересно для всех, кто строит системы ИИ для робототехники в масштабе.

Сайт Датасет Open X-Embodiment впечатляет: 1 млн траекторий на 22 робототехнических платформах от 21 исследовательского института. Но посмотрите на это с точки зрения недавнего отраслевого анализа: весь набор данных Open X-Embodiment в 1 673 раза меньше, чем Common Crawl, текстовый корпус, используемый для обучения больших языковых моделей.

ИИ для робототехники остро испытывает нехватку данных.

Это создает одновременно и уникальную возможность, и вызов. Разработка более совершенных систем ИИ для робототехники — это не только вопрос архитектуры модели. Это еще и сбор, отбор и обработка разнообразных обучающих данных в масштабе.

Почему видеоданные важны для робототехники

Обучение OpenVLA сильно опирается на визуальные данные. Каждая траектория включает наблюдения с камеры, которые модель учится интерпретировать. Это создаёт прямую связь между ИИ для робототехники и сбором видеоданных.

Рассмотрим следующие сценарии использования:

Обучение на демонстрационных видео: Исследователи всё чаще обучают роботов, используя человеческие демонстрации. Это требует масштабного сбора и обработки видео.

Перенос из симуляции в реальность: Команды генерируют синтетические обучающие данные с помощью симуляторов, а затем проверяют их на реальных видеоматериалах.

Обучение между разными воплощениями: Сила OpenVLA в том, что она обучается на 22 разных типах роботов. Чтобы развивать это дальше, нужны видеоданные еще с большего числа платформ и сред.

Если вы занимаетесь сбором видеоданных для обучения ИИ, принципы остаются теми же, независимо от того, создаёте ли вы наборы данных для робототехники или любую другую систему визуального ИИ. Прокси, ограничение частоты запросов и автоматизация становятся критически важными факторами при масштабировании.

Для крупномасштабного сбора видеоданных такие инструменты, как yt-dlp с корректно настроенным прокси могут помочь собирать визуальные обучающие данные. Те же инфраструктурные вызовы сохраняются: вам нужны резидентские прокси с ротацией, надёжная обработка ошибок и автоматизация с учётом требований комплаенса.

Лучшие практики создания наборов данных для обучения роботов

На основе документации OpenVLA и результатов исследований вот ключевые факторы успешного сбора данных для робототехники:

Управление частотой: Собирайте демонстрации с частотой 5–10 Гц. OpenVLA плохо справляется с высокочастотными данными, поскольку не использует группировку действий.

Непрерывное движение: Избегайте пауз во время сбора данных. Модель может застревать на действиях ожидания во время инференса.

Разнообразие данных: Добавляйте вариации начальных условий, положения объектов и освещения. Обобщающая способность OpenVLA обеспечивается разнообразием обучающих данных.

Единообразные стратегии: Показывайте задачи схожим образом. Единообразные подходы упрощают для модели задачу обучения.

Качество важнее количества: 100 качественных демонстраций часто превосходят 1000 зашумлённых.

Масштабирование за пределы Open X-Embodiment

Датасет Open X-Embodiment дает прочную основу, но производственным робототехническим системам часто нужны собственные данные. Вот как команды обычно расширяют свои датасеты:

Преобразуйте в формат RLDS: OpenVLA ожидает данные в формате RLDS (наборов данных для обучения с подкреплением). Вы можете преобразовать пользовательские наборы данных с помощью этот набор инструментов.

Зарегистрируйте пользовательские наборы данных: После преобразования зарегистрируйте свой набор данных в конфигурационных файлах OpenVLA:

# In prismatic/vla/datasets/rlds/oxe/configs.py
OXE_DATASET_CONFIGS = {
    "your_custom_dataset": {
        "image_obs_keys": {"primary": "изображение"},
        "action_space": "continuous",
        # ... additional configuration
    }
}

Создавайте конфигурации смешения датасетов: Объединяйте свои пользовательские данные с уже существующими наборами данных Open X-Embodiment, чтобы избежать катастрофического забывания.

Performance Benchmarks

Результаты OpenVLA говорят сами за себя:

Модель демонстрирует высокую способность к обобщению при визуальных изменениях (фон, отвлекающие объекты), вариациях движения (положение объектов) и семантическом понимании (новые инструкции).

Looking Ahead

OpenVLA означает сдвиг в ИИ для робототехники. Сделав конкурентоспособную VLA полностью с открытым исходным кодом, исследователи демократизировали доступ к передовым методам обучения роботов.

Следующий рубеж - не архитектура модели. Это данные.

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

Тем, кто строит решения в этой области: инвестируйте в инфраструктуру данных так же серьёзно, как и в разработку модели. Роботы скажут вам спасибо.

Похожие записи