
TinyVLA og SmolVLA placerer en fungerende VLA under 1 milliard parametre. Reelle tal fra begge artikler, LeRobot-standardindstillingerne, målt latenstid, og hvad en kørsel koster på et 24 GB kort.
Næsten enhver vision-sprog-handlingsmodel der skrives om, antager et datacentrekort. OpenVLA er 7 mia. parametre. GR00T N1.7 og Pi0.5 er omkring 3 mia. og kræver et A100 80 GB for finjustering. Hvis kortet på dit skrivebord er et 4090, er den modelklasse uden for rækkevidde.
To artikler argumenterer for, at du ikke behøver det. TinyVLA (arXiv 2409.12514, accepteret af IEEE Robotics and Automation Letters i februar 2025) bygger en VLA fra en 400 mio. til 1,3 mia. backbone plus et diffusion action head. SmolVLA (arXiv 2506.01844, indsendt 2. juni 2025) leveres med 450 mio. parametre med åbne vægte, åbne data og et script, der kører på ét forbrugerkort. Her er, hvad begge målte, og hvor argumentet om under 1 mia. holder op med at gælde.
Hvad du skal vide
- •TinyVLA leveres i tre størrelser: 422 mio. totalt med 101 mio. trænbar, 740 mio. med 138 mio., 1,3 mia. med 143 mio. Kun de første to er under 1 mia.
- •Dets Tabel IV måler 14 ms per handlingsforudsigelse for TinyVLA-1B på ét A6000, mod 292 ms for OpenVLA-7B og 140 ms for en skrumpet OpenVLA-1B.
- •Hovedet holder den hastighed, ikke rygraden: udskift TinyVLA-H's diffusion head med et ACT head, og de fem virkelige robotopgaver falder fra et gennemsnit på 94,0 til encifrede tal. Et MLP head scorer 0 overalt.
- •SmolVLA er 450 mio., hvoraf ca. 100 mio. er action-eksperten, fortrænet på 481 community LeRobot datasæt og 10,6 mio. frames. Den rapporterer 87,3 på LIBERO mod 86,0 for en robotik-fortrænet Pi0 på 3,3 mia., og 78,3 på tre virkelige SO-100 opgaver mod 61,7 for Pi0 på 3,5 mia.
- •Trænet enkelt-opgave uden den fortræning falder SmolVLA til 40,0 på disse opgaver, under ACT's 48,3. Lille er ikke automatisk let.
- •TinyVLA har ingen LeRobot-integration og fastlåser en CUDA 11.7 wheel stack. SmolVLA er i lerobot og koster ca. 1 til 3 USD per kørsel på 24 GB-niveauet her.
Hvad der faktisk tæller som en lille VLA
Antallet af parametre på et modelkort er ikke ét tal. Det kan betyde samlede vægte, vægte indlæst ved inferens, eller vægte der modtager gradienter under . TinyVLA rapporterer begge, og forskellen er stor: TinyVLA-H er 1.3 B totalt, men 143 M trænbar, fordi vision-tårnet og det meste af sprogmodellen forbliver frosne, mens LoRA-adaptere og action-hovedet bevæger sig. Artiklen angiver den trænbare andel til omkring 5 procent.
| Model | Parametre | Backbone | Action-hoved | Kilde |
|---|---|---|---|---|
| TinyVLA-S | 422 M totalt, 101 M trænbar | Llava-Pythia ~400 M | Diffusion (droid_diffusion U-Net) | arXiv 2409.12514 |
| TinyVLA-B | 740 M totalt, 138 M trænbar | Llava-Pythia ~700 M | Diffusion | arXiv 2409.12514 |
| TinyVLA-H | 1.3 B totalt, 143 M trænbar | Llava-Pythia ~1.3 B | Diffusion | arXiv 2409.12514 |
| SmolVLA | 450 M, ~100 M action-ekspert | SmolVLM2-500M-Video-Instruct | Flow matching ekspert | arXiv 2506.01844 |
| Octo-Small | 27 M | ViT-S skala, T5-Base tekst-encoder | Diffusion | octo-small-1.5 card |
| ACT | ~80 M | ResNet, ingen sprogmodel | Direkte chunk-regression | AY-Robots catalog |
| OpenVLA | 7 B | Llama 2 7 B, DINOv2 og SigLIP encodere | Autoregressive action-tokens | arXiv 2406.09246 |
To rækker er værd at diskutere. på cirka 80 M er mindre end alt andet her, men har ingen sprogmodel, så det er ikke en VLA: den lærer én opgave og kan ikke instrueres i at udføre en anden. på 27 M er betinget via en T5-Base tekst-encoder, ikke en LLM-backbone. Gode baselines, ingen af dem giver dig den instruktionsfølge, som etiketten antyder.
TinyVLA-H, varianten med de vigtigste resultater, er 1.3 B og ligger over grænsen. Det bedre spørgsmål er, om en model passer ind i 24 GB under træning og rammer din kontrolrate ved inferens. De fem politikker, du kan træne her, findes på politik-siden; TinyVLA har en arena-post, hvis du vil have dens tal ved siden af alle andres.
TinyVLA: hastigheden kommer fra hovedet, ikke rygraden
Den oplagte læsning er, at de gjorde sprogmodellen mindre, så den blev hurtigere. Artiklens ablationsstudie siger noget andet. Ved at udskifte OpenVLAs 7 B rygrad med en på cirka 1 B reduceredes forudsigelse per handling fra 292 ms til 140 ms, en 2x forbedring. TinyVLA-H, med et sammenligneligt antal parametre, kører med 14 ms på det samme kort. De resterende 10x skyldes handlingshovedet.
| Model | Forudsigelse per handling | Målt på |
|---|---|---|
| OpenVLA-7B | 292 ms | enkelt A6000 |
| OpenVLA-1B, rygrad udskiftet med TinyVLAs | 140 ms | enkelt A6000 |
| TinyVLA-1B (TinyVLA-H) | 14 ms | enkelt A6000 |
OpenVLA udsender handlinger som diskretiserede tokens gennem sprogmodelhovedet, én per handlingsdimension, autoregressivt. TinyVLA tilføjer en diffusionsdekoder, der producerer hele klumpen på én gang. Tabel V viser arkitekturen for TinyVLA-H og udskifter kun hovedet på de samme fem robotopgaver i den virkelige verden. Det er det tydeligste bevis i begge artikler for argumentet, som flow matching-politikker fremfører, og grunden til at Pi0 bevægede sig væk fra token-dekodning.
| Hoved for TinyVLA-H | Placer tennisbold | Vend krus | Stabl terninger | Luk skuffe | Åbn kasse |
|---|---|---|---|---|---|
| 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 |
| Flerlags perceptron | 0 | 0 | 0 | 0 | 0 |
Tallene 292 / 140 / 14 ms er fra Tabel IV, alle på én A6000. De er pr. handlingsforudsigelse og ekskluderer kameraoptagelse, forbehandling og den serielle skrivning til servoerne. Betragt offentliggjort latenstid som en nedre grænse, aldrig som kontrolraten. Vores egne tal har samme begrænsning: se inferenslatenstid.
Hvad TinyVLA opnåede
| Benchmark | Protokol | TinyVLA-H | Baselines |
|---|---|---|---|
| MetaWorld, 50 opgaver, sim | Multi-task, 50 demoer, 3 seeds | 77.6 / 21.5 / 11.4 / 15.8 by difficulty, gennemsnit 31.6 | Diffusion Policy gennemsnit 10.5 |
| Rigtig Franka Panda, 5 opgaver | 100 trajektorier pr. opgave, 20 forsøg | 94.0 gennemsnit | OpenVLA 68.3, Diffusion Policy 35.3 |
| Bimanuel UR5, 3 opgaver | Multi-task, 10 forsøg pr. opgave | 76.7 / 36.7 / 30.0 | OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0 |
Den bimanuelle række har en kedelig forklaring, som artiklen selv giver: OpenVLA er fortrænet på Open X-Embodiment, som udelukkende består af data fra enkeltarme, så et handlingsrum med to arme er uden for distribution og scorer nul. Diffusion policy-baselinen slår TinyVLA-H på to af de tre opgaver. Baggrund i beskrivelsen af Open X-Embodiment.

