본문 바로가기

시연 데이터 50개면 VLA 파인튜닝이 될까: ACT·Diffusion Policy·SmolVLA 고르는 기준

ACT·Diffusion Policy·SmolVLA 논문이 실제로 쓴 시연 수, 학습 조건, 추론 지연을 표로 비교하고, 같은 50개 데이터에서 사전학습 여부가 성공률을 40%에서 78.3%로 바꾼 근거와 데이터 규모별 선택 기준을 정리합니다.

목차

핵심 요약

  1. ACT 논문은 실제 과제마다 시연 50개(Thread Velcro만 100개)로 약 8천만 파라미터 모델을 처음부터 학습했고, RTX 2080 Ti 한 장에서 학습 약 5시간, 추론 약 0.01초를 보고한다.
  2. Diffusion Policy 논문의 실제 과제는 과제당 90~284개 시연을 썼고, DDIM 10회 추론으로 RTX 3080에서 약 0.1초 지연을 보고한다.
  3. SmolVLA 논문에서 과제당 50개 시연으로 사전학습 체크포인트를 파인튜닝하면 SO100 3개 과제 평균 78.3%, 사전학습 없이 단일 과제로 학습하면 40%였다. 50개가 충분한지는 데이터 수보다 사전학습 여부가 가른다.
  4. LeRobot 문서는 SmolVLA 파인튜닝에 약 50개 에피소드를 출발점으로 권하고, 25개로는 성능이 나빴다고 밝힌다.
  5. 추론 예산은 ‘실행할 행동 수 ÷ 제어 주기’로 계산한다. SmolVLA 기본값(50스텝)을 30Hz로 실행하면 다음 청크를 준비할 시간이 약 1.67초다.

로봇팔로 시연 데이터를 50개쯤 모았을 때 가장 먼저 드는 질문은 “이 정도면 VLA를 학습시켜도 되나, 아니면 ACT 같은 작은 정책부터 해야 하나"입니다. 이 글은 ACT, Diffusion Policy, SmolVLA 세 논문이 실제로 쓴 시연 수와 학습·추론 조건을 같은 표에 놓고, 데이터 규모와 추론 예산에 따라 어떤 모델로 시작할지 판단하는 기준을 정리합니다. 수치는 모두 각 논문과 공식 문서에 보고된 값이며, 서로 다른 과제·하드웨어 조건이라는 점을 함께 적었습니다.

세 모델의 구조 자체가 궁금하다면 Diffusion Policy 동작 원리와 VLA 파이프라인 비교를 먼저 보면 이 글의 비교가 더 잘 읽힙니다.

세 논문은 시연을 몇 개 쓰고 어떻게 학습했나

항목ACTDiffusion PolicySmolVLA
모델 크기·구조약 80M, 과제마다 처음부터 학습CNN 기반·Transformer 기반 두 변형450M (행동 전문가 약 100M)
실제 과제당 시연 수50개 (Thread Velcro 100개)90~284개50개 (5개 위치 × 10회)
사전학습없음없음커뮤니티 데이터셋 481개, 22.9K 에피소드
학습 조건RTX 2080 Ti 11GB 1장, 약 5시간상태 과제 4500 에폭, 이미지 과제 3000 에폭실제 과제 200,000 스텝 파인튜닝
추론약 0.01초, 50Hz 제어DDIM 10회로 약 0.1초 (RTX 3080)흐름 정합 10단계, 청크 50

ACT 수치는 ACT 논문 본문에서, Diffusion Policy 수치는 Diffusion Policy 논문의 Table 3과 실험 절에서, SmolVLA 수치는 SmolVLA 논문의 모델·학습 설명과 Table 1에서 가져왔습니다. ACT 논문 초록은 이 설정으로 6개 실제 과제에서 80~90% 성공률을 보고합니다. Diffusion Policy 논문은 시뮬레이션 벤치마크에서 기존 방법 대비 평균 46.9% 향상을 보고합니다.

표에서 눈에 띄는 점은 ACT와 SmolVLA가 실제 과제마다 같은 50개 수준의 시연을 썼다는 것입니다. 차이는 모델 크기와 사전학습 유무에 있습니다.

같은 50개 데이터에서 성적을 가른 것은 사전학습이었다

SmolVLA 논문은 SO100 로봇팔로 집어 옮기기, 쌓기, 분류 세 과제를 평가했습니다. 데이터셋마다 5개 시작 위치에서 10회씩, 총 50개 시연입니다. 논문의 실제 과제 결과를 같은 데이터 조건에서 보면 다음과 같습니다.

모델·학습 방식집어 옮기기쌓기분류평균
ACT70502548.3
π0 (3.5B)100404561.7
SmolVLA, 사전학습 없음·단일 과제55452040
SmolVLA, 사전학습 없음·다중 과제80403551.7
SmolVLA, 사전학습·다중 과제75907078.3

