
Inilagay ng TinyVLA at SmolVLA ang isang gumaganang VLA sa ilalim ng 1 B parameter. Mga tunay na numero mula sa parehong papel, ang mga default ng lerobot, sinukat na latency, at kung magkano ang gastos ng isang pagpapatakbo sa isang 24 GB card.
Halos bawat modelo ng vision-language-action na isinusulat ay nagpapalagay ng datacentre card. Ang OpenVLA ay may 7 B na parameter. GR00T N1.7 at Pi0.5 ay humigit-kumulang 3 B at nangangailangan ng A100 80 GB para sa fine-tuning. Kung ang card sa iyong desk ay isang 4090, ang klase ng modelong iyon ay hindi mo maaabot.
Dalawang papel ang nagsasabing hindi mo ito kailangan. Ang TinyVLA (arXiv 2409.12514, tinanggap ng IEEE Robotics and Automation Letters noong Pebrero 2025) ay bumubuo ng isang VLA mula sa isang 400 M hanggang 1.3 B na backbone kasama ang isang diffusion action head. SmolVLA (arXiv 2506.01844, isinumite noong 2 Hunyo 2025) ay naglalaman ng 450 M na parameter na may open weights, open data at isang script na tumatakbo sa isang consumer card. Narito ang sinukat ng pareho, at kung saan humihinto ang argumento ng sub-1 B.
Ang kailangan mong malaman
- •Ang TinyVLA ay may tatlong sukat: 422 M kabuuan na may 101 M na trainable, 740 M na may 138 M, 1.3 B na may 143 M. Tanging ang unang dalawa ang nasa ilalim ng 1 B.
- •Sinusukat ng Table IV nito ang 14 ms bawat prediksyon ng aksyon para sa TinyVLA-1B sa isang A6000, laban sa 292 ms para sa OpenVLA-7B at 140 ms para sa isang pinaliit na OpenVLA-1B.
- •Ang head ang nagpapanatili ng bilis na iyon, hindi ang backbone: palitan ang diffusion head ng TinyVLA-H ng isang ACT head at ang limang real-robot tasks ay bababa mula sa 94.0 average patungo sa single digits. Ang isang MLP head ay nakakakuha ng 0 sa lahat ng dako.
- •Ang SmolVLA ay 450 M, humigit-kumulang 100 M nito ang action expert, na pretrained sa 481 community LeRobot datasets at 10.6 M frames. Nag-uulat ito ng 87.3 sa LIBERO laban sa 86.0 para sa isang robotics-pretrained Pi0 sa 3.3 B, at 78.3 sa tatlong real SO-100 tasks laban sa 61.7 para sa Pi0 sa 3.5 B.
- •Kapag sinanay na single-task nang walang pretraining na iyon, bumababa ang SmolVLA sa 40.0 sa mga task na iyon, mas mababa sa 48.3 ng ACT. Ang pagiging maliit ay hindi awtomatikong madali.
- •Ang TinyVLA ay walang integrasyon ng LeRobot at gumagamit ng CUDA 11.7 wheel stack. Ang SmolVLA ay nasa lerobot at nagkakahalaga ng humigit-kumulang 1 hanggang 3 USD bawat pagtakbo sa 24 GB tier dito.
Ano ang tunay na maituturing na maliit na VLA
Ang bilang ng parameter sa isang model card ay hindi iisang numero. Maaari itong mangahulugan ng kabuuang weights, weights na na-load sa inference, o weights na tumatanggap ng gradients sa panahon ng . Iniulat ng TinyVLA ang pareho, at malaki ang agwat: Ang TinyVLA-H ay 1.3 B sa kabuuan ngunit 143 M ang nate-train, dahil ang vision tower at karamihan sa language model ay nananatiling frozen habang ang LoRA adapters at ang action head ay gumagalaw. Inilalagay ng papel ang trainable share sa humigit-kumulang 5 porsiyento.
| Model | Params | Backbone | Action head | Source |
|---|---|---|---|---|
| TinyVLA-S | 422 M total, 101 M trainable | Llava-Pythia ~400 M | Diffusion (droid_diffusion U-Net) | arXiv 2409.12514 |
| TinyVLA-B | 740 M total, 138 M trainable | Llava-Pythia ~700 M | Diffusion | arXiv 2409.12514 |
| TinyVLA-H | 1.3 B total, 143 M trainable | Llava-Pythia ~1.3 B | Diffusion | arXiv 2409.12514 |
| SmolVLA | 450 M, ~100 M action expert | 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, walang language model | Direct chunk regression | AY-Robots catalog |
| OpenVLA | 7 B | Llama 2 7 B, DINOv2 and SigLIP encoders | Autoregressive action tokens | arXiv 2406.09246 |
Dalawang row ang karapat-dapat pagtalunan. Ang sa humigit-kumulang 80 M ay mas maliit kaysa sa lahat ng iba pa rito ngunit walang language model, kaya hindi ito VLA: natututo ito ng isang gawain at hindi maaaring utusan na gumawa ng iba. Ang sa 27 M ay kinondisyon sa pamamagitan ng isang T5-Base text encoder, hindi isang LLM backbone. Magandang baselines, ngunit wala sa mga ito ang nagbibigay sa iyo ng instruction following na ipinahihiwatig ng label.
Ang TinyVLA-H, ang variant na nagdadala ng mga resulta ng headline, ay 1.3 B at nasa itaas ng linya. Ang mas magandang tanong ay kung ang isang model ay kasya sa 24 GB sa panahon ng training at naabot ang iyong control rate sa inference. Ang limang policies na maaari mong i-train dito ay nasa pahina ng mga policies; Ang TinyVLA ay may arena entry kung gusto mo ang mga numero nito sa tabi ng iba.
TinyVLA: ang bilis ay nagmumula sa ulo, hindi sa backbone
Ang malinaw na pagbasa ay ginawa nilang mas maliit ang language model, kaya ito ay bumilis. Sinasabi ng ablation ng papel ang kabaligtaran. Ang pagpapalit ng OpenVLA's 7 B backbone sa isang humigit-kumulang 1 B ay nagpababa ng per-action prediction mula 292 ms tungo 140 ms, isang 2x na pagtaas. Ang TinyVLA-H, sa katulad na bilang ng parameter, ay tumatakbo sa 14 ms sa parehong card. Ang iba pang 10x ay ang action head.
| Modelo | Prediksyon bawat aksyon | Sinukat sa |
|---|---|---|
| OpenVLA-7B | 292 ms | single A6000 |
| OpenVLA-1B, backbone na ipinagpalit sa TinyVLA's | 140 ms | single A6000 |
| TinyVLA-1B (TinyVLA-H) | 14 ms | single A6000 |
Ang OpenVLA ay naglalabas ng mga aksyon bilang discretised tokens sa pamamagitan ng language model head, isa bawat dimensyon ng aksyon, nang autoregressively. Ang TinyVLA ay nagkakabit ng diffusion decoder na gumagawa ng buong chunk sa isang shot. Ang Talahanayan V ay naglalaman ng arkitektura sa TinyVLA-H at pinapalitan lamang ang head, sa parehong limang real-robot tasks. Ito ang pinakamalinaw na ebidensya sa alinmang papel para sa argumento flow matching na ginagawa ng mga patakaran, at ang dahilan Pi0 ay lumayo sa token decoding.
| Head sa TinyVLA-H | PlaceTennis | FlipMug | StackCubes | CloseDrawer | OpenBox |
|---|---|---|---|---|---|
| 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 |
Ang mga pigura na 292 / 140 / 14 ms ay nasa Talahanayan IV, lahat ay nasa isang A6000. Ang mga ito ay bawat prediksyon ng aksyon at hindi kasama ang pagkuha ng camera, preprocessing at ang serial write sa mga servo. Ituring ang nai-publish na latency bilang isang mas mababang hangganan, hindi kailanman bilang control rate. Ang aming sariling mga numero ay may parehong limitasyon: tingnan ang latency ng inference.
Ano ang nakuha ng TinyVLA
| Benchmark | Protocol | TinyVLA-H | Baselines |
|---|---|---|---|
| MetaWorld, 50 gawain, sim | Multi-task, 50 demos, 3 seeds | 77.6 / 21.5 / 11.4 / 15.8 ayon sa kahirapan, average 31.6 | Diffusion Policy average 10.5 |
| Tunay na Franka Panda, 5 gawain | 100 trajectories per task, 20 pagsubok | 94.0 average | OpenVLA 68.3, Diffusion Policy 35.3 |
| Bimanual UR5, 3 gawain | Multi-task, 10 pagsubok bawat gawain | 76.7 / 36.7 / 30.0 | OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0 |
Ang bimanual row ay may nakakainip na paliwanag na ibinigay mismo ng papel: Ang OpenVLA ay sinanay sa Open X-Embodiment, na binubuo lamang ng data ng iisang braso, kaya ang action space ng dalawang braso ay wala sa distribusyon at nakakuha ito ng zero. Ang diffusion policy baseline ay tinalo ang TinyVLA-H sa dalawa sa tatlong gawain na iyon. Background sa ang Open X-Embodiment write-up.
Ang TinyVLA repo, simula Agosto 2026
Maganda ang papel. Ang code ay isang research drop. Ang repository ay github.com/liyaxuanliyaxuan/TinyVLA; ang README nito ay nagtatakda ng petsa ng paglabas ng code sa 17 Pebrero 2025 at ang huling commit ay 11 Marso 2025. Ayos para sa pag-reproduce ng isang papel, isang problema kung gusto mo ng isang maintained library.
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 ay nagtatakda ng torch==2.0.1, transformers==4.37.1, deepspeed==0.9.5, peft==0.4.0, diffusers==0.11.1, numpy==1.24.4, at ang CUDA stack sa 11.x wheels: nvidia-cuda-runtime-cu11==11.7.99, nvidia-cudnn-cu11==8.5.0.96, triton==2.0.0. Ang README ay humihingi ng Python 3.10; ang lerobot 0.6.1 ay nangangailangan ng 3.12 o mas bago, kaya hindi maaaring magbahagi ng environment ang dalawa. Kumpirmahin muna kung mayroong torch 2.0.1 build para sa henerasyon ng iyong GPU. Kung ang isang pagpapatakbo ay namatay dahil sa VRAM, ang checklist para sa out-of-memory ay mas mabilis kaysa sa paghula.
Hindi rin binabasa ng TinyVLA ang mga dataset ng LeRobot. Ang format nito ay ACT-style HDF5: action, language_raw, at isang observations group na may multi-view images, joint_positions, qpos at qvel. Ang repo ay naglalaman ng data_utils/rlds_to_h5py.py para sa RLDS input, at bawat task ay manu-manong nakarehistro sa aloha_scripts/constants.py kasama ang dataset_dir, episode_len at camera_names nito. Kung ang iyong mga episode ay nagmula sa lerobot o sa kliyente sa desktop, ikaw ang may-ari ng conversion.
# 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 ay nagpapalagay ng isang eight-card node. Itakda ito sa 1 at bawasan ang batch size nang mas mababa sa 32. Walang single-GPU variant na inilabas sa upstream, kaya hindi maaaring patakbuhin ang command nang eksakto sa isang 4090.
- --deepspeed scripts/zero2.json ay tumuturo sa isang file na wala sa top-level scripts directory. Ang mga DeepSpeed config ay matatagpuan sa llava-pythia/scripts/zero2.json. Ayusin ang path bago ang iyong unang pagpapatakbo.
- Kinakailangan ng README na ang pangalan ng output directory ay naglalaman ng llava_pythia, kasama ang lora kung naka-enable ang LoRA.
- Ang backbone ay isang hiwalay na download: lesjie/Llava-Pythia-400M, -700M o -1.3B. Walang iisang base checkpoint na itinuturo mo ang isang policy sa paraan ng pagturo mo sa lerobot/smolvla_base.
SmolVLA: ang sub-1 B model na maaari mong patakbuhin ngayong hapon
Ginagawa ng SmolVLA ang parehong argumento sa loob ng isang pinapanatiling library. Ito ay may 450 M parameters sa isang SmolVLM2-500M-Video-Instruct backbone, at ang kahusayan ay nagmumula sa mga setting na mababasa mo mula sa configuration_smolvla.py sa halip na mula sa isang pahayag tungkol sa pagiging maliit.
| Setting sa configuration_smolvla.py | Default | Ano ang benepisyo nito |
|---|---|---|
| num_vlm_layers | 16 | Tanging ang unang 16 na language model layer ang tumatakbo |
| expert_width_multiplier | 0.75 | Ang hidden size ng action expert ay 75 porsyento ng sa VLM |
| self_attn_every_n_layers | 2 | Self-attention na pinagsama sa cross-attention |
| chunk_size / n_action_steps | 50 / 50 | Isang pass ay naglalabas ng 50 aksyon at lahat ng 50 ay isinasagawa |
| num_steps | 10 | Ang flow matching denoising ay nakapirmi sa 10 hakbang |
| tokenizer_max_length | 48 | Ang instruksyon ay pinaikli sa 48 tokens |
| freeze_vision_encoder / train_expert_only | True / True | Ang fine-tuning ay nagpapagalaw sa expert, hindi sa vision tower |
| optimizer_lr, warmup, decay | 1e-4, 1000 steps, to 2.5e-6 over 30000 | Hindi ang recipe ng papel: ang pretraining nito ay gumamit ng 100-step warmup sa loob ng 200000 hakbang |
Ang pretraining ay gumamit ng 481 community LeRobot datasets, 22.9 K episodes at 10.6 M frames sa 4 GPUs, 200000 steps sa isang global batch na 256; tinatantya ng papel ang buong proyekto sa humigit-kumulang 30 K GPU hours. Isang numero na dapat bantayan: sinasabi ng Hugging Face launch blog na 487 curated datasets kung saan ang talahanayan ng papel ay nagsasaad ng 481. Gagamitin namin ang figure ng papel at itatala ang pagkakaiba.

