본문으로 건너뛰기

© 2026 Molayo

HuggingFace헤드라인2026. 05. 07. 07:27

LeRobot SO-101 팔을 위한 Isaac GR00T N1.5 모델의 후처리 (Fine-tuning) 가이드

요약

본 문서는 NVIDIA의 최신 범용 로봇 모델인 Isaac GR00T N1.5를 저렴한 오픈소스 LeRobot SO-101 팔과 같은 다양한 하드웨어에 성공적으로 적응(Fine-tuning)시키는 방법을 안내하는 가이드입니다. 이 과정은 원격 조작 데이터를 활용하여 특정 임베디먼트와 작업 환경에 모델을 맞춤화하며, `EmbodimentTag` 시스템 덕분에 누구나 쉽게 고급 인간형 추론 및 조작 능력을 자신의 로봇 플랫폼에 적용할 수 있게 합니다. 실제 튜토리얼에서는 SO-101의 테이블 정리(table cleanup) 작업을 예시로 사용하여 데이터셋 준비부터 모델 미세 조정, 그리고 최종 성능 평가까지의 전체 워크플로우를 상세히 설명하고 있습니다.

핵심 포인트

  • Isaac GR00T N1.5는 언어 및 이미지 등 다중 모달 입력을 처리하는 오픈소스 기반의 범용 인간형 로봇 추론 플랫폼입니다.
  • GR00T N1.5는 `EmbodimentTag` 시스템을 통해 다양한 로봇 하드웨어(예: LeRobot SO-101)에 쉽게 적응하고 커스터마이징할 수 있습니다.
  • 튜토리얼은 원격 조작 데이터를 사용하여 특정 작업(테이블 정리)에 맞춰 모델을 미세 조정하는 전체 과정을 다룹니다.
  • 데이터셋 준비 시, `modality.json` 파일 복사 및 데이터 로딩 스크립트 실행 등 체계적인 전처리 과정이 필요합니다.
  • 미세 조정(Fine-tuning) 후에는 `eval_policy.py`를 사용하여 오픈 루프 환경에서 성능을 평가할 수 있습니다.

NVIDIA Isaac GR00T (Generalist Robot 00 Technology) 는 지능적이고 적응형 로봇의 개발을 가속화하기 위해 설계된 로봇 기반 모델 및 데이터 파이프라인 구축을 위한 연구 및 개발 플랫폼입니다.

오늘, 우리는 Isaac GR00T N1.5 가 출시되었음을 발표합니다. 이는 Isaac GR00T N1 의 첫 번째 주요 업데이트이며, 세계 최초의 일반적 인간형 로봇 추론 및 기술 (skills) 을 위한 오픈소스 기반 모델입니다. 이 크로스 임베디먼트 (cross-embodiment) 모델은 언어와 이미지 등 다중 모달 입력을 처리하여 다양한 환경에서 조작 작업을 수행합니다. 특정 임베디먼트, 작업, 환경을 위해 후처리 (post-training) 를 통해 적응할 수 있습니다.

이 블로그에서는 단일 SO-101 로봇 팔의 원격 조작 데이터 (teleoperation data) 를 사용하여 GR00T N1.5 를 후처리 (fine-tune) 하는 방법을 보여드리겠습니다.

GR00T N1.5 기술 블로그: https://research.nvidia.com/labs/gear/gr00t-n1_5/

이제 다양한 로봇 형식을 다루는 개발자들에게 접근 가능한 GR00T N1.5 는 저렴한 오픈소스 LeRobot SO-101 팔을 사용하여 쉽게 fine-tuning 및 적응할 수 있습니다.

이 유연성은 EmbodimentTag 시스템에 의해 가능해지며, 이는 모델의 다양한 로봇 플랫폼을 위해 원활한 커스터마이징을 허용하여 취미가 있는 사람, 연구자, 엔지니어들이 고급 인간형 추론 및 조작 능력을 자신의 하드웨어에 맞게 조정할 수 있게 합니다.

설치로 진행하기 전에, 자격 요건을 충족하는지 확인하세요.

0.1 Isaac-GR00T 저장소 복제 (Clone)

git clone https://github.com/NVIDIA/Isaac-GR00T
cd Isaac-GR00T
conda create -n gr00t python=3.10
conda activate gr00t
pip install --upgrade setuptools
...

사용자는 LeRobot 데이터셋과 함께 GROOT N1.5 를 fine-tuning 할 수 있습니다. 이 튜토리얼에서는 fine-tuning 의 예로 테이블 정리 작업 (table cleanup task) 을 사용하겠습니다.