같은 SmolVLA 구조라도 사전학습 없이 과제 하나로만 학습하면 평균 40%로 ACT보다 낮습니다. 논문 Table 5는 커뮤니티 데이터셋 사전학습이 51.7%를 78.3%로 끌어올렸다고 설명합니다. 즉 “50개로 VLA를 학습하면 실패한다"는 말은 사전학습 없이 시작할 때는 맞고, 사전학습 체크포인트를 파인튜닝할 때는 맞지 않습니다.

LeRobot SmolVLA 문서도 같은 방향입니다. 문서는 출발점으로 약 50개 에피소드를 권하고, 비슷한 데이터셋을 25개로 줄였을 때는 성능이 나빴다고 밝힙니다. 또 큐브 위치처럼 바꾸는 조건마다 시연을 여러 번 반복해야 일반화가 좋아진다고 강조합니다. 데이터 수만큼 조건 구성이 중요하다는 뜻입니다.

데이터 규모·과제 수·추론 예산으로 고르는 표

아래 표는 위 논문 수치를 바탕으로 출발점을 고르는 기준입니다. 정답표가 아니라, 첫 실험을 무엇으로 할지 정하는 기준선입니다.

상황먼저 해 볼 정책근거
과제 1개, 시연 50개 안팎, 언어 지시 불필요ACTACT 논문 기본 설정이 과제당 50개, 학습이 가볍다
과제 1개, 동작에 여러 정답(경로가 갈림), 시연 100~300개Diffusion Policy논문 실제 과제가 90~284개 시연 범위
여러 과제를 언어로 바꿈, 과제당 시연 50개SmolVLA 파인튜닝사전학습·다중 과제에서 평균 78.3%
시연 25개 이하데이터부터 더 모은다LeRobot 문서: 25개는 성능 부족
여러 로봇·장기 과제, 대규모 데이터더 큰 VLA 검토모델이 커질수록 장비 비용이 커진다

어느 경우든 ACT를 기준선으로 먼저 학습해 두면 비교가 쉬워집니다. LeRobot에서는 같은 데이터셋에 --policy.type=act, --policy.type=diffusion, --policy.path=lerobot/smolvla_base만 바꿔 학습할 수 있습니다. ACT 학습 절차는 LeRobot SO-101 ACT 학습 가이드에 정리돼 있습니다.

추론 예산은 청크 길이와 제어 주기로 계산한다

정책이 행동을 한 번에 여러 스텝씩 내보낼 때, 다음 청크를 만들 때까지 쓸 수 있는 시간은 다음과 같습니다.

Tbudget=nactionfcontrol T_{budget} = \frac{n_{action}}{f_{control}}

여기서 naction n_{action} 은 한 번의 추론 결과 중 실제로 실행하는 행동 수, fcontrol f_{control} 은 제어 주기(Hz)입니다.

  • SmolVLA: configuration_smolvla.py의 기본값은 chunk_size 50, n_action_steps 50, 흐름 정합 num_steps 10입니다. 30Hz로 실행하면 50/30≈1.67 50 / 30 \approx 1.67 초 안에 다음 청크를 만들면 됩니다. 논문은 비동기 추론을 켜면 과제 완료 시간이 13.75초에서 9.7초로 줄었다고 보고합니다.
  • ACT: 논문은 시간 앙상블을 위해 매 타임스텝 정책을 호출합니다. 50Hz면 예산은 0.02초이고, 보고된 추론 시간 약 0.01초가 그 안에 들어갑니다.
  • Diffusion Policy: 논문의 실제 Push-T는 10Hz로 명령을 예측해 125Hz로 보간해 실행했고, 실행 행동 수 8스텝을 대부분 과제에서 최적으로 봤습니다. 추론 지연 0.1초가 예측 주기 안에 들어가는 구성입니다.

같은 모델이라도 실행 행동 수를 줄이면 반응성은 좋아지지만 예산이 짧아집니다. SmolVLA 논문은 청크 크기 10~50 사이가 반응성과 효율의 균형이 좋다고 정리합니다. 이 예산을 장비 사양으로 바꾸는 방법은 SmolVLA 파인튜닝 VRAM 계산법과 VLA 메모리·대역폭 산정 방법에서 이어집니다.

작은 정책에서 큰 VLA로 옮겨 가는 순서

