Навчання OpenVLA у великому масштабі: як будувати набори даних для навчання роботів
Коротко:
- OpenVLA — це open-source 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-системи для робототехніки й потребують мільйонів візуальних навчальних зразків, інфраструктура збору даних рівня enterprise стає критичною. Вузькі місця тут — масштаб, uptime і різноманітність даних. Рішення на кшталт платформа відеоданих Bright Data може забезпечити надійні пайплайни, потрібні для створення наборів даних промислового масштабу.
AI для робототехніки входить у свій проривний момент. Так само як великі мовні моделі змінили генерацію тексту, а візуальні моделі змінили розуміння зображень, моделі vision-language-action (VLA) переосмислюють те, як роботи вчаться взаємодіяти з фізичним світом.
У центрі цього зсуву — OpenVLA, модель з відкритим кодом із 7 млрд параметрів, яка може керувати роботами без додаткового налаштування, розуміти інструкції природною мовою та адаптуватися до нових завдань із мінімальним обсягом навчальних даних.
Але ось чого більшість туторіалів вам не скаже: модель — це лише половина історії. Справжня складність полягає у створенні навчальних датасетів, які живлять ці системи.
Що таке OpenVLA?
OpenVLA — це модель бачення-мова-дія з відкритим кодом, розроблена дослідниками зі Stanford, UC Berkeley, Toyota Research Institute та Google DeepMind. Вона обробляє зображення з камери, інтерпретує команди природною мовою та виводить неперервні дії робота.
Архітектура моделі поєднує три ключові компоненти:
- Об’єднаний візуальний енкодер з використанням бекбонів SigLIP і DinoV2
- Проєкторний шар який відображає візуальні ознаки у вхідний простір мовної моделі
- Мовна модель Llama 2 7B який прогнозує токенізовані дії робота
OpenVLA вирізняється своїми навчальними даними. Команда відібрала й упорядкувала 970 000 траєкторій роботизованих маніпуляцій з Набір даних Open X-Embodiment, що охоплює 22 різні робототехнічні платформи та 527 окремих навичок.
Результат? OpenVLA перевершує RT-2-X, закриту модель Google з 55 млрд параметрів, залишаючись повністю відкритою та у 8 разів меншою.
Початок роботи з OpenVLA
Запустити інференс OpenVLA можна всього кількома рядками коду:
from transformers import AutoModelForVision2Seq, AutoProcessor
from PIL import Image
import torch
# Load the model and processor
processor = AutoProcessor.from_pretrained("openvla/openvla-7b", trust_remote_code=True)
vla = AutoModelForVision2Seq.from_pretrained(
"openvla/openvla-7b",
attn_implementation="flash_attention_2",
torch_dtype=torch.bfloat16,
low_cpu_mem_usage=True,
trust_remote_code=True
).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=False)
# Execute the action
robot.act(action, ...)
Модель видає дії 7-DoF, які можуть безпосередньо керувати роботизованими маніпуляторами. Для роботів, що входили до навчальних даних (наприклад, WidowX або Franka Panda), можна використовувати OpenVLA у zero-shot режимі. Для нових роботизованих конфігурацій потрібне донавчання.
Доопрацювання OpenVLA для кастомних роботів
Одна з сильних сторін OpenVLA — ефективна адаптація до нових роботів і завдань. Використовуючи LoRA (Low-Rank Adaptation), ви можете донавчити модель із напрочуд малим обсягом даних.
Ось як запустити донавчання 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% параметрів і при цьому дає результати, зіставні з повним донавчанням.
Проблема даних у ШІ для робототехніки
Ось де починається найцікавіше для всіх, хто створює системи робототехнічного ШІ у масштабі.
The Набір даних 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 (Reinforcement Learning Datasets). Ви можете конвертувати власні набори даних за допомогою цей набір інструментів.
Зареєструвати власні набори даних: Після конвертації зареєструйте свій набір даних у конфігураційних файлах OpenVLA:
# In prismatic/vla/datasets/rlds/oxe/configs.py
OXE_DATASET_CONFIGS = {
"your_custom_dataset": {
"image_obs_keys": {"primary": "image"},
"action_space": "continuous",
# ... additional configuration
}
}
Створіть конфігурації сумішей: Поєднуйте власні дані з наявними наборами даних Open X-Embodiment, щоб запобігти катастрофічному забуванню.
Performance Benchmarks
Результати OpenVLA говорять самі за себе:

Модель демонструє сильне узагальнення щодо візуальних змін (фонів, відволікальних об’єктів), варіацій руху (положення об’єктів) і семантичного розуміння (нових інструкцій).
Looking Ahead
OpenVLA означає зрушення в ШІ для робототехніки. Зробивши конкурентну VLA-модель повністю з відкритим кодом, дослідники демократизували доступ до передових методів навчання роботів.
Наступний рубіж — не архітектура моделі. Це дані.
Команди, які зможуть ефективно збирати, обробляти й впорядковувати різноманітні навчальні дані для робототехніки, матимуть значну перевагу. Чи то через симуляцію, людські демонстрації, чи через збирання відеоданих у масштабі інтернету, конвеєр даних стає головним вузьким місцем.
Для тих, хто створює рішення в цій сфері: інвестуйте в інфраструктуру даних так само серйозно, як і в розробку моделей. Роботи вам подякують.

