
TinyVLA og SmolVLA plasserer en fungerende VLA under 1 milliard parametere. Reelle tall fra begge artiklene, LeRobot-standardinnstillingene, målt latens, og hva en kjøring koster på et 24 GB kort.
Nesten hver visjon-språk-handling-modell som det skrives om, forutsetter et datasenterkort. OpenVLA har 7 milliarder parametere. GR00T N1.7 og Pi0.5 er rundt 3 milliarder og krever et A100 80 GB for finjustering. Hvis kortet på skrivebordet ditt er et 4090, er den modellklassen utenfor rekkevidde.
To artikler hevder at du ikke trenger det. TinyVLA (arXiv 2409.12514, akseptert av IEEE Robotics and Automation Letters i februar 2025) bygger en VLA fra en 400 millioner til 1,3 milliarder ryggrad pluss et diffusjons-handlingshode. SmolVLA (arXiv 2506.01844, innsendt 2. juni 2025) leveres med 450 millioner parametere med åpne vekter, åpne data og et skript som kjører på ett forbrukerkort. Her er hva begge målte, og hvor argumentet om under 1 milliard slutter å holde stikk.
Hva du trenger å vite
- •TinyVLA leveres i tre størrelser: 422 millioner totalt med 101 millioner trenbare, 740 millioner med 138 millioner, 1,3 milliarder med 143 millioner. Bare de to første er under 1 milliard.
- •Tabell IV måler 14 ms per handlingsprediksjon for TinyVLA-1B på ett A6000, mot 292 ms for OpenVLA-7B og 140 ms for en krympet OpenVLA-1B.
- •Hodet opprettholder den hastigheten, ikke ryggraden: bytt TinyVLA-H's diffusjonshode med et ACT-hode, og de fem virkelige robot-oppgavene faller fra et gjennomsnitt på 94,0 til ensifrede tall. Et MLP-hode scorer 0 overalt.
- •SmolVLA er 450 millioner, omtrent 100 millioner av det er handlingseksperten, forhåndstrent på 481 LeRobot-datasett fra fellesskapet og 10,6 millioner rammer. Den rapporterer 87,3 på LIBERO mot 86,0 for en robotikk-forhåndstrent Pi0 på 3,3 milliarder, og 78,3 på tre virkelige SO-100-oppgaver mot 61,7 for Pi0 på 3,5 milliarder.
- •Trent enkelt-oppgave uten den forhåndstreningen, faller SmolVLA til 40,0 på disse oppgavene, under ACTs 48,3. Lite er ikke automatisk enkelt.
- •TinyVLA har ingen LeRobot-integrasjon og krever en CUDA 11.7 wheel stack. SmolVLA er i lerobot og koster omtrent 1 til 3 USD per kjøring på 24 GB-nivået her.
Hva som faktisk regnes som en liten VLA
Antall parametere på et modellkort er ikke ett tall. Det kan bety totale vekter, vekter lastet under inferens, eller vekter som mottar gradienter under . TinyVLA rapporterer begge deler, og gapet er stort: TinyVLA-H er 1,3 B totalt, men 143 M trenbart, fordi visjonstårnet og det meste av språkmodellen forblir frosset mens LoRA-adaptere og handlingshodet beveger seg. Artikkelen angir den trenbare andelen til omtrent 5 prosent.
| Modell | Parametere | Ryggrad | Handlingshode | Kilde |
|---|---|---|---|---|
| TinyVLA-S | 422 M totalt, 101 M trenbart | Llava-Pythia ~400 M | Diffusion (droid_diffusion U-Net) | arXiv 2409.12514 |
| TinyVLA-B | 740 M totalt, 138 M trenbart | Llava-Pythia ~700 M | Diffusion | arXiv 2409.12514 |
| TinyVLA-H | 1,3 B totalt, 143 M trenbart | Llava-Pythia ~1.3 B | Diffusion | arXiv 2409.12514 |
| SmolVLA | 450 M, ~100 M handlingsekspert | 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, ingen språkmodell | Direkte klump-regresjon | AY-Robots catalog |
| OpenVLA | 7 B | Llama 2 7 B, DINOv2 and SigLIP encoders | Autoregressive action tokens | arXiv 2406.09246 |
To rader er verdt å diskutere. på omtrent 80 M er mindre enn alt annet her, men har ingen språkmodell, så det er ikke en VLA: den lærer én oppgave og kan ikke bes om å gjøre en annen. på 27 M er betinget gjennom en T5-Base tekst-enkoder, ikke en LLM-ryggrad. Gode grunnlinjer, ingen av dem gir deg instruksjonsfølgingen etiketten antyder.
TinyVLA-H, varianten som bærer overskriftsresultatene, er 1,3 B og ligger over linjen. Det bedre spørsmålet er om en modell passer inn i 24 GB under trening og treffer din kontrollrate under inferens. De fem policyene du kan trene her er på policy-siden; TinyVLA har en arenaoppføring hvis du vil ha tallene dens ved siden av alle andres.
TinyVLA: hastigheten kommer fra hodet, ikke ryggraden
Den åpenbare tolkningen er at de gjorde språkmodellen mindre, slik at den ble raskere. Artikkelens ablasjonsstudie sier noe annet. Å bytte ut OpenVLAs 7 B ryggrad med en på omtrent 1 B reduserte prediksjon per handling fra 292 ms til 140 ms, en 2x forbedring. TinyVLA-H, med et sammenlignbart antall parametere, kjører på 14 ms på samme kort. De andre 10x kommer fra handlingshodet.
| Modell | Prediksjon per handling | Målt på |
|---|---|---|
| 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 sender ut handlinger som diskretiserte tokens gjennom språkmodellhodet, ett per handlingsdimensjon, autoregressivt. TinyVLA kobler til en diffusjonsdekoder som produserer hele blokken i ett skudd. Tabell V viser arkitekturen til TinyVLA-H og bytter kun hodet, på de samme fem virkelige robot-oppgavene. Det er det reneste beviset i begge artiklene for argumentet flyt-matching policyer fremsetter, og grunnen til at Pi0 gikk bort fra token-dekoding.
| Ytelse med TinyVLA-H | Plasser tennisball | Snu krus | Stable kuber | Lukk skuff | Åpne boks |
|---|---|---|---|---|---|
| Diffusjon (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 |
| Flerlags perseptron | 0 | 0 | 0 | 0 | 0 |
Tallene 292 / 140 / 14 ms er fra tabell IV, alle kjørt på én A6000. De er per handlingsprediksjon og ekskluderer kamerafangst, forbehandling og seriell skriving til servoene. Betrakt publisert latens som en nedre grense, aldri som kontrollraten. Våre egne tall har samme begrensning: se inferenslatens.
Hva TinyVLA oppnådde
| Referansepunkt | Protokoll | TinyVLA-H | Grunnlinjer |
|---|---|---|---|
| MetaWorld, 50 oppgaver, sim | Fleroppgave, 50 demoer, 3 frø | 77.6 / 21.5 / 11.4 / 15.8 etter vanskelighetsgrad, gjennomsnitt 31.6 | Diffusion Policy gjennomsnitt 10.5 |
| Ekte Franka Panda, 5 oppgaver | 100 trajektorier per oppgave, 20 forsøk | 94.0 gjennomsnitt | OpenVLA 68.3, Diffusion Policy 35.3 |
| Tohånds UR5, 3 oppgaver | Fleroppgave, 10 forsøk per oppgave | 76.7 / 36.7 / 30.0 | OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0 |
Den bimanuelle raden har en kjedelig forklaring som artikkelen selv gir: OpenVLA er forhåndstrent på Open X-Embodiment, som utelukkende består av data fra enkeltarmer, så et handlingsrom med to armer er utenfor distribusjonen og får null poeng. Diffusjonspolicy-baselinen slår TinyVLA-H på to av disse tre oppgavene. Bakgrunn i Open X-Embodiment-artikkelen.

TinyVLA-repoet, per august 2026
Artikkelen er god. Koden er et forskningsutkast. Repositoriet er github.com/liyaxuanliyaxuan/TinyVLA; README-filen daterer kodeutgivelsen til 17. februar 2025 og den siste committen er 11. mars 2025. Greit for å reprodusere en artikkel, et problem hvis du ønsket et vedlikeholdt bibliotek.
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 låser `torch==2.0.1`, `transformers==4.37.1`, `deepspeed==0.9.5`, `peft==0.4.0`, `diffusers==0.11.1`, `numpy==1.24.4`, og CUDA-stakken til 11.x-hjulene: `nvidia-cuda-runtime-cu11==11.7.99`, `nvidia-cudnn-cu11==8.5.0.96`, `triton==2.0.0`. README ber om Python 3.10; lerobot 0.6.1 krever 3.12 eller nyere, så de to kan ikke dele et miljø. Bekreft at en torch 2.0.1-bygging eksisterer for din GPU-generasjon først. Hvis en kjøring dør på VRAM i stedet, er sjekklisten for minnefeil raskere enn å gjette.
TinyVLA leser heller ikke LeRobot datasett. Formatet er ACT-stil HDF5: action, language_raw, og en observasjonsgruppe med flervisningsbilder, joint_positions, qpos og qvel. Depotet leverer data_utils/rlds_to_h5py.py for RLDS-input, og hver oppgave registreres manuelt i aloha_scripts/constants.py med sin dataset_dir, episode_len og camera_names. Hvis dine episoder kom fra lerobot eller skrivebordsklienten, eier du konverteringen.
# 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 antar en node med åtte kort. Sett den til 1 og reduser batchstørrelsen godt under 32. Ingen enkelt-GPU-variant leveres oppstrøms, så kommandoen kan ikke kjøres nøyaktig som den er på et 4090.
- --deepspeed scripts/zero2.json peker på en fil som ikke er i toppnivåets scripts-katalog. DeepSpeed-konfigurasjonene leveres i llava-pythia/scripts/zero2.json. Fiks stien før din første kjøring.
- README krever at navnet på utdatakatalogen inneholder llava_pythia, pluss lora hvis LoRA er aktivert.
- Ryggraden er en separat nedlasting: lesjie/Llava-Pythia-400M, -700M or -1.3B. Det finnes ingen enkelt basis-sjekkpunkt du peker en policy mot på samme måte som du peker mot lerobot/smolvla_base.
SmolVLA: modellen under 1 milliard parametere du kan kjøre i ettermiddag
SmolVLA fremfører det samme argumentet i et vedlikeholdt bibliotek. Den har 450 millioner parametere på en SmolVLM2-500M-Video-Instruct ryggrad, og effektiviteten kommer fra innstillinger du kan lese ut av configuration_smolvla.py, snarere enn fra en påstand om å være liten.
| Innstilling i configuration_smolvla.py | Standard | Hva det gir |
|---|---|---|
| num_vlm_layers | 16 | Kun de første 16 språkmodellagene kjører |
| expert_width_multiplier | 0.75 | Handlings-ekspertens skjulte størrelse er 75 prosent av VLM-ens |
| self_attn_every_n_layers | 2 | Selv-oppmerksomhet flettet sammen med kryss-oppmerksomhet |
| chunk_size / n_action_steps | 50 / 50 | Ett pass sender ut 50 handlinger og alle 50 blir utført |
| num_steps | 10 | Flyt-matching denoisering fastsatt til 10 trinn |
| tokenizer_max_length | 48 | Instruksjonen er avkortet til 48 tokens |
| freeze_vision_encoder / train_expert_only | True / True | Finjustering flytter eksperten, ikke vision tower |
| optimizer_lr, warmup, decay | 1e-4, 1000 steps, to 2.5e-6 over 30000 | Ikke papir-oppskriften: dens forhåndstrening brukte en 100-trinns oppvarming over 200000 trinn |
Forhåndstrening brukte 481 LeRobot-datasett fra fellesskapet, 22,9 K episoder og 10,6 M rammer på 4 GPU-er, 200000 trinn med en global batchstørrelse på 256; artikkelen anslår hele prosjektet til omtrent 30 K GPU-timer. Ett tall å merke seg: Hugging Face-lanseringsbloggen sier 487 kuraterte datasett der artikkelens tabell sier 481. Vi bruker tallet fra artikkelen og flagger uenigheten.
| Referansepunkt | SmolVLA 0.45 B | SmolVLA 2.25 B | Pi0 | ACT |
|---|---|---|---|---|
| LIBERO gjennomsnitt, fleroppgave | 87.3 | 88.75 | 86.0 (3.3 B, robotics-pretrained) | - |
| Meta-World gjennomsnitt, fleroppgave | 57.3 | 68.24 | 47.9 (3.5 B, robotics-pretrained) | - |
| Ekte SO-100, 3 oppgaver, fleroppgave-trening | 78.3 | - | 61.7 (3.5 B) | - |
| Ekte SO-100, 3 oppgaver, enkelt-oppgave, ingen robotikk-forhåndstrening | 40.0 | - | - | 48.3 |
| SO-101 lego plukk-og-plasser, enkelt-oppgave, i distribusjon | 90 | - | - | 70 |
| SO-101 lego plukk-og-plasser, enkelt-oppgave, utenfor distribusjon | 50 | - | - | 40 |
LIBERO er simulering, og alt kompetent scorer på åttitallet der nå. Den virkelige SO-100-raden, der en 450 M-modell slår en 3.5 B-modell med 16.6 poeng, er den interessante; raden under den er motvekten. Fjern fellesskapets forhåndstrening og fleroppgave-treningen, og den samme modellen faller til 40.0, under ACT. Den forsvarlige påstanden er at en liten modell ikke automatisk er dårligere, ikke at den er bedre.
En tilfeldighet hjelper: SmolVLA-artikkelens Meta-World-tabell inneholder TinyVLAs egne publiserte tall som en baseline, så for en gangs skyld sitter begge modellene i én tabell, SmolVLA-0.45B på 57.3 mot TinyVLA-H på 31.6. Den rapporterer også at SmolVLA-trening er rundt 40 prosent raskere enn Pi0 med 6x mindre minne. Alt dette kommer fra SmolVLA-forfatterne; den arenaoppføringen lenker hver verdi til sin kilde.
Hvor SmolVLA bruker tiden sin
AY-Robots lister SmolVLA til 245 ms per handlingstrinn og ACT til 20 ms i policykatalogen. TinyVLA rapporterer 14 ms per handlingsprediksjon. Disse tallene er ikke sammenlignbare, og å behandle dem som om de var det, er den vanligste feilen i dette emnet: noen måler én fremoverpasning, noen deler den pasningen over en 'chunk' når handlings-chunking amortiserer den.
- SmolVLA sender ut 50 handlinger per fremoverpasning og utfører alle 50. Med 30 fps som artikkelen bruker på ekte roboter, dekker én inferens omtrent 1.7 sekunder med bevegelse.
- Asynkron inferens beregner neste 'chunk' mens den nåværende fortsatt utføres: 9.7 s gjennomsnittlig oppgavefullføring mot 13.75 s synkron, omtrent 30 prosent raskere, og 19 'pick-and-place'-sykluser i et fast 60-sekunders vindu mot 9.
- Suksessratene var sammenlignbare snarere enn bedre, 78.3 synkron mot 73.3 asynkron. Asynkronitet kjøper gjennomstrømning, ikke nøyaktighet.
- Chunking skjuler beregningslatens, ikke nettverkslatens, og det gjør policyen mindre reaktiv fordi den er forpliktet til 50 handlinger.
AY-Robots kan automatisk provisjonere en sky-GPU-pod som betjener din policy mens den lokale robotklienten kommuniserer med dette endepunktet, og poden har en inaktiv vakthund slik at den ødelegger seg selv i stedet for å fakturere i det stille. Det den ikke gjør, er å fjerne rundreisen over det offentlige internett. Kontrollsløyfen på tvers av de fem policyene her er 20 til 485 ms per handlingstrinn før noe nettverk i det hele tatt, så fjerninferens er levedyktig for langsom pick-and-place, ikke for rask reaktiv bevegelse.

Finjustering av SmolVLA på ett forbrukerkort
Den manuelle veien, på lerobot 0.6.1, den nåværende PyPI-utgivelsen per 23. august 2026. Alt nedenfor kommer fra Hugging Face lerobot SmolVLA-dokumentasjonen, hentet samme dag; den guidede versjonen er mildere.
- 1Installer lerobot med smolvla-tillegget
SmolVLA-avhengighetene er et valgfritt tillegg, ikke en del av basisinstallasjonen. Å installere uten det og deretter lure på hvorfor policytypen er ukjent, er en vanlig halvtime tapt.
bashgit clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e ".[smolvla]" - 2Skaff et datasett med nok episoder
Dokumentasjonen anbefaler rundt 50 episoder og sier at den samme oppgaven med 25 ikke var nok. AY-Robots setter minimum til 30. Ta opp dine egne, eller start fra datasettkatalogen.
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 - 3Start finjusteringen
Kommandoen fra lerobot-guiden, uendret. Dokumentasjonen anslår 20000 steg til omtrent 4 timer på én A100. På et 24 GB-kort, forvent lengre tid og mål det.
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 - 4Reduser batch-størrelsen til den passer
batch_size=64 er et dokumentert eksempel, ikke et løfte om kortet ditt. Dokumentasjonen anbefaler å starte smått og øke mens lastetidene forblir korte.
bashlerobot-train --help - 5Rull ut sjekkpunktet på armen
Samme bibliotek, én kommando. Flaggene for sanntids-chunking er kommentert ut i dokumentasjonen og er de man bør bruke på maskinvare med lav effekt.
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
Uansett hvilken vei du velger, ender du opp med et sjekkpunkt pluss konfigurasjonen som produserte det. Oppbevar datasettrevisjonen, antall steg og seed ved siden av. lerobot bruker standard seed 1000; GR00Ts finjusteringsinngangspunkt eksponerer ingen seed i det hele tatt, så disse kjøringene er ikke bit-for-bit reproduserbare. Mekanikk i treningsdokumentasjonen.
To måter å få en liten VLA på en arm
Du eier maskinen og feilmodusene. For SmolVLA er det rimelig: ett pip-tillegg, én treningskommando, én utrullingskommando. For TinyVLA er det en forskningsreproduksjon med frosne pins, en ødelagt DeepSpeed-sti og en datakonvertering du skriver selv.
- Skaff et 24 GB-kort, ta opp 30 til 50 episoder, verifiser kamerastrømmene bilde for bilde.
- pip install -e ".[smolvla]", lerobot-train mot lerobot/smolvla_base, og deretter tjen sjekkpunktet på maskinen armen er koblet til.
- For TinyVLA: separat conda-miljø, konverter data til HDF5, registrer oppgaven i constants.py, fiks zero2.json-stien, kutt train.sh fra åtte GPUer til én.
- Ingen timebasert fakturering når kortet er betalt.
- Inferens sitter ved siden av servoene, den eneste måten å få en rask kontrollsløyfe på.
- Du kan patche policykoden, og TinyVLA er kun tilgjengelig på denne måten.
- Et 4090-kort utelukker alle ~3 B-policier, så ingen lokal sammenligning mot GR00T N1.7 eller Pi0.5.
- Miljøoppsett er det virkelige arbeidet. TinyVLAs pins alene kan koste en dag.
- Ingen kø, ingen gjentakelse, ingen sjekkpunktlagring. En omstart ved steg 14000 betyr å starte på nytt.
SmolVLA er en av de fem policyene her. Du velger modell og datasett i et skjema, backend leier en GPU basert på nødvendig VRAM, kjører treneren og skriver sjekkpunkter til objektlagring. Steg for steg: SmolVLA på SO-100, eller hele matrisen på treningssiden.
| Hva plattformen sender for SmolVLA | Verdi |
|---|---|
| batch-størrelse | 2 |
| læringsrate | 1e-4 |
| maks steg | 20000 |
| gradientakkumulering | 8, and it does not reach the trainer |
| ekstra innstillinger i skjemaet | seed, logFreq |
| GPU-nivå | RTX 4090 or any 24 GB card |
| datasettformat | LeRobot v3.0 |
| minimum episoder | 30 |
For det første er standard batch-størrelse her 2, ikke 64 som i lerobot-dokumentasjonseksemplet, og innstillingen for gradientakkumulering sendes, men har ingen effekt for SmolVLA, så den effektive batchen er faktisk 2. Øk den bevisst i stedet for å anta at standardverdien samsvarer med oppstrøms. For det andre er TinyVLA ikke trenbar her i det hele tatt.
En kjøring på 24 GB-nivået tar 2 til 5 timer til 0.30 til 0.60 USD per time, omtrent 1 til 3 USD. På A100-nivået tar en ~3 B policy 3 til 6 timer til 1.20 til 2.00 USD per time, omtrent 4 til 12 USD. Se priser, og de samme operasjonene fra CLI-en og MCP-serveren.
Når en liten modell er feil valg
Begge artiklene er mer forsiktige her enn sammendragene er. TinyVLAs feilanalyse er spesifikk: 0,4 B-varianten feilet tre ganger ved å feiltolke instruksjonen, noe forfatterne tilskriver begrenset språkforståelse i den mindre VLM-en, og den modusen forsvant ved 1,3 B. SmolVLA viser den samme kurven fra den andre enden: 2,25 B-versjonen av den identiske arkitekturen scorer 88,75 på LIBERO og 68,24 på Meta-World, mot 87,3 og 57,3 for 0,45 B-modellen.
- Passer på et 24 GB-kort, noe som reduserer kostnaden for et eksperiment fra titalls dollar til et par.
- Rask nok til å kjøre ved siden av armen, så ingen nettverkshopp i kontrollsløyfen.
- Finjusteres på data én person kan registrere, titalls episoder i stedet for tusenvis.
- SmolVLAs vekter, dataliste og kode er offentlige, så et dårlig resultat kan feilsøkes.
- Svakere instruksjonsfølging: færre språkparametere, mindre evne til å skille lignende refererende uttrykk.
- Mindre romlig og visuell generalisering til oppsett du ikke har registrert.
- Mer følsom for datasettfeil, med mindre forhåndstrening å falle tilbake på.
- Fleroppgave- og langhorisontarbeid favoriserer fortsatt større modeller, inkludert SmolVLAs egen 2,25 B-variant.
Sammenligningen verdt å kjøre er ikke TinyVLA mot SmolVLA. Det er SmolVLA mot ACT på din egen oppgave, og SmolVLA-artikkelen er argumentet for hvorfor. Trent som enkelt-oppgave uten robotikk-forhåndstrening, oppnådde SmolVLA et gjennomsnitt på 40,0 over tre SO-100-oppgaver der enkelt-oppgave ACT klarte 48,3. Det som løfter den til 78,3 er fellesskaps-forhåndstrening pluss fleroppgave-trening, ikke arkitekturen alene. På SO-101 lego-oppgaven, begge enkelt-oppgave, vinner SmolVLA: 90 mot 70 i distribusjon. Deretter SmolVLA mot Pi0.5 hvis budsjettet tillater det.
Det er mindre forhåndstrening for å dekke over dårlige data, så en ren tapskurve på et defekt datasett gir deg en policy som trygt reproduserer defekten. lerobot-dokumentene er tydelige om struktur: 50 episoder fordelt på 5 kube-posisjoner, 10 per posisjon, fungerte; 25 gjorde det ikke. Hvis tapet ser bra ut og armen ikke gjør noe nyttig, start med tapet faller, policyen gjør ingenting, policyen fungerer bare i ett oppsett eller innsamling av VLA-treningsdata som faktisk er brukbare.
Fem policyer, én sammenligningstabell
GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA og ACT med reelle parameterantall, inferensforsinkelse per handlingstrinn, GPU-nivået hver trenger og minimum antall episoder før den gjør noe nyttig.
Sammenlign policyeneEn beslutningstabell du kan handle ut fra
| Din situasjon | Start med | Hvorfor |
|---|---|---|
| Én oppgave, gode demonstrasjoner, ingen språk | ACT | ~80 M, 20 ms, 24 GB card, no base model to download |
| Noen relaterte oppgaver, én instruksjon hver | SmolVLA | 450 M, in lerobot, 30 episode minimum, 1 to 3 USD per run |
| Spesifikt reprodusere TinyVLA-resultatet | TinyVLA-B or TinyVLA-H | The repo is the only route: isolated env, converted data |
| Multi-oppgave, varierte instruksjoner, A100-budsjett | GR00T N1.7 or Pi0.5 | ~3 B, 152 ms and 485 ms per step, 4 to 12 USD per run |
| Ingen robot ennå | Drive a real arm | The queue-based live arm needs no signup and no hardware |
For den siste raden, den levende armen strømmer en fysisk SO-100 du kan styre fra nettleseren uten konto, og de tre måtene å starte på dekker resten. SO-100 er referansearmen her, omtrent 110 til 150 EUR i deler, med en komplett oppsettguide.
Hva kommer etter modellene under 1 B
Å redusere antall parametere er én måte å gjøre en VLA billig på, og ikke åpenbart den vinnende. OpenVLA-OFT (arXiv 2502.19645) beholder 7 B-ryggraden og endrer kun hvordan handlinger dekodes, og rapporterer en 26x økning i gjennomstrømning for handlinggenerering og LIBERO som stiger fra 76.5 til 97.1 prosent. BitVLA (arXiv 2506.07530) gjør hver vekt av en 1-bit BitNet b1.58 2B4T-ryggrad ternær, og rapporterer 11.0x mindre minne og 4.4x lavere ende-til-ende-latens samtidig som den matcher full-presisjons OpenVLA-OFT. X-VLA-0.9B (arXiv 2510.10274) ligger på 1 B-linjen med strømmatching.
Den røde tråden: handlingsdekoderen, ikke språkmodellen, er der latensen ligger. Spør hvordan en policy sender ut handlinger før du spør hvor mange parametere den har. Arenaen har 85 modeller og 332 resultater, hver koblet til sin kilde; det er en bredere oversikt i vår VLA-introduksjon.
Kan jeg finjustere SmolVLA på et RTX 4090?▾
Ja. SmolVLA er 450 M parametere, og AY-Robots kjører det på RTX 4090 / 24 GB-nivået. lerobot-eksemplet bruker --batch_size=64, som er et eksempel snarere enn en garanti for kortet ditt; dokumentasjonen anbefaler å starte smått og øke mens lastetidene forblir korte. Forvent lengre tid enn de omtrent 4 timene dokumentasjonen oppgir for 20000 trinn på en A100.
Er TinyVLA tilgjengelig i lerobot eller på AY-Robots?▾
Nei til begge. TinyVLA finnes kun i sitt forskningsarkiv, siste commit 11. mars 2025, og formatet er ACT-stil HDF5 snarere enn LeRobot. AY-Robots trener GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA og ACT. Hvis du vil ha TinyVLA, må du bygge det selv, og du må først fikse DeepSpeed-konfigurasjonsbanen i scripts/train.sh.
Er en 450 M modell virkelig konkurransedyktig med en 3 B modell?▾
På forfatternes egne referansepunkter, ja: 87.3 mot 86.0 på LIBERO versus en robotikk-forhåndstrent Pi0 på 3.3 B, og 78.3 mot 61.7 på tre virkelige SO-100 oppgaver der samme artikkel merker Pi0 på 3.5 B. Begrensningen er i samme artikkel: enkelt-oppgave uten robotikk-forhåndstrening, faller SmolVLA til 40.0, under ACTs 48.3.
Hvor mange episoder trenger jeg før en liten VLA gjør noe?▾
AY-Robots setter SmolVLA-minimumet til 30 episoder og ACT-minimumet til 50. lerobot-dokumentasjonen anbefaler rundt 50 og rapporterer at 25 ikke var nok for samme oppgave. Struktur betyr like mye som antall: artikkelens sett brukte 5 kube-posisjoner med 10 episoder hver.
Hvorfor er publiserte latens-tall så uenige?▾
De måler forskjellige ting. TinyVLA rapporterer 14 ms per handlingsprediksjon på en A6000; AY-Robots lister SmolVLA til 245 ms og ACT til 20 ms per handlingstrinn. Noen tall dekker ett fremoverpass, noen deler et pass over en 50-handlings-klump, og nesten ingen inkluderer kamerafangst eller skrivingen til servoene.
Løser skyinferens GPU-problemet?▾
Delvis. AY-Robots auto-provisionerer en pod som serverer policyen mens den lokale klienten snakker til dette endepunktet, med en inaktiv vaktbikkje slik at den ødelegger seg selv i stedet for å fakturere i stillhet. Den kan ikke fjerne rundreisen over det offentlige internett, og kontrollsløyfen er allerede 20 til 485 ms per handlingstrinn. Fint for sakte plukk-og-plasser, ikke for rask reaktiv bevegelse.
Sources
- TinyVLA: Mot raske, dataeffektive syns-, språk- og handlingsmodeller for robotmanipulasjon
- TinyVLA offisielt kodelager (README, requirements.txt, scripts/train.sh)
- TinyVLA prosjektside
- lesjie/Llava-Pythia-1.3B, TinyVLA-H ryggradsvektene
- SmolVLA: En syns-, språk- og handlingsmodell for rimelig og effektiv robotikk
- lerobot dokumentasjon: finjustering av SmolVLA
- lerobot: configuration_smolvla.py, SmolVLA standardinnstillingene
- lerobot/smolvla_base modellkort
- SmolVLA: Effektiv syns-, språk- og handlingsmodell (Hugging Face blogg)
- lerobot på PyPI (0.6.1, krever Python 3.12 eller nyere)
- OpenVLA: En åpen kildekode syns-, språk- og handlingsmodell
- Finjustering av syns-, språk- og handlingsmodeller: Optimalisering av hastighet og suksess (OpenVLA-OFT)
- BitVLA: 1-bit syns-, språk- og handlingsmodeller for robotmanipulasjon
- X-VLA: Mykt-promptet transformator som skalerbar tverr-kroppslig syns-, språk- og handlingsmodell
- rail-berkeley/octo-small-1.5 modellkort (27 M parametere)
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