Imitation Learning은 인간의 시연을 관찰하여 로봇이 작업을 학습하는 방법입니다. LeRobot은 최신 딥러닝 기술을 활용하여 효과적인 모방 학습을 지원합니다.
학습 개요
LeRobot에서 지원하는 주요 Policy (Model):
- ACT (Action Chunking with Transformers): Transformer 기반의 액션 모델
- Diffusion Policy: 확산 모델을 활용한 정책 학습
- VLA (Vision-Language-Action): 비전-언어 모델 기반 (SmolVLA)
- OpenPi NVIDIA GROOT 등 다양한 모델이 계속 지원 되고 있으니 확인해보세요.
모델을 고르고 학습시키면 됩니다, 처음 학습해보시는 것이라면 ACT 를 추천합니다. 가장 가볍고 쉽습니다.
학습 환경 준비
GPU 설정
효율적인 학습을 위해 CUDA 지원 GPU (최소 RTX3080)를 권장합니다.
# CUDA 확인
nvidia-smi
기본 학습 실행
# 명령줄에서 실행
python -m lerobot.scripts.train \
--dataset.repo_id=${HF_USER}/so101_test \
--policy.type=act \
--output_dir=outputs/train/act_so101_test \
--job_name=act_so101_test \
--policy.device=cuda \
--wandb.enable=true \
--policy.repo_id=${HF_USER}/my_policy
학습하던 checkpoint 에 이어서 학습하기
python -m lerobot.scripts.train \
--config_path=outputs/train/act_so101_test/checkpoints/last/pretrained_model/train_config.json \
--resume=true
Jupyter Notebook 학습 예시
실제 학습 과정을 단계별로 따라해볼 수 있는 공식 노트북입니다:
ACT 학습 노트북
Action Chunking with Transformers 모델을 처음부터 학습시키는 완전한 예제입니다. 데이터 로드부터 학습, 평가까지 모든 과정을 포함합니다.
ACT 노트북 열기
SmolVLA 학습 노트북
Vision-Language-Action 모델 학습 예제입니다. 자연어 명령으로 로봇을 제어하는 최신 기술을 배울 수 있습니다.
SmolVLA 노트북 열기
노트북을 다운로드하여 Google Colab에서 실행하면 무료 GPU를 사용할 수 있습니다. 단, Colab의 제한된 리소스로는 전체 학습이 어려울 수 있으니 작은 데이터셋으로 테스트해보세요.
실제 로봇 평가
학습된 모델을 실제 로봇에서 평가:
# ㅓ봇에서 모델 평가 실행
python -m lerobot.record \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM1 \
--robot.cameras="{ up: {type: opencv, index_or_path: /dev/video10, width: 640, height: 480, fps: 30}, side: {type: intelrealsense, serial_number_or_name: 233522074606, width: 640, height: 480, fps: 30}}" \
--robot.id=my_awesome_follower_arm \
--display_data=false \
--dataset.repo_id=${HF_USER}/eval_so100 \
--dataset.single_task="Put lego brick into the transparent box" \
# <- Teleop optional if you want to teleoperate in between episodes \
# --teleop.type=so100_leader \
# --teleop.port=/dev/ttyACM0 \
# --teleop.id=my_awesome_leader_arm \
--policy.path=${HF_USER}/my_policy
평가 결과는 자동으로 성공률과 함께 표시됩니다.
모델 저장 및 배포
모델을 HuggingFace Hub에 업로드
# 학습된 모델을 HuggingFace Hub에 업로드
CKPT=010000
huggingface-cli upload ${HF_USER}/act_so101_test${CKPT} \
outputs/train/act_so101_test/checkpoints/${CKPT}/pretrained_model
학습한 모델을 HuggingFace Hub에 공유하면 다른 사람들도 사용할 수 있습니다. 모델 카드에 학습 데이터셋, 하드웨어 정보, 성능 지표를 포함하세요.
이제 LeRobot으로 AI 모델을 학습시키는 전체 과정을 마스터했습니다. 학습한 모델을 실제 로봇에 적용하여 놀라운 결과를 만들어보세요!