| Benchmark | SmolVLA 0.45 B | SmolVLA 2.25 B | Pi0 | ACT |
|---|---|---|---|---|
| LIBERO average, multi-task | 87.3 | 88.75 | 86.0 (3.3 B, robotics-pretrained) | - |
| Meta-World average, multi-task | 57.3 | 68.24 | 47.9 (3.5 B, robotics-pretrained) | - |
| Real SO-100, 3 tasks, multi-task training | 78.3 | - | 61.7 (3.5 B) | - |
| Real SO-100, 3 tasks, single-task, no robotics pretraining | 40.0 | - | - | 48.3 |
| SO-101 lego pick-place, single-task, in distribution | 90 | - | - | 70 |
| SO-101 lego pick-place, single-task, out of distribution | 50 | - | - | 40 |
Ang LIBERO ay simulation at lahat ng mahusay na score ay nasa eighties na ngayon. Ang row ng real SO-100, kung saan ang isang 450 M model ay tinalo ang isang 3.5 B model ng 16.6 puntos, ay ang kawili-wiling bahagi; ang row sa ilalim nito ay ang counterweight. Alisin ang community pretraining at ang multi-task training at ang parehong modelo ay bumaba sa 40.0, mas mababa sa ACT. Ang depensibong pahayag ay ang isang maliit na modelo ay hindi awtomatikong mas masama, hindi na ito ay mas mahusay.
Isang aksidente ang nakatulong: ang Meta-World table ng SmolVLA paper ay naglalaman ng sariling inilathalang numero ng TinyVLA bilang baseline, kaya sa pagkakataong ito, parehong modelo ay nasa isang table, ang SmolVLA-0.45B sa 57.3 laban sa TinyVLA-H sa 31.6. Iniulat din nito na ang pagsasanay ng SmolVLA ay humigit-kumulang 40 porsiyentong mas mabilis kaysa sa Pi0 sa 6x na mas kaunting memorya. Lahat ng ito ay nagmula sa mga may-akda ng SmolVLA; ang entry sa arena ay nagli-link ng bawat halaga sa pinagmulan nito.
Saan ginugugol ng SmolVLA ang oras nito
Inilista ng AY-Robots ang SmolVLA sa 245 ms bawat hakbang ng aksyon at ACT sa 20 ms sa katalogo ng patakaran. Iniulat ng TinyVLA ang 14 ms bawat prediksyon ng aksyon. Ang mga numerong iyon ay hindi maihahambing, at ang pagtrato sa mga ito na parang maihahambing ay ang pinakakaraniwang pagkakamali sa paksang ito: ang ilan ay nagtatala ng isang forward pass, ang ilan ay hinahati ang pass na iyon sa isang chunk kapag pag-chunk ng aksyon ay nag-aamortize nito.
- Ang SmolVLA ay naglalabas ng 50 aksyon bawat forward pass at isinasagawa ang lahat ng 50. Sa 30 fps na ginagamit ng papel sa mga totoong robot, ang isang inference ay sumasaklaw ng humigit-kumulang 1.7 segundo ng paggalaw.
- Kinakalkula ng asynchronous inference ang susunod na chunk habang ang kasalukuyan ay isinasagawa pa rin: 9.7 s average na pagkumpleto ng gawain laban sa 13.75 s synchronous, humigit-kumulang 30 porsiyentong mas mabilis, at 19 pick-and-place cycles sa isang nakapirming 60-segundong window laban sa 9.
- Ang mga rate ng tagumpay ay maihahambing sa halip na mas mahusay, 78.3 synchronous laban sa 73.3 asynchronous. Ang Async ay bumibili ng throughput, hindi accuracy.
- Itinatago ng chunking ang compute latency, hindi network latency, at ginagawa nitong hindi gaanong reaktibo ang patakaran dahil ito ay nakatuon sa 50 aksyon.
Ang AY-Robots ay maaaring awtomatikong mag-provision ng isang cloud GPU pod na naghahatid ng iyong policy habang ang lokal na robot client ay nakikipag-ugnayan sa endpoint na iyon, at ang pod ay may idle watchdog upang sirain nito ang sarili nito sa halip na tahimik na mag-bill. Ang hindi nito ginagawa ay alisin ang public-internet round trip. Ang control loop sa limang policy dito ay 20 hanggang 485 ms bawat action step bago pa man magkaroon ng anumang network, kaya ang remote inference ay magagamit para sa mabagal na pick-and-place, hindi para sa mabilis na reactive motion.

