주요 콘텐츠로 건너뛰기
AI 튜토리얼

SuperMimic으로 휴머노이드 모션 트래커 학습 및 재생

이 튜토리얼에서는 mjlab_research와 함께 SuperMimic을 설치하고, 좌표 표현을 선택하며, 지정한 GPU에서 월드 모델과 정책을 학습하고, Weights & Biases 경로를 사용해 학습된 실행 결과를 재생하는 방법을 설명합니다.

SuperMimic으로 휴머노이드 모션 트래커 학습 및 재생

SuperMimic이란?

SuperMimic은 단일 미분 가능한 월드 모델로 휴머노이드 전신 모션 트래커를 학습하기 위한 연구 프로젝트입니다. mjlab을 기반으로 하며, 두 가지 좌표 표현에 대한 학습 작업을 제공합니다.

프로젝트에 대한 자세한 정보는 SuperMimic 프로젝트 페이지와 연구 논문에서 확인할 수 있습니다.

주요 기능

  • 휴머노이드 전신 추적: 휴머노이드 모션 추적을 위한 정책을 학습합니다.
  • 미분 가능한 월드 모델: 정책과 함께 하나의 미분 가능한 월드 모델을 사용해 학습합니다.
  • 두 가지 작업 표현: G1에 대해 일반화 좌표 작업과 최대 좌표 작업을 지원합니다.
  • 학습 및 재생 스크립트: 학습 시작과 학습된 모델 재생을 위한 별도의 명령을 제공합니다.
  • GPU 선택: CUDA_VISIBLE_DEVICES를 통해 특정 GPU에 학습을 할당할 수 있습니다.

SuperMimic 설치

1. uv 설치

SuperMimic은 스크립트 실행에 uv를 사용합니다. 프로젝트 README에 안내된 명령으로 설치합니다.

curl -LsSf https://astral.sh/uv/install.sh | sh

2. 작업 공간 생성

SuperMimic과 mjlab_research 저장소는 형제 디렉터리로 복제해야 합니다. 공용 작업 공간을 만들고 이동한 다음 두 저장소를 모두 복제합니다.

mkdir supermimic_ws && cd supermimic_ws
git clone git@github.com:HybridRobotics/supermimic.git
git clone git@github.com:HybridRobotics/mjlab_research.git
cd supermimic

결과적으로 supermimic과 mjlab_research는 같은 디렉터리 수준에 위치합니다. 이후 명령은 supermimic 디렉터리 안에서 실행합니다.

학습 작업 선택

SuperMimic은 두 개의 작업 ID를 제공합니다.

  • SuperMimic-GenCoord-G1은 일반화 좌표 표현을 사용합니다.
  • SuperMimic-MaxCoord-G1은 최대 좌표 표현을 사용합니다.

학습 및 재생 명령에 정확한 작업 ID를 사용합니다. 실행하려는 실험에 맞는 표현을 선택합니다.

월드 모델 및 정책 학습

학습 스크립트는 작업 ID와 실행을 설명하는 이름을 받습니다. 다음 템플릿을 사용하면 선택한 GPU에서 실행할 수 있습니다.

CUDA_VISIBLE_DEVICES=<GPU_ID> uv run src/supermimic/scripts/train.py \
  <TASK_ID> --runner.run_name <description>

<GPU_ID>를 GPU 인덱스로, <TASK_ID>를 지원되는 작업 ID 중 하나로, <description>을 실행을 잘 설명하는 이름으로 바꿉니다.

예를 들어 다음 명령은 GPU 0을 선택하고 일반화 좌표 작업을 시작합니다.

CUDA_VISIBLE_DEVICES=0 uv run src/supermimic/scripts/train.py \
  SuperMimic-GenCoord-G1 --runner.run_name g1_generalized_coordinates

대신 최대 좌표 표현으로 학습하려면 작업 ID를 변경합니다.

CUDA_VISIBLE_DEVICES=0 uv run src/supermimic/scripts/train.py \
  SuperMimic-MaxCoord-G1 --runner.run_name g1_maximal_coordinates

학습된 모델 재생

학습된 모델의 원래 작업 ID와 Weights & Biases 실행 경로를 사용해 재생 스크립트를 실행합니다.

uv run src/supermimic/scripts/play.py \
  <TASK_ID> --wandb-path <RUN_PATH>

일반화 좌표 실행의 명령은 다음과 같은 형식입니다.

uv run src/supermimic/scripts/play.py \
  SuperMimic-GenCoord-G1 --wandb-path <RUN_PATH>

<RUN_PATH>를 해당 실행 경로로 바꿉니다. 재생 작업 ID가 학습에 사용한 표현과 일치하는지 확인합니다.

고급 작업 팁

저장소를 형제 디렉터리로 유지

설정 안내에 나온 작업 공간 구조를 유지합니다. mjlab_research를 supermimic 저장소 안에 넣거나 그 반대로 배치하지 않습니다.

설명적인 실행 이름 사용

--runner.run_name 값은 실험을 명확하게 식별할 수 있어야 합니다. 이름에 좌표 표현을 포함하면 일반화 좌표 실행과 최대 좌표 실행을 쉽게 구분할 수 있습니다.

GPU 명시적 선택

다중 GPU 시스템에서는 학습 명령 전에 CUDA_VISIBLE_DEVICES를 설정해 원하는 GPU를 선택합니다. 예를 들어 CUDA_VISIBLE_DEVICES=1을 사용하면 프로세스에서 GPU 1을 사용할 수 있습니다.

재생 시 작업 ID 일치

모델을 재생할 때는 학습에 사용한 것과 동일한 좌표 표현 작업 ID를 사용합니다. 이렇게 하면 재생 명령이 원래 실험과 일치합니다.

프로젝트 크레딧 및 라이선스

SuperMimic에는 ControlVAE, robotic_world_model, DreamerV3에서 영감을 받은 코드가 포함되어 있습니다. 해당 프로젝트는 각각 BSD-3-Clause, Apache-2.0, MIT 라이선스를 사용합니다.

SuperMimic은 Apache License 2.0에 따라 배포됩니다. Copyright 2026 The SuperMimic Authors.

결론

SuperMimic은 미분 가능한 월드 모델을 사용해 휴머노이드 전신 모션 트래커를 학습하고 재생하는 데 집중된 작업 흐름을 제공합니다. uv를 설치하고 필요한 두 형제 저장소를 복제한 후 좌표 표현을 선택하고 적절한 GPU에서 학습을 시작한 다음, 생성된 Weights & Biases 실행 경로를 사용해 재생할 수 있습니다.