AY-Robots jämförelsetabell för policyer med parameterantal, GPU-nivåer och inferenslatens för GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA och ACT
SmolVLATinyVLASmå VLAKonsument-GPULeRobot

Små VLA-modeller: TinyVLA, SmolVLA och fallet under 1 miljard parametrar

AY-Robots ResearchAugust 23, 202619 minuters läsning

TinyVLA och SmolVLA placerar en fungerande VLA under 1 miljard parametrar. Verkliga siffror från båda artiklarna, lerobot-standardinställningarna, uppmätt latens och vad en körning kostar på ett 24 GB-kort.

Nästan varje syn-språk-handlingsmodell som det skrivs om förutsätter ett datacentrumkort. OpenVLA har 7 B parametrar. GR00T N1.7 och Pi0.5 är runt 3 B och kräver ett A100 80 GB för finjustering. Om kortet på ditt skrivbord är ett 4090, är den klassen av modeller utom räckhåll.

Två artiklar hävdar att du inte behöver det. TinyVLA (arXiv 2409.12514, accepterad av IEEE Robotics and Automation Letters i februari 2025) bygger en VLA från en 400 M till 1.3 B ryggrad plus ett diffusionshandlingshuvud. SmolVLA (arXiv 2506.01844, inskickad 2 juni 2025) levereras med 450 M parametrar med öppna vikter, öppen data och ett skript som körs på ett konsumentkort. Här är vad båda mätte, och var argumentet om under 1 B slutar hålla.

Vad du behöver veta

  • TinyVLA levereras i tre storlekar: 422 M totalt med 101 M träningsbara, 740 M med 138 M, 1.3 B med 143 M. Endast de två första ligger under 1 B.
  • Dess tabell IV mäter 14 ms per handlingsprediktion för TinyVLA-1B på ett A6000, jämfört med 292 ms för OpenVLA-7B och 140 ms för en förminskad OpenVLA-1B.
  • Huvudet håller den hastigheten, inte ryggraden: byt ut TinyVLA-H:s diffusionshuvud mot ett ACT-huvud och de fem verkliga robotuppgifterna faller från ett genomsnitt på 94.0 till ensiffriga tal. Ett MLP-huvud får 0 överallt.
  • SmolVLA är 450 M, varav ungefär 100 M är handlingsspecialisten, förtränad på 481 LeRobot-gemenskapsdatauppsättningar och 10.6 M bildrutor. Den rapporterar 87.3 på LIBERO jämfört med 86.0 för en robotik-förtränad Pi0 på 3.3 B, och 78.3 på tre verkliga SO-100-uppgifter jämfört med 61.7 för Pi0 på 3.5 B.
  • Tränad enskild uppgift utan den förträningen, sjunker SmolVLA till 40.0 på dessa uppgifter, under ACT:s 48.3. Litet är inte automatiskt enkelt.
  • TinyVLA har ingen LeRobot-integration och låser en CUDA 11.7 wheel stack. SmolVLA finns i lerobot och kostar ungefär 1 till 3 USD per körning på 24 GB-nivån här.

Vad som faktiskt räknas som en liten VLA

Antalet parametrar på ett modellkort är inte ett enda nummer. Det kan avse totala vikter, vikter som laddas vid inferens, eller vikter som tar emot gradienter under . TinyVLA rapporterar båda, och skillnaden är stor: TinyVLA-H är totalt 1,3 B men 143 M träningsbara, eftersom visionstornet och större delen av språkmodellen förblir frysta medan LoRA-adaptrar och actionhuvudet rör sig. Artikeln anger den träningsbara andelen till cirka 5 procent.

