VAMS + Isaac Lab: 로봇 시뮬레이션 훈련, 이제 GPU 가속으로 자동화!
VAMS는 NVIDIA Isaac Lab과의 통합을 통해 로봇 자산에 대한 GPU 가속 강화 학습(RL)을 지원하며, AWS Batch를 활용하여 확장 가능한 GPU 컴퓨팅 환경을 제공함
Isaac Lab은 고충실도 물리 엔진 기반으로, 단일 GPU에서 수천 개의 로봇 인스턴스를 병렬 실행하여 훈련 시간 단축 및 안전한 탐색을 가능하게 함
VAMS의 Isaac Lab 파이프라인은 로봇 모델에서 훈련된 정책까지의 원활한 경로를 제공하며, GPU 인스턴스 관리, 컨테이너 오케스트레이션, 데이터 전송 자동화를 통해 MLOps 부담을 줄임
훈련 모드(Train Mode)와 평가 모드(Evaluation Mode)를 지원하여 RL 개발 수명 주기의 각 단계를 지원하며, 체크포인트 관리 및 훈련 메트릭 시각화를 제공함
VAMS 웹 UI를 통해 훈련 작업을 실행하고, 훈련된 정책을 자산으로 관리하여 전체 계보 추적(Full Lineage Tracking)을 지원하며, 사용자 정의 환경 작업도 가능함
VAMS와 Isaac Lab의 통합 아키텍처
VAMS의 Isaac Lab 파이프라인은 AWS Step Functions(Step Functions)를 사용하여 훈련 작업을 조율하며, Amazon API Gateway(API Gateway)를 통해 사용자 요청을 받는다. 사용자가 훈련 작업을 제출하면, AWS Lambda(Lambda) 함수가 Step Functions 워크플로우를 시작하고, AWS Batch에 작업을 제출한다.
AWS Batch: GPU 인스턴스(g6.2xlarge ~ g6e.12xlarge)에서 자동 확장되는 컨테이너화된 환경 제공
Amazon EFS: 다중 노드 작업 간 훈련 체크포인트 공유 스토리지
Amazon ECR: Isaac Lab 컨테이너 이미지 호스팅
Container Insights: 모니터링 및 관찰 가능성 확보
이러한 아키텍처는 로봇 자산 관리와 GPU 가속 시뮬레이션 훈련을 통합하여, MLOps 리소스 부족 문제를 해결하고, 로보틱스 엔지니어들이 로봇 설계에 집중할 수 있도록 돕는다.
훈련 및 평가 모드 상세 분석
파이프라인은 훈련 모드(Train Mode)와 평가 모드(Evaluation Mode)를 지원하여, RL 개발 수명 주기를 포괄적으로 지원한다. 훈련 모드에서는 사용자가 시뮬레이션 작업, 병렬 환경 수, 훈련 반복 횟수를 지정하면, 파이프라인이 VAMS에서 사용자 정의 환경을 다운로드하고, 훈련 루프를 실행하며, 체크포인트를 저장하고, 훈련된 정책을 VAMS에 업로드한다.
훈련 출력물: 모델 체크포인트, 훈련 메트릭, 훈련 구성 파일, 로그 파일
평가 모드: 훈련된 정책의 성능 평가, 비디오 녹화, 메트릭 수집
평가 출력물: 평가 비디오, 평가 메트릭, 평가 구성 파일
이러한 이중 모드 작동은 RL 개발 프로세스 전반의 효율성을 극대화하고, 훈련된 정책의 성능을 체계적으로 평가할 수 있도록 돕는다.
VAMS를 통한 작업 실행 및 자산 관리
VAMS 웹 UI를 통해 훈련 작업을 실행하는 것은, 로봇 자산 관리 워크플로우를 간소화하는 핵심 기능이다. 사용자는 훈련 구성 JSON 파일을 VAMS에 업로드하고, Isaac Lab Training 또는 Evaluation 파이프라인을 선택한 후, 작업을 실행할 수 있다. 훈련이 완료되면, 훈련된 정책은 원래 로봇 자산에 연결된 새로운 자산 버전으로 나타나, 전체 계보 추적(Full Lineage Tracking)을 지원한다.
VAMS의 장점: 훈련 실험에 대한 중앙 집중식 가시성 확보
훈련 작업 추적: Amazon CloudWatch에서 훈련 출력 로그 검토
사용자 정의 환경 지원: 사용자 정의 환경을 패키징하여 VAMS에 업로드
이러한 기능은 로봇 AI 개발팀이 자산 관리와 훈련 프로세스를 통합하여, 효율적인 워크플로우를 구축하도록 돕는다.
NVIDIA Isaac Lab의 성능 및 확장성
NVIDIA Isaac Lab은 GPU 가속 로봇 시뮬레이션을 위한 최첨단 기술을 제공하며, 단일 GPU에서 수천 개의 로봇 인스턴스를 병렬로 실행할 수 있다. 이는 실제 세계에서 몇 달이 걸릴 훈련을 몇 시간의 시뮬레이션 시간으로 압축하는 데 기여한다.
빠른 반복 주기: 새로운 보상 함수, 로봇 설계 또는 제어 전략을 몇 시간 만에 테스트
안전한 탐색: 하드웨어 손상 없이 공격적인 기동 학습 및 실패 복구
재현성: 알고리즘 비교 및 개선 추적을 위한 결정론적 환경 제공
확장성: 수백 개의 실험을 병렬로 실행하여 체계적인 하이퍼파라미터 검색 가능
이러한 성능과 확장성은 로봇 AI 개발팀이 더욱 효율적으로 훈련하고, 혁신적인 로봇 설계를 구현할 수 있도록 지원한다.
다중 노드 훈련 및 성능 최적화
파이프라인은 대규모 실험을 위해 PyTorch의 분산 훈련(torchrun)을 통한 다중 노드 병렬 훈련을 지원한다. 컴퓨팅 구성에서 numNodes > 1로 설정하면, AWS Batch의 다중 노드 병렬 작업 기능을 통해 노드 간 통신이 자동 구성된다. 체크포인트는 Amazon EFS를 통해 공유되어, 모든 노드가 동기화된 상태를 유지한다.
인스턴스 선택: BEST_FIT_PROGRESSIVE 할당 전략을 사용하여 G6 인스턴스(L4 GPU) 우선
웜 인스턴스 유지: keepWarmInstance: true 설정으로 파이프라인 실행 비용 증가
AMI 사전 베이크: 컨테이너 이미지가 사전 캐시된 사용자 정의 AMI 생성
더 큰 EBS 볼륨: 100GB GP3 EBS 볼륨 사용
이러한 최적화 기법은 훈련 시간 단축 및 비용 효율성을 달성하여, 로봇 AI 개발의 생산성을 향상시킨다.
VAMS 파이프라인 활성화 및 배포
Isaac Lab 파이프라인을 사용하려면, VAMS에서 VPC 모드가 활성화되어 있어야 하며, VAMS 구성 파일(/infra/config/config.json)을 업데이트해야 한다. 특히, NVIDIA 소프트웨어 라이선스 계약을 승인하기 위해 acceptNvidiaEula: true를 설정해야 한다. 이 설정이 없으면 배포가 실패한다.
배포 과정: Isaac Lab 컨테이너 빌드 및 Amazon ECR에 푸시
초기 작업: 약 10GB 컨테이너 이미지 가져오기 (5-10분 소요)
후속 작업: 인스턴스 캐싱으로 인해 더 빠르게 시작
이러한 배포 절차를 통해, 로봇 AI 개발팀은 VAMS와 Isaac Lab의 통합 기능을 활용하여, GPU 가속 시뮬레이션 훈련을 손쉽게 시작할 수 있다.