
TinyVLA와 SmolVLA는 10억 개 미만의 매개변수로 작동하는 VLA를 구현합니다. 두 논문의 실제 수치, LeRobot 기본값, 측정된 지연 시간, 그리고 24GB 카드에서 실행하는 데 드는 비용을 다룹니다.
거의 모든 시각-언어-행동 모델에 대해 작성된 글은 데이터센터 카드를 가정합니다. OpenVLA는 70억 개의 파라미터를 가집니다. GR00T N1.7 및 Pi0.5는 약 30억 개의 파라미터를 가지며 미세 조정을 위해 A100 80GB를 필요로 합니다. 만약 당신의 책상에 있는 카드가 4090이라면, 해당 모델 클래스는 접근하기 어렵습니다.
두 편의 논문은 그것이 필요 없다고 주장합니다. TinyVLA (arXiv 2409.12514, 2025년 2월 IEEE Robotics and Automation Letters에 채택됨)는 4억 개에서 13억 개의 백본과 확산 행동 헤드를 사용하여 VLA를 구축합니다. SmolVLA (arXiv 2506.01844, 2025년 6월 2일 제출됨)는 4억 5천만 개의 파라미터를 오픈 웨이트, 오픈 데이터 및 하나의 소비자 카드에서 실행되는 스크립트와 함께 제공합니다. 다음은 두 모델이 측정한 결과와 10억 개 미만 주장이 더 이상 유효하지 않은 지점입니다.
알아야 할 사항
- •TinyVLA는 세 가지 크기로 제공됩니다: 총 4억 2천 2백만 개 중 1억 1백만 개 훈련 가능, 7억 4천만 개 중 1억 3천 8백만 개, 13억 개 중 1억 4천 3백만 개. 처음 두 개만 10억 개 미만입니다.
- •표 IV에 따르면 TinyVLA-1B는 A6000 한 개에서 행동 예측당 14ms를 기록했으며, OpenVLA-7B는 292ms, 축소된 OpenVLA-1B는 140ms를 기록했습니다.
- •백본이 아닌 헤드가 속도를 유지합니다: TinyVLA-H의 확산 헤드를 ACT 헤드로 교체하면 다섯 가지 실제 로봇 작업의 평균이 94.0에서 한 자릿수로 떨어집니다. MLP 헤드는 모든 곳에서 0점을 기록합니다.
- •SmolVLA는 4억 5천만 개의 파라미터를 가지며, 그 중 약 1억 개는 행동 전문가이고, 481개의 커뮤니티 LeRobot 데이터셋과 1,060만 프레임으로 사전 훈련되었습니다. LIBERO에서 87.3을 기록했으며, 로봇 공학 사전 훈련된 33억 개의 Pi0는 86.0을 기록했습니다. 또한 세 가지 실제 SO-100 작업에서 78.3을 기록했으며, 35억 개의 Pi0는 61.7을 기록했습니다.
- •사전 훈련 없이 단일 작업으로 훈련했을 때, SmolVLA는 해당 작업에서 40.0으로 떨어지며, ACT의 48.3보다 낮습니다. 작다고 해서 자동으로 쉬운 것은 아닙니다.
- •TinyVLA는 LeRobot 통합이 없으며 CUDA 11.7 휠 스택을 고정합니다. SmolVLA는 lerobot에 있으며, 여기 24GB 티어에서 실행당 약 1~3 USD의 비용이 듭니다.
실제로 작은 VLA로 간주되는 것
모델 카드에 명시된 파라미터 수는 단일 숫자가 아닙니다. 이는 총 가중치, 추론 시 로드되는 가중치, 또는 중에 그래디언트를 받는 가중치를 의미할 수 있습니다. TinyVLA는 이 둘을 모두 보고하며, 그 차이는 큽니다. TinyVLA-H는 총 1.3 B이지만 143 M만 훈련 가능합니다. 이는 비전 타워와 대부분의 언어 모델이 고정된 상태로 유지되고 LoRA 어댑터와 액션 헤드만 움직이기 때문입니다. 이 논문은 훈련 가능한 부분이 약 5%라고 명시합니다.
| 모델 | 파라미터 | 백본 | 액션 헤드 | 출처 |
|---|---|---|---|---|
| TinyVLA-S | 총 422 M, 훈련 가능 101 M | Llava-Pythia ~400 M | 확산 (droid_diffusion U-Net) | arXiv 2409.12514 |
| TinyVLA-B | 총 740 M, 훈련 가능 138 M | Llava-Pythia ~700 M | Diffusion | arXiv 2409.12514 |
| TinyVLA-H | 총 1.3 B, 훈련 가능 143 M | Llava-Pythia ~1.3 B | Diffusion | arXiv 2409.12514 |
| SmolVLA | 450 M, ~100 M 액션 전문가 | SmolVLM2-500M-Video-Instruct | Flow matching expert | arXiv 2506.01844 |
| Octo-Small | 27 M | ViT-S scale, T5-Base text encoder | Diffusion | octo-small-1.5 card |
| ACT | ~80 M | ResNet, 언어 모델 없음 | Direct chunk regression | AY-Robots catalog |
| OpenVLA | 7 B | Llama 2 7 B, DINOv2 and SigLIP encoders | Autoregressive action tokens | arXiv 2406.09246 |
두 행은 논의할 가치가 있습니다. 은 약 80 M으로 여기에 있는 다른 모든 것보다 작지만 언어 모델이 없으므로 VLA가 아닙니다. 이는 하나의 작업을 학습하며 다른 작업을 수행하도록 지시할 수 없습니다. 은 27 M으로 LLM 백본이 아닌 T5-Base 텍스트 인코더를 통해 조건화됩니다. 좋은 기준 모델이지만, 둘 다 레이블이 암시하는 지시 따르기 기능을 제공하지는 않습니다.
헤드라인 결과를 보여주는 TinyVLA-H 변형은 1.3 B이며 이 기준선 위에 있습니다. 더 중요한 질문은 모델이 훈련 중에 24 GB에 맞고 추론 시 제어 속도를 달성하는지 여부입니다. 여기서 훈련할 수 있는 다섯 가지 정책은 정책 페이지에 있습니다. 다른 모든 모델과 함께 TinyVLA의 수치를 보고 싶다면 TinyVLA 아레나 항목을 참조하십시오.
TinyVLA: 속도는 백본이 아닌 헤드에서 나옵니다
언어 모델을 더 작게 만들어서 더 빨라졌다는 것이 일반적인 해석입니다. 하지만 논문의 어블레이션 연구는 다르게 말합니다. OpenVLA의 7B 백본을 약 1B 백본으로 교체했을 때, 액션당 예측 시간이 292 ms에서 140 ms로 단축되어 2배의 성능 향상을 보였습니다. TinyVLA-H는 비슷한 파라미터 수에서 동일한 카드에서 14 ms로 실행됩니다. 나머지 10배의 성능 향상은 액션 헤드에서 비롯됩니다.
| 모델 | 액션당 예측 시간 | 측정 환경 |
|---|---|---|
| OpenVLA-7B | 292 ms | single A6000 |
| OpenVLA-1B, backbone swapped for TinyVLA's | 140 ms | single A6000 |
| TinyVLA-1B (TinyVLA-H) | 14 ms | single A6000 |
OpenVLA는 언어 모델 헤드를 통해 액션을 이산화된 토큰으로, 액션 차원당 하나씩, 자기회귀적으로 방출합니다. TinyVLA는 전체 청크를 한 번에 생성하는 확산 디코더를 사용합니다. 표 V는 TinyVLA-H의 아키텍처를 보여주며, 동일한 다섯 가지 실제 로봇 작업에서 헤드만 교체합니다. 이는 두 논문 모두에서 다음 주장에 대한 가장 명확한 증거입니다. 플로우 매칭 정책이 만들어내는 것이며, Pi0가 토큰 디코딩에서 벗어난 이유.
| TinyVLA-H에서 헤드 | 테니스 공 놓기 | 머그컵 뒤집기 | 큐브 쌓기 | 서랍 닫기 | 상자 열기 |
|---|---|---|---|---|---|
| Diffusion (droid_diffusion) | 90.0 | 98.3 | 98.3 | 96.7 | 86.7 |
| Action Chunking Transformer | 13.3 | 8.3 | 8.3 | 13.3 | 23.3 |
| Multi-layer perceptron | 0 | 0 | 0 | 0 | 0 |
292 / 140 / 14 ms 수치는 A6000 하나에서 측정된 표 IV의 값입니다. 이 수치는 액션 예측당 값이며 카메라 캡처, 전처리 및 서보로의 직렬 쓰기는 제외됩니다. 공개된 지연 시간을 제어 속도가 아닌 하한선으로 간주하십시오. 당사의 자체 수치도 동일한 제한을 가집니다: 추론 지연 시간을 참조하십시오.
TinyVLA 점수
| 벤치마크 | 프로토콜 | TinyVLA-H | 기준선 |
|---|---|---|---|
| MetaWorld, 50 tasks, sim | 다중 작업, 50개 데모, 3개 시드 | 난이도별 77.6 / 21.5 / 11.4 / 15.8, 평균 31.6 | Diffusion Policy 평균 10.5 |
| Real Franka Panda, 5 tasks | 작업당 100개 궤적, 20회 시도 | 94.0 평균 | OpenVLA 68.3, Diffusion Policy 35.3 |
| Bimanual UR5, 3 tasks | 다중 작업, 작업당 10회 시도 | 76.7 / 36.7 / 30.0 | OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0 |
양팔 로봇 행에는 논문 자체에서 제공하는 지루한 설명이 있습니다: OpenVLA는 전적으로 단일 팔 데이터로 구성된 Open X-Embodiment에서 사전 훈련되었으므로, 양팔 액션 공간은 분포 외이며 점수가 0입니다. 확산 정책 기준선은 이 세 가지 작업 중 두 가지에서 TinyVLA-H를 능가합니다. 배경 정보는 Open X-Embodiment 설명서.