Fine-tuning ng SmolVLA sa isang consumer card
Ang manual na paraan, sa lerobot 0.6.1, ang kasalukuyang PyPI release noong 23 August 2026. Lahat ng nasa ibaba ay nagmula sa Hugging Face lerobot SmolVLA documentation, na nakuha sa parehong araw; ang ginabayang bersyon ay mas madali.
- 1I-install ang lerobot kasama ang smolvla extra
Ang mga dependency ng SmolVLA ay isang opsyonal na karagdagan, hindi bahagi ng pangunahing pag-install. Ang pag-install nang wala ito at pagkatapos ay magtaka kung bakit hindi kilala ang uri ng patakaran ay isang karaniwang kalahating oras na nawala.
bashgit clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e ".[smolvla]" - 2Kumuha ng dataset na may sapat na episode
Inirerekomenda ng mga docs ang humigit-kumulang 50 episode at sinasabing hindi sapat ang parehong gawain na may 25. Itinatakda ng AY-Robots ang minimum sa 30. Mag-record ng sarili mo, o magsimula mula sa direktoryo ng dataset.
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 - 3Simulan ang fine-tune
Ang command mula sa lerobot guide, hindi binago. Inilalagay ng mga docs ang 20000 steps sa humigit-kumulang 4 na oras sa isang A100. Sa isang 24 GB card, asahan ang mas matagal at sukatin ito.
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 - 4Bawasan ang batch size hanggang sa magkasya
Ang batch_size=64 ay isang dokumentadong halimbawa, hindi isang pangako tungkol sa iyong card. Pinapayuhan ng mga docs na magsimula sa maliit at dagdagan habang nananatiling maikli ang mga oras ng paglo-load.
bashlerobot-train --help - 5I-roll out ang checkpoint sa braso
Parehong library, isang command. Ang mga real-time chunking flags ay naka-comment out sa mga docs at ang mga ito ang dapat gamitin sa low-power hardware.
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
Anuman ang landas na iyong tahakin, magtatapos ka sa isang checkpoint kasama ang config na gumawa nito. Panatilihin ang dataset revision, ang step count at ang seed sa tabi nito. Ang lerobot ay nagde-default sa seed 1000; ang fine-tuning entry point ng GR00T ay walang inilalabas na seed, kaya ang mga run na iyon ay hindi bit-for-bit reproducible. Mga mekanika sa mga training docs.
Dalawang paraan upang makakuha ng maliit na VLA sa isang braso
Ikaw ang nagmamay-ari ng makina at ng mga failure mode. Para sa SmolVLA, makatwiran iyon: isang pip extra, isang train command, isang rollout command. Para sa TinyVLA, ito ay isang research reproduction na may frozen pins, isang sirang DeepSpeed path at isang data conversion na ikaw mismo ang sumusulat.
- Kumuha ng 24 GB card, mag-record ng 30 hanggang 50 episode, i-verify ang mga camera stream frame by frame.
- pip install -e ".[smolvla]", lerobot-train laban sa lerobot/smolvla_base, pagkatapos ay i-serve ang checkpoint sa makina kung saan nakasaksak ang braso.
- Para sa TinyVLA: hiwalay na conda env, i-convert ang data sa HDF5, irehistro ang task sa constants.py, ayusin ang zero2.json path, bawasan ang train.sh mula walong GPU sa isa.
- Walang per-hour billing kapag nabayaran na ang card.
- Ang inference ay nasa tabi ng mga servo, ang tanging paraan upang makakuha ng mabilis na control loop.
- Maaari mong i-patch ang policy code, at ang TinyVLA ay available lamang sa ganitong paraan.
- Ang isang 4090 ay nagbubukod sa bawat ~3 B policy, kaya walang lokal na paghahambing laban sa GR00T N1.7 o Pi0.5.
- Ang pag-setup ng environment ang tunay na trabaho. Ang mga pin ng TinyVLA lamang ay maaaring magkakahalaga ng isang araw.
- Walang queue, walang retry, walang checkpoint storage. Ang isang reboot sa step 14000 ay nangangahulugang magsisimula muli.
Ang SmolVLA ay isa sa limang policy dito. Pipili ka ng modelo at dataset sa isang form, ang backend ay umuupa ng GPU ayon sa kinakailangang VRAM, pinapatakbo ang trainer at isinusulat ang mga checkpoint sa object storage. Hakbang-hakbang: SmolVLA sa SO-100, o ang buong matrix sa pahina ng training.
| Ano ang ipinapadala ng platform para sa SmolVLA | Halaga |
|---|---|
| laki ng batch | 2 |
| rate ng pagkatuto | 1e-4 |
| maximum na hakbang | 20000 |
| akumulasyon ng gradient | 8, and it does not reach the trainer |
| karagdagang kontrol sa form | seed, logFreq |
| tier ng GPU | RTX 4090 or any 24 GB card |
| format ng dataset | LeRobot v3.0 |
| minimum na episode | 30 |
Una, ang default na laki ng batch dito ay 2, hindi ang 64 sa halimbawa ng dokumentasyon ng lerobot, at ang setting ng gradient accumulation ay ipinapadala ngunit walang epekto para sa SmolVLA, kaya ang epektibong batch ay talagang 2. Taasan ito nang sinasadya sa halip na ipagpalagay na ang default ay tumutugma sa upstream. Pangalawa, ang TinyVLA ay hindi matuturuan dito.
Ang isang run sa 24 GB tier ay tumatagal ng 2 hanggang 5 oras sa 0.30 hanggang 0.60 USD kada oras, humigit-kumulang 1 hanggang 3 USD. Sa A100 tier, ang isang ~3 B policy ay 3 hanggang 6 na oras sa 1.20 hanggang 2.00 USD kada oras, humigit-kumulang 4 hanggang 12 USD. Tingnan ang pagpepresyo, at ang parehong operasyon mula sa CLI at MCP server.
Kapag mali ang pagpili ng maliit na modelo
Mas maingat ang parehong papel dito kaysa sa mga buod. Ang pagsusuri sa pagkabigo ng TinyVLA ay partikular: ang 0.4 B na variant ay nabigo nang tatlong beses sa maling pagbasa ng instruksyon, na iniuugnay ng mga may-akda sa limitadong pag-unawa sa wika sa mas maliit na VLM, at nawala ang mode na iyon sa 1.3 B. Ipinapakita ng SmolVLA ang parehong kurba mula sa kabilang dulo: ang 2.25 B na bersyon ng magkaparehong arkitektura ay nakakuha ng 88.75 sa LIBERO at 68.24 sa Meta-World laban sa 87.3 at 57.3 para sa 0.45 B na modelo.
- Kasya sa isang 24 GB card, na nagpapababa ng gastos ng eksperimento mula sampu-sampung dolyar patungo sa ilang dolyar.
- Sapat na mabilis upang tumakbo sa tabi ng braso, kaya walang network hop sa control loop.
- Nag-fine-tune sa data na kayang i-record ng isang tao, sampu-sampung episode sa halip na libu-libo.
- Ang mga weights, data list at code ng SmolVLA ay pampubliko, kaya ang masamang resulta ay maaaring i-debug.
- Mas mahinang pagsunod sa instruksyon: mas kaunting parameter ng wika, mas kaunting kakayahang paghiwalayin ang magkatulad na referring expressions.
- Mas kaunting spatial at visual generalisation sa mga setup na hindi mo naitala.
- Mas sensitibo sa mga depekto ng dataset, na may mas kaunting pretraining na maaaring balikan.
- Ang multi-task at long-horizon na trabaho ay pabor pa rin sa mas malalaking modelo, kabilang ang sariling 2.25 B variant ng SmolVLA.
Ang paghahambing na sulit gawin ay hindi TinyVLA laban sa SmolVLA. Ito ay SmolVLA laban sa ACT sa iyong sariling gawain, at ang papel ng SmolVLA ang argumento kung bakit. Sinanay na single-task na walang robotics pretraining, ang SmolVLA ay nag-average ng 40.0 sa tatlong SO-100 na gawain kung saan ang single-task ACT ay nakakuha ng 48.3. Ang nagpapataas nito sa 78.3 ay ang community pretraining plus multi-task training, hindi ang arkitektura lamang. Sa SO-101 lego task, parehong single-task, nanalo ang SmolVLA: 90 laban sa 70 sa distribution. Pagkatapos, SmolVLA laban sa Pi0.5 kung pinapayagan ng badyet.
Mas kaunti ang pretraining na kailangan para takpan ang masamang data, kaya ang malinis na loss curve sa isang depektibong dataset ay nagbibigay sa iyo ng policy na may kumpiyansang ginagaya ang depekto. Ang mga dokumento ng lerobot ay direkta tungkol sa istraktura: 50 episode sa 5 posisyon ng cube, 10 bawat posisyon, ay gumana; 25 ay hindi. Kung maayos ang loss at walang ginagawang kapaki-pakinabang ang braso, magsimula sa bumababa ang loss, walang ginagawa ang policy, gumagana lang ang policy sa isang setup o pagkolekta ng VLA training data na talagang magagamit.
Limang policy, isang talahanayan ng paghahambing
GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA at ACT na may tunay na bilang ng parameter, inference latency bawat hakbang ng aksyon, ang tier ng GPU na kailangan ng bawat isa at ang minimum na bilang ng episode bago ito gumawa ng anumang kapaki-pakinabang.
Paghambingin ang mga policyIsang talahanayan ng desisyon na maaari mong pagbatayan
| Ang iyong sitwasyon | Magsimula sa | Bakit |
|---|---|---|
| Isang gawain, magandang demonstrasyon, walang wika | ACT | ~80 M, 20 ms, 24 GB card, walang base model na ida-download |
| Ilang kaugnay na gawain, isang instruksyon bawat isa | SmolVLA | 450 M, in lerobot, 30 episode minimum, 1 hanggang 3 USD bawat pagtakbo |
| Partikular na ginagaya ang resulta ng TinyVLA | TinyVLA-B o TinyVLA-H | Ang repo ang tanging ruta: isolated env, converted data |
| Multi-task, iba't ibang instruksyon, A100 budget | GR00T N1.7 o Pi0.5 | ~3 B, 152 ms at 485 ms bawat hakbang, 4 hanggang 12 USD bawat pagtakbo |
| Wala pang robot | Magmaneho ng totoong braso | Ang queue-based na live arm ay hindi nangangailangan ng pagpaparehistro at walang hardware |
Para sa huling hilera, ang live na braso ay nag-stream ng pisikal na SO-100 na maaari mong kontrolin mula sa browser nang walang account, at ang tatlong paraan para makapagsimula ang sumasaklaw sa iba pa. Ang SO-100 ang reference na braso dito, humigit-kumulang 110 hanggang 150 EUR sa mga piyesa, na may kumpletong gabay sa pag-setup.
Ano ang susunod pagkatapos ng mga modelong wala pang 1 B
Ang pagpapaliit ng bilang ng parameter ay isang paraan upang maging mura ang isang VLA at hindi ito ang malinaw na nanalong paraan. OpenVLA-OFT (arXiv 2502.19645) ay pinapanatili ang 7 B backbone at binabago lamang kung paano ini-decode ang mga aksyon, nag-uulat ng 26x na pagtaas sa throughput ng pagbuo ng aksyon at pagtaas ng LIBERO mula 76.5 hanggang 97.1 porsyento. BitVLA (arXiv 2506.07530) ay ginagawang ternary ang bawat bigat ng isang 1-bit BitNet b1.58 2B4T backbone, nag-uulat ng 11.0x na mas kaunting memorya at 4.4x na mas mababang end-to-end latency habang tumutugma sa full-precision OpenVLA-OFT. X-VLA-0.9B (arXiv 2510.10274) ay nasa linya ng 1 B na may flow matching.
Ang karaniwang tema: ang action decoder, hindi ang language model, ang pinagmumulan ng latency. Tanungin kung paano naglalabas ng mga aksyon ang isang patakaran bago mo tanungin kung gaano karaming parameter ang mayroon ito. Ang arena ay may 85 modelo at 332 resulta, bawat isa ay naka-link sa pinagmulan nito; mayroong mas malawak na pangkalahatang-ideya sa aming panimula sa VLA.
Maaari ko bang i-fine-tune ang SmolVLA sa isang RTX 4090?▾
Oo. Ang SmolVLA ay 450 M parameters at pinapatakbo ito ng AY-Robots sa RTX 4090 / 24 GB tier. Ang halimbawa ng lerobot ay gumagamit ng --batch_size=64, na isang halimbawa lamang at hindi garantiya para sa iyong card; pinapayuhan ng mga docs na magsimula sa maliit at dagdagan habang nananatiling maikli ang mga oras ng paglo-load. Asahan ang mas mahaba kaysa sa humigit-kumulang 4 na oras na binanggit ng mga docs para sa 20000 steps sa isang A100.
Available ba ang TinyVLA sa lerobot o sa AY-Robots?▾
Hindi sa pareho. Ang TinyVLA ay nasa research repository lamang nito, huling commit 11 March 2025, at ang format nito ay ACT-style HDF5 sa halip na LeRobot. Ang AY-Robots ay nagsasanay ng GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA at ACT. Kung gusto mo ng TinyVLA, ikaw mismo ang gagawa nito, at kailangan mong ayusin muna ang DeepSpeed config path sa scripts/train.sh.
Talaga bang mapagkumpitensya ang isang 450 M model sa isang 3 B model?▾
Sa sariling benchmarks ng mga may-akda, oo: 87.3 laban sa 86.0 sa LIBERO kumpara sa isang robotics-pretrained Pi0 sa 3.3 B, at 78.3 laban sa 61.7 sa tatlong tunay na SO-100 tasks kung saan ang parehong papel ay nagtatakda ng Pi0 sa 3.5 B. Ang limitasyon ay nasa parehong papel: single-task nang walang robotics pretraining, ang SmolVLA ay bumaba sa 40.0, mas mababa sa 48.3 ng ACT.
Ilang episode ang kailangan ko bago gumawa ng anuman ang isang maliit na VLA?▾
Itinakda ng AY-Robots ang minimum ng SmolVLA sa 30 episodes at ang minimum ng ACT sa 50. Inirerekomenda ng mga docs ng lerobot ang humigit-kumulang 50 at iniulat na 25 ay hindi sapat para sa parehong task. Mahalaga ang istraktura tulad ng bilang: ang set ng papel ay gumamit ng 5 cube positions na may 10 episodes bawat isa.
Bakit magkaiba-iba ang mga nai-publish na latency numbers?▾
Iba't ibang bagay ang sinusukat nila. Ang TinyVLA ay nag-uulat ng 14 ms per action prediction sa isang A6000; inilista ng AY-Robots ang SmolVLA sa 245 ms at ang ACT sa 20 ms per action step. Ang ilang mga numero ay sumasaklaw sa isang forward pass, ang ilan ay naghahati ng isang pass sa isang 50-action chunk, at halos wala sa mga ito ang kasama ang camera capture o ang pagsusulat sa mga servos.
Nalulutas ba ng cloud inference ang problema sa GPU?▾
Bahagya. Ang AY-Robots ay awtomatikong nagbibigay ng isang pod na nagsisilbi sa policy habang ang lokal na client ay nakikipag-ugnayan sa endpoint na iyon, na may idle watchdog upang sirain nito ang sarili nito sa halip na tahimik na mag-bill. Hindi nito matatanggal ang public-internet round trip, at ang control loop ay nasa 20 hanggang 485 ms per action step na. Ayos para sa mabagal na pick-and-place, hindi para sa mabilis na reactive motion.
Sources
- TinyVLA: Tungo sa Mabilis, Data-Efficient na Vision-Language-Action Models para sa Robotic Manipulation
- TinyVLA official code repository (README, requirements.txt, scripts/train.sh)
- TinyVLA project page
- lesjie/Llava-Pythia-1.3B, ang TinyVLA-H backbone weights
- SmolVLA: Isang Vision-Language-Action Model para sa Abot-kaya at Mahusay na Robotics
- lerobot documentation: fine-tuning SmolVLA
- lerobot: configuration_smolvla.py, ang mga default ng SmolVLA
- lerobot/smolvla_base model card
- SmolVLA: Mahusay na Vision-Language-Action Model (Hugging Face blog)
- lerobot sa PyPI (0.6.1, nangangailangan ng Python 3.12 o mas bago)
- OpenVLA: Isang Open-Source Vision-Language-Action Model
- Fine-Tuning Vision-Language-Action Models: Pag-optimize ng Bilis at Tagumpay (OpenVLA-OFT)
- BitVLA: 1-bit Vision-Language-Action Models para sa Robotics Manipulation
- X-VLA: Soft-Prompted Transformer bilang Scalable Cross-Embodiment Vision-Language-Action Model
- rail-berkeley/octo-small-1.5 model card (27 M parameters)
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