ModellParametrarGrundmodellHandlingshuvudKälla
TinyVLA-S422 M totalt, 101 M träningsbaraLlava-Pythia ~400 MDiffusion (droid_diffusion U-Net)arXiv 2409.12514
TinyVLA-B740 M totalt, 138 M träningsbaraLlava-Pythia ~700 MDiffusionarXiv 2409.12514
TinyVLA-H1,3 B totalt, 143 M träningsbaraLlava-Pythia ~1.3 BDiffusionarXiv 2409.12514
SmolVLA450 M, ~100 M handlingsspecialistSmolVLM2-500M-Video-InstructFlow matching expertarXiv 2506.01844
Octo-Small27 MViT-S scale, T5-Base text encoderDiffusionocto-small-1.5 card
ACT~80 MResNet, ingen språkmodellDirekt chunk-regressionAY-Robots catalog
OpenVLA7 BLlama 2 7 B, DINOv2 and SigLIP encodersAutoregressiva handlingstokensarXiv 2406.09246

Två rader är värda att diskutera. på ungefär 80 M är mindre än allt annat här men har ingen språkmodell, så det är inte en VLA: den lär sig en uppgift och kan inte instrueras att göra en annan. på 27 M är villkorad via en T5-Base textkodare, inte en LLM-grundmodell. Bra baslinjer, men ingen av dem ger dig den instruktionsföljning som etiketten antyder.

Gränsen på 1 B är godtycklig

TinyVLA-H, varianten som levererar de viktigaste resultaten, är 1,3 B och ligger över gränsen. Den bättre frågan är om en modell får plats i 24 GB under träning och uppnår din kontrollhastighet vid inferens. De fem policyer du kan träna här finns på policysidan; TinyVLA har en arena-post om du vill se dess siffror bredvid alla andras.

TinyVLA: hastigheten kommer från huvudet, inte ryggraden

Den uppenbara tolkningen är att de gjorde språkmodellen mindre, så den blev snabbare. Artikelns ablation säger något annat. Att byta ut OpenVLA:s 7 B ryggrad mot en på ungefär 1 B minskade förutsägelsen per åtgärd från 292 ms till 140 ms, en 2x förbättring. TinyVLA-H, med ett jämförbart antal parametrar, körs på 14 ms på samma kort. Den andra 10x är åtgärdshuvudet.

ModellFörutsägelse per åtgärdMätt på
OpenVLA-7B292 msenkel A6000
OpenVLA-1B, ryggrad utbytt mot TinyVLA:s140 msenkel A6000
TinyVLA-1B (TinyVLA-H)14 msenkel A6000

OpenVLA avger åtgärder som diskretiserade tokens genom språkmodellhuvudet, en per åtgärdsdimension, autoregressivt. TinyVLA kopplar en diffusionsavkodare som producerar hela klumpen i ett svep. Tabell V visar arkitekturen för TinyVLA-H och byter endast huvudet, på samma fem verkliga robotuppgifter. Det är det tydligaste beviset i någon av artiklarna för argumentet flow matching policyer framför, och anledningen till att Pi0 gick bort från tokenavkodning.

Huvud på TinyVLA-HPlacera tennisbollVänd muggStapla kuberStäng lådaÖppna låda
Diffusion (droid_diffusion)90.098.398.396.786.7
Action Chunking Transformer13.38.38.313.323.3
Multi-layer perceptron00000
Vad TinyVLA-siffrorna omfattar

Siffrorna 292 / 140 / 14 ms kommer från Tabell IV, alla körda på en A6000. De avser prediktion per handling och exkluderar kamerafångst, förbearbetning och seriell skrivning till servona. Betrakta publicerad latens som en nedre gräns, aldrig som kontrollhastigheten. Våra egna siffror har samma begränsning: se inferenslatens.

Vad TinyVLA uppnådde

BenchmarkProtokollTinyVLA-HBaslinjer
MetaWorld, 50 uppgifter, simMultiuppgift, 50 demonstrationer, 3 frön77.6 / 21.5 / 11.4 / 15.8 per svårighetsgrad, genomsnitt 31.6Diffusion Policy genomsnitt 10.5
Verklig Franka Panda, 5 uppgifter100 trajektorier per uppgift, 20 försök94.0 i genomsnittOpenVLA 68.3, Diffusion Policy 35.3
Bimanual UR5, 3 uppgifterMultiuppgift, 10 försök per uppgift76.7 / 36.7 / 30.0OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0

