5.6 SmolVLA 구조

SmolVLA 개념 구조

그림 5-2. 다중 카메라, robot state, language instruction을 context로 만들고 action expert가 미래 action chunk를 생성하는 개념 구조.

SmolVLA는 Hugging Face가 공개한 경량 VLA다. SmolVLA 공식 문서는 여러 카메라, 현재 sensorimotor state, 자연어 지시를 입력으로 받아 action expert가 action chunk를 생성한다고 설명한다. 공개 base checkpoint는 약 450M parameter 규모로 안내된다. 구조 세부와 benchmark는 SmolVLA 논문을 참고한다.

5.6.1 입력 context

  • image tokens: top/wrist 등 여러 camera view
  • state token: 현재 robot state를 projected embedding으로 변환
  • language tokens: task instruction

camera key가 checkpoint가 기대하는 이름과 다르면 rename_map을 사용한다. 이름만 맞추는 것으로 끝나지 않고 view 의미가 일치하는지 확인한다. top camera를 wrist camera 이름으로 바꾸면 shape 검사는 통과해도 의미가 틀린다.

5.6.2 action expert와 flow matching

SmolVLA는 VLM context에 조건부인 action expert를 통해 연속 action chunk를 생성한다. 논문은 flow matching 기반 action generation을 사용한다. 개념적으로 noise sample x0x_0를 data action x1x_1 방향으로 운반하는 velocity field vθ(xt,t,c)v_\theta(x_t,t,c)를 학습한다.

xt=(1−t)x0+tx1,LFM=E∥vθ(xt,t,c)−(x1−x0)∥2 x_t=(1-t)x_0+t x_1, \qquad \mathcal L_{FM}=\mathbb E\|v_\theta(x_t,t,c)-(x_1-x_0)\|^2

실제 구현의 path, noise, solver는 checkpoint/config에 따른다. 이 식은 원리를 보여 주는 단순화다.

5.6.3 chunk size

chunk size HH가 크면 한 번의 inference로 긴 시간을 커버하지만 오래된 관측에 기반한 open-loop 구간이 길어진다. 작으면 자주 재계획하지만 inference load가 커진다. 원 교안의 16 frame은 실습 시작값으로 사용할 수 있으나 SmolVLA checkpoint default를 임의로 덮어쓰지 않는다. 저장된 policy config의 chunk_size와 n_action_steps를 확인한다.

이 장의 예제 코드·설정 파일 (5)

이 장의 자가 점검·가상실습