로보틱스 AI를 임베디드 플랫폼으로 가져오기: 데이터셋 기록, VLA 파인튜닝, 그리고 온-디바이스 최적화
높은 일관성 데이터셋 기록
환경 및 하드웨어 안정성
- 고정 카메라 마운트: 포즈 드리프트를 방지하기 위해 강성 마운트가 필요합니다; 로봇 진동이나 환경 재설정으로 인한 카메라 이동은 정확도 손실을 크게 초래합니다.
- 제어된 조명 및 대비: 고정된 광원을 사용하고 햇빛을 피하면 시간적 변동을 방지할 수 있습니다. 로봇 팔, 물체, 환경 간의 높은 대비는 "흰색 위에 흰색" 상황을 피하기 위해 필요합니다.
- 보정 백업: 로봇 및 텔레오퍼레이터 보정 파일을 백업해 두면 소프트웨어 충돌 후 에피소드를 다시 녹화할 필요가 없습니다.
- 입력 제한: 운영자는 런타임에 정책이 사용할 수 있는 카메라 입력만을 독점적으로 사용해야 하며, 추론 중 모델이 접근할 수 없는 정보를 도입해서는 안 됩니다.
시점 전략
다양한 시점을 혼합하면 전반적인 정확도가 향상됩니다. NXP는 3대 카메라 구성을 권장합니다:
- Top View: 장면의 전체적인 뷰를 제공합니다.
- Gripper Camera: 정밀한 잡기와 정렬을 위한 가장 가까운 시점을 제공하므로 정밀 조작 작업에 강력히 권장됩니다.
- Left View: 높이와 깊이 인식을 위해 Top View를 보완합니다.
물리적 및 데이터 다양성
- Hardware Tweaks: 그리퍼 클로에 열수축 튜브를 적용하면 마찰이 증가하고 미끄러짐이 감소하여 정책 학습 안정성이 향상됩니다.
- Workspace Clustering: 도달 가능한 작업 공간을 시작 위치 클러스터(예: 10x10 cm)로 나누고, 각 클러스터당 최소 10개의 에피소드를 기록해야 합니다.
- Recovery Episodes: 로봇이 첫 시도에 실패한 후 물체를 회수해야 하는 "복구 에피소드"(전체 학습 세트의 약 20%)를 포함하면 전체 성공률이 향상됩니다.
- Validation Splits: 전용 클러스터(예: 클러스터 6)를 학습 세트에서 제외하여 보지 않은 검증 세트로 사용함으로써 과적합을 방지해야 합니다.
VLA 정책 파인튜닝
실제 "찻잎을 머그에 넣는" 작업에 대한 파인튜닝은 10개의 클러스터에 걸쳐 120개의 에피소드를 사용했으며, 30fps의 640x480px 카메라 3대를 사용했습니다.
모델 체크포인트에 관한 주요 발견은 다음과 같습니다:
- ACT (Action Chunking with Transformers): 정확도, 일반화, 부드러움 사이의 최적 균형은 100k~160k 훈련 단계(청크당 100 액션) 사이에서 발견되었습니다.
- SmolVLA: 이 모델은 유사한 균형을 달성하기 위해 (청크당 50 액션) 훨씬 더 많은 훈련 단계가 필요합니다.
- Evaluation Metric: 최종 체크포인트는 훈련 손실만을 기준으로 하지 말고, 훈련 및 검증 세트 모두에서의 성공률을 기준으로 선택해야 합니다.
NXP i.MX 95 SoC 최적화
NXP i.MX 95 SoC는 Arm Cortex-A55 및 Cortex-M 코어, Mali GPU, 그리고 eIQ Neutron NPU를 통합합니다. 효율적인 엣지 추론을 가능하게 하기 위해 NXP는 세 가지 주요 전략을 사용합니다:
아키텍처 분해
단일 그래프 대신 VLA는 논리적 서브 블록으로 분할됩니다:
- Vision: RGB 프레임을 시각 임베딩으로 처리합니다.
- LLM Backbone: 시각 및 텍스트 임베딩으로부터 액션 토큰을 생성합니다.
- Action Expert: 흐름 매칭을 적용하여 액션 샘플을 디노이징하고 최종 제어 명령으로 변환합니다. 이 분리는 블록별 양자화와 독립적인 스케줄링을 가능하게 하며, 특히 Action Expert를 낮은 주기로 실행할 수 있게 합니다.
전략적 양자화
양자화의 영향은 블록마다 다릅니다:
- Vision Encoder and LLM Prefill: 이 블록들은 양자화 시 정확도 저하가 제한적입니다.
- Action Expert: 디노이징 흐름을 양자화하면 반복적인 디노이징 단계에서 오류가 누적되어 성능이 크게 저하됩니다. 따라서 이 블록은 안정성을 유지하기 위해 높은 정밀도로 유지됩니다.
비동기 추론 및 스케줄링
동기식 제어 루프는 모델이 추론을 수행하는 동안 로봇이 대기하게 만들어 유휴 시간과 진동 보정을 초래합니다. 비동기 추론은 생성과 실행을 분리하여 로봇이 현재 액션 청크를 실행하는 동안 다음 청크를 병렬로 계산할 수 있게 합니다. 이를 효과적으로 수행하려면 엔드투엔드 추론 지연 시간이 액션 실행 시간보다 짧아야 합니다(추론 시간 < 실행 시간).
i.MX 95 성능 벤치마크
찻잎을 머그에 넣는 작업에 대해 테스트 세트 20 에피소드와 검증 세트 10 에피소드를 사용한 테스트 결과는 다음과 같습니다:
| 정책 | 포맷 | 추론 지연 시간 | 전체 정확도 (30 에피소드) |
|---|---|---|---|
| ACT | ONNX FP32 | 2.86 s | 0.96 |
| ACT | Optimized | 0.32 s | 0.89 |
| SmolVLA | ONNX FP32 | 29.1 s | 0.47 |
NXP는 SmolVLA에 대해 6.15초의 최적화된 온보드 추론 지연 시간 기준을 설정했으며, 향후 작업은 추가 NPU 최적화, 확장 가능한 데이터 생성을 위한 시뮬레이션 환경, 그리고 Sim-to-Real 전이에 초점을 맞출 예정입니다.