데이터와 과제가 늘어나는 순서대로 모델을 키우면 각 단계의 실패 원인을 구분하기 쉽습니다.

  1. ACT 기준선: 과제 하나, 시연 50개로 데이터 파이프라인(카메라 고정, 관절 순서, fps)이 맞는지 확인합니다. 여기서 성공률이 안 나오면 모델보다 데이터 문제일 가능성이 큽니다.
  2. Diffusion Policy 비교: 같은 과제에서 경로가 여러 갈래인 동작이 있다면 비교해 봅니다. 디노이징 단계 수가 추론 지연을 정하므로 제어 주기 안에 들어오는지 먼저 계산합니다.
  3. SmolVLA 파인튜닝: 과제를 2개 이상으로 늘리고 언어 지시를 붙입니다. 반드시 lerobot/smolvla_base 같은 사전학습 체크포인트에서 시작합니다.
  4. 더 큰 VLA: 로봇 종류나 장기 과제가 늘어나면 오픈소스 로봇 정책 모델 비교의 라이선스·크기·GPU 조건을 보고 고릅니다. LeRobot 형식 데이터로 GR00T N1.7을 파인튜닝하는 절차는 GR00T N1.7 파인튜닝 가이드에 있습니다.

데이터를 모으기 전에 정할 세 가지

첫째, 과제당 시연 수와 초기 조건 변화 수를 같이 정합니다. SmolVLA 데이터셋처럼 “위치 5개 × 10회"로 적어 두면 나중에 성공률이 낮을 때 어떤 조건이 부족한지 추적할 수 있습니다. 둘째, 언어 지시가 필요한지 결정합니다. 단일 과제라면 ACT로 충분할 수 있고, 여러 과제를 지시로 바꿔야 한다면 사전학습된 VLA가 출발점입니다. 셋째, 제어 주기와 실행 행동 수로 추론 예산을 계산합니다. 이 세 값이 정해지면 모델 선택은 위 표에서 대부분 결정됩니다.

설치가 아직이라면 MuJoCo·LeRobot 설치 가이드에서 Python·CUDA 조합부터 맞추고 시작합니다.

자주 하는 실수

  • VLA라서 데이터가 적어도 된다고 보고 사전학습되지 않은 VLM 가중치에서 시작하는 경우 — SmolVLA 논문에서 사전학습 없는 단일 과제 학습은 평균 40%에 그쳤다.
  • 논문 성공률을 그대로 기대하면서 초기 위치 변화(예: 5개 위치 × 10회) 같은 데이터 구성 조건은 따라 하지 않는 경우
  • 추론 지연만 보고 모델을 고르면서 행동 청크 길이와 제어 주기를 함께 계산하지 않는 경우
  • Diffusion Policy의 디노이징 단계를 학습 때 값 그대로 추론에 써서 지연이 제어 주기를 넘는 경우

적용 전 체크리스트

  • 과제당 확보할 수 있는 시연 수와 초기 조건 변화 개수를 먼저 숫자로 적었는가
  • 언어 지시로 여러 과제를 바꿔야 하는지, 단일 과제만 하면 되는지 정했는가
  • 사용할 VLA의 사전학습 체크포인트(예: lerobot/smolvla_base)에서 시작하는가
  • 제어 주기와 실행할 행동 수로 다음 청크까지의 시간 예산을 계산했는가
  • 같은 데이터셋으로 ACT 기준선을 먼저 학습해 비교할 기준을 만들었는가

자주 묻는 질문

ACT와 Diffusion Policy를 같은 데이터로 비교할 수 있나요?
LeRobot에서는 같은 데이터셋에 lerobot-train의 policy.type만 act와 diffusion으로 바꿔 학습할 수 있습니다. 두 논문은 서로 다른 과제와 하드웨어로 평가했으므로, 논문 수치끼리 직접 비교하기보다 자신의 데이터로 같은 평가 횟수를 돌려 비교하는 편이 정확합니다.
π0나 GR00T 같은 더 큰 VLA는 언제 검토하나요?
여러 로봇·과제를 한 정책으로 다루거나 더 긴 언어 지시를 따라야 할 때 검토합니다. 모델이 커질수록 학습·추론 GPU 메모리가 크게 늘어나므로 장비 사양을 먼저 계산해야 합니다.
시연 데이터를 시뮬레이션에서 만들 수도 있나요?
가능합니다. Diffusion Policy 논문의 BlockPush 벤치마크는 스크립트 정책으로 만든 1000개 에피소드를 썼습니다. 다만 시뮬레이션 데이터만으로 학습한 정책은 실물에서 성능이 떨어질 수 있어 Sim-to-Real 격차를 따로 다뤄야 합니다.

참고 자료 · 검증 기준

  1. Zhao et al., Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware (ACT, arXiv:2304.13705)
  2. Chi et al., Diffusion Policy: Visuomotor Policy Learning via Action Diffusion (arXiv:2303.04137)
  3. Shukor et al., SmolVLA: A Vision-Language-Action Model for Affordable and Efficient Robotics (arXiv:2506.01844)
  4. Hugging Face LeRobot Docs — SmolVLA
  5. LeRobot GitHub — configuration_smolvla.py

마지막 검증일: