LeRobot documentation

LeRobot용 DM0.5

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

LeRobot용 DM0.5

DM05는 DM0.5라는 이름으로도 출시되었으며, Dexmal의 오픈 월드 로봇 제어를 위한 Vision-Language-Action 모델입니다. LeRobot 어댑터는 표준 LeRobot 데이터셋, 프로세서, 학습, 체크포인트, Hub 로딩 및 평가를 사용하면서 OpenDM 모델 경로를 유지합니다.

모델 세부 사항은 DM0.5 기술 블로그, OpenDM 저장소 및 원본 Dexmal/DM05 릴리스를 참고하세요.

설치

pip install -e ".[training,dm05]"   # training
pip install -e ".[libero,dm05]"     # LIBERO evaluation on Linux

체크포인트

lerobot/dm05_base를 --policy.path와 함께 사용하세요. 이는 원본 OpenDM 체크포인트의 자체 완결형 LeRobot 변환 버전이며 DM05Policy.from_pretrained()를 지원합니다.

기본 설정은 OpenDM의 14차원 상태/행동 계약을 기록합니다. DM05의 핵심 모델은 최대 32차원을 지원하며, 새로운 fine-tuning은 대상 데이터셋에서 유효한 이미지, 상태, 행동 특징을 해결합니다.

Dataset 계약

DM05은 다음을 갖춘 표준 LeRobot 데이터셋을 지원합니다:

  • 하나 이상의 이미지 또는 비디오 관찰;
  • observation.state;
  • action;
  • 작업 설명.

카메라 순서가 명시적으로 지정되어야 하는 경우 policy.image_keys를 설정합니다. RoboTwin, ALOHA 및 기타 소스는 표준 LeRobot 스키마로 변환된 후 DM05 전용 리더가 필요하지 않습니다. 표준 observation.state 및 action 키를 유지하고, rename_map은 카메라 이름 정렬에만 사용하세요.

학습

LIBERO 레시피는 OpenDM을 따릅니다:

lerobot-train \
  --dataset.repo_id=lerobot/libero \
  --rename_map='{"observation.images.image": "observation.images.front", "observation.images.image2": "observation.images.wrist"}' \
  --dataset.video_backend=pyav \
  --policy.path=lerobot/dm05_base \
  --policy.add_state=false \
  --policy.chunk_size=10 \
  --policy.n_action_steps=10 \
  --policy.repo_id=your_repo_id \
  --output_dir=outputs/train/dm05-libero \
  --steps=50000 \
  --batch_size=8 \
  --policy.device=cuda

주요 학습 매개변수

매개변수LIBERO 값의미
dataset.repo_idlerobot/libero표준 LeRobot 학습 데이터셋
policy.pathlerobot/dm05_base자체 완결형 베이스 체크포인트
rename_mapimage/image2에서 front/wrist로eval 명령과 lerobot/dm05_libero에서 사용되는 카메라 이름
policy.add_statefalseOpenDM의 LIBERO 프롬프트와 일치하며 상태 토큰이 없습니다
policy.use_relative_actionsfalse (체크포인트 기본값)저장된 액션을 변경 없이 학습하며, 상대 모드(explicit opt-in)는 명시적으로 선택해야 활성화됩니다
policy.chunk_size10각 청크당 예측되는 액션의 수
policy.n_action_steps10다음 모델 호출 전에 실행되는 횟수; 최대 chunk_size
policy.repo_idyour_repo_idHub 대상; 로컬 전용 실행의 경우 policy.push_to_hub=false를 사용

Environment control mode는 정책의 action 표현과 별도로 구성됩니다. Relative mode는 state/action 차원이 일치해야 합니다.

카메라

카메라 세트는 정책 구성의 일부이며, 프롬프트는 항상 해당 카메라만 렌더링합니다. 카메라를 선언하지 않는 lerobot/dm05_base에서 파인튜닝을 수행하면 학습 데이터셋의 카메라가 사용됩니다. 파인튜닝된 체크포인트는 자체 카메라 이름을 유지합니다. 이름이 다른 데이터셋을 이 이름에 매핑하려면 --rename_map을 사용하세요. 예를 들어 --rename_map='{"observation.images.top": "observation.images.front"}'와 같이 지정할 수 있습니다.

정규화 통계

Training은 meta/stats.json의 데이터셋 상태/행동 통계를 사용합니다. 행동 통계는 학습에 사용된 표현과 일치해야 합니다. policy.use_relative_actions=true인 경우, 동일한 chunk size와 제외된 차원을 사용하여 상대 행동 변환 후에 계산하십시오. 상대 행동 가이드를 참조하십시오.

평가

LIBERO 체크포인트 lerobot/dm05_libero는 50,000단계로 학습되었으며, 각 작업당 5개의 에피소드로 모든 40개의 LIBERO 작업에서 평가되었습니다:

MUJOCO_GL=egl lerobot-eval \
  --policy.path=lerobot/dm05_libero \
  --env.type=libero \
  --env.task=libero_spatial,libero_object,libero_goal,libero_10 \
  --env.camera_name_mapping='{"agentview_image":"front","robot0_eye_in_hand_image":"wrist"}' \
  --env.observation_height=256 \
  --env.observation_width=256 \
  --env.control_mode=relative \
  --eval.n_episodes=5 \
  --eval.batch_size=1 \
  --seed=7 \
  --policy.device=cuda
Suite성공 사례
공간49/50
객체50/50
목표50/50
LIBERO-1048/50
합계197/200 (98.5%)

이것은 2,000에피소드의 LIBERO 벤치마크 프로토콜이 아니라 200에피소드의 재현성 확인입니다.

Checkpoint 레이아웃

policy weights, config, processor state가 포함된 완전한 checkpoint 디렉터리를 사용하세요. 독립적인 model.safetensors만으로는 학습이나 추론이 불가능합니다.

라이선스

LeRobot 통합은 Apache-2.0 라이선스를 따릅니다. 모델 가중치는 해당 DM05 모델 카드에 첨부된 라이선스를 따릅니다.

Update on GitHub