TinyVLA-repoet, pr. august 2026
Artiklen er god. Koden er et forskningsprojekt. Repository'et er github.com/liyaxuanliyaxuan/TinyVLA; dens README daterer kodeudgivelsen til 17. februar 2025, og den sidste commit er fra 11. marts 2025. Fint til at reproducere en artikel, et problem hvis man ønskede et vedligeholdt 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 fastlå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'en beder om Python 3.10; lerobot 0.6.1 kræver 3.12 eller nyere, så de to kan ikke dele et miljø. Bekræft først, at en torch 2.0.1-build eksisterer for din GPU-generation. Hvis en kørsel dør på VRAM i stedet, er tjeklisten for manglende hukommelse hurtigere end at gætte.
TinyVLA læser heller ikke LeRobot datasæt. Dets format er ACT-stil HDF5: action, language_raw og en observationsgruppe med multi-view billeder, joint_positions, qpos og qvel. Depotet leverer data_utils/rlds_to_h5py.py til RLDS-input, og hver opgave registreres manuelt i aloha_scripts/constants.py med dens dataset_dir, episode_len og camera_names. Hvis dine episoder kom fra lerobot eller desktopklienten, ejer 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 antager en node med otte kort. Sæt den til 1 og reducer batchstørrelsen et godt stykke under 32. Ingen enkelt-GPU-variant leveres upstream, så kommandoen kan ikke køres verbatim på et 4090.
- --deepspeed scripts/zero2.json peger på en fil, der ikke er i scripts-mappen på øverste niveau. DeepSpeed-konfigurationerne leveres i llava-pythia/scripts/zero2.json. Ret stien før din første kørsel.
- README kræver, at navnet på outputmappen indeholder llava_pythia, plus lora hvis LoRA er aktiveret.
- Backbonen er en separat download: lesjie/Llava-Pythia-400M, -700M eller -1.3B. Der er ikke et enkelt base-checkpoint, du peger en politik på, som du peger på lerobot/smolvla_base.
SmolVLA: modellen under 1 mia. parametre, du kan køre i eftermiddag
SmolVLA fremfører det samme argument inden for et vedligeholdt bibliotek. Den har 450 mio. parametre på en SmolVLM2-500M-Video-Instruct backbone, og effektiviteten kommer fra indstillinger, du kan læse ud af configuration_smolvla.py, snarere end fra en påstand om at være lille.
| Indstilling i configuration_smolvla.py | Standard | Hvad det giver |
|---|---|---|
| num_vlm_layers | 16 | Kun de første 16 sprogmodel-lag kører |
| expert_width_multiplier | 0.75 | Handlings-ekspertens skjulte størrelse er 75 procent af VLM'ens |
| self_attn_every_n_layers | 2 | Selvopmærksomhed flettet sammen med krydsopmærksomhed |
| chunk_size / n_action_steps | 50 / 50 | Én gennemkørsel udsender 50 handlinger, og alle 50 udføres |
| num_steps | 10 | Flow matching denoising fastsat til 10 trin |
| tokenizer_max_length | 48 | Instruktionen afkortes til 48 tokens |
| freeze_vision_encoder / train_expert_only | True / True | Finjustering flytter eksperten, ikke vision-tårnet |
| optimizer_lr, warmup, decay | 1e-4, 1000 steps, to 2.5e-6 over 30000 | Ikke papirets opskrift: dets fortræning brugte en 100-trins opvarmning over 200000 trin |
Forudtræning brugte 481 LeRobot datasæt fra fællesskabet, 22,9 K episoder og 10,6 M frames på 4 GPU'er, 200000 trin med en global batchstørrelse på 256; artiklen anslår hele projektet til omkring 30 K GPU-timer. Et tal at bemærke: Hugging Face's lanceringsblog nævner 487 kuraterede datasæt, hvor artiklens tabel angiver 481. Vi bruger artiklens tal og noterer uoverensstemmelsen.

