LeRobot documentation

ACT (Action Chunking with Transformers)

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.6.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

ACT (Action Chunking with Transformers)

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

Посмотрите это учебное видео от команды LeRobot, чтобы узнать, как работает ACT: Учебное видео LeRobot ACT

Обзор модели

Метод Action Chunking with Transformers (ACT) был предложен в статье Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware авторов Zhao et al. Данная политика была разработана для выполнения точных задач манипуляции с интенсивным контактом с использованием доступного оборудования и минимального количества демонстрационных данных.

Почему ACT отлично подходит для начинающих

ACT выделяется как отличная отправная точка по нескольким причинам:

  • Быстрая тренировка: обучение занимает несколько часов на одном GPU
  • Лёгкость: всего ~80 млн параметров, что делает модель эффективной и удобной в работе
  • Эффективность по данным: Часто достигает высоких показателей успеха всего с 50 демонстрациями

Архитектура

ACT использует трансформерную архитектуру с тремя основными компонентами:

  1. Визуальный бэкбон: ResNet-18 обрабатывает изображения с нескольких точек обзора камер
  2. Transformer Encoder: Синтезирует информацию из признаков камеры, положений суставов и обученной латентной переменной
  3. Декодер трансформера: генерирует согласованные последовательности действий с использованием кросс-внимания

В качестве входных данных политика принимает:

  • Несколько RGB-изображений (например, с камер на запястьях, фронтальных/верхних камер)
  • Текущие позиции суставов робота
  • Латентная переменная стиля z (обучается в процессе тренировки, при инференсе устанавливается в ноль)

И выводит фрагмент из k будущих последовательностей действий.

Требования к установке

  1. Установите LeRobot, следуя нашему Руководству по установке.
  2. ACT входит в базовую установку LeRobot, поэтому дополнительные зависимости не требуются!

Обучение ACT

ACT работает в полной совместимости со стандартным конвейером обучения LeRobot. Ниже приведён полный пример обучения ACT на вашем наборе данных:

lerobot-train \
  --dataset.repo_id=${HF_USER}/your_dataset \
  --policy.type=act \
  --output_dir=outputs/train/act_your_dataset \
  --job_name=act_your_dataset \
  --policy.device=cuda \
  --trackio.enable=true \
  --policy.repo_id=${HF_USER}/act_policy

Советы по обучению

  1. Начните с значений по умолчанию: гиперпараметры ACT по умолчанию хорошо работают для большинства задач
  2. Длительность обучения: Ожидайте несколько часов для 100k шагов обучения на одном GPU
  3. Размер батча: начните с размера батча 8 и корректируйте в зависимости от памяти вашей GPU

Обучение с помощью Google Colab

Если на вашем локальном компьютере нет мощной GPU, вы можете использовать Google Colab для обучения модели, следуя инструкциям в ноутбуке для обучения ACT.

Оценка ACT

После завершения обучения вы можете оценить вашу политику ACT на роботе с помощью lerobot-rollout. Команда ниже запускает политику на 60 секунд без записи данных (--task можно пропустить для ACT). См. Развёртывание политики для стратегий, записывающих эпизоды оценки.

lerobot-rollout \
  --strategy.type=base \
  --policy.path=${HF_USER}/act_policy \
  --robot.type=so101_follower \
  --robot.port=/dev/ttyACM0 \
  --robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}}" \
  --display_data=true \
  --task="Your task description" \
  --duration=60
Update on GitHub