Den bimanuala raden har en tråkig förklaring som artikeln själv ger: OpenVLA är förtränad på Open X-Embodiment, som helt består av data från enarmade robotar, så ett tvåarmat aktionsutrymme är utanför distributionen och får noll poäng. Baslinjen för diffusionspolicy slår TinyVLA-H på två av dessa tre uppgifter. Bakgrund i sammanfattningen av Open X-Embodiment.

AY-Robots arenans topplista, en sorterbar tabell över 85 VLA-modeller med 332 benchmarkresultat, där varje värde länkar tillbaka till den artikel eller modellkort det kom ifrån
Benchmarkresultat mellan modeller är endast jämförbara när du kan se varifrån varje resultat kommer.

TinyVLA-repot, per augusti 2026

Artikeln är bra. Koden är en forskningsrelease. Repot är github.com/liyaxuanliyaxuan/TinyVLA; dess README daterar kodreleasen till 17 februari 2025 och den senaste committen är 11 mars 2025. Bra för att reproducera en artikel, ett problem om du ville ha ett underhållet bibliotek.

bash
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 .
Installationssekvensen från TinyVLA README, kontrollerad mot arkivet den 2026-08-23.
Beroendelåsningarna är fällan som slukar en dag

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, och CUDA-stacken till 11.x-hjulen: nvidia-cuda-runtime-cu11==11.7.99, nvidia-cudnn-cu11==8.5.0.96, triton==2.0.0. README-filen kräver Python 3.10; lerobot 0.6.1 kräver 3.12 eller nyare, så de två kan inte dela en miljö. Bekräfta först att en torch 2.0.1-byggnad finns för din GPU-generation. Om en körning istället dör på VRAM, är checklistan för minnesbrist snabbare än att gissa.

TinyVLA läser inte heller LeRobot-dataset. Dess format är ACT-stil HDF5: action, language_raw, och en observationsgrupp med flervybilder, joint_positions, qpos och qvel. Arkivet levereras med data_utils/rlds_to_h5py.py för RLDS-input, och varje uppgift registreras manuellt i aloha_scripts/constants.py med dess dataset_dir, episode_len och camera_names. Om dina episoder kom från lerobot eller skrivbordsklienten, äger du konverteringen.

bash
# 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
Förkortad från scripts/train.sh. Varje flagga och värde ovan finns i den medföljande filen.
  • --num_gpus=8 antar en nod med åtta kort. Ställ in den på 1 och sänk batchstorleken långt under 32. Ingen variant för enstaka GPU levereras uppströms, så kommandot kan inte köras ordagrant på en 4090.
  • --deepspeed scripts/zero2.json pekar på en fil som inte finns i den översta scripts-katalogen. DeepSpeed-konfigurationerna finns på llava-pythia/scripts/zero2.json. Korrigera sökvägen före din första körning.
  • README kräver att namnet på utdatakatalogen innehåller llava_pythia, plus lora om LoRA är aktiverat.
  • Ryggraden är en separat nedladdning: lesjie/Llava-Pythia-400M, -700M eller -1.3B. Det finns ingen enskild bas-checkpoint som du pekar en policy mot på samma sätt som du pekar mot lerobot/smolvla_base.

SmolVLA: modellen under 1 miljard parametrar som du kan köra i eftermiddag

SmolVLA framför samma argument inom ett underhållet bibliotek. Den har 450 miljoner parametrar på en SmolVLM2-500M-Video-Instruct-ryggrad, och effektiviteten kommer från inställningar som du kan läsa ut ur configuration_smolvla.py snarare än från ett påstående om att vara liten.

Inställning i configuration_smolvla.pyStandardVad den ger
num_vlm_layers16Endast de första 16 språkmodelllagren körs
expert_width_multiplier0.75Åtgärdsexpertens dolda storlek är 75 procent av VLM:s
self_attn_every_n_layers2Självuppmärksamhet varvas med korsuppmärksamhet
chunk_size / n_action_steps50 / 50En passning genererar 50 åtgärder och alla 50 utförs
num_steps10Flödesmatchande brusreducering fixerad vid 10 steg
tokenizer_max_length48Instruktionen trunkeras till 48 tokens
freeze_vision_encoder / train_expert_onlyTrue / TrueFinjustering flyttar experten, inte visionstornet
optimizer_lr, warmup, decay1e-4, 1000 steg, till 2.5e-6 över 30000Inte pappersreceptet: dess förträning använde en 100-stegs uppvärmning över 200000 steg