| Benchmark | SmolVLA 0.45 B | SmolVLA 2.25 B | Pi0 | ACT |
|---|---|---|---|---|
| LIBERO gennemsnit, multi-task | 87.3 | 88.75 | 86.0 (3.3 B, robotics-pretrained) | - |
| Meta-World gennemsnit, multi-task | 57.3 | 68.24 | 47.9 (3.5 B, robotics-pretrained) | - |
| Rigtig SO-100, 3 opgaver, multi-task træning | 78.3 | - | 61.7 (3.5 B) | - |
| Rigtig SO-100, 3 opgaver, single-task, ingen robotik forudtræning | 40.0 | - | - | 48.3 |
| SO-101 lego pick-place, single-task, i distribution | 90 | - | - | 70 |
| SO-101 lego pick-place, single-task, uden for distribution | 50 | - | - | 40 |
LIBERO er simulering, og alt kompetent scorer i firserne der nu. Rækken med den rigtige SO-100, hvor en 450 M model slår en 3,5 B model med 16,6 point, er den interessante; rækken under den er modvægten. Fjern fællesskabets forudtræning og multi-task træningen, og den samme model falder til 40,0, under ACT. Den forsvarlige påstand er, at en lille model ikke automatisk er dårligere, ikke at den er bedre.
Én tilfældighed hjælper: SmolVLA-artiklens Meta-World-tabel indeholder TinyVLA's egne publicerede tal som en baseline, så for en gangs skyld sidder begge modeller i én tabel, SmolVLA-0.45B på 57.3 mod TinyVLA-H på 31.6. Den rapporterer også, at SmolVLA-træning er omkring 40 procent hurtigere end Pi0 med 6x mindre hukommelse. Alt dette kommer fra SmolVLA-forfatterne; arena-opslaget linker hver værdi til dens kilde.
Hvor SmolVLA bruger sin tid
AY-Robots angiver SmolVLA til 245 ms per handlingstrin og ACT til 20 ms i politik-kataloget. TinyVLA rapporterer 14 ms per handlingsforudsigelse. Disse tal er ikke sammenlignelige, og at behandle dem som om de var, er den mest almindelige fejl inden for dette emne: nogle måler én forward pass, nogle fordeler den pass over en chunk, når handlings-chunking amortiserer den.
- SmolVLA udsender 50 handlinger per forward pass og udfører alle 50. Ved de 30 fps, som artiklen bruger på rigtige robotter, dækker én inferens omkring 1.7 sekunders bevægelse.
- Asynkron inferens beregner den næste chunk, mens den nuværende stadig udføres: 9.7 s gennemsnitlig opgaveafslutning mod 13.75 s synkron, cirka 30 procent hurtigere, og 19 pick-and-place-cyklusser i et fast 60-sekunders vindue mod 9.
- Succesraterne var sammenlignelige snarere end bedre, 78.3 synkron mod 73.3 asynkron. Asynkronitet køber gennemløb, ikke nøjagtighed.
- Chunking skjuler beregningslatens, ikke netværkslatens, og det gør politikken mindre reaktiv, fordi den er forpligtet til 50 handlinger.
AY-Robots kan automatisk provisionere en cloud GPU-pod, der betjener din politik, mens den lokale robotklient kommunikerer med dette endepunkt, og pod'en har en inaktiv watchdog, så den ødelægger sig selv i stedet for at fakturere lydløst. Hvad den ikke gør, er at fjerne den offentlige internet-rundtur. Kontrolsløjfen på tværs af de fem politikker her er 20 til 485 ms pr. handlingstrin før noget netværk overhovedet, så fjerninferens er levedygtig for langsom pick-and-place, ikke for hurtig reaktiv bevægelse.

