Motphys/UniLab

UniLab: A Heterogeneous Architecture for Robot RL Beyond GPU-Dominant Paradigms

해결하는 문제

UniLab은 특정 물리 시뮬레이터나 하드웨어에 고정된 로봇 강화학습(RL) 작업 개발의 어려움을 해결합니다. 태스크 정의(보상, 관측, 행동)를 기반 시뮬레이션 백엔드와 RL 학습기에서 분리하는 통합 아키텍처를 제공하여, 연구자들이 환경 코드를 다시 작성하지 않고도 다양한 시뮬레이터와 하드웨어 가속기 간을 쉽게 전환할 수 있도록 합니다.

작동 방식

UniLab은 "태스크 중심 계약"을 사용하여 태스크의 의미론과 실행을 분리합니다.

  • 선언적 구성: 태스크는 Hydra와 YAML 파일을 사용하여 정의됩니다. 각 환경에 대해 Python 클래스를 작성하는 대신, 사용자는 "매니저 텀"(보상, 관측 등에 대한 사전 정의된 함수)을 조합하여 태스크를 구축합니다.
  • 백엔드 어댑터: 다양한 물리 엔진(MuJoCo, Motrix, Genesis, IsaacGym 등)과 표준화된 API를 통해 상호작용할 수 있도록 하는 SimBackend 계약을 사용합니다.
  • 통합 CLI: 학습과 평가를 하나의 명령줄 인터페이스로 처리하며, 시뮬레이터는 플래그(예: --sim mujoco)로 지정됩니다. 백엔드에 관계없이 워크플로우는 동일합니다.
  • 하드웨어 독립성: CPU 병렬 시뮬레이션, CUDA, ROCm(AMD), MPS(macOS) 등 다양한 하드웨어를 지원합니다.

대상 사용자

다양한 시뮬레이터에서 에이전트를 테스트하거나, 다른 하드웨어 플랫폼에 배포하거나, 광범위한 반복 코드 없이 로봇 태스크를 빠르게 프로토타이핑해야 하는 로봇 RL 연구자 및 개발자입니다.

주요 특징

  • 백엔드 유연성: MuJoCo, Motrix, MJWarp, Drake, Genesis, IsaacGym, IsaacSim 등 다양한 시뮬레이터를 지원합니다.
  • 구성 기반 설계: 새로운 Python 환경 클래스를 작성하는 대신 YAML 파일을 편집하여 태스크 변형을 생성할 수 있습니다.
  • 광범위한 하드웨어 지원: NVIDIA GPU(CUDA), AMD GPU(ROCm), Intel GPU(XPU), Apple Silicon(MPS)와 호환됩니다.
  • 통합 생태계: 물리 어댑터용 unisim-core와 RL 알고리즘 및 러너용 unilab-rl과 함께 작동합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트