Перейти к основному содержимому

Набор данных LeRobot

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

Экспорт данных

Платформа IO Data Platform полностью поддерживает экспорт данных в стандартном формате LeRobot, который может быть напрямую использован для обучения моделей VLA (Vision-Language-Action). Экспортированные данные содержат полную мультимодальную информацию о действиях робота: данные визуального восприятия, инструкции на естественном языке и соответствующие последовательности действий, формируя полное отображение данных восприятие-понимание-выполнение.

Использование ресурсов

Экспорт данных формата LeRobot требует значительной вычислительной мощности. Бесплатная версия IO Data Open Platform имеет разумные ограничения на количество экспортов для каждого пользователя, в то время как платная версия предоставляет неограниченные услуги экспорта и оснащена функцией ускорения GPU, что может значительно повысить скорость обработки экспорта.

1. Выбор данных для экспорта

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

Подробную информацию о процессе аннотации данных и советы по пакетной аннотации см.: Руководство по аннотации данных

После завершения аннотации вы можете просмотреть все аннотированные наборы данных в интерфейсе экспорта. Система поддерживает гибкий выбор подмножества данных, и вы можете выбрать конкретные данные для экспорта в соответствии с конкретными потребностями.

Выбор данных для экспорта

Имя набора данных может быть настроено. Если вы планируете опубликовать набор данных на платформе Hugging Face, рекомендуется использовать стандартный формат именования репозитория (например, myproject/myrepo1), что облегчит последующий обмен моделями и сотрудничество.

Оптимизация эффективности экспорта

Чем больше объем данных, тем больше времени требуется на экспорт. Рекомендуется экспортировать по типу задачи, избегая обработки всех данных за один раз. Пакетный экспорт не только повышает скорость обработки, но и удобен для последующего управления данными, контроля версий и целевого обучения моделей.

2. Загрузка и извлечение экспортированных файлов

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

После завершения экспорта в области Записи экспорта справа можно увидеть кнопку Загрузить данные. После нажатия вы получите сжатый файловый пакет в формате .tar.gz.

Результаты экспорта

Рекомендуется создать локально выделенный каталог (например, ~/Downloads/mylerobot3) для извлечения файлов, чтобы избежать путаницы с другими данными:

Создание нового каталога

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

Извлеченные данные

Визуализация и проверка данных

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

Сценарий использованияРешение для визуализацииОсновные преимущества
Локальная разработка и отладкаЛокальный просмотр Rerun SDKПолнофункциональный, высокоинтерактивный, доступен офлайн
Быстрый предварительный просмотр и обменОнлайн-просмотр Hugging FaceБез установки, легко делиться, доступ в любое время

1. Локальная визуализация с помощью Rerun SDK

Установив репозиторий lerobot локально, вы можете использовать встроенный скрипт lerobot/scripts/visualize_dataset.py в сочетании с Rerun SDK для реализации интерактивной мультимодальной визуализации данных в стиле временной шкалы. Этот метод позволяет одновременно отображать многомерную информацию, такую как изображения, состояния, действия и т.д., предоставляя самые богатые интерактивные функции и параметры настройки.

Подготовка среды и установка зависимостей

Убедитесь, что ваша версия Python 3.10 или выше, затем выполните следующие команды установки:

# Установить Rerun SDK
python3 -m pip install rerun-sdk==0.23.1

# Клонировать официальный репозиторий LeRobot
git clone https://github.com/huggingface/lerobot.git
cd lerobot

# Установить среду разработки 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)

Генерация файлов офлайн-визуализации

Вы можете сохранить результаты визуализации в виде файлов формата Rerun (.rrd) для офлайн-просмотра или обмена с членами команды:

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 поддерживают визуализацию только публичных репозиториев, что означает, что ваши данные будут общедоступными. Если данные содержат конфиденциальную информацию, требующую сохранения конфиденциальности, рекомендуется использовать локальное решение Rerun SDK.

Этапы операции

  1. Перейдите к онлайн-инструменту визуализации: https://huggingface.co/spaces/lerobot/visualize_dataset
  2. Введите идентификатор вашего набора данных в поле Dataset Repo ID (например, io-ai-data/uncap_pen)
  3. Выберите номер задачи для просмотра на левой панели (например, Episode 0)
  4. Вверху страницы предоставляются различные варианты воспроизведения, вы можете выбрать наиболее подходящий метод просмотра