Förträningen använde 481 LeRobot-community-datauppsättningar, 22.9 K episoder och 10.6 M ramar på 4 GPU:er, 200000 steg med en global batchstorlek på 256; artikeln uppskattar hela projektet till cirka 30 K GPU-timmar. En siffra att notera: Hugging Face lanseringsblogg anger 487 kurerade datauppsättningar där artikelns tabell anger 481. Vi använder artikelns siffra och noterar avvikelsen.

PrestandamåttSmolVLA 0.45 BSmolVLA 2.25 BPi0ACT
LIBERO genomsnitt, multi-task87.388.7586.0 (3.3 B, robotics-pretrained)-
Meta-World genomsnitt, multi-task57.368.2447.9 (3.5 B, robotics-pretrained)-
Verklig SO-100, 3 uppgifter, multi-task träning78.3-61.7 (3.5 B)-
Verklig SO-100, 3 uppgifter, single-task, ingen robotik-förträning40.0--48.3
SO-101 lego plocka-placera, single-task, inom distribution90--70
SO-101 lego plocka-placera, single-task, utanför distribution50--40
Läs hela tabellen, inte bara rubrikraden

LIBERO är simulering och allt kompetent får nu poäng på åttiotalet där. Raden för verklig SO-100, där en 450 M modell slår en 3.5 B modell med 16.6 poäng, är den intressanta; raden under den är motvikten. Tar man bort community-förträningen och multi-task-träningen sjunker samma modell till 40.0, under ACT. Det försvarbara påståendet är att en liten modell inte automatiskt är sämre, inte att den är bättre.

En slump hjälper: SmolVLA-artikelns Meta-World-tabell innehåller TinyVLAs egna publicerade siffror som baslinje, så för en gångs skull finns båda modellerna i en tabell, SmolVLA-0.45B på 57.3 mot TinyVLA-H på 31.6. Den rapporterar också att SmolVLA-träningen är cirka 40 procent snabbare än Pi0 med 6 gånger mindre minne. Allt detta kommer från SmolVLA-författarna; arena-posten länkar varje värde till dess källa.

Var SmolVLA tillbringar sin tid

AY-Robots listar SmolVLA till 245 ms per åtgärdssteg och ACT till 20 ms i policykatalogen. TinyVLA rapporterar 14 ms per åtgärdsförutsägelse. Dessa siffror är inte jämförbara, och att behandla dem som om de vore det är det vanligaste misstaget i detta ämne: vissa mäter en framåtkörning, andra delar upp den körningen över en chunk när åtgärdschunking amorterar den.

  • SmolVLA genererar 50 åtgärder per framåtkörning och utför alla 50. Vid de 30 fps som artikeln använder på riktiga robotar täcker en inferens cirka 1.7 sekunders rörelse.
  • Asynkron inferens beräknar nästa chunk medan den nuvarande fortfarande utförs: 9.7 s genomsnittlig uppgiftskomplettering mot 13.75 s synkron, ungefär 30 procent snabbare, och 19 plock-och-placera-cykler i ett fast 60-sekundersfönster mot 9.
  • Framgångsfrekvenserna var jämförbara snarare än bättre, 78.3 synkron mot 73.3 asynkron. Asynkronitet köper genomströmning, inte noggrannhet.
  • Chunking döljer beräkningslatens, inte nätverkslatens, och det gör policyn mindre reaktiv eftersom den är bunden till 50 åtgärder.
Fjärrinferens är inte gratis, och ingen plattform åtgärdar fysikens lagar

AY-Robots kan automatiskt provisionera en moln-GPU-pod som tillhandahåller din policy medan den lokala robotklienten kommunicerar med den slutpunkten, och poden har en inaktiv watchdog så att den förstör sig själv istället för att fakturera tyst. Vad den inte gör är att eliminera rundresan över det publika internet. Kontrollslingan över de fem policyerna här är 20 till 485 ms per åtgärdssteg innan något nätverk överhuvudtaget, så fjärrinferens är genomförbart för långsam plock-och-placering, inte för snabb reaktiv rörelse.