2026년 8월 기준 TinyVLA 저장소
논문은 훌륭합니다. 코드는 연구용으로 공개된 것입니다. 저장소는 github.com/liyaxuanliyaxuan/TinyVLA이며, README에 따르면 코드 릴리스 날짜는 2025년 2월 17일이고 마지막 커밋은 2025년 3월 11일입니다. 논문을 재현하는 데는 좋지만, 유지보수되는 라이브러리를 원한다면 문제가 될 수 있습니다.
git clone https://github.com/liyaxuanliyaxuan/TinyVLA
conda create -n tinyvla python=3.10 -y
conda activate tinyvla
pip install --upgrade pip
pip install -r requirements.txt
cd policy_heads && pip install -e .
cd ../llava-pythia && pip install -e .requirements.txt는 torch==2.0.1, transformers==4.37.1, deepspeed==0.9.5, peft==0.4.0, diffusers==0.11.1, numpy==1.24.4, 그리고 CUDA 스택을 11.x 휠에 고정합니다: nvidia-cuda-runtime-cu11==11.7.99, nvidia-cudnn-cu11==8.5.0.96, triton==2.0.0. README는 Python 3.10을 요구하지만, lerobot 0.6.1은 3.12 이상을 필요로 하므로 두 환경을 공유할 수 없습니다. 먼저 GPU 세대에 맞는 torch 2.0.1 빌드가 있는지 확인하십시오. 대신 VRAM 부족으로 실행이 중단되면, 메모리 부족 체크리스트가 추측하는 것보다 빠릅니다.
TinyVLA는 또한 LeRobot 데이터셋를 읽지 않습니다. 형식은 ACT 스타일 HDF5입니다: action, language_raw, 그리고 다중 뷰 이미지, joint_positions, qpos 및 qvel을 포함하는 observations 그룹. 저장소는 RLDS 입력을 위한 data_utils/rlds_to_h5py.py를 제공하며, 각 작업은 aloha_scripts/constants.py에 dataset_dir, episode_len 및 camera_names와 함께 수동으로 등록됩니다. 만약 귀하의 에피소드가 lerobot 또는 데스크톱 클라이언트에서 온 경우, 변환은 귀하의 몫입니다.
# scripts/train.sh, the real flags from the repository
ACTION_HEAD=droid_diffusion
deepspeed --master_port 29600 --num_gpus=8 --num_nodes=1 ./train_tinyvla.py \
--deepspeed scripts/zero2.json \
--lora_enable True \
--lora_module 'vit llm' \
--lora_r 64 \
--lora_alpha 256 \
--non_lora_lr 2e-5 \
--task_name "example_task_config" \
--model_name_or_path /path/to/pretrained_vlm \
--freeze_vision_tower True \
--freeze_backbone True \
--bf16 True \
--max_steps 10000 \
--per_device_train_batch_size 32 \
--gradient_accumulation_steps 1 \
--learning_rate 2e-4 \
--lr_scheduler_type "cosine" \
--warmup_ratio 0.005 \
--save_steps 1000 \
--action_head_type $ACTION_HEAD \
--use_state True \
--window_size 6- --num_gpus=8은 8개의 카드 노드를 가정합니다. 이를 1로 설정하고 배치 크기를 32보다 훨씬 낮게 줄이십시오. 단일 GPU 변형은 업스트림으로 제공되지 않으므로 4090에서 명령을 그대로 실행할 수 없습니다.
- --deepspeed scripts/zero2.json은 최상위 스크립트 디렉토리에 없는 파일을 가리킵니다. DeepSpeed 구성은 llava-pythia/scripts/zero2.json에 있습니다. 첫 실행 전에 경로를 수정하십시오.
- README는 출력 디렉토리 이름에 llava_pythia를 포함해야 하며, LoRA가 활성화된 경우 lora를 포함해야 한다고 명시합니다.
- 백본은 별도로 다운로드해야 합니다: lesjie/Llava-Pythia-400M, -700M 또는 -1.3B. lerobot/smolvla_base를 가리키는 방식처럼 정책을 가리킬 수 있는 단일 기본 체크포인트는 없습니다.
SmolVLA: 오늘 오후에 실행할 수 있는 10억 미만 모델
SmolVLA는 유지 관리되는 라이브러리 내에서 동일한 주장을 합니다. SmolVLM2-500M-Video-Instruct 백본에서 450M 매개변수를 가지며, 효율성은 작다는 주장보다는 configuration_smolvla.py에서 읽을 수 있는 설정에서 비롯됩니다.
| configuration_smolvla.py의 설정 | 기본값 | 얻을 수 있는 이점 |
|---|---|---|
| num_vlm_layers | 16 | 첫 16개 언어 모델 레이어만 실행 |
| expert_width_multiplier | 0.75 | 액션 전문가 은닉 크기는 VLM의 75%입니다 |
| self_attn_every_n_layers | 2 | 교차 어텐션과 교차되는 자기 어텐션 |
| chunk_size / n_action_steps | 50 / 50 | 한 번의 패스로 50개의 액션을 생성하고 50개 모두 실행됩니다 |
| num_steps | 10 | 플로우 매칭 디노이징이 10단계로 고정됨 |
| tokenizer_max_length | 48 | 명령은 48개 토큰으로 잘립니다 |
| freeze_vision_encoder / train_expert_only | True / True | 미세 조정은 비전 타워가 아닌 전문가를 이동시킵니다 |
| optimizer_lr, warmup, decay | 1e-4, 1000 steps, to 2.5e-6 over 30000 | 논문의 레시피가 아님: 사전 학습은 200000단계에 걸쳐 100단계 웜업을 사용했습니다 |
사전 학습에는 481개의 커뮤니티 LeRobot 데이터셋, 22.9K 에피소드, 10.6M 프레임이 4개의 GPU에서 글로벌 배치 256으로 200000 스텝 동안 사용되었습니다. 논문에 따르면 전체 프로젝트는 약 30K GPU 시간을 소요했습니다. 주목할 만한 한 가지 수치는 Hugging Face 런치 블로그에서는 487개의 큐레이션된 데이터셋을 언급하는 반면, 논문의 표에서는 481개라고 합니다. 우리는 논문의 수치를 사용하고 이 불일치를 지적합니다.
| 벤치마크 | SmolVLA 0.45 B | SmolVLA 2.25 B | Pi0 | ACT |
|---|---|---|---|---|
| LIBERO 평균, 다중 작업 | 87.3 | 88.75 | 86.0 (3.3 B, robotics-pretrained) | - |
| Meta-World 평균, 다중 작업 | 57.3 | 68.24 | 47.9 (3.5 B, robotics-pretrained) | - |
| 실제 SO-100, 3가지 작업, 다중 작업 훈련 | 78.3 | - | 61.7 (3.5 B) | - |
| 실제 SO-100, 3가지 작업, 단일 작업, 로봇 공학 사전 훈련 없음 | 40.0 | - | - | 48.3 |
| SO-101 레고 집어 놓기, 단일 작업, 분포 내 | 90 | - | - | 70 |
| SO-101 레고 집어 놓기, 단일 작업, 분포 외 | 50 | - | - | 40 |
LIBERO는 시뮬레이션이며, 현재 모든 유능한 모델은 80점대를 기록합니다. 450M 모델이 3.5B 모델을 16.6점 차이로 이기는 실제 SO-100 행이 흥미로운 부분입니다. 그 아래 행은 균형추 역할을 합니다. 커뮤니티 사전 훈련과 다중 작업 훈련을 제거하면 동일한 모델이 ACT보다 낮은 40.0으로 떨어집니다. 방어 가능한 주장은 작은 모델이 자동으로 더 나쁘지 않다는 것이지, 더 좋다는 것이 아닙니다.
하나의 우연한 발견이 도움이 됩니다. SmolVLA 논문의 Meta-World 표에는 TinyVLA 자체의 공개된 수치가 기준선으로 포함되어 있어, SmolVLA-0.45B가 57.3, TinyVLA-H가 31.6으로 두 모델이 한 표에 나란히 있습니다. 또한 SmolVLA는 Pi0보다 약 40% 더 빠르게 훈련되며 6배 적은 메모리를 사용한다고 보고합니다. 이 모든 정보는 SmolVLA 저자들로부터 나왔으며, 아레나 항목는 각 값의 출처를 연결합니다.
SmolVLA가 시간을 보내는 곳
AY-Robots는 SmolVLA를 액션 단계당 245 ms, ACT는 20 ms로 정책 카탈로그에 나열합니다. TinyVLA는 액션 예측당 14 ms를 보고합니다. 이 수치들은 비교할 수 없으며, 비교 가능한 것처럼 다루는 것이 이 주제에서 가장 흔한 실수입니다. 일부는 한 번의 순방향 패스 시간을 측정하고, 일부는 액션 청킹이 상각되면 해당 패스를 청크에 걸쳐 나눕니다.
- SmolVLA는 순방향 패스당 50개의 액션을 방출하고 50개 모두를 실행합니다. 논문에서 실제 로봇에 사용하는 30 fps에서 한 번의 추론은 약 1.7초의 움직임을 커버합니다.
- 비동기 추론은 현재 청크가 실행되는 동안 다음 청크를 계산합니다. 이는 동기식 13.75 s 대비 평균 작업 완료 시간 9.7 s로 약 30% 더 빠르며, 고정된 60초 창에서 9회 대비 19회의 픽앤플레이스 사이클을 달성합니다.
- 성공률은 더 좋기보다는 비슷했습니다. 동기식 78.3 대비 비동기식 73.3이었습니다. 비동기는 정확도가 아닌 처리량을 얻습니다.
- 청킹은 네트워크 지연이 아닌 계산 지연을 숨기며, 50개의 액션에 전념하기 때문에 정책의 반응성을 떨어뜨립니다.
AY-Robots는 로컬 로봇 클라이언트가 해당 엔드포인트와 통신하는 동안 정책을 제공하는 클라우드 GPU 파드를 자동으로 프로비저닝할 수 있습니다. 이 파드에는 유휴 감시 장치가 있어 조용히 요금이 청구되는 대신 스스로 파괴됩니다. 하지만 공용 인터넷 왕복 시간을 제거하지는 않습니다. 여기 다섯 가지 정책에 걸친 제어 루프는 네트워크 연결 없이도 액션 단계당 20ms에서 485ms입니다. 따라서 원격 추론은 느린 픽앤플레이스 작업에는 적합하지만 빠른 반응형 동작에는 적합하지 않습니다.

