한 줄 요약
Embodied.cpp는 다양한 이보디드 AI 모델을 이질적인 로봇 환경에 효율적으로 배포하기 위한 C++ 기반 인퍼런스 런타임이다.
핵심 기여도
- VLA 및 WAM 모델의 공통 실행 경로를 5단계 레이어 구조(input adapters, sequence builders, backbone execution, head plugins, deployment adapters)로 추상화하여 모듈화.
- HY-VLA 모델에서 100.0% 태스크 성공률 달성, pi0.5 모델에서 91.0% 성공률.
- LingBot-VA Transformer 블록에서 메모리 사용량을 312.2 MiB → 88.1 MiB로 감소.
- 이질적인 하드웨어에서 low-latency, batch-1 인퍼런스 및 다중 주파수 실행 지원.
핵심 아이디어
Embodied.cpp는 이보디드 AI 모델이 이질적인 로봇 환경에서 실행될 때 요구되는 런타임 계약(multi-rate execution, latency-first control, extensible I/O)을 충족하기 위해 설계되었다. 기존 인퍼런스 런타임은 request-response 방식에 최적화되어 있어, 로봇 제어 루프 내에서의 실시간 실행과 다양한 I/O 처리를 지원하지 못한다. Embodied.cpp는 VLA와 WAM 모델의 공통 실행 구조를 분석하여 5단계 레이어로 추상화하고, 이를 기반으로 모듈화된 실행 환경을 구축한다. 특히, `head plugins`와 `input adapters`를 통해 모델별 I/O와 예측 모듈을 플러그인 방식으로 처리함으로써, 새로운 모델 유형에 대한 확장성을 확보한다.
기술적 접근법
- **5단계 레이어 아키텍처**:
- **Latency-first 실행**: batch-1 기반의 인퍼런스 최적화.
- **GGUF Q4_K 양자화**: LingBot-VA Transformer 블록에서 BF16 대비 메모리 절감.
- **C++ 기반**: Python 스택 대비 런타임 성능 향상.
1. Input Adapters: 다양한 센서 입력을 처리.
2. Sequence Builders: 입력 시퀀스를 구성.
3. Backbone Execution: 모델의 핵심 인퍼런스 경로 실행.
4. Head Plugins: 모델별 출력 헤드를 모듈화.
5. Deployment Adapters: 이질적인 하드웨어에 맞춘 배포 경로 추상화.
주요 결과
- HY-VLA 모델: RoboTwin `place_empty_cup` 태스크에서 100.0% 성공률 달성.
- pi0.5 모델: 91.0% 성공률, action chunk 길이 16, amortized step latency 0.12초.
- LingBot-VA Transformer 블록: 메모리 사용량 312.2 MiB → 88.1 MiB, MAE 3.3×10⁻² 이하, cosine similarity 9.997×10⁻¹ 이상 유지.
- GGUF Q4_K 양자화로 인한 출력 드리프트는 매우 제한적.
의의 및 한계
Embodied.cpp는 이보디드 AI 모델의 공통 실행 경로를 추상화하여, 다양한 모델 아키텍처와 하드웨어에 대한 런타임 확장성을 제공한다. 특히, `head plugins`와 `input adapters`를 통해 모델별 I/O와 예측 모듈을 모듈화함으로써, 새로운 모델 유형에 대한 적응력을 높인다. 그러나 현재 평가는 VLA 모델과 WAM의 일부 블록에만 제한되며, 전체 WAM 모델의 클로즈드-루프 실행 결과는 아직 포함되지 않았다. 또한, 이질적인 하드웨어에서의 확장성 검증이 추가적으로 필요하다.
실용적 활용
Embodied.cpp는 Jetson, RK, x86 기반의 다양한 로봇 및 엣지 장치에서 이보디드 AI 모델을 효율적으로 실행할 수 있도록 지원한다. 특히, 로봇 제어 루프 내에서 실시간 인퍼런스가 필요한 상황에서 유용하며, VLA 및 WAM 모델의 이질적 배포를 단순화할 수 있다. 산업 현장에서 로봇 자동화 시스템의 런타임 성능 향상과 메모리 효율성 개선에 활용 가능하다.