Набор данных LeRobot
LeRobot — это открытый фреймворк стандартизации данных для робототехнического обучения, разработанный Hugging Face и специально предназначенный для сценариев обучения роботов и обучения с подкреплением. Он предоставляет унифицированные спецификации формата данных, позволяющие исследователям более удобно обмениваться, сравнивать и воспроизводить эксперименты по обучению роботов, значительно снижая затраты на преобразование формата данных между различными исследовательскими проектами.
Экспорт данных
Платформа IO Data полностью поддерживает экспорт данных в стандартном формате LeRobot, который можно напрямую использовать для рабочих процессов обучения моделей VLA (Vision-Language-Action). Экспортированные данные содержат полную мультимодальную информацию для роботических операций: данные визуального восприятия, инструкции на естественном языке и соответствующие последовательности действий, формируя полное отображение данных замкнутого цикла восприятие-понимание-выполнение.
Экспорт данных формата LeRobot требует значительных вычислительных ресурсов. Бесплатная версия платформы IO Data Open устанавливает разумные ограничения на количество экспортов для каждого пользователя, в то время как платная версия предоставляет неограниченные услуги экспорта с возможностями ускорения GPU, которые значительно улучшают скорость обработки экспорта.
Стратегия выбора модели
Современные основные модели VLA включают:
Тип модели | Применимые сценарии | Ключевые особенности | Рекомендуемое использование |
---|---|---|---|
smolVLA | Одиночная карта, быстрое прототипирование | Умеренные параметры, эффективное обучение | Потребительские GPU, доказательство концепции |
Pi0 | Сложные задачи, мультимодальное слияние | Мощные возможности понимания языка | Производственная среда, сложные взаимодействия |
ACT | Оптимизация отдельных задач | Высокая точность предсказания действий | Специфические задачи, высокочастотное управление |
Модели Pi0 относятся к фреймворку OpenPI от Physical Intelligence, а не к проекту LeRobot. Если вам нужно использовать модели Pi0, пожалуйста, обратитесь к: Официальная документация OpenPI
1. Выбор данных для экспорта
Сначала необходимо аннотировать данные. Аннотация связывает действия с инструкциями на естественном языке, что необходимо для обучения моделей VLA. Этот процесс обеспечивает понимание языковых команд моделью и их преобразование в соответствующие действия робота.
Информацию о том, как аннотировать и выполнять быстрое пакетное аннотирование, см. в документации: Аннотация данных
После завершения аннотации вы можете просмотреть аннотированные данные на странице экспорта и выбрать определенные подмножества для экспорта.
Вы можете настроить имя набора данных. Если вы планируете загрузить данные в Hugging Face, рекомендуется использовать стандартный формат именования репозитория, например myproject/myrepo1
, чтобы упростить процесс публикации.
Чем больше данных вы выберете, тем медленнее будет экспорт. Рекомендуется выбирать данные по типу задачи, а не экспортировать все сразу. Это не только ускоряет процесс экспорта, но и упрощает управление данными и обучение моделей.
2. Загрузка и извлечение экспортированного ф айла
Процесс экспорта может занять от нескольких минут до десятков минут в зависимости от размера данных и нагрузки системы. Прогресс обновляется автоматически, поэтому вы можете вернуться на страницу экспорта позже, чтобы проверить результат.
После успешного экспорта вы увидите кнопку Загрузить данные в разделе Записи экспорта в правой части страницы. Нажмите на неё, чтобы загрузить архив .tar.gz.
Рекомендуется создать новый пустой каталог локально, например ~/Downloads/mylerobot3
, для извлечения файлов и избежания путаницы:
Извлеченные файлы следуют стандартной структуре набора данных LeRobot, включая визуальные данные, информацию о состоянии и метки действий:
Просмотр данных
Существует два распространенных метода визуализации, которые помогают пользователям быстро просматривать, понимать и отлаживать данные. Каждый метод подходит для разных сценариев.
Сценарий | Метод | Преимущества |
---|---|---|
Локальная разработка и отладка | Просмотр через Rerun SDK | Полная функциональность, высокая интерактивность, независимость от сети |
Быстрый предварительный просмотр или загрузка демо | Онлайн-просмотр через Hugging Face | Не требует установки, легко делиться, доступен в любое время |
1. Использование Rerun SDK для локального просмотра
Вам нужно загр узить и установить репозиторий lerobot
локально, и использовать lerobot/scripts/visualize_dataset.py
с Rerun SDK для достижения интерактивного просмотра мультимодальных данных в стиле временной шкалы (включая изображения, состояния, действия и т.д.). Этот метод обеспечивает самую богатую интерактивную функциональность и возможности настройки.
Установка Rerun SDK
Убедитесь, что вы используете Python 3.10 или выше, и выполните следующие команды для установки необходимых зависимостей:
python3 -m pip install rerun-sdk==0.23.1
git clone https://github.com/huggingface/lerobot.git # Клонировать репозиторий
cd lerobot
pip install -e . # Установить в режиме разработки
Запуск скрипта визуализации
python3 -m lerobot.scripts.visualize_dataset \
--repo-id io-ai-data/lerobot_dataset \
--root ~/Downloads/mylerobot3 \
--episode-index 0
Описание параметров:
--repo-id
: Имя набора данных Hugging Face, напримерio-ai-data/lerobot_dataset
--root
: Локальный путь, где хранятся данные LeRobot, указывающий на извлеченный каталог--episode-index
: Указать индекс эпизод а для просмотра (начиная с 0)
Сохранение как .rrd файл
Вы можете сохранить результаты визуализации данных в формате Rerun для офлайн-просмотра или обмена с членами команды:
python3 -m lerobot.scripts.visualize_dataset \
--repo-id io-ai-data/lerobot_dataset \
--root ~/Downloads/mylerobot3 \
--episode-index 0 \
--save 1 \
--output-dir ./rrd_out
# Затем можно просматривать офлайн
rerun ./rrd_out/lerobot_pusht_episode_0.rrd
Режим удаленного WebSocket
Если вам нужно просматривать удаленно (например, просматривать данные на сервере с локального компьютера), вы можете использовать режим WebSocket:
# Сторона сервера
python3 -m lerobot.scripts.visualize_dataset \
--repo-id io-ai-data/lerobot_dataset \
--root ~/Downloads/mylerobot3 \
--episode-index 0 \
--mode distant \
--ws-port 9091
# Локальная сторона
rerun ws://IP-сервера:9091
2. Онлайн-просмотр через Hugging Face Spaces
Если вы не хотите устанавливать какую-либо локальную среду, LeRobot предоставляет инструмент онлайн-просмотра на основе Hugging Face Spaces, не требующий локальных зависимостей. Этот метод особенно подходит для быстрого предварительного просмотра или обмена содержимым набора данных с командами.
Онлайн-визуализация требует загрузки ваших данных в онлайн-репозиторий Hugging Face. Бесплатные аккаунты Hugging Face могут визуализировать только публичные репозитории, то есть ваши данные должны быть публично доступны для визуализации. Если вам нужно сохранить конфиденциальность, используйте локальный метод визуализации.
Шаги операции
- Откройте страницу: https://huggingface.co/spaces/lerobot/visualize_dataset
- Заполните Dataset Repo ID, например
io-ai-data/uncap_pen
- Выберите номер задачи слева, например
Episode 0
- В верхней части страницы есть больше опций для выбора наиболее подходящего метода воспроизведения
Обучение моделей
Обучение моделей — это ключевой шаг в реализации обучения роботов. Разные модели могут иметь разные требования к параметрам и данным.
Мы используем модель smolvla
в качестве примера для объяснения основных команд обучения и конфигурации параметров:
Основная команда обучения
Используйте следующую команду для запуска обучения модели smolvla
:
python -m lerobot.scripts.train \
--policy.type=smolvla \
--dataset.root=/data/lerobot_dataset \
--dataset.repo_id=io-ai-data/lerobot-dataset \
--policy.device=cuda \
--output_dir=/data/lerobot_model
Вышеуказанная команда запустит команду обучения на одной видеокарте NVIDIA.
Она будет использовать данные LeRobot в /data/lerobot_dataset
для обучения модели smolvla
, и модель будет сохранена в каталоге /data/lerobot_model
.
Описание параметров
--policy.type
: Указать тип модели для обучения, напримерsmolvla
.--dataset.root
: Корневой каталог локального набора данных, должен указывать на путь к извлеченному набору данных LeRobot.--dataset.repo_id
: ID репозитория набора данных Hugging Face, напримерio-ai-data/lerobot-dataset
.--policy.device
: Указать устройство обучения, поддерживаетcuda
(GPU) илиcpu
.--output_dir
: Каталог для сохранения обученной модели