Finjustering af SmolVLA på ét forbrugerkort
Den manuelle vej, på lerobot 0.6.1, den nuværende PyPI-udgivelse pr. 23. august 2026. Alt nedenfor kommer fra Hugging Face lerobot SmolVLA-dokumentationen, hentet samme dag; den guidede version er mere skånsom.
- 1Installer lerobot med smolvla-ekstraet
SmolVLA-afhængighederne er et valgfrit ekstra, ikke en del af basisinstallationen. At installere uden det og derefter undre sig over, hvorfor politiktypen er ukendt, er en almindelig spildt halv time.
bashgit clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e ".[smolvla]" - 2Skaf et datasæt med nok episoder
Dokumentationen anbefaler omkring 50 episoder og angiver, at den samme opgave med 25 ikke var nok. AY-Robots sætter minimum til 30. Optag dine egne, eller start fra datasætmappen.
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, uændret. Dokumentationen angiver 20000 trin til cirka 4 timer på en A100. På et 24 GB kort, forvent længere 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 - 4Reducer batchstørrelsen, indtil den passer
batch_size=64 er et dokumenteret eksempel, ikke et løfte om dit kort. Dokumentationen råder til at starte småt og øge, så længe indlæsningstiderne forbliver korte.
bashlerobot-train --help - 5Udrul checkpointet på armen
Samme bibliotek, én kommando. Real-time chunking-flagene er kommenteret ud i dokumentationen og er dem, man skal bruge på hardware med lavt strømforbrug.
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
Uanset hvilken vej du tager, ender du med et checkpoint plus den konfiguration, der producerede det. Opbevar datasæt-revisionen, trinantallet og seedet ved siden af. lerobot anvender som standard seed 1000; GR00Ts finjusterings-entry point eksponerer slet ingen seed, så disse kørsler er ikke bit-for-bit reproducerbare. Mekanikken findes i træningsdokumentationen.
To måder at få en lille VLA på en arm
Du ejer maskinen og fejltilstandene. For SmolVLA er det rimeligt: ét pip-ekstra, én træningskommando, én udrulningskommando. For TinyVLA er det en forskningsreproduktion med frosne pins, en ødelagt DeepSpeed-sti og en datakonvertering, du selv skriver.
- Skaf et 24 GB kort, optag 30 til 50 episoder, verificer kamerastrømmene frame for frame.
- pip install -e ".[smolvla]", lerobot-train mod lerobot/smolvla_base, og server derefter checkpointet på maskinen, som armen er tilsluttet.
- For TinyVLA: separat conda-miljø, konverter data til HDF5, registrer opgaven i constants.py, ret zero2.json-stien, skær train.sh ned fra otte GPU'er til én.
- Ingen timebaseret fakturering, når kortet er betalt.
- Inference sidder ved siden af servoerne, den eneste måde at få en hurtig kontrolsløjfe på.
- Du kan patche politik-koden, og TinyVLA er kun tilgængelig på denne måde.
- Et 4090 udelukker enhver ~3 B politik, så ingen lokal sammenligning med GR00T N1.7 eller Pi0.5.
- Miljøopsætning er det virkelige arbejde. TinyVLAs pins alene kan koste en dag.
- Ingen kø, ingen genforsøg, ingen checkpoint-lagring. En genstart ved trin 14000 betyder at starte forfra.
SmolVLA er en af de fem politikker her. Du vælger model og datasæt i en formular, backend lejer en GPU baseret på påkrævet VRAM, kører træneren og skriver checkpoints til objektlagring. Trin for trin: SmolVLA på SO-100, eller den fulde matrix på træningssiden.
| Hvad platformen sender for SmolVLA | Værdi |
|---|---|
| batchstørrelse | 2 |
| læringshastighed | 1e-4 |
| maks. trin | 20000 |
| gradientakkumulering | 8, og den når ikke træneren |
| ekstra indstillinger i formularen | seed, logFreq |
| GPU-niveau | RTX 4090 eller ethvert 24 GB kort |
| datasætformat | LeRobot v3.0 |
| minimum episoder | 30 |
For det første er standard batchstørrelsen her 2, ikke 64 som i lerobot-dokumentationseksemplet, og indstillingen for gradientakkumulering sendes, men har ingen effekt for SmolVLA, så den effektive batch er reelt 2. Øg den bevidst i stedet for at antage, at standarden matcher upstream. For det andet kan TinyVLA slet ikke trænes her.
En kørsel på 24 GB-niveauet tager 2 til 5 timer til 0.30 til 0.60 USD pr. time, cirka 1 til 3 USD. På A100-niveauet er en ~3 B politik 3 til 6 timer til 1.20 til 2.00 USD pr. time, cirka 4 til 12 USD. Se priser, og de samme operationer fra CLI'en og MCP-serveren.
Når en lille model er det forkerte valg
Begge artikler er mere forsigtige her, end resuméerne er. TinyVLAs fejlfindingsanalyse er specifik: 0,4 B-varianten fejlede tre gange ved at misforstå instruktionen, hvilket forfatterne tilskriver begrænset sprogforståelse i den mindre VLM, og den tilstand forsvandt ved 1,3 B. SmolVLA viser den samme kurve fra den anden ende: 2,25 B-versionen af den identiske arkitektur scorer 88,75 på LIBERO og 68,24 på Meta-World mod 87,3 og 57,3 for 0,45 B-modellen.
- Passer på et 24 GB kort, hvilket reducerer omkostningerne for et eksperiment fra snesevis af dollars til et par stykker.
- Hurtig nok til at køre ved siden af armen, så ingen netværkshop i kontrolsløjfen.
- Finjusterer på data, én person kan optage, snesevis af episoder snarere end tusinder.
- SmolVLAs vægte, dataliste og kode er offentlige, så et dårligt resultat kan fejlfindes.
- Svagere instruktionsfølge: færre sprogparametre, mindre evne til at adskille lignende henvisende udtryk.
- Mindre rumlig og visuel generalisering til opsætninger, du ikke har optaget.
- Mere følsom over for datasætfejl, med mindre fortræning at falde tilbage på.
- Multi-task og lang-horisont arbejde favoriserer stadig større modeller, herunder SmolVLAs egen 2,25 B-variant.
Sammenligningen, der er værd at køre, er ikke TinyVLA mod SmolVLA. Det er SmolVLA mod ACT på din egen opgave, og SmolVLA-artiklen er argumentet for hvorfor. Trænet enkelt-opgave uden robotik-fortræning, opnåede SmolVLA et gennemsnit på 40,0 på tværs af tre SO-100 opgaver, hvor enkelt-opgave ACT opnåede 48,3. Hvad der løfter den til 78,3 er fællesskabsfortræning plus multi-task træning, ikke arkitekturen alene. På SO-101 lego-opgaven, begge enkelt-opgave, vinder SmolVLA: 90 mod 70 i distribution. Derefter SmolVLA mod Pi0.5 hvis budgettet tillader det.
Der er mindre fortræning til at dække over dårlige data, så en ren tabskurve på et defekt datasæt giver dig en politik, der selvsikkert reproducerer defekten. lerobot-dokumentationen er direkte omkring strukturen: 50 episoder fordelt på 5 terningpositioner, 10 pr. position, virkede; 25 gjorde ikke. Hvis tabet ser fint ud, og armen ikke gør noget nyttigt, start med tab falder, politik gør intet, politik virker kun i én opsætning eller indsamling af VLA-træningsdata, der faktisk er brugbare.
Fem politikker, én sammenligningstabel
GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA og ACT med reelle parameterantal, inferensforsinkelse pr. handlingstrin, den GPU-tier hver især kræver, og det minimale antal episoder, før den gør noget nyttigt.
Sammenlign politikkerneEn beslutningstabel du kan handle ud fra
| Din situation | Start med | Hvorfor |
|---|---|---|
| Én opgave, gode demonstrationer, intet sprog | ACT | ~80 M, 20 ms, 24 GB kort, ingen grundmodel at downloade |
| Få relaterede opgaver, én instruktion hver | SmolVLA | 450 M, i lerobot, 30 episoder minimum, 1 til 3 USD pr. kørsel |
| Reproduktion af TinyVLA-resultatet specifikt | TinyVLA-B or TinyVLA-H | Repoet er den eneste vej: isoleret miljø, konverterede data |
| Multi-task, varierede instruktioner, A100 budget | GR00T N1.7 or Pi0.5 | ~3 B, 152 ms og 485 ms pr. trin, 4 til 12 USD pr. kørsel |
| Ingen robot endnu | Styr en rigtig arm | Den købaserede live-arm kræver ingen tilmelding og ingen hardware |
For den sidste række, den levende arm streamer en fysisk SO-100, du kan styre fra browseren uden en konto, og de tre måder at starte på dækker resten. Den SO-100 er referencearmen her, cirka 110 til 150 EUR i dele, med en komplet opsætningsguide.
Hvad kommer efter sub-1 B modellerne
At reducere antallet af parametre er én måde at gøre en VLA billig på og ikke nødvendigvis den vindende. OpenVLA-OFT (arXiv 2502.19645) bevarer 7 B rygraden og ændrer kun, hvordan handlinger afkodes, hvilket rapporterer en 26x stigning i gennemløb for handlinggenerering og LIBERO stiger fra 76.5 til 97.1 procent. BitVLA (arXiv 2506.07530) gør hver vægt af en 1-bit BitNet b1.58 2B4T rygrad ternær, hvilket rapporterer 11.0x mindre hukommelse og 4.4x lavere end-to-end latenstid, mens den matcher fuldpræcisions OpenVLA-OFT. X-VLA-0.9B (arXiv 2510.10274) ligger på 1 B linjen med flow matching.
Den fælles tråd: handlingsdekoderen, ikke sprogmodellen, er der, hvor latenstiden ligger. Spørg, hvordan en politik udsender handlinger, før du spørger, hvor mange parametre den har. arenaen har 85 modeller og 332 resultater, hver linket til sin kilde; der er en bredere oversigt i vores VLA introduktion.
Kan jeg finjustere SmolVLA på et RTX 4090?▾
Ja. SmolVLA er 450 M parametre, og AY-Robots kører det på RTX 4090 / 24 GB-niveauet. lerobot-eksemplet bruger --batch_size=64, hvilket er et eksempel snarere end en garanti for dit kort; dokumentationen anbefaler at starte småt og øge, så længe indlæsningstiderne forbliver korte. Forvent længere tid end de cirka 4 timer, dokumentationen angiver for 20000 trin på en A100.
Er TinyVLA tilgængelig i lerobot eller på AY-Robots?▾
Nej til begge. TinyVLA findes kun i sit forskningsrepository, seneste commit 11. marts 2025, og dets format er ACT-stil HDF5 snarere end LeRobot. AY-Robots træner GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA og ACT. Hvis du vil have TinyVLA, skal du selv bygge det, og du bliver nødt til at rette DeepSpeed config-stien i scripts/train.sh først.
Er en 450 M model virkelig konkurrencedygtig med en 3 B model?▾
På forfatternes egne benchmarks, ja: 87.3 mod 86.0 på LIBERO versus en robotik-forudtrænet Pi0 på 3.3 B, og 78.3 mod 61.7 på tre virkelige SO-100 opgaver, hvor samme artikel mærker Pi0 til 3.5 B. Begrænsningen er i samme artikel: enkelt-opgave uden robotik-forudtræning, falder SmolVLA til 40.0, under ACT's 48.3.
Hvor mange episoder har jeg brug for, før en lille VLA gør noget?▾
AY-Robots sætter SmolVLA-minimum til 30 episoder og ACT-minimum til 50. lerobot-dokumentationen anbefaler omkring 50 og rapporterer, at 25 ikke var nok til den samme opgave. Struktur betyder lige så meget som antal: artiklens sæt brugte 5 terningpositioner med 10 episoder hver.
Hvorfor er offentliggjorte latenstal så uenige?▾
De måler forskellige ting. TinyVLA rapporterer 14 ms per handlingsforudsigelse på en A6000; AY-Robots angiver SmolVLA til 245 ms og ACT til 20 ms per handlingstrin. Nogle tal dækker et enkelt forward pass, nogle opdeler et pass over en 50-handlingsblok, og næsten ingen inkluderer kameraoptagelse eller skrivning til servoerne.
Løser cloud-inferens GPU-problemet?▾
Delvist. AY-Robots auto-provisionerer en pod, der serverer politikken, mens den lokale klient taler til dette endepunkt, med en inaktiv watchdog, så den ødelægger sig selv i stedet for at fakturere lydløst. Den kan ikke fjerne den offentlige internet-roundtrip, og kontrolsløjfen er allerede 20 til 485 ms per handlingstrin. Fint til langsom pick-and-place, ikke til hurtig reaktiv bevægelse.
Sources
- TinyVLA: Mod hurtige, dataeffektive syns-sprog-handlingsmodeller til robotmanipulation
- TinyVLA officielt kodelager (README, requirements.txt, scripts/train.sh)
- TinyVLA projektside
- lesjie/Llava-Pythia-1.3B, TinyVLA-H backbone-vægtene
- SmolVLA: En syns-sprog-handlingsmodel for prisoverkommelig og effektiv robotik
- lerobot dokumentation: finjustering af SmolVLA
- lerobot: configuration_smolvla.py, SmolVLA standardindstillingerne
- lerobot/smolvla_base modelkort
- SmolVLA: Effektiv syns-sprog-handlingsmodel (Hugging Face blog)
- lerobot på PyPI (0.6.1, kræver Python 3.12 eller nyere)
- OpenVLA: En open source syns-sprog-handlingsmodel
- Finjustering af syns-sprog-handlingsmodeller: Optimering af hastighed og succes (OpenVLA-OFT)
- BitVLA: 1-bit syns-sprog-handlingsmodeller til robotmanipulation
- X-VLA: Soft-Prompted Transformer som skalerbar tvær-embodiment syns-sprog-handlingsmodel
- rail-berkeley/octo-small-1.5 modelkort (27 M parametre)
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