Маховик данных

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

1

Оценивать

Проведите 20 испытаний. Измерьте уровень успеха. Классифицируйте отказы по типам. Вы сделали это в модуле 5.

2

Определите основной режим отказа

Качество данных (непоследовательные демонстрации), сдвиг распределения (невидимые позиции) или емкость модели (достаточно точная траектория, но неправильная)? Ваш диагноз 5-го блока отвечает на этот вопрос.

3

Собирайте целевые данные

Запишите 20–30 демонстраций, посвященных конкретно режиму отказа. Если политика не работает с объектами в левой части рабочей области, запишите 20 демонстраций этой конкретной позиции. Не записывайте больше того, что уже работает.

4

Переподготовка и переоценка

Объедините новые данные с существующим набором данных, переобучите и снова запустите оценку из 20 испытаний. Ожидайте улучшения на 10–20 процентных пунктов за цикл, если диагноз верен.

Смешивание наборов данных

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

# Merge two datasets into a new combined dataset python -m lerobot.scripts.push_dataset_to_hub \ --dataset-dir ~/lerobot-datasets/pick-place-v1 \ --repo-id $HF_USER/pick-place-v2-merged # OR train directly on multiple repo IDs python -m lerobot.scripts.train \ --policy-type act \ --dataset-repo-id "$HF_USER/pick-place-v1,$HF_USER/pick-place-targeted" \ --dataset-repo-id-weights "1.0,2.0" \ --output-dir ~/lerobot-policies/pick-place-v2 # The weights parameter upsamples the targeted data 2x # relative to the original dataset
Смешивание с общедоступными наборами данных: Прежде чем смешивать набор данных сообщества, убедитесь, что тип робота и размеры пространства действий соответствуют вашим. Смешение набора данных с 7 степенями свободы в обучающем прогоне с 6 степенями свободы приведет к скрытой ошибке несоответствия формы. Всегда проверяйте info.json любого набора данных, который вы планируете смешать.

Поделитесь своей моделью на HuggingFace Hub

Если вы поделитесь своей обученной моделью, она станет доступной для сообщества и позволит другим использовать вашу политику в качестве отправной точки. Модели, представленные в стандартном формате LeRobot, могут быть загружены любым пользователем с помощью pip install lerobot.

# Push your best checkpoint to HuggingFace Hub python -m lerobot.scripts.push_policy_to_hub \ --checkpoint-путь \ ~/lerobot-policies/pick-place-v1/checkpoints/step_050000 \ --repo-id $HF_USER/act-pick-place-so100 # Add a model card (recommended) # The push command creates a README.md template — fill it in with: # - Robot type and task description # - Training dataset repo ID # - Evaluation success rate # - Video of the policy running on your robot

Поделитесь своим набором данных с сообществом

Ваш набор данных (который вы отправили в модуле 3) уже находится в HuggingFace Hub. Чтобы сделать его более доступным и полезным для других:

  • Добавить карточка набора данных на HuggingFace — опишите задачу, робота, настройку записи и количество серий. Это самое эффективное, что вы можете сделать для обнаружения набора данных.
  • Отметьте это с помощью lerobot, тип вашего робота (например, so100) и категорию вашей задачи (например, pick-and-place).
  • Отправьте его в Библиотека наборов данных SVRC для курирования и включения в индекс сообщества.

Передача конфигураций оборудования обратно в LeRobot

Если вы добавили специальную конфигурацию оборудования для неподдерживаемого робота в модуле 1, рассмотрите возможность добавления ее обратно в репозиторий LeRobot. Откройте запрос на извлечение, чтобы huggingface/lerobot с вашим конфигурационным файлом в lerobot/configs/robot/. Специалисты по обслуживанию быстро проверяют вклад оборудования, и это приносит прямую пользу каждому будущему пользователю этого оборудования.

Что дальше: более эффективные политики

Теперь у вас есть полный рабочий процесс LeRobot. Вот куда идти дальше:

Язык

SmolVLA — политика, обусловленная языком

Переключитесь с ACT на SmolVLA, если вы хотите, чтобы политика реагировала на инструкции на естественном языке («поднимите синий блок») или обобщала задачи. Требуется около 200+ демонстраций и более структурированный формат подсказок. См. документ SmolVLA и примеры LeRobot.

Шкала

Pi0Fast — высокоскоростной вывод VLA

Pi0Fast работает с частотой вывода 100 Гц (по сравнению с 30 Гц у ACT), что позволяет быстрее выполнять задачи манипулирования и более узкие контуры управления. Он требует использования графического процессора во время вывода, но обеспечивает значительно более гибкое поведение в масштабе.

Обобщение

Политики многозадачности

Обучите одну политику нескольким задачам, используя смешанный набор данных с разными значениями Task_index для каждого эпизода. SmolVLA и Pi0Fast изначально поддерживают многозадачное обучение. См. рецепт многозадачности LeRobot в примерах GitHub.

Вы прошли путь ЛеРобота.

Вы установили LeRobot, поняли формат набора данных, записали свои собственные демонстрации, обучили политику ACT, систематически оценивали ее и запустили маховик данных. Это полный рабочий процесс обучения роботов с открытым исходным кодом — тот же, который используется исследовательскими лабораториями и стартапами в области робототехники по всему миру.

Вопросы? Присоединяйтесь к HuggingFace Discord #lerobot — сопровождающие и сообщество активны и гостеприимны.