AY-Robots jämförelsetabell för policyer som visar GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA och ACT med antal parametrar, nödvändig GPU-nivå, inferenslatens per åtgärdssteg och det minsta antalet episoder som varje behöver
SmolVLA på ~450 M och ACT på ~80 M är de två som passar ett 24 GB-kort. De andra tre kräver en A100 eller H100 80 GB.

Finjustering av SmolVLA på ett konsumentgrafikkort

Den manuella vägen, på lerobot 0.6.1, den nuvarande PyPI-releasen per den 23 augusti 2026. Allt nedan kommer från Hugging Face lerobot SmolVLA-dokumentationen, hämtad samma dag; den guidade versionen är skonsammare.

  1. 1
    Installera lerobot med smolvla-tillägget

    SmolVLA-beroendena är ett valfritt tillägg, inte en del av basinstallationen. Att installera utan det och sedan undra varför policytypen är okänd är en vanlig halvtimme som går förlorad.

    bash
    git clone https://github.com/huggingface/lerobot.git
    cd lerobot
    pip install -e ".[smolvla]"
  2. 2
    Skaffa en datamängd med tillräckligt många episoder

    Dokumentationen rekommenderar cirka 50 episoder och anger att samma uppgift med 25 inte var tillräckligt. AY-Robots sätter minimigränsen till 30. Spela in dina egna, eller börja från datamängdskatalogen.

    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. 3
    Starta finjusteringen

    Kommandot från lerobot-guiden, oförändrat. Dokumentationen anger 20000 steg till ungefär 4 timmar på ett A100. På ett 24 GB-kort, förvänta dig längre tid och mät det.

    bash
    cd 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. 4
    Minska batchstorleken tills den passar

    batch_size=64 är ett dokumenterat exempel, inte ett löfte om ditt kort. Dokumentationen rekommenderar att börja smått och öka medan laddningstiderna förblir korta.

    bash
    lerobot-train --help
  5. 5
    Rulla ut checkpointen på armen

    Samma bibliotek, ett kommando. Flaggorna för realtidschunking är kommenterade i dokumentationen och är de man ska använda på hårdvara med låg effekt.

    bash
    lerobot-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
Kontrollpunkten är leveransen

Oavsett vilken väg du tar, slutar du med en kontrollpunkt plus konfigurationen som producerade den. Behåll datamängdsrevisionen, stegräkningen och seedet bredvid den. lerobot använder seed 1000 som standard; GR00T:s finjusteringsingång exponerar inget seed alls, så dessa körningar är inte bit-för-bit reproducerbara. Mekaniken finns i träningsdokumentationen.

Två sätt att få en liten VLA på en arm

Du äger maskinen och felmoderna. För SmolVLA är det rimligt: ett pip-tillägg, ett träningskommando, ett rollout-kommando. För TinyVLA är det en forskningsreproduktion med låsta pins, en trasig DeepSpeed-sökväg och en datakonvertering du skriver själv.

  1. Skaffa ett 24 GB-kort, spela in 30 till 50 episoder, verifiera kameraströmmen bildruta för bildruta.
  2. pip install -e ".[smolvla]", lerobot-train mot lerobot/smolvla_base, och serva sedan checkpointen på maskinen som armen är ansluten till.
  3. För TinyVLA: separat conda-miljö, konvertera data till HDF5, registrera uppgiften i constants.py, fixa zero2.json-sökvägen, minska train.sh från åtta GPU:er till en.
Fördelar
  • Ingen timdebitering när kortet är betalt.
  • Inferens sitter bredvid servona, det enda sättet att få en snabb kontrollslinga.
  • Du kan patcha policykoden, och TinyVLA är endast tillgänglig på detta sätt.
Kompromisser
  • Ett 4090 utesluter varje ~3 B policy, så ingen lokal jämförelse mot GR00T N1.7 eller Pi0.5.
  • Miljöuppsättning är det verkliga arbetet. TinyVLA:s pins ensamma kan kosta en dag.
  • Ingen kö, ingen omprövning, ingen checkpoint-lagring. En omstart vid steg 14000 innebär att börja om.

När en liten modell är fel val

Båda artiklarna är mer noggranna här än vad sammanfattningarna är. TinyVLAs felanalys är specifik: 0,4 B-varianten misslyckades tre gånger genom att feltolka instruktionen, vilket författarna tillskriver begränsad språkförståelse i den mindre VLM:en, och det läget försvann vid 1,3 B. SmolVLA visar samma kurva från andra änden: 2,25 B-versionen av den identiska arkitekturen får 88,75 på LIBERO och 68,24 på Meta-World jämfört med 87,3 och 57,3 för 0,45 B-modellen.

Att välja en VLA under 1 B
Där den vinner
  • Passar ett 24 GB-kort, vilket sänker kostnaden för ett experiment från tiotals dollar till ett par.
  • Tillräckligt snabb för att köras bredvid armen, så inget nätverkshopp i kontrollslingan.
  • Finjusteras på data som en person kan spela in, tiotals episoder snarare än tusentals.
  • SmolVLAs vikter, datalista och kod är offentliga, så ett dåligt resultat kan felsökas.
Där den förlorar
  • Svagare instruktionsföljning: färre språkparametrar, mindre förmåga att skilja liknande refererande uttryck.
  • Mindre rumslig och visuell generalisering till uppställningar du inte spelade in.
  • Känsligare för datasetdefekter, med mindre förträning att falla tillbaka på.
  • Fleruppgifts- och långsiktigt arbete gynnar fortfarande större modeller, inklusive SmolVLAs egen 2,25 B-variant.

Jämförelsen som är värd att göra är inte TinyVLA mot SmolVLA. Det är SmolVLA mot ACT på din egen uppgift, och SmolVLA-artikeln är argumentet för varför. Tränad för en enskild uppgift utan robotikförträning, fick SmolVLA i genomsnitt 40,0 över tre SO-100-uppgifter där enskild uppgift ACT uppnådde 48,3. Det som lyfter den till 78,3 är gemenskapsförträning plus fleruppgiftsträning, inte arkitekturen ensam. På SO-101 lego-uppgiften, båda enskilda uppgifter, vinner SmolVLA: 90 mot 70 i distribution. Sedan SmolVLA mot Pi0.5 om budgeten tillåter.

Vid denna storlek avgör datamängden resultatet

Det finns mindre förträning för att täcka dålig data, så en ren förlustkurva på en defekt datamängd ger dig en policy som reproducerar defekten med säkerhet. lerobot-dokumentationen är tydlig om strukturen: 50 episoder över 5 kubpositioner, 10 per position, fungerade; 25 gjorde det inte. Om förlusten ser bra ut och armen inte gör något användbart, börja med förlusten sjunker, policyn gör ingenting, policyn fungerar bara i en konfiguration eller att samla in VLA-träningsdata som faktiskt är användbar.

Fem policyer, en jämförelsetabell

GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA och ACT med verkliga parameterantal, inferenslatens per åtgärdssteg, den GPU-nivå som var och en behöver och det minsta antalet episoder innan den gör något användbart.

Jämför policyerna

En beslutstabell du kan agera utifrån

Din situationBörja medVarför
En uppgift, bra demonstrationer, inget språkACT~80 M, 20 ms, 24 GB card, no base model to download
Några relaterade uppgifter, en instruktion varderaSmolVLA450 M, in lerobot, 30 episode minimum, 1 to 3 USD per run
Återskapa specifikt TinyVLA-resultatetTinyVLA-B or TinyVLA-HThe repo is the only route: isolated env, converted data
Flera uppgifter, varierande instruktioner, A100-budgetGR00T N1.7 or Pi0.5~3 B, 152 ms and 485 ms per step, 4 to 12 USD per run
Ingen robot ännuKör en riktig armDen köbaserade live-armen kräver ingen registrering och ingen hårdvara

För den sista raden, den levande armen strömmar en fysisk SO-100 som du kan styra från webbläsaren utan konto, och de tre sätten att komma igång täcker resten. SO-100 är referensarmen här, ungefär 110 till 150 EUR i delar, med en komplett installationsguide.

Vad kommer efter modellerna under 1 B

Att minska antalet parametrar är ett sätt att göra en VLA billig och inte uppenbart det vinnande. OpenVLA-OFT (arXiv 2502.19645) behåller 7 B-ryggraden och ändrar endast hur handlingar avkodas, vilket rapporterar en 26x ökning i genomströmning för handlingsgenerering och LIBERO som stiger från 76,5 till 97,1 procent. BitVLA (arXiv 2506.07530) gör varje vikt i en 1-bitars BitNet b1.58 2B4T-ryggrad ternär, vilket rapporterar 11,0x mindre minne och 4,4x lägre end-to-end-latens samtidigt som den matchar full-precision OpenVLA-OFT. X-VLA-0.9B (arXiv 2510.10274) ligger på 1 B-linjen med flödesmatchning.

Den gemensamma nämnaren: handlingsavkodaren, inte språkmodellen, är där latensen finns. Fråga hur en policy utför handlingar innan du frågar hur många parametrar den har. Arenan har 85 modeller och 332 resultat, var och en länkad till sin källa; det finns en bredare översikt i vår VLA-introduktion.

Kan jag finjustera SmolVLA på ett RTX 4090?

Ja. SmolVLA har 450 M parametrar och AY-Robots kör det på RTX 4090 / 24 GB-nivån. Lerobot-exemplet använder --batch_size=64, vilket är ett exempel snarare än en garanti för ditt kort; dokumentationen rekommenderar att börja smått och öka medan laddningstiderna förblir korta. Förvänta dig längre tid än de cirka 4 timmar som dokumentationen anger för 20000 steg på en A100.

Är TinyVLA tillgängligt i lerobot eller på AY-Robots?

Nej till båda. TinyVLA finns endast i sitt forskningsarkiv, senaste commit 11 mars 2025, och dess format är HDF5 i ACT-stil snarare än LeRobot. AY-Robots tränar GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA och ACT. Om du vill ha TinyVLA får du bygga det själv, och du måste först fixa DeepSpeed-konfigurationssökvägen i scripts/train.sh.

Är en 450 M-modell verkligen konkurrenskraftig med en 3 B-modell?

Enligt författarnas egna riktmärken, ja: 87.3 mot 86.0 på LIBERO jämfört med en robotik-förtränad Pi0 på 3.3 B, och 78.3 mot 61.7 på tre verkliga SO-100-uppgifter där samma artikel märker Pi0 på 3.5 B. Begränsningen finns i samma artikel: för enstaka uppgifter utan robotik-förträning faller SmolVLA till 40.0, under ACT:s 48.3.

Hur många episoder behöver jag innan en liten VLA gör något?

AY-Robots sätter SmolVLA-minimum till 30 episoder och ACT-minimum till 50. Lerobot-dokumentationen rekommenderar runt 50 och rapporterar att 25 inte var tillräckligt för samma uppgift. Struktur är lika viktigt som antal: artikelns uppsättning använde 5 kubpositioner med 10 episoder vardera.

Varför skiljer sig publicerade latenssiffror så mycket åt?

De mäter olika saker. TinyVLA rapporterar 14 ms per åtgärdsförutsägelse på en A6000; AY-Robots listar SmolVLA till 245 ms och ACT till 20 ms per åtgärdssteg. Vissa siffror täcker en framåtkörning, vissa delar upp en körning över en 50-åtgärdsbit, och nästan inga inkluderar kamerafångst eller skrivning till servona.

Löser molnslutledning GPU-problemet?

Delvis. AY-Robots auto-provisionerar en pod som tillhandahåller policyn medan den lokala klienten kommunicerar med den slutpunkten, med en inaktiv övervakare så att den förstör sig själv snarare än att fakturera tyst. Den kan inte eliminera rundresan över det publika internet, och kontrollslingan är redan 20 till 485 ms per åtgärdssteg. Bra för långsam plock-och-placering, inte för snabb reaktiv rörelse.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started