SO-100 또는 SO-101 의 데이터셋은 GR00T N1.5 의 초기 사전 훈련에 포함되어 있지 않다는 점을 주의해야 합니다. 그 결과, 우리는 이를 new_embodiment 로 훈련할 것입니다.

이 튜토리얼에서는 다음 지시사항을 따라 사용자 정의 데이터셋을 생성하는 것 (권장) 또는 Hugging Face 에서 so101-table-cleanup 데이터셋을 다운로드하는 것으로 시작할 수 있습니다. --local-dir 인수는 데이터셋이 저장될 위치에 대한 것입니다.

huggingface-cli download \
--repo-type dataset youliangtan/so101-table-cleanup \
--local-dir ./demo_data/so101-table-cleanup

modality.json 파일은 "GR00T 호환성"을 만들기 위해 상태 및 액션 모달리티에 대한 추가 정보를 제공합니다. 다음 명령어로 데이터셋 <DATASET_PATH>/meta/modality.jsongetting_started/examples/so100_dualcam__modality.json 을 복사하세요:

cp getting_started/examples/so100_dualcam__modality.json ./demo_data/so101-table-cleanup/meta/modality.json

NOTE: so100_strawberry_grape 와 같은 단일 카메라 설정을 위해 실행하세요:

cp getting_started/examples/so100__modality.json ./demo_data/<DATASET_PATH>/meta/modality.json

이러한 단계 후, 데이터셋은 GR00T LeRobotSingleDataset 클래스로 로드할 수 있습니다. 데이터셋을 로드하는 예제 스크립트는 여기에 표시됩니다:

python scripts/load_dataset.py --dataset-path ./demo_data/so101-table-cleanup --plot-state-action --video-backend torchvision_av

GR00T N1.5 의 fine-tuning 은 scripts/gr00t_finetune.py Python 스크립트를 사용하여 실행할 수 있습니다. Fine-tuning 을 시작하려면 터미널에서 다음 명령어를 실행하세요:

python scripts/gr00t_finetune.py \
--dataset-path ./demo_data/so101-table-cleanup/ \
--num-gpus 1 \
...

Tip: 기본 미세 조정 설정은 약 25G VRAM 을 요구합니다. 해당 VRAM 이 부족하다면, gr00t_finetune.py 스크립트에 --no-tune_diffusion_model 플래그를 추가해 보세요.

훈련이 완료되고 미세 조정된 정책이 생성되면, 다음 명령을 실행하여 오픈 루프 설정에서 성능을 시각화할 수 있습니다:

python scripts/eval_policy.py --plot \
--embodiment_tag new_embodiment \
--model_path ./so101-checkpoints \
...

축하합니다! 새로운 임베디먼트 (Embodiment) 에 GR00T-N1.5 를 성공적으로 미세 조정했습니다.

정책을 성공적으로 미세 조정하고 평가한 후, 다음 단계는 실제 세계 실행을 위해 물리적 로봇에 배포하는 것입니다.

SO-101 로봇을 연결하고 평가를 시작하려면 터미널에서 다음 명령을 실행하세요:

  • 먼저 정책을 서버로 실행합니다:
python scripts/inference_service.py --server \
--model_path ./so101-checkpoints \
--embodiment-tag new_embodiment \
...
  • 별도의 터미널에서 평가 스크립트를 클라이언트로 실행합니다. 로봇의 포트와 ID, 카메라 인덱스 및 매개변수를 설정에 맞게 업데이트하세요.
python getting_started/examples/eval_lerobot.py \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
...

우리는 GRO0T-N1.5 를 다른 언어 명령어로 미세 조정했으므로, 사용자는 데이터셋의 작업 프롬프트 중 하나를 사용하여 정책을 안내할 수 있습니다:

"테이프를 잡고 펜 홀더에 배치하세요."

상세한 단계별 튜토리얼은 다음을 확인하세요: https://github.com/NVIDIA/Isaac-GR00T/tree/main/getting_started

NVIDIA 의 GR00T N1.5 로 로봇 프로젝트를 업그레이드하시겠습니까? 이러한 필수 리소스를 통해 시작하세요:

  • GR00T N1.5 모델: Hugging Face 에서 최신 모델을 직접 다운로드하세요.
  • 미세 조정 리소스: GitHub 에서 샘플 데이터셋 및 미세 조정용 PyTorch 스크립트를 찾으세요.
  • 데이터셋 기여: Hugging Face 에 자신의 데이터셋을 기여하여 로봇 커뮤니티를 강화하세요.
  • LeRobot 해커톤: 글로벌 커뮤니티에 참여하고 향후 LeRobot 해커톤에 참여하여 기술을 적용하세요.

최신 개발 동향을 파악하기 위해 NVIDIA 를 Hugging Face 에서 팔로우하세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 Hugging Face Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
1

댓글

0