
TinyVLA en SmolVLA plaatsen een werkende VLA onder 1 miljard parameters. Echte cijfers uit beide papers, de lerobot standaardinstellingen, gemeten latentie, en wat een run kost op een 24 GB kaart.
Bijna elk visie-taal-actie model waarover geschreven wordt, gaat uit van een datacentrumkaart. OpenVLA is 7 B parameters. GR00T N1.7 en Pi0.5 zijn ongeveer 3 B en vereisen een A100 80 GB om te fine-tunen. Als de kaart op je bureau een 4090 is, dan is die klasse van modellen buiten bereik.
Twee papers beweren dat je het niet nodig hebt. TinyVLA (arXiv 2409.12514, geaccepteerd door IEEE Robotics and Automation Letters in februari 2025) bouwt een VLA op uit een 400 M tot 1.3 B backbone plus een diffusie-actiehoofd. SmolVLA (arXiv 2506.01844, ingediend op 2 juni 2025) levert 450 M parameters met open gewichten, open data en een script dat draait op één consumentenkaart. Hier is wat beide maten, en waar het argument voor modellen onder 1 B niet langer opgaat.
Wat je moet weten
- •TinyVLA wordt geleverd in drie formaten: 422 M totaal met 101 M trainbaar, 740 M met 138 M, 1.3 B met 143 M. Alleen de eerste twee vallen onder 1 B.
- •De tabel IV meet 14 ms per actievoorspelling voor TinyVLA-1B op één A6000, tegenover 292 ms voor OpenVLA-7B en 140 ms voor een verkleinde OpenVLA-1B.
- •Het hoofd behoudt die snelheid, niet de backbone: verwissel TinyVLA-H's diffusiehoofd voor een ACT-hoofd en de vijf echte-robot taken dalen van een gemiddelde van 94.0 naar enkele cijfers. Een MLP-hoofd scoort overal 0.
- •SmolVLA is 450 M, waarvan ongeveer 100 M de actie-expert is, voorgetraind op 481 community LeRobot datasets en 10.6 M frames. Het rapporteert 87.3 op LIBERO tegenover 86.0 voor een robotica-voorgetrainde Pi0 van 3.3 B, en 78.3 op drie echte SO-100 taken tegenover 61.7 voor Pi0 van 3.5 B.
- •Eén-taak getraind zonder die voorbereiding, daalt SmolVLA naar 40.0 op die taken, onder ACT's 48.3. Klein is niet automatisch gemakkelijk.
- •TinyVLA heeft geen LeRobot-integratie en vereist een CUDA 11.7 wheel stack. SmolVLA zit in lerobot en kost ongeveer 1 tot 3 USD per run op de 24 GB tier hier.
Wat daadwerkelijk telt als een kleine VLA
Het aantal parameters op een modelkaart is niet één getal. Het kan het totale aantal gewichten, gewichten geladen tijdens inferentie, of gewichten die gradiënten ontvangen tijdens fine-tuning. TinyVLA rapporteert beide, en het verschil is groot: TinyVLA-H is 1.3 B totaal maar 143 M trainbaar, omdat de vision tower en het grootste deel van het taalmodel bevroren blijven terwijl LoRA-adapters en de action head bewegen. Het artikel schat het trainbare aandeel op ongeveer 5 procent.
| Model | Parameters | Backbone | Actiehoofd | Bron |
|---|---|---|---|---|
| TinyVLA-S | 422 M totaal, 101 M trainbaar | Llava-Pythia ~400 M | Diffusie (droid_diffusion U-Net) | arXiv 2409.12514 |
| TinyVLA-B | 740 M totaal, 138 M trainbaar | Llava-Pythia ~700 M | Diffusie | arXiv 2409.12514 |
| TinyVLA-H | 1.3 B totaal, 143 M trainbaar | Llava-Pythia ~1.3 B | Diffusie | arXiv 2409.12514 |
| SmolVLA | 450 M, ~100 M actie-expert | SmolVLM2-500M-Video-Instruct | Flow matching expert | arXiv 2506.01844 |
| Octo-Small | 27 M | ViT-S schaal, T5-Base tekst-encoder | Diffusie | octo-small-1.5 card |
| ACT | ~80 M | ResNet, geen taalmodel | Directe chunk-regressie | AY-Robots catalog |
| OpenVLA | 7 B | Llama 2 7 B, DINOv2 en SigLIP encoders | Autoregressieve actietokens | arXiv 2406.09246 |
Twee rijen zijn het bespreken waard. ACT met ongeveer 80 M is kleiner dan al het andere hier, maar heeft geen taalmodel, dus het is geen VLA: het leert één taak en kan niet worden verteld om een andere te doen. Octo-Small met 27 M wordt geconditioneerd via een T5-Base tekst-encoder, niet een LLM-backbone. Goede baselines, maar geen van beide biedt de instructievolging die het label impliceert.
TinyVLA-H, de variant met de belangrijkste resultaten, is 1.3 B en zit boven de lijn. De betere vraag is of een model in 24 GB past tijdens training en uw control rate haalt tijdens inferentie. De vijf beleidsregels die u hier kunt trainen, staan op de beleidspagina; TinyVLA heeft een arena-vermelding als u de cijfers naast die van anderen wilt zien.
TinyVLA: de snelheid komt van de head, niet van de backbone
De voor de hand liggende interpretatie is dat ze het taalmodel kleiner hebben gemaakt, waardoor het sneller werd. De ablatie in het artikel zegt iets anders. Het vervangen van OpenVLA's 7 B backbone door een van ongeveer 1 B verminderde de voorspelling per actie van 292 ms naar 140 ms, een winst van 2x. TinyVLA-H, met een vergelijkbaar aantal parameters, draait op 14 ms op dezelfde kaart. De andere 10x komt van de action head.
| Model | Voorspelling per actie | Gemeten op |
|---|---|---|
| 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 zendt acties uit als gediscretiseerde tokens via de taalmodel head, één per actiedimensie, autoregressief. TinyVLA voegt een diffusiedecoder toe die het hele stuk in één keer produceert. Tabel V toont de architectuur van TinyVLA-H en wisselt alleen de head, op dezelfde vijf echte-robot taken. Het is het duidelijkste bewijs in beide artikelen voor het argument dat flow matching beleidsregels maken, en de reden waarom Pi0 afstapte van token-decodering.
| Prestaties op TinyVLA-H | Tennis plaatsen | Mok omdraaien | Kubussen stapelen | Lade sluiten | Doos openen |
|---|---|---|---|---|---|
| Diffusie (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 |
| Meerlagige perceptron | 0 | 0 | 0 | 0 | 0 |
De cijfers van 292 / 140 / 14 ms komen uit Tabel IV, allemaal op één A6000. Ze zijn per actievoorspelling en exclusief cameracaptatie, voorverwerking en de seriële schrijfbewerking naar de servo's. Beschouw gepubliceerde latentie als een ondergrens, nooit als de controlerate. Onze eigen cijfers hebben dezelfde beperking: zie inferentielatentie.
Wat TinyVLA scoorde
| Benchmark | Protocol | TinyVLA-H | Baselines |
|---|---|---|---|
| MetaWorld, 50 taken, sim | Multi-taak, 50 demo's, 3 seeds | 77.6 / 21.5 / 11.4 / 15.8 per moeilijkheidsgraad, gemiddeld 31.6 | Diffusion Policy gemiddeld 10.5 |
| Echte Franka Panda, 5 taken | 100 trajecten per taak, 20 proeven | 94.0 gemiddeld | OpenVLA 68.3, Diffusion Policy 35.3 |
| Bimanuele UR5, 3 taken | Multi-taak, 10 proeven per taak | 76.7 / 36.7 / 30.0 | OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0 |
De bimanuële rij heeft een saaie verklaring die de paper zelf geeft: OpenVLA is voorgegetraind op Open X-Embodiment, dat volledig bestaat uit data van één arm, dus een actieruimte met twee armen valt buiten de distributie en scoort nul. De diffusion policy baseline verslaat TinyVLA-H op twee van die drie taken. Achtergrond in de Open X-Embodiment uiteenzetting.

De TinyVLA repo, per augustus 2026
De paper is goed. De code is een onderzoeksrelease. De repository is github.com/liyaxuanliyaxuan/TinyVLA; de README dateert de coderelease op 17 februari 2025 en de laatste commit is van 11 maart 2025. Prima voor het reproduceren van een paper, een probleem als je een onderhouden bibliotheek wilde.
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 legt torch==2.0.1, transformers==4.37.1, deepspeed==0.9.5, peft==0.4.0, diffusers==0.11.1, numpy==1.24.4, en de CUDA-stack vast op de 11.x wheels: nvidia-cuda-runtime-cu11==11.7.99, nvidia-cudnn-cu11==8.5.0.96, triton==2.0.0. De README vraagt om Python 3.10; lerobot 0.6.1 vereist 3.12 of nieuwer, dus de twee kunnen geen omgeving delen. Controleer eerst of er een torch 2.0.1 build bestaat voor uw GPU-generatie. Als een run sterft door VRAM, is de checklist voor onvoldoende geheugen sneller dan gissen.
TinyVLA leest ook geen LeRobot datasets. Het formaat is ACT-stijl HDF5: action, language_raw, en een observatiegroep met multi-view beelden, joint_positions, qpos en qvel. De repository levert data_utils/rlds_to_h5py.py voor RLDS-input, en elke taak wordt handmatig geregistreerd in aloha_scripts/constants.py met zijn dataset_dir, episode_len en camera_names. Als uw afleveringen afkomstig zijn van lerobot of de desktopclient, bent u verantwoordelijk voor de conversie.
# 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 gaat uit van een node met acht kaarten. Stel dit in op 1 en verlaag de batchgrootte tot ver onder de 32. Er wordt geen variant voor één GPU upstream geleverd, dus de opdracht kan niet letterlijk worden uitgevoerd op een 4090.
- --deepspeed scripts/zero2.json verwijst naar een bestand dat zich niet in de hoofdmap scripts bevindt. De DeepSpeed-configuraties worden geleverd in llava-pythia/scripts/zero2.json. Corrigeer het pad vóór uw eerste uitvoering.
- De README vereist dat de naam van de uitvoermap llava_pythia bevat, plus lora als LoRA is ingeschakeld.
- De backbone is een aparte download: lesjie/Llava-Pythia-400M, -700M of -1.3B. Er is geen enkel basischeckpoint waar je een beleid op richt, zoals je dat doet bij lerobot/smolvla_base.
SmolVLA: het sub-1 B-model dat u vanmiddag kunt uitvoeren
SmolVLA maakt hetzelfde argument binnen een onderhouden bibliotheek. Het heeft 450 M parameters op een SmolVLM2-500M-Video-Instruct backbone, en de efficiëntie komt voort uit instellingen die u kunt aflezen uit configuration_smolvla.py in plaats van uit een bewering over klein zijn.
| Instelling in configuration_smolvla.py | Standaard | Wat het oplevert |
|---|---|---|
| num_vlm_layers | 16 | Alleen de eerste 16 lagen van het taalmodel worden uitgevoerd |
| expert_width_multiplier | 0.75 | De verborgen grootte van de actie-expert is 75 procent van die van de VLM |
| self_attn_every_n_layers | 2 | Zelf-aandacht afgewisseld met kruis-aandacht |
| chunk_size / n_action_steps | 50 / 50 | Eén pass genereert 50 acties en alle 50 worden uitgevoerd |
| num_steps | 10 | Flow matching denoising vastgesteld op 10 stappen |
| tokenizer_max_length | 48 | De instructie wordt afgekapt tot 48 tokens |
| freeze_vision_encoder / train_expert_only | True / True | Fine-tuning verplaatst de expert, niet de vision tower |
| optimizer_lr, warmup, decay | 1e-4, 1000 stappen, naar 2.5e-6 over 30000 | Niet het recept uit het artikel: de pretraining gebruikte een opwarming van 100 stappen over 200000 stappen |
Voor de pretraining werden 481 community LeRobot datasets, 22.9 K afleveringen en 10.6 M frames gebruikt op 4 GPU's, 200000 stappen met een globale batchgrootte van 256; het artikel schat het hele project op ongeveer 30 K GPU-uren. Een getal om op te letten: de Hugging Face lanceerblog vermeldt 487 samengestelde datasets, terwijl de tabel in het artikel 481 vermeldt. We gebruiken het cijfer uit het artikel en signaleren de discrepantie.

| Benchmark | SmolVLA 0.45 B | SmolVLA 2.25 B | Pi0 | ACT |
|---|---|---|---|---|
| LIBERO gemiddelde, multi-task | 87.3 | 88.75 | 86.0 (3.3 B, robotics-pretrained) | - |
| Meta-World gemiddelde, multi-task | 57.3 | 68.24 | 47.9 (3.5 B, robotics-pretrained) | - |
| Echte SO-100, 3 taken, multi-task training | 78.3 | - | 61.7 (3.5 B) | - |
| Echte SO-100, 3 taken, single-task, geen robotica pretraining | 40.0 | - | - | 48.3 |
| SO-101 lego pick-place, single-task, in distributie | 90 | - | - | 70 |
| SO-101 lego pick-place, single-task, buiten distributie | 50 | - | - | 40 |
LIBERO is simulatie en alles wat competent is, scoort daar nu in de tachtig. De rij van de echte SO-100, waar een 450 M model een 3.5 B model met 16.6 punten verslaat, is de interessante; de rij eronder is het tegenwicht. Haal de community pretraining en de multi-task training weg en hetzelfde model zakt naar 40.0, onder ACT. De verdedigbare bewering is dat een klein model niet automatisch slechter is, niet dat het beter is.
Eén toeval helpt: de Meta-World tabel van het SmolVLA-artikel bevat de eigen gepubliceerde cijfers van TinyVLA als basislijn, dus voor één keer staan beide modellen in één tabel, SmolVLA-0.45B op 57.3 tegen TinyVLA-H op 31.6. Het meldt ook dat SmolVLA ongeveer 40 procent sneller traint dan Pi0 op 6x minder geheugen. Dit alles komt van de SmolVLA-auteurs; de arena-vermelding linkt elke waarde aan de bron.
Waar SmolVLA zijn tijd aan besteedt
AY-Robots vermeldt SmolVLA op 245 ms per actiestap en ACT op 20 ms in de beleidscatalogus. TinyVLA rapporteert 14 ms per actievoorspelling. Deze cijfers zijn niet vergelijkbaar, en ze behandelen alsof ze dat wel zijn, is de meest voorkomende fout in dit onderwerp: sommigen meten één forward pass, sommigen verdelen die pass over een chunk zodra actie-chunking het amortiseert.
- SmolVLA zendt 50 acties uit per forward pass en voert alle 50 uit. Bij de 30 fps die het artikel gebruikt op echte robots, dekt één inferentie ongeveer 1.7 seconden beweging.
- Asynchrone inferentie berekent de volgende chunk terwijl de huidige nog wordt uitgevoerd: 9.7 s gemiddelde taakvoltooiing tegen 13.75 s synchroon, ruwweg 30 procent sneller, en 19 pick-and-place cycli in een vast venster van 60 seconden tegen 9.
- Succespercentages waren vergelijkbaar in plaats van beter, 78.3 synchroon tegen 73.3 asynchroon. Async koopt doorvoer, geen nauwkeurigheid.
- Chunking verbergt rekenlatentie, niet netwerklatentie, en het maakt het beleid minder reactief omdat het zich heeft vastgelegd op 50 acties.
AY-Robots kan automatisch een cloud GPU-pod inrichten die uw beleid bedient terwijl de lokale robotclient met dat eindpunt communiceert, en de pod bevat een inactieve watchdog zodat deze zichzelf vernietigt in plaats van stilzwijgend te factureren. Wat het niet doet, is de roundtrip via het openbare internet elimineren. De besturingslus over de vijf beleidsregels hier is 20 tot 485 ms per actiestap vóór enige netwerkverbinding, dus externe inferentie is haalbaar voor langzame pick-and-place, niet voor snelle reactieve beweging.

Finetunen van SmolVLA op één consumentenkaart
Het handmatige pad, op lerobot 0.6.1, de huidige PyPI-release per 23 augustus 2026. Alles hieronder komt uit de Hugging Face lerobot SmolVLA documentatie, op dezelfde dag opgehaald; de begeleide versie is vriendelijker.
- 1Installeer lerobot met de smolvla extra
De SmolVLA-afhankelijkheden zijn een optionele extra, geen onderdeel van de basisinstallatie. Installeren zonder en je dan afvragen waarom het beleidstype onbekend is, is een veelvoorkomend half uur verspild.
bashgit clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e ".[smolvla]" - 2Verkrijg een dataset met voldoende afleveringen
De documentatie beveelt ongeveer 50 afleveringen aan en stelt dat dezelfde taak met 25 niet voldoende was. AY-Robots stelt het minimum op 30. Neem je eigen op, of begin vanuit de datasetmap.
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 de fine-tune
Het commando uit de lerobot-handleiding, ongewijzigd. De documentatie schat 20000 stappen op ongeveer 4 uur op één A100. Op een 24 GB kaart, verwacht langer en meet het.
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 - 4Verlaag de batchgrootte totdat het past
batch_size=64 is een gedocumenteerd voorbeeld, geen belofte over je kaart. De documentatie adviseert klein te beginnen en te verhogen zolang de laadtijden kort blijven.
bashlerobot-train --help - 5Rol het checkpoint uit op de arm
Dezelfde bibliotheek, één commando. De real-time chunking flags zijn uitcommentarieerd in de documentatie en zijn degenen die je moet gebruiken op hardware met laag vermogen.
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
Welk pad je ook kiest, je eindigt met een checkpoint plus de configuratie die het heeft geproduceerd. Bewaar de datasetrevisie, het aantal stappen en de seed ernaast. lerobot gebruikt standaard seed 1000; GR00T's fine-tuning entry point toont helemaal geen seed, dus die runs zijn niet bit-voor-bit reproduceerbaar. Mechanica in de trainingsdocumentatie.
Twee manieren om een kleine VLA op een arm te krijgen
Jij bezit de machine en de storingsmodi. Voor SmolVLA is dat redelijk: één pip extra, één train-commando, één rollout-commando. Voor TinyVLA is het een onderzoeksreproductie met bevroren pins, een kapot DeepSpeed-pad en een dataconversie die je zelf schrijft.
- Verkrijg een 24 GB kaart, neem 30 tot 50 afleveringen op, verifieer de camerastreams frame voor frame.
- pip install -e ".[smolvla]", lerobot-train tegen lerobot/smolvla_base, en serveer dan het checkpoint op de machine waarop de arm is aangesloten.
- Voor TinyVLA: aparte conda env, converteer data naar HDF5, registreer de taak in constants.py, repareer het zero2.json pad, snijd train.sh van acht GPU's naar één.
- Geen facturering per uur zodra de kaart is betaald.
- Inference zit naast de servo's, de enige manier om een snelle controlelus te krijgen.
- Je kunt de beleidscode patchen, en TinyVLA is alleen op deze manier beschikbaar.
- Een 4090 sluit elk ~3 B beleid uit, dus geen lokale vergelijking met GR00T N1.7 of Pi0.5.
- Omgevingsconfiguratie is het echte werk. Alleen al de pins van TinyVLA kunnen een dag kosten.
- Geen wachtrij, geen herhaling, geen checkpointopslag. Een herstart bij stap 14000 betekent opnieuw beginnen.
SmolVLA is een van de vijf beleidsregels hier. Je kiest model en dataset in een formulier, de backend huurt een GPU op basis van benodigd VRAM, draait de trainer en schrijft checkpoints naar objectopslag. Stap voor stap: SmolVLA op de SO-100, of de volledige matrix op de trainingspagina.
| Wat het platform stuurt voor SmolVLA | Waarde |
|---|---|
| batchgrootte | 2 |
| leersnelheid | 1e-4 |
| max stappen | 20000 |
| gradiëntaccumulatie | 8, en het bereikt de trainer niet |
| extra instellingen in het formulier | seed, logFreq |
| GPU-laag | RTX 4090 of elke 24 GB kaart |
| datasetformaat | LeRobot v3.0 |
| minimum aantal afleveringen | 30 |
Ten eerste is de standaard batchgrootte hier 2, niet de 64 in het lerobot-documentatievoorbeeld, en de gradiëntaccumulatie-instelling wordt wel verzonden maar heeft geen effect voor SmolVLA, dus de effectieve batch is echt 2. Verhoog deze bewust in plaats van aan te nemen dat de standaard overeenkomt met upstream. Ten tweede is TinyVLA hier helemaal niet trainbaar.
Een run op de 24 GB laag duurt 2 tot 5 uur tegen 0.30 tot 0.60 USD per uur, ruwweg 1 tot 3 USD. Op de A100 laag duurt een ~3 B beleid 3 tot 6 uur tegen 1.20 tot 2.00 USD per uur, ruwweg 4 tot 12 USD. Zie prijzen, en dezelfde bewerkingen vanuit de CLI en de MCP-server.
Wanneer een klein model de verkeerde keuze is
Beide papers zijn hier voorzichtiger dan de samenvattingen. TinyVLA's faalanalyse is specifiek: de 0.4 B variant faalde drie keer door de instructie verkeerd te lezen, wat de auteurs toeschrijven aan beperkt taalbegrip in de kleinere VLM, en die modus verdween bij 1.3 B. SmolVLA toont dezelfde curve vanaf de andere kant: de 2.25 B versie van de identieke architectuur scoort 88.75 op LIBERO en 68.24 op Meta-World tegenover 87.3 en 57.3 voor het 0.45 B model.
- Past op een 24 GB kaart, wat een experiment van tientallen dollars naar een paar dollar brengt.
- Snel genoeg om naast de arm te draaien, dus geen netwerkhop in de controlelus.
- Finetunet op de data die één persoon kan opnemen, tientallen afleveringen in plaats van duizenden.
- SmolVLA's gewichten, datalijst en code zijn openbaar, dus een slecht resultaat is debugbaar.
- Zwakker in het opvolgen van instructies: minder taalparameters, minder vermogen om vergelijkbare verwijzende uitdrukkingen te onderscheiden.
- Minder ruimtelijke en visuele generalisatie naar opstellingen die je niet hebt opgenomen.
- Gevoeliger voor datasetdefecten, met minder voorgaande pretraining om op terug te vallen.
- Multi-task en lange-termijn werk blijft grotere modellen bevoordelen, inclusief SmolVLA's eigen 2.25 B variant.
De vergelijking die de moeite waard is, is niet TinyVLA tegen SmolVLA. Het is SmolVLA tegen ACT op je eigen taak, en de SmolVLA paper is het argument waarom. Getraind als single-task zonder robotica pretraining, behaalde SmolVLA gemiddeld 40.0 over drie SO-100 taken waar single-task ACT 48.3 behaalde. Wat het naar 78.3 tilt, is community pretraining plus multi-task training, niet de architectuur alleen. Op de SO-101 lego taak, beide single-task, wint SmolVLA wel: 90 tegen 70 in distributie. Dan SmolVLA tegen Pi0.5 als het budget het toelaat.
Er is minder voorbereiding nodig om slechte data te compenseren, dus een schone verliescurve op een defecte dataset geeft je een beleid dat het defect met vertrouwen reproduceert. De lerobot documentatie is duidelijk over de structuur: 50 afleveringen verdeeld over 5 kubusposities, 10 per positie, werkte; 25 niet. Als het verlies er goed uitziet en de arm niets nuttigs doet, begin dan bij verlies daalt, beleid doet niets, beleid werkt alleen in één opstelling of bruikbare VLA-trainingsdata verzamelen.
Vijf beleidslijnen, één vergelijkingstabel
GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA en ACT met echte parameter tellingen, inferentie latentie per actiestap, de benodigde GPU-tier en het minimale aantal afleveringen voordat het iets nuttigs doet.
Vergelijk de beleidslijnenEen beslissingstabel waarop u kunt handelen
| Uw situatie | Begin met | Waarom |
|---|---|---|
| Eén taak, goede demonstraties, geen taal | ACT | ~80 M, 20 ms, 24 GB kaart, geen basismodel om te downloaden |
| Een paar gerelateerde taken, elk met één instructie | SmolVLA | 450 M, in lerobot, minimaal 30 afleveringen, 1 tot 3 USD per run |
| Specifiek het TinyVLA-resultaat reproduceren | TinyVLA-B or TinyVLA-H | De repository is de enige route: geïsoleerde omgeving, geconverteerde data |
| Multi-task, gevarieerde instructies, A100 budget | GR00T N1.7 or Pi0.5 | ~3 B, 152 ms en 485 ms per stap, 4 tot 12 USD per run |
| Nog geen robot | Drive a real arm | De op wachtrijen gebaseerde live arm vereist geen aanmelding en geen hardware |
Voor de laatste rij, de live arm streamt een fysieke SO-100 die je vanuit de browser kunt besturen zonder account, en de drie manieren om te beginnen behandelt de rest. De SO-100 is hier de referentiearm, ruwweg 110 tot 150 EUR aan onderdelen, met een volledige installatiegids.
Wat komt er na de sub-1 B modellen
Het verkleinen van het aantal parameters is één manier om een VLA goedkoop te maken en niet per se de winnende. OpenVLA-OFT (arXiv 2502.19645) behoudt de 7 B backbone en verandert alleen hoe acties worden gedecodeerd, wat een 26x toename in actiegeneratiedoorvoer en een stijging van LIBERO van 76.5 naar 97.1 procent rapporteert. BitVLA (arXiv 2506.07530) maakt elk gewicht van een 1-bit BitNet b1.58 2B4T backbone ternair, wat 11.0x minder geheugen en 4.4x lagere end-to-end latentie rapporteert, terwijl het overeenkomt met full-precision OpenVLA-OFT. X-VLA-0.9B (arXiv 2510.10274) bevindt zich op de 1 B lijn met flow matching.
De rode draad: de actiedecoder, niet het taalmodel, is waar de latentie zit. Vraag hoe een beleid acties uitzendt voordat je vraagt hoeveel parameters het heeft. De arena heeft 85 modellen en 332 resultaten, elk gekoppeld aan de bron; er is een breder overzicht in onze VLA introductie.
Kan ik SmolVLA fine-tunen op een RTX 4090?▾
Ja. SmolVLA heeft 450 M parameters en AY-Robots draait het op de RTX 4090 / 24 GB tier. Het lerobot voorbeeld gebruikt --batch_size=64, wat een voorbeeld is en geen garantie voor uw kaart; de documentatie adviseert om klein te beginnen en te verhogen zolang de laadtijden kort blijven. Verwacht langer dan de ongeveer 4 uur die de documentatie noemt voor 20000 stappen op een A100.
Is TinyVLA beschikbaar in lerobot of op AY-Robots?▾
Nee, op beide vragen. TinyVLA bestaat alleen in zijn onderzoeksrepository, laatste commit 11 maart 2025, en het formaat is ACT-stijl HDF5 in plaats van LeRobot. AY-Robots traint GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA en ACT. Als u TinyVLA wilt, bouwt u het zelf, en u zult eerst het DeepSpeed config path in scripts/train.sh moeten repareren.
Is een 450 M model echt concurrerend met een 3 B model?▾
Volgens de eigen benchmarks van de auteurs, ja: 87.3 tegen 86.0 op LIBERO versus een robotica-voorgetrainde Pi0 van 3.3 B, en 78.3 tegen 61.7 op drie echte SO-100 taken waar hetzelfde artikel Pi0 labelt op 3.5 B. De beperking staat in hetzelfde artikel: single-task zonder robotica-voortraining, daalt SmolVLA naar 40.0, onder ACT's 48.3.
Hoeveel afleveringen heb ik nodig voordat een kleine VLA iets doet?▾
AY-Robots stelt het SmolVLA-minimum in op 30 afleveringen en het ACT-minimum op 50. De lerobot documentatie beveelt ongeveer 50 aan en meldt dat 25 niet genoeg was voor dezelfde taak. Structuur is net zo belangrijk als aantal: de set van het artikel gebruikte 5 kubusposities met elk 10 afleveringen.
Waarom verschillen gepubliceerde latentiecijfers zo sterk?▾
Ze meten verschillende dingen. TinyVLA rapporteert 14 ms per actievoorspelling op een A6000; AY-Robots vermeldt SmolVLA op 245 ms en ACT op 20 ms per actiestap. Sommige cijfers omvatten één forward pass, sommige verdelen een pass over een chunk van 50 acties, en bijna geen enkele omvat cameracaptatie of het schrijven naar de servo's.
Lost cloud inference het GPU-probleem op?▾
Gedeeltelijk. AY-Robots voorziet automatisch een pod die het beleid dient terwijl de lokale client met dat eindpunt communiceert, met een idle watchdog zodat het zichzelf vernietigt in plaats van stilzwijgend te factureren. Het kan de round trip via het openbare internet niet elimineren, en de controlelus is al 20 tot 485 ms per actiestap. Prima voor langzame pick-and-place, niet voor snelle reactieve beweging.
Sources
- TinyVLA: Naar Snelle, Data-efficiënte Visie-Taal-Actie Modellen voor Robotmanipulatie
- Officiële code-repository van TinyVLA (README, requirements.txt, scripts/train.sh)
- TinyVLA projectpagina
- lesjie/Llava-Pythia-1.3B, de TinyVLA-H backbone-gewichten
- SmolVLA: Een Visie-Taal-Actie Model voor Betaalbare en Efficiënte Robotica
- lerobot documentatie: fine-tuning van SmolVLA
- lerobot: configuration_smolvla.py, de SmolVLA-standaardinstellingen
- lerobot/smolvla_base modelkaart
- SmolVLA: Efficiënt Visie-Taal-Actie Model (Hugging Face blog)
- lerobot op PyPI (0.6.1, vereist Python 3.12 of nieuwer)
- OpenVLA: Een Open-Source Visie-Taal-Actie Model
- Fine-Tuning van Visie-Taal-Actie Modellen: Optimaliseren van Snelheid en Succes (OpenVLA-OFT)
- BitVLA: 1-bit Visie-Taal-Actie Modellen voor Robotmanipulatie
- X-VLA: Soft-Prompted Transformer als Schaalbaar Cross-Embodiment Visie-Taal-Actie Model
- rail-berkeley/octo-small-1.5 modelkaart (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