단일 소비자용 카드에서 SmolVLA 미세 조정
2026년 8월 23일 현재 PyPI 릴리스인 lerobot 0.6.1의 수동 경로입니다. 아래의 모든 내용은 같은 날 가져온 Hugging Face lerobot SmolVLA 문서에서 발췌했습니다. 가이드 버전은 더 쉽습니다.
- 1smolvla 추가 기능으로 lerobot 설치
SmolVLA 종속성은 기본 설치의 일부가 아닌 선택적 추가 기능입니다. 이를 설치하지 않고 정책 유형을 알 수 없는 이유를 궁금해하는 것은 흔히 30분을 낭비하는 일입니다.
bashgit clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e ".[smolvla]" - 2충분한 에피소드가 있는 데이터셋 확보
문서에서는 약 50개의 에피소드를 권장하며, 25개의 에피소드로 동일한 작업을 수행하는 것은 충분하지 않다고 명시합니다. AY-Robots는 최소 30개로 설정합니다. 직접 기록하거나 데이터셋 디렉토리에서 시작하세요.
bash# any LeRobotDataset on the Hub works as --dataset.repo_id # lerobot/svla_so100_pickplace is the paper's own 50-episode set: # 5 cube positions, 10 episodes each - 3미세 조정 시작
lerobot 가이드의 명령어를 수정 없이 사용합니다. 문서에 따르면 A100 한 대에서 20000 스텝은 대략 4시간이 걸립니다. 24GB 카드에서는 더 오래 걸릴 수 있으니 시간을 측정하세요.
bashcd lerobot && lerobot-train \ --policy.path=lerobot/smolvla_base \ --dataset.repo_id=${HF_USER}/mydataset \ --batch_size=64 \ --steps=20000 \ --output_dir=outputs/train/my_smolvla \ --job_name=my_smolvla_training \ --policy.device=cuda \ --wandb.enable=true - 4맞을 때까지 배치 크기 줄이기
batch_size=64는 문서화된 예시일 뿐, 사용자의 카드에 대한 보장은 아닙니다. 문서에서는 로딩 시간이 짧게 유지되는 동안 작은 값으로 시작하여 점차 늘릴 것을 권장합니다.
bashlerobot-train --help - 5암에 체크포인트 배포
동일한 라이브러리, 하나의 명령어. 실시간 청킹 플래그는 문서에 주석 처리되어 있으며, 저전력 하드웨어에서 사용해야 할 플래그입니다.
bashlerobot-rollout \ --strategy.type=base \ --robot.type=so101_follower \ --robot.port=/dev/ttyACM0 \ --robot.id=my_blue_follower_arm \ --robot.cameras="{ front: {type: opencv, index_or_path: 8, width: 640, height: 480, fps: 30}}" \ --task="Grasp a lego block and put it in the bin." \ --policy.path=HF_USER/FINETUNE_MODEL_NAME
작은 VLA를 로봇 팔에 올리는 두 가지 방법
당신은 기계와 실패 모드를 소유합니다. SmolVLA의 경우 합리적입니다: 하나의 pip 추가 기능, 하나의 학습 명령어, 하나의 롤아웃 명령어. TinyVLA의 경우 고정된 핀, 손상된 DeepSpeed 경로, 직접 작성해야 하는 데이터 변환을 포함하는 연구 재현입니다.
- 24GB 카드를 확보하고, 30~50개의 에피소드를 기록하며, 카메라 스트림을 프레임별로 확인하세요.
- pip install -e ".[smolvla]"를 실행하고, lerobot/smolvla_base에 대해 lerobot-train을 실행한 다음, 로봇 팔이 연결된 기계에서 체크포인트를 제공하세요.
- TinyVLA의 경우: 별도의 conda 환경을 설정하고, 데이터를 HDF5로 변환하고, constants.py에 작업을 등록하고, zero2.json 경로를 수정하고, train.sh를 8개의 GPU에서 1개로 줄이세요.
- 카드를 구매한 후에는 시간당 요금이 부과되지 않습니다.
- 추론은 서보 옆에 위치하며, 빠른 제어 루프를 얻을 수 있는 유일한 방법입니다.
- 정책 코드를 패치할 수 있으며, TinyVLA는 이 방법으로만 사용할 수 있습니다.
- 4090은 약 30억 개의 모든 정책을 배제하므로, GR00T N1.7 또는 Pi0.5와 로컬에서 비교할 수 없습니다.
- 환경 설정이 실제 작업입니다. TinyVLA의 핀만으로도 하루가 걸릴 수 있습니다.
- 큐, 재시도, 체크포인트 저장이 없습니다. 14000 스텝에서 재부팅하면 다시 시작해야 합니다.
SmolVLA는 여기 있는 다섯 가지 정책 중 하나입니다. 양식에서 모델과 데이터셋을 선택하면, 백엔드가 필요한 VRAM에 따라 GPU를 임대하고, 트레이너를 실행하며 체크포인트를 객체 스토리지에 기록합니다. 단계별 안내: SO-100에서 SmolVLA, 또는 전체 매트릭스는 학습 페이지에서 확인하세요.
| 플랫폼이 SmolVLA에 대해 보내는 것 | 값 |
|---|---|
| 배치 크기 | 2 |
| 학습률 | 1e-4 |
| 최대 스텝 | 20000 |
| 그라디언트 누적 | 8, and it does not reach the trainer |
| 양식의 추가 설정 | seed, logFreq |
| GPU 티어 | RTX 4090 or any 24 GB card |
| 데이터셋 형식 | LeRobot v3.0 |
| 최소 에피소드 | 30 |
첫째, 여기의 기본 배치 크기는 lerobot 문서 예시의 64가 아닌 2이며, 그라디언트 누적 설정은 전송되지만 SmolVLA에는 효과가 없으므로 실제 유효 배치 크기는 2입니다. 기본값이 업스트림과 일치한다고 가정하기보다는 의도적으로 늘리세요. 둘째, TinyVLA는 여기에서 전혀 학습할 수 없습니다.
24GB 티어에서의 실행은 시간당 0.30~0.60 USD로 2~5시간이 소요되며, 대략 1~3 USD입니다. A100 티어에서는 약 30억 개의 정책이 시간당 1.20~2.00 USD로 3~6시간이 소요되며, 대략 4~12 USD입니다. 자세한 내용은 가격 책정을 참조하고, CLI 및 MCP 서버에서 동일한 작업을 수행할 수 있습니다.
작은 모델이 잘못된 선택일 때
두 논문 모두 요약본보다 더 신중합니다. TinyVLA의 실패 분석은 구체적입니다. 0.4B 변형은 지시를 잘못 읽어 세 번 실패했으며, 저자들은 이를 더 작은 VLM의 제한된 언어 이해력 때문이라고 설명했고, 이 모드는 1.3B에서 사라졌습니다. SmolVLA는 다른 관점에서 동일한 곡선을 보여줍니다. 동일한 아키텍처의 2.25B 버전은 LIBERO에서 88.75점, Meta-World에서 68.24점을 기록했으며, 이는 0.45B 모델의 87.3점 및 57.3점과 비교됩니다.
- 24GB 카드에 적합하여 실험 비용을 수십 달러에서 몇 달러로 줄여줍니다.
- 로봇 팔 옆에서 실행될 만큼 충분히 빨라 제어 루프에 네트워크 홉이 없습니다.
- 한 사람이 기록할 수 있는 데이터, 즉 수천 개가 아닌 수십 개의 에피소드로 미세 조정합니다.
- SmolVLA의 가중치, 데이터 목록 및 코드는 공개되어 있어 좋지 않은 결과도 디버깅할 수 있습니다.
- 약한 지시 따르기 능력: 적은 언어 매개변수, 유사한 참조 표현을 구분하는 능력 부족.
- 기록하지 않은 설정에 대한 공간 및 시각적 일반화 능력 부족.
- 데이터셋 결함에 더 민감하며, 의존할 수 있는 사전 훈련이 적음.
- 다중 작업 및 장기 작업은 여전히 SmolVLA 자체의 2.25B 변형을 포함한 더 큰 모델에 유리합니다.
실행할 가치가 있는 비교는 TinyVLA 대 SmolVLA가 아닙니다. 그것은 SmolVLA 대 ACT 여러분의 작업에서, 그리고 SmolVLA 논문이 그 이유를 설명합니다. 로봇 공학 사전 훈련 없이 단일 작업으로 훈련된 SmolVLA는 단일 작업 ACT가 48.3점을 기록한 세 가지 SO-100 작업에서 평균 40.0점을 기록했습니다. 이를 78.3점으로 끌어올린 것은 아키텍처 단독이 아니라 커뮤니티 사전 훈련과 다중 작업 훈련입니다. SO-101 레고 작업에서는 둘 다 단일 작업으로, SmolVLA가 분포에서 70대 90으로 승리합니다. 그 다음 SmolVLA 대 Pi0.5 예산이 허락한다면.
나쁜 데이터를 보완하기 위한 사전 훈련이 적으므로, 결함 있는 데이터셋에서 깨끗한 손실 곡선은 결함을 자신 있게 재현하는 정책을 제공합니다. lerobot 문서는 구조에 대해 명확하게 설명합니다: 5개 큐브 위치에 걸쳐 50개 에피소드, 위치당 10개는 작동했지만, 25개는 작동하지 않았습니다. 손실이 양호해 보이고 로봇 팔이 유용한 작업을 수행하지 않는다면, 손실은 감소하지만 정책은 아무것도 하지 않음, 정책이 한 가지 설정에서만 작동함 또는 실제로 사용 가능한 VLA 훈련 데이터 수집부터 시작하십시오.
다섯 가지 정책, 하나의 비교표
실제 파라미터 수, 액션 단계당 추론 지연 시간, 각 모델에 필요한 GPU 티어, 그리고 유용한 작업을 수행하기 위한 최소 에피소드 수를 갖춘 GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA 및 ACT.
정책 비교하기실행 가능한 의사결정표
| 귀하의 상황 | 시작할 모델 | 이유 |
|---|---|---|
| 하나의 작업, 좋은 시연, 언어 없음 | ACT | ~80 M, 20 ms, 24 GB 카드, 다운로드할 기본 모델 없음 |
| 몇 가지 관련 작업, 각 작업당 하나의 지시 | SmolVLA | 450 M, lerobot 내, 최소 30 에피소드, 실행당 1~3 USD |
| 특히 TinyVLA 결과 재현 | TinyVLA-B or TinyVLA-H | 리포지토리가 유일한 방법: 격리된 환경, 변환된 데이터 |
| 다중 작업, 다양한 지시, A100 예산 | GR00T N1.7 or Pi0.5 | ~3 B, 단계당 152 ms 및 485 ms, 실행당 4~12 USD |
| 아직 로봇 없음 | 실제 로봇 팔 구동 | 큐 기반 라이브 로봇 팔은 가입이나 하드웨어가 필요 없습니다 |
마지막 행의 경우, 라이브 암은 계정 없이 브라우저에서 조작할 수 있는 실제 SO-100을 스트리밍하며, 시작하는 세 가지 방법에서 나머지를 다룹니다. SO-100은 여기에서 참조 암이며, 부품 비용은 대략 110에서 150 EUR이고, 전체 설정 가이드가 함께 제공됩니다.
10억 미만 모델 이후의 발전
매개변수 수를 줄이는 것은 VLA를 저렴하게 만드는 한 가지 방법이지만, 반드시 성공적인 방법은 아닙니다. OpenVLA-OFT (arXiv 2502.19645)는 70억 개의 백본을 유지하고 동작 디코딩 방식만 변경하여, 동작 생성 처리량 26배 증가와 LIBERO 점수가 76.5%에서 97.1%로 상승했다고 보고합니다. BitVLA (arXiv 2506.07530)는 1비트 BitNet b1.58 2B4T 백본의 모든 가중치를 3진법으로 만들어, 메모리를 11.0배 적게 사용하고 종단 간 지연 시간을 4.4배 낮추면서도 전체 정밀도 OpenVLA-OFT와 일치한다고 보고합니다. X-VLA-0.9B (arXiv 2510.10274)는 플로우 매칭을 통해 10억 개 라인에 위치합니다.
공통적인 특징은 지연 시간이 언어 모델이 아닌 동작 디코더에 있다는 것입니다. 정책이 얼마나 많은 매개변수를 가지고 있는지 묻기 전에, 정책이 어떻게 동작을 내보내는지 물어보십시오. 아레나에는 85개의 모델과 332개의 결과가 있으며, 각각 출처에 연결되어 있습니다. 더 넓은 개요는 저희 VLA 소개에서 확인할 수 있습니다.
RTX 4090에서 SmolVLA를 미세 조정할 수 있나요?▾
네. SmolVLA는 450M 매개변수 모델이며 AY-Robots는 RTX 4090 / 24GB 티어에서 이를 실행합니다. lerobot 예제는 --batch_size=64를 사용하는데, 이는 사용자 카드에 대한 보장이라기보다는 예시입니다. 문서에서는 로딩 시간이 짧게 유지되는 동안 작게 시작하여 늘려나갈 것을 권장합니다. A100에서 20000단계에 대해 문서에서 언급하는 약 4시간보다 더 오래 걸릴 것으로 예상됩니다.
TinyVLA는 lerobot 또는 AY-Robots에서 사용할 수 있나요?▾
둘 다 아닙니다. TinyVLA는 2025년 3월 11일 마지막 커밋된 연구 저장소에만 존재하며, LeRobot 대신 ACT 스타일 HDF5 형식입니다. AY-Robots는 GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA 및 ACT를 훈련합니다. TinyVLA를 원한다면 직접 빌드해야 하며, 먼저 scripts/train.sh에서 DeepSpeed 구성 경로를 수정해야 합니다.
450M 모델이 정말 3B 모델과 경쟁력이 있나요?▾
저자들의 자체 벤치마크에 따르면 그렇습니다. LIBERO에서 로봇 공학 사전 훈련된 3.3B Pi0에 비해 87.3 대 86.0을 기록했으며, 동일한 논문에서 3.5B Pi0로 분류된 세 가지 실제 SO-100 작업에서는 78.3 대 61.7을 기록했습니다. 한계점은 동일한 논문에 있습니다. 로봇 공학 사전 훈련 없이 단일 작업에서는 SmolVLA가 40.0으로 떨어져 ACT의 48.3보다 낮습니다.
작은 VLA가 작동하기 시작하려면 몇 개의 에피소드가 필요한가요?▾
AY-Robots는 SmolVLA 최소값을 30 에피소드로, ACT 최소값을 50으로 설정합니다. lerobot 문서에서는 약 50을 권장하며, 동일한 작업에 대해 25는 충분하지 않았다고 보고합니다. 개수만큼 구조도 중요합니다. 해당 논문의 세트는 각각 10개의 에피소드를 가진 5개의 큐브 위치를 사용했습니다.
공개된 지연 시간 수치가 왜 그렇게 많이 다른가요?▾
측정하는 대상이 다릅니다. TinyVLA는 A6000에서 액션 예측당 14ms를 보고합니다. AY-Robots는 SmolVLA를 액션 단계당 245ms, ACT를 20ms로 나열합니다. 일부 수치는 단일 순방향 패스를 다루고, 일부는 50개 액션 청크에 걸쳐 패스를 나누며, 카메라 캡처 또는 서보 쓰기를 포함하는 경우는 거의 없습니다.
클라우드 추론이 GPU 문제를 해결하나요?▾
부분적으로 그렇습니다. AY-Robots는 로컬 클라이언트가 해당 엔드포인트와 통신하는 동안 정책을 제공하는 파드를 자동으로 프로비저닝하며, 유휴 감시 장치가 있어 조용히 요금을 청구하는 대신 스스로 파괴됩니다. 공용 인터넷 왕복을 제거할 수는 없으며, 제어 루프는 이미 액션 단계당 20에서 485ms입니다. 느린 픽앤플레이스에는 적합하지만, 빠른 반응형 움직임에는 적합하지 않습니다.
Sources
- TinyVLA: 로봇 조작을 위한 빠르고 데이터 효율적인 시각-언어-액션 모델을 향하여
- TinyVLA 공식 코드 저장소 (README, requirements.txt, scripts/train.sh)
- TinyVLA 프로젝트 페이지
- lesjie/Llava-Pythia-1.3B, TinyVLA-H 백본 가중치
- SmolVLA: 합리적이고 효율적인 로봇 공학을 위한 시각-언어-액션 모델
- lerobot 문서: SmolVLA 미세 조정
- lerobot: configuration_smolvla.py, SmolVLA 기본값
- lerobot/smolvla_base 모델 카드
- SmolVLA: 효율적인 시각-언어-액션 모델 (Hugging Face 블로그)
- PyPI의 lerobot (0.6.1, Python 3.12 이상 필요)
- OpenVLA: 오픈 소스 시각-언어-액션 모델
- 시각-언어-액션 모델 미세 조정: 속도 및 성공 최적화 (OpenVLA-OFT)
- BitVLA: 로봇 조작을 위한 1비트 시각-언어-액션 모델
- X-VLA: 확장 가능한 교차 구현 시각-언어-액션 모델로서의 소프트 프롬프트 트랜스포머
- rail-berkeley/octo-small-1.5 모델 카드 (27M 매개변수)
Sources
- TinyVLA: Towards Fast, Data-Efficient Vision-Language-Action Models for Robotic Manipulation
- TinyVLA official code repository (README, requirements.txt, scripts/train.sh)
- TinyVLA project page
- lesjie/Llava-Pythia-1.3B, the TinyVLA-H backbone weights
- SmolVLA: A Vision-Language-Action Model for Affordable and Efficient Robotics
- lerobot documentation: fine-tuning SmolVLA
- lerobot: configuration_smolvla.py, the SmolVLA defaults
- lerobot/smolvla_base model card
- SmolVLA: Efficient Vision-Language-Action Model (Hugging Face blog)
- lerobot on PyPI (0.6.1, requires Python 3.12 or newer)
- OpenVLA: An Open-Source Vision-Language-Action Model
- Fine-Tuning Vision-Language-Action Models: Optimizing Speed and Success (OpenVLA-OFT)
- BitVLA: 1-bit Vision-Language-Action Models for Robotics Manipulation
- X-VLA: Soft-Prompted Transformer as Scalable Cross-Embodiment Vision-Language-Action Model
- rail-berkeley/octo-small-1.5 model card (27 M parameters)
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started