Руководство по обучению модели

Обучение моделей на основе наборов данных LeRobot является основным этапом в достижении обучения роботов. Различные архитектуры моделей имеют разные требования к параметрам обучения и предварительной обработке данных, что делает выбор подходящей стратегии модели критически важным для эффективности обучения.

Стратегия выбора модели

Текущие основные модели VLA включают:

Тип моделиСценарий примененияОсновные характеристикиРекомендуется для
smolVLAОднокарточная среда, быстрое прототипированиеУмеренное количество параметров, эффективное обучениеПотребительский GPU, подтверждение концепции
Pi0 / Pi0.5Сложные задачи, мультимодальное слияниеМощное понимание языкаПроизводственная среда, сложное взаимодействие
ACTОптимизация для одной задачиВысокая точность предсказания действийКонкретные задачи, высокочастотное управление
DiffusionПлавная генерация действийНа основе диффузионной модели, высокое качество траекторииЗадачи, требующие плавных траекторий
VQ-BeTДискретизация действийВекторная квантизация, быстрый выводСценарии управления в реальном времени
TDMPCПредиктивное управление модельюВысокая эффективность выборки, онлайн-обучениеСценарии с дефицитом данных
Важное примечание

Модели Pi0 принадлежат фреймворку OpenPI от Physical Intelligence, а не проекту LeRobot. Если вам нужно использовать модели Pi0, обратитесь к: Официальной документации OpenPI

Руководство по обучению smolVLA (рекомендуется для начинающих)

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

Руководство по формату параметров

Команды обучения LeRobot используют следующий формат параметров:

  • Тип политики: --policy.type smolvla (укажите, какую модель использовать)
  • Значения параметров: Используйте разделение пробелами, например: --batch_size 64 (не --batch_size=64)
  • Логические значения: Используйте true/false, например: --save_checkpoint true
  • Значения списка: Используйте разделение пробелами, например: --policy.down_dims 512 1024 2048
  • Загрузка модели: По умолчанию добавьте --policy.push_to_hub false, чтобы отключить автоматическую загрузку в HuggingFace Hub

Подготовка среды

# Клонировать репозиторий LeRobot
git clone https://github.com/huggingface/lerobot.git
cd lerobot

# Установить полную среду с поддержкой smolVLA
pip install -e ".[smolvla]"

Тонкая настройка обучения (рекомендуемый метод)

lerobot-train \
--policy.type smolvla \
--policy.pretrained_path lerobot/smolvla_base \
--dataset.repo_id your-name/your-repo \
--dataset.root /data/lerobot_dataset \
--output_dir /data/lerobot_smolvla_finetune \
--batch_size 64 \
--steps 20000 \
--policy.optimizer_lr 1e-4 \
--policy.device cuda \
--policy.push_to_hub false \
--save_checkpoint true \
--save_freq 5000

Практические рекомендации:

  • Подготовка данных: Рекомендуется записать 50+ демонстрационных эпизодов задач, обеспечивая охват различных позиций объектов, поз и изменений окружающей среды
  • Ресурсы обучения: Обучение на одном A100 в течение 20k шагов занимает около 4 часов; потребительские GPU могут уменьшить batch_size или включить накопление градиентов
  • Настройка гиперпараметров: Начните с batch_size=64, steps=20k, скорость обучения рекомендуется начинать с 1e-4 для тонкой настройки и корректировать на основе результатов
  • Когда обучать с нуля: Рассматривайте обучение с нуля только при наличии крупномасштабных наборов данных (тысячи часов)

Обучение с нуля (продвинутые пользователи)

lerobot-train \
--policy.type smolvla \
--dataset.repo_id your-name/your-repo \
--dataset.root /data/lerobot_dataset \
--output_dir /data/lerobot_smolvla_fromscratch \
--batch_size 64 \
--steps 200000 \
--policy.optimizer_lr 1e-4 \
--policy.device cuda \
--policy.push_to_hub false \
--save_checkpoint true \
--save_freq 10000

Советы по оптимизации производительности

Оптимизация памяти:

# Добавьте следующие параметры для оптимизации использования памяти
--policy.use_amp true \
--num_workers 2 \
--batch_size 32 # Уменьшить размер пакета

Мониторинг обучения:

  • Настройте Weights & Biases (W&B) для мониторинга кривых обучения и метрик оценки
  • Установите разумные интервалы валидации и стратегии ранней остановки
  • Регулярно сохраняйте контрольные точки для предотвращения прерывания обучения

Руководство по обучению модели ACT

ACT (Action-Conditioned Transformer) разработан для обучения политикам с одной задачей или коротким горизонтом. Хотя ACT уступает smolVLA в многозадачной обобщаемости, он остается экономически эффективным выбором для сценариев с четкими задачами, высокой частотой управления и относительно короткими временными рядами.

Важное примечание

Модель ACT требует policy.n_action_stepspolicy.chunk_size. Рекомендуется установить оба параметра на одно и то же значение (например, 100), чтобы избежать ошибок конфигурации.

Требования к предварительной обработке данных

Обработка траекторий:

  • Обеспечьте единую длину сегмента и выравнивание по времени (рекомендуется 10-20 шагов action chunk)
  • Нормализуйте данные о действиях, унифицируйте масштаб и единицы
  • Поддерживайте согласованность данных наблюдения, особенно внутренние параметры камеры и точки обзора

Конфигурация обучения:

lerobot-train \
--policy.type act \
--dataset.repo_id your-name/your-repo \
--dataset.root /data/lerobot_dataset \
--output_dir /data/lerobot_act_finetune \
--batch_size 8 \
--steps 100000 \
--policy.chunk_size 100 \
--policy.n_action_steps 100 \
--policy.n_obs_steps 1 \
--policy.optimizer_lr 1e-5 \
--policy.device cuda \
--policy.push_to_hub false \
--save_checkpoint true \
--save_freq 10000

Рекомендации по настройке гиперпараметров:

  • Размер пакета: Начните с 8; корректируйте в зависимости от памяти (ACT рекомендует меньшие пакеты)
  • Скорость обучения: Рекомендуется 1e-5, ACT чувствителен к скорости обучения
  • Шаги обучения: 100k-200k шагов, корректируйте в зависимости от сложности задачи
  • Размер блока действий: chunk_size и n_action_steps рекомендуется установить на 100
  • Регуляризация: При возникновении переобучения увеличьте разнообразие данных или примените раннюю остановку

Стратегии настройки производительности

Обработка переобучения:

  • Увеличьте разнообразие сбора данных
  • Примените соответствующие методы регуляризации
  • Реализуйте стратегии ранней остановки

Обработка недообучения:

  • Увеличьте количество шагов обучения
  • Скорректируйте расписание скорости обучения
  • Проверьте качество и согласованность данных

Часто задаваемые вопросы (FAQ)

Экспорт данных

Q: Сколько времени занимает экспорт данных LeRobot?

A: Время экспорта в основном зависит от размера данных и текущей нагрузки системы. Обычно для каждого ГБ данных требуется 3-5 минут времени обработки. Для повышения эффективности рекомендуется экспортировать пакетами по типу задачи, избегая одновременной обработки чрезмерно больших наборов данных.

Q: Какие ограничения есть в бесплатной версии?

A: В бесплатной версии есть разумные ограничения на количество и частоту экспортов для каждого пользователя, конкретные квоты отображаются в интерфейсе экспорта. Для крупномасштабного экспорта данных рекомендуется перейти на платную версию, чтобы воспользоваться неограниченными экспортами и услугами ускорения GPU.

Q: Как проверить целостность экспортированных данных?

A: Используйте встроенный инструмент проверки LeRobot для проверки:

python -m lerobot.scripts.validate_dataset --root /path/to/dataset

Q: Как обрабатывать слишком большой экспортированный набор данных?

A: Вы можете оптимизировать следующими способами:

  • Снизьте настройки частоты экспорта (по умолчанию 30fps можно снизить до 10-15fps)
  • Разделите экспорт по периоду времени или типу задачи
  • Сжать качество изображения (при условии обеспечения эффекта обучения)

Визуализация данных

Q: Что делать, если установка Rerun SDK не удалась?

A: Пожалуйста, проверьте следующие условия:

  • Убедитесь, что версия Python ≥ 3.10
  • Проверьте стабильность сетевого подключения
  • Попробуйте установить в виртуальной среде: python -m venv rerun_env && source rerun_env/bin/activate
  • Используйте зеркальный источник: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple rerun-sdk==0.23.1

Q: Требуется ли для онлайн-визуализации, чтобы данные были публичными?

A: Да. Инструмент онлайн-визуализации Hugging Face Spaces может получить доступ только к публичным наборам данных. Если ваши данные содержат конфиденциальную информацию, требующую сохранения конфиденциальности, используйте локальное решение Rerun SDK.

Q: Как загрузить данные в Hugging Face?

A: Используйте официальный инструмент CLI:

# Установить Hugging Face CLI
pip install huggingface_hub

# Войти в учетную запись
huggingface-cli login

# Загрузить набор данных
huggingface-cli upload-dataset your-username/dataset-name /path/to/dataset

Обучение модели

Q: Какие типы моделей поддерживаются?

A: Формат LeRobot поддерживает несколько основных моделей VLA:

  • smolVLA: Подходит для однокарточных сред и быстрого прототипирования
  • Pi0: Мощные мультимодальные возможности, подходит для сложных задач (принадлежит фреймворку OpenPI)
  • ACT: Сфокусирован на оптимизации одной задачи, высокая точность предсказания действий

Для конкретных поддерживаемых моделей см.: https://github.com/huggingface/lerobot/tree/main/src/lerobot/policies

Q: Что делать при возникновении проблем с памятью во время обучения?

A: Попробуйте следующие стратегии оптимизации:

  • Уменьшите размер пакета: --batch_size 1 или меньше
  • Включите обучение со смешанной точностью: --policy.use_amp true
  • Уменьшите потоки загрузки данных: --num_workers 1
  • Уменьшите шаги наблюдения: --policy.n_obs_steps 1
  • Очистите кэш GPU: добавьте torch.cuda.empty_cache() в скрипт обучения

Q: Как выбрать подходящую модель?

A: Выбирайте на основе ваших конкретных потребностей:

  • Быстрое прототипирование: Выберите smolVLA
  • Сложные мультимодальные задачи: Выберите Pi0 (требуется использование фреймворка OpenPI)
  • Среды с ограниченными ресурсами: Выберите smolVLA или ACT
  • Одна специализированная задача: Выберите ACT

Q: Как оценить эффективность обучения?

A: LeRobot предоставляет различные методы оценки:

  • Количественные метрики: Ошибка действия (MAE/MSE), сходство траектории (DTW)
  • Качественная оценка: Успешность реальных тестов, анализ поведения
  • Оценка платформы: Платформа IO предоставляет инструменты визуальной оценки качества модели

Q: Сколько обычно занимает обучение?

A: Время обучения зависит от нескольких факторов:

  • Размер данных: 50 демонстрационных эпизодов обычно требуют 2-8 часов
  • Конфигурация оборудования: A100 в 3-5 раз быстрее потребительских GPU
  • Выбор модели: smolVLA обучается быстрее, чем ACT
  • Стратегия обучения: Тонкая настройка в 5-10 раз быстрее, чем обучение с нуля

Техническая поддержка

Q: Как получить помощь при возникновении технических проблем?

A: Вы можете получить поддержку через следующие каналы:

  1. Ознакомьтесь с официальной документацией LeRobot: https://huggingface.co/docs/lerobot
  2. Отправьте Issue на GitHub: https://github.com/huggingface/lerobot/issues
  3. Свяжитесь с командой технической поддержки платформы IO
  4. Участвуйте в обсуждениях сообщества LeRobot

Q: Поддерживает ли платформа IO автоматическое развертывание моделей?

A: Да, платформа IO поддерживает услуги автоматического развертывания для основных моделей, таких как Pi0 (фреймворк OpenPI), smolVLA и ACT. Для получения подробной информации свяжитесь с командой технической поддержки для получения планов развертывания и информации о ценах.


Связанные ресурсы

Официальные ресурсы

Инструменты и фреймворки

Академические ресурсы

Ресурсы, связанные с OpenPI

Ресурсы сообщества


Эта документация будет постоянно обновляться, чтобы отражать последние разработки и лучшие практики экосистемы LeRobot. Если у вас есть вопросы или предложения, пожалуйста, не стесняйтесь обращаться к нам через каналы технической поддержки платформы IO.