
SmolVLA je VLA s 450 miliony parametry, které se dolaďuje na jediné 24 GB kartě. Skutečné příkazy lerobot 0.6.1, skutečné výchozí hodnoty, nástrahy, které stály den, a co stojí jeden běh.
SmolVLA na jedné obrazovce
- •450 milionů parametrů, z toho asi 100 milionů je expert na akce s flow matching. lerobot trénuje pouze tohoto experta a udržuje VLM zmrazené, proto se vejde na jednu kartu.
- •Průvodce výpočetním výkonem LeRobotu uvádí skupinu smolvla na zhruba 10 až 16 GB špičkové VRAM při dávce 8 s AdamW. Proto 24 GB.
- •Vstupním bodem je lerobot-train. Blogový příspěvek SmolVLA z června 2025 stále uvádí python lerobot/scripts/train.py, což je cesta, která již neexistuje. Vše níže se týká lerobot 0.6.1.
- •Kosinový plán je přednastaven na pokles po dobu 30000 kroků. lerobot 0.6.1 to pro kratší běh zmenší a zaznamená, ale nikdy nezvětší: standardní běh na 100000 kroků končí na úrovni 2.5e-6 po dobu 70000 kroků.
- •Třicet epizod je minimum pro AY-Robots, na úrovni 24 GB, což stojí 1 až 3 USD za běh oproti 4 až 12 USD za modely s 80 GB.
Většina lidí, kteří chtějí vizuálně-jazykový akční model na skutečném rameni, se zastaví u hardwarových požadavků. GR00T N1.7 a Pi0.5 mají kolem tří miliard parametrů a vyžadují A100 80 GB nebo H100. Pokud vlastníte herní PC s RTX 4090, je to konečná. SmolVLA je výjimkou: 450 milionů parametrů, uvnitř LeRobotu, navržený pro jemné doladění na jedné spotřebitelské kartě a obsluhu z CPU.
Nejprve manuální cesta: nainstalujte lerobot, stáhněte checkpoint lerobot/smolvla_base , spusťte skutečný příkaz, sledujte průběh. Poté cesta přes platformu a kde nepomůže.
Co je SmolVLA, v číslech, která si můžete ověřit
SmolVLA je párování toku politika připojená k malému vizuálnímu jazykovému modelu. Páteří je SmolVLM2-500M-Video-Instruct; článek zachovává pouze prvních 16 vrstev jeho jazykového modelu, omezuje každý snímek kamery na 64 vizuálních tokenů s pixel shuffle namísto dlaždicování obrazu a prokládá křížovou pozornost s vrstvou vlastní pozornosti v každém druhém bloku. Náklady na inferenci byly konstrukčním omezením, nikoli dodatečnou myšlenkou.
| Vlastnost | Hodnota | Zdroj |
|---|---|---|
| Celkové parametry | about 450 M | paper |
| Akční expert | about 100 M, flow matching | paper |
| Páteř VLM | HuggingFaceTB/SmolVLM2-500M-Video-Instruct | vlm_model_name |
| Použité vrstvy VLM | first 16 of the language model | num_vlm_layers = 16 |
| Vizuální tokeny na snímek | 64, pixel shuffle, no tiling | paper |
| Předtrénink | 481 community datasets, 22.9 K episodes, 10.6 M frames; 200000 steps at global batch 256 on 4 GPUs | paper |
Benchmarky jsou důvodem, proč se lidé zabývají modelem o velikosti 450 M. Na LIBERO dosahuje v průměru 87.3 procenta oproti 76.5 pro OpenVLA o velikosti 7 B a 86.0 pro roboticky předtrénovaný Pi0 o velikosti 3.3 B; na Meta-World 57.3 oproti 47.9. Na skutečném hardwaru SO-100 poskytuje vícesložkové trénování 75 procent na úkolech pick and place, 90 na skládání, 70 na třídění, s průměrem 78.3, kde ACT trénovaný na úkol dosáhl v průměru 48.3. Stejné řádky se nacházejí vedle každého publikovaného VLA v záznamu arény SmolVLA a v porovnání ACT se SmolVLA.
SmolVLA není ve všem lepší než model o velikosti 3 B. Vlastní tabulka SO-101 v článku to prozrazuje: 90 procent úspěšnosti v distribuci, 50 procent mimo ni, na platformě, na které nikdy nebyl předtrénován. Co však tvrdí a podporuje, je, že oproti Pi0 trénuje přibližně o 40 procent rychleji na 6krát menší paměti.
Proč je 24GB karta správnou volbou pro první spuštění
LeRobot dodává průvodce dimenzováním výpočetního výkonu, což je pro tento účel nejužitečnější stránka v repozitáři. Seskupuje politiky podle velikosti páteřní sítě a pro každou skupinu uvádí jeden VRAM limit, měřený při velikosti dávky 8 s AdamW, což je výchozí nastavení LeRobotu. Samotný stav optimalizátoru přidává 30 až 100 procent oproti holému průchodu vpřed a vzad, takže se nejedná o údaje týkající se pouze vah.
| Skupina | Politiky | Špičková VRAM (dávka 8, AdamW) | Doporučené GPU |
|---|---|---|---|
| Lehká páteřní síť | act, vqbet, tdmpc | přibližně 2 až 6 GB | RTX 3060, L4 |
| Difúze | diffusion, multi_task_dit | přibližně 8 až 14 GB | RTX 4070+, L4 |
| Malé VLA | smolvla | přibližně 10 až 16 GB | RTX 4080+, L4, A10G |
| Velké VLA | pi0, pi0_fast, pi05, xvla, wall_x | přibližně 24 až 40 GB | A100 40 GB+ |
| Multimodální | groot, eo1 | přibližně 24 až 40 GB | A100 40 GB+ |
Deset až šestnáct gigabajtů při dávce 8 je argument: 24GB karta se vejde i s datovým loaderem. AY-Robots umisťuje SmolVLA na RTX 4090 nebo jakoukoli 24GB kartu, minimálně 30 epizod, LeRobot v3.0 dat, 245 ms na akční krok. Pronajaté, to je 2 až 5 hodin za 0.30 až 0.60 USD za hodinu, přibližně 1 až 3 USD za jemné doladění spuštění, oproti 4 až 12 USD na 80GB úrovni, kterou potřebují GR00T a Pi0.5 (ceny). Neúspěšné spuštění SmolVLA je káva; neúspěšné spuštění GR00T je oběd.

- Hodí se na hardware, který již možná vlastníte: zhruba 10 až 16 GB při dávce 8.
- Zbytečný běh stojí hodiny a jednotky dolarů, takže si můžete dovolit mýlit se ohledně datové sady.
- Předtrénováno na komunitních datových sadách sdílených pod značkou lerobot, se skutečnými výsledky SO-100 a SO-101.
- Žije přímo v lerobotu: žádné úložiště dodavatele a smolvla_base není omezeno.
- 450 M je stále 450 M: úspěšnost mimo distribuci klesá z 90 na 50 procent v tabulce SO-101 v článku.
- Vyžaduje data LeRobot v3.0; nahrávka v2.1 musí být převedena (dataset rejected v3).
- 245 ms na akční krok je kompetentní ovladač pro uchopení a umístění, nikoli reaktivní.
- Příklad z dokumentace spouští dávku 64 na A100; na 24 GB vyměníte dávku za reálný čas.
Krok 0: datová sada rozhoduje o běhu, nikoli příznaky
Nic níže uvedeného není důležité, pokud je nahrávka špatná. Stránka LeRobot SmolVLA je přímočará: referenční datová sada obsahovala 50 epizod napříč 5 pozicemi kostky, 10 na pozici, a stejný úkol s 25 epizodami dopadl špatně. Opakování na variaci zobecňuje, syrový počet epizod nikoli. Nikdy jste žádnou nenahráli? Začněte na nahrajte svou první datovou sadu, s desktopovým klientem, který zapisuje formát LeRobot z teleoperace relace, nebo si ji vypůjčte z adresáře datových sad.
- Nejméně 30 epizod na AY-Robots, asi 50 pro referenční recept LeRobot.
- Každá variace, kterou očekáváte při nasazení, opakovaná několikrát.
- Jeden řetězec úkolu, napsaný identicky v době záznamu a nasazení. Model je podmíněn tímto textem.
- Pevné kamery. Kamera posunutá mezi záznamem a nasazením je nejčastějším důvodem, proč čistá křivka ztráty vede k nehybné paži.
- Variace, na které jste nikdy netrénovali, abyste měli něco objektivního k testování.
SmolVLA, Pi0.5 a ACT vyžadují LeRobot v3.0. GR00T N1.7 a N1.5 vyžadují v2.0 nebo v2.1 a jejich zavaděč selhává na v3.0. Zaznamenejte jednou, naplánujte si pozdější porovnání modelů a tak či onak budete konvertovat: dataset rejected v3.
# v2.1 -> v3.0: aggregates per-episode files into shards and writes the episode offsets
python -m lerobot.scripts.convert_dataset_v21_to_v30 --repo-id=${HF_USER}/so100_pick_placeVíce o tom v jak sbírat vysoce kvalitní tréninková data VLA. Stručně řečeno: 30 až 50 čistých epizod jednoho úkolu s úmyslnou variací překoná 200 nedbalých epizod tří, a to s náskokem, který žádný hyperparametr nezavře.
Nainstalujte lerobot 0.6.1
# LeRobot needs Python 3.12 or newer as of 0.6.x
conda create -y -n lerobot python=3.12
conda activate lerobot
# TorchCodec decodes the dataset videos and wants ffmpeg
conda install ffmpeg -c conda-forge
# Base package is deliberately thin; extras pull the rest
pip install 'lerobot[smolvla,training,core_scripts]'
# Sanity check: prints the lerobot version, the GPU torch sees, and the console scripts you got
lerobot-infoZákladní lerobot instalace je minimalistická a skrývá náročné závislosti za doplňky (extras): smolvla přidává transformers, num2words a accelerate, training zásobník datových sad a wandb, core_scripts závislosti na hardware a vizualizaci. Na Linuxu instalační cesta také určuje váš CUDA wheel: výchozí nastavení PyPI je cu130 wheel s minimální verzí ovladače 580.65, takže na starším ovladači nejprve nainstalujte torch z indexu cu128 a poté lerobot.
--policy.path=lerobot/smolvla_base načte předtrénovaný 450M checkpoint a doladí ho. --policy.type=smolvla vytvoří nový SmolVLA a výchozí nastavení konfigurace load_vlm_weights = False znamená, že ani nestáhne váhy páteřní sítě SmolVLM2, pokud o to nepožádáte. Pokud to uděláte špatně, běh se vesele trénuje, stojí stejně a nenaučí se nic přenositelného.
Tréninkový běh, příkaz po příkazu
- 1Autentizace proti Hubu
Základní kontrolní bod pochází z Hubu a váš dataset pravděpodobně také.
bashhf auth login - 2Přečtěte si možnosti jednou
Každé pole konfigurace pipeline a politiky je flag. Projděte si ho, než se ponoříte do zdrojového kódu.
bashlerobot-train --help - 3Spusťte jemné doladění
Příklad v dokumentaci spouští dávku 64 na jedné A100; vlastní A100 40 GB kotva v průvodci výpočty je dávka 16 a 8 je ekvivalent pro 24 GB. Žádný flag pro scheduler zde není záměrně, viz níže.
bashlerobot-train \ --policy.path=lerobot/smolvla_base \ --dataset.repo_id=${HF_USER}/so100_pick_place \ --batch_size=8 \ --steps=20000 \ --save_freq=2000 \ --log_freq=200 \ --seed=1000 \ --output_dir=outputs/train/smolvla_pick_place \ --job_name=smolvla_pick_place \ --policy.device=cuda \ --wandb.enable=true - 4Přečtěte si řádek logu, nejen ztrátu
Každých --log_freq kroků lerobot vypíše loss, grdn, lr, updt_s, data_s, smp/s a na CUDA také mem_gb. mem_gb udává, zda se dávka vejde, lr zda se plán rozpadá, a data_s blížící se updt_s znamená, že dataloader je úzké hrdlo, nikoli GPU.
bash# if data_s creeps toward updt_s lerobot-train ... --num_workers=8 - 5Sbírejte kontrolní body, které můžete porovnat
save_freq má výchozí hodnotu 20000, takže běh s 20000 kroky zanechá jeden kontrolní bod a nic, s čím by se dal porovnat. Nastavte 2000. Pro nahrání na Hub je potřeba --policy.repo_id.
bash--save_freq=2000 \ --policy.repo_id=${HF_USER}/smolvla_pick_place \ --save_checkpoint_to_hub=true - 6Pokračujte, pokud stroj selže
Nasměrujte --config_path na train_config.json vedle kontrolního bodu. lerobot odmítne spustit do existujícího output_dir, pokud nepokračujete, takže nemůžete omylem přepsat běh.
bashlerobot-train \ --config_path=<path to the saved train_config.json> \ --resume=true
Flagy, které skutečně mění výsledek
| Flag | Co dělá | Na 24 GB |
|---|---|---|
| --batch_size | Vzorky na krok, zhruba lineární s VRAM | 4 to 8 |
| --steps | Celkový počet kroků optimalizátoru | 20000 první průchod |
| --policy.scheduler_decay_steps | Délka kosinusového útlumu, přednastaveno 30000 | Působí pouze nad 30000 |
| --policy.use_amp | Smíšená přesnost; SmolVLA nemá pole dtype | true, když je paměť omezená |
| --num_workers | Procesy dataloaderu, výchozí 4 | Zvyšujte, dokud data_s nepřestane stoupat |
| --dataset.eval_split | Zlomek epizod vyhrazených pro každý úkol | 0.1, with --eval_steps |
| --policy.freeze_vision_encoder | Udržuje vizuální věž zmrazenou | true on 24 GB |
| --policy.train_expert_only | Pouze expert s ~100 M parametry dostává gradienty | true nejprve |
SmolVLA přednastavuje kosinusový plán: scheduler_warmup_steps = 1000, scheduler_decay_steps = 30000, scheduler_decay_lr = 2.5e-6. Starší doporučení uvádí, že běh s 20000 kroky se proto zastaví uprostřed útlumu. Ve verzi 0.6.1 se tak neděje: CosineDecayWithWarmupSchedulerConfig.build() dostane --steps, a pod num_decay_steps škáluje obojí, zahřívání 1000 na 666 a útlum 30000 na 20000, přičemž tiskne Auto-scaling LR scheduler. Nikdy neškáluje nahoru: útlum je omezen pomocí min(current_step, decay_steps), takže výchozí --steps=100000 zůstává na minimu od kroku 30000 do konce, což je 70 procent běhu. Pouze tato dlouhá strana stále vyžaduje --policy.scheduler_decay_steps. Sloupec lr je místo, kde to zkontrolujete.
Výchozí nastavení, která zdědíte, pokud nic nezměníte
Konfigurace politiky v lerobotu obsahuje vlastní předvolbu optimalizátoru a plánovače, a pokud nenastavíte use_policy_training_preset=false tyto předvolby zvítězí. Polovina otázek, které lidé kladou ohledně trénování SmolVLA, je zodpovězena výchozím nastavením, o kterém nevěděli, že existuje.
| Nastavení | Výchozí v lerobot 0.6.1 | Definováno v |
|---|---|---|
| chunk_size / n_action_steps | 50 / 50 | SmolVLAConfig |
| num_steps (denoising s porovnáváním toků) | 10 | SmolVLAConfig |
| optimizer_lr | 1e-4 | SmolVLAConfig |
| scheduler_warmup_steps | 1000 | SmolVLAConfig |
| scheduler_decay_steps | 30000 | SmolVLAConfig |
| scheduler_decay_lr | 2.5e-6 | SmolVLAConfig |
| freeze_vision_encoder | true | SmolVLAConfig |
| train_expert_only | true | SmolVLAConfig |
| batch_size / steps | 8 / 100000 | TrainPipelineConfig |
| seed / save_freq / num_workers | 1000 / 20000 / 4 | TrainPipelineConfig |
Dva řádky, které lidi překvapují, jsou freeze_vision_encoder a train_expert_only, oba pravdivé. Ihned po spuštění trénujete zhruba 100 M parametrů, nikoli 450 M, což je důvod, proč se vejde na 24 GB. Vlastní referenční běh LeRobotu na clusteru se čtyřmi GPU H100 oba přepne na false; na jedné 24 GB kartě se tak funkční běh změní v .
Rada průvodce, když jste omezeni pamětí, je snížit velikost dávky (batch size) a použít akumulaci gradientů k obnovení efektivní dávky. V lerobot 0.6.1 není žádná akumulace gradientů: TrainPipelineConfig nemá takové pole a řetězec se nikde ve vydaném balíčku neobjevuje. Formulář AY-Robots ukazuje hodnotu akumulace gradientů 8 pro SmolVLA a také ji nepoužívá. Vaše páky na 24 GB jsou --batch_size, dvě výchozí nastavení zmrazení a --policy.use_amp.
Jak dlouho běh trvá a kolik kroků je dost
LeRobot publikuje časové kotvy pro pět epoch přes datovou sadu zhruba 50 epizod, asi 45000 snímků při 30 fps. Řádové hodnoty, uvádí dokumentace, ale představují rozdíl mezi očekáváním hodiny a dne.
| Nastavení | Politika | Dávka | Čas běhu |
|---|---|---|---|
| Single L4 / A10G (24 GB) | smolvla | 4 | about 3 to 6 h |
| Single A100 40 GB | smolvla | 16 | about 1 to 2 h |
| 4 x H100 80 GB with accelerate | smolvla | 32 | about 1 to 2 h |
| Single RTX 4090 / RTX 3090 (24 GB) | act | 8 | about 30 to 60 min |
Pravidlem je 5 až 10 epoch nad datovou sadou, nikoli pevný počet kroků: steps_per_epoch = ceil(total_frames / (num_gpus x batch_size)). Na referenční datové sadě, na kterou odkazuje dokumentace, lerobot/svla_so100_pickplace, metadata uvádí 50 epizod a 19631 snímků: dávka 8 dává přibližně 2454 kroků na epochu, takže 20000 kroků je zhruba 8 epoch. Zmenšete dávku na polovinu a stejný rozpočet koupí polovinu epoch, takže to opakujte vždy, když změníte --batch_size.
Spuštění jemně doladěné politiky zpět na rameni
lerobot-rollout \
--strategy.type=base \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=my_follower_arm \
--robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}}" \
--task="Grasp the cube and put it in the box." \
--policy.path=${HF_USER}/smolvla_pick_place245 ms na krok akce lze snadno špatně interpretovat: politika vydává chunk_size = 50 akcí na jeden průchod vpřed a provádí n_action_steps = 50 z nich, takže frekvence, s jakou platíte tyto náklady, je dána těmito parametry, nikoli frekvencí, s jakou serva dostávají příkaz. To je to, co dělení akcí na bloky přináší, a proč model s 245 ms dokáže řídit rameno s frekvencí 30 Hz. Zbývá latence inference na konci bloku.
| Měření (SmolVLA, skutečný SO-100) | Synchronní | Asynchronní |
|---|---|---|
| Doba dokončení, uchopení a umístění, 10 pokusů | 13.75 s | 9.70 s |
| Cykly uchopení a umístění v pevném časovém okně | 9 | 19 |
| Míra úspěšnosti průměrovaná přes tři úkoly | 78.3 % | 73.3 % |
Třetí řádek je to, co většina článků vynechává. Asynchronní inference je asi o 30 procent rychlejší a zhruba zdvojnásobuje propustnost v pevném časovém okně, a článek označuje míry úspěšnosti za srovnatelné, což v průměru jsou. Pod tím se třídění propadlo ze 70 na 50 procent, zatímco uchopení a umístění získalo 5. lerobot 0.6.1 nese další páku ve stejném binárním souboru: --inference.type=rtc přepíná spuštění na chunking v reálném čase, což vlastní blok použití skriptu doporučuje pro pomalé VLA, Pi0, Pi0.5 a SmolVLA.
Řídicí smyčka trvá 20 až 485 ms na krok akce v závislosti na modelu, a cesty tam a zpět přes veřejný internet navíc mění funkční politiku v váhavou. Vzdálená inference je životaschopná pro pomalé uchopení a umístění, nikoli pro rychlý reaktivní pohyb: pokud úkol vyžaduje rychlé korekce, GPU patří do stejné LAN jako rameno.
Mimo téma pro tréninkový běh, ale ukončuje více projektů SO-100 než jakýkoli hyperparametr. Serva Feetech STS3215 v SO-100 a SO-101 běží na 7.4 V; 12 V je zničí. LeKiwi kombinuje 7.4 V rameno s 12 V základnou, což je způsob, jakým se nesprávný napájecí konektor dostane do nesprávné zásuvky.
Dvě cesty ke stejnému kontrolnímu bodu
Vlastníte stroj, prostředí a ladění. Jedinou závislostí na cloudu je stažení základního kontrolního bodu z Hubu. Správná cesta, pokud chcete upravit politiku, pokud data nemohou opustit vaši síť, nebo pokud je karta nečinná.
- Kontrolujete CUDA, ovladač, sestavení ffmpeg a dataloader.
- Můžete opravit configuration_smolvla.py a přeškolit ještě téhož odpoledne.
- Platíte za elektřinu a čas, ne za běh, a TorchCodec ladíte sami.
pip install 'lerobot[smolvla,training,core_scripts]'
hf auth login
lerobot-train \
--policy.path=lerobot/smolvla_base \
--dataset.repo_id=${HF_USER}/so100_pick_place \
--batch_size=8 --steps=20000 \
--save_freq=2000 --seed=1000 \
--output_dir=outputs/train/smolvla_pick_place \
--job_name=smolvla_pick_place \
--policy.device=cuda --wandb.enable=trueStejný běh za formulářem: vyberete model a datovou sadu, backend pronajme GPU podle požadované VRAM, spustí trénink a zapíše kontrolní body do objektového úložiště. Datová sada může pocházet z Hugging Face repo id, z veřejného adresáře, nebo z vašeho stroje. Začněte na SmolVLA na SO-100, nebo na matici na stránce tréninku.
| Pole | Výchozí hodnota, kterou platforma odesílá pro SmolVLA | Poznámka |
|---|---|---|
| batch size | 2 | Konzervativní pro úroveň 24 GB |
| learning rate | 1e-4 | Předvolba lerobot |
| max steps | 20000 | Referenční běh v dokumentaci LeRobot |
| gradient accumulation | 8 | Zobrazeno ve formuláři, ale nepoužito |
| extra knobs | seed, logFreq | Seed zajišťuje opakovatelnost běhu |
- 2 až 5 hodin na úrovni 24 GB, přibližně 1 až 3 USD za běh.
- Stejné operace z terminálu na /cli a od AI agentů na /mcp.
- Inference pody obsahují nečinný watchdog, takže zapomenutý pod se sám zničí, místo aby tiše účtoval.
- Ještě nemáte rameno? /live streamuje fyzický SO-100, který můžete ovládat bez registrace.
Úloha uvízlá ve frontě je symptomem spotového trhu, nikoli chybou: tréninková úloha uvízla ve frontě. Krok za krokem: natrénujte svou první politiku a dokumentace k tréninku.
Kdy je SmolVLA špatná volba
Test, zda byl SmolVLA správným prvním spuštěním, není v tom, zda fungoval, ale zda vám selhání něco řeklo. Dosáhnete-li 60 nebo 70 procent, je větší model rozumnou další investicí: data nesou signál. Dosáhnete-li 10 procent, model s 3 B parametry s největší pravděpodobností také dosáhne 10 procent, což jste se právě naučili za tři dolary namísto dvanácti.

Před dalšími výdaji stojí za přečtení: Pi0.5 proti SmolVLA pro větší kapacitu na stejném principu, a GR00T N1.7 proti SmolVLA pro cestu NVIDIA, obě v úrovni 80 GB za 4 až 12 USD za spuštění. Jinak, ACT je levnější základ: 80 M parametrů, 20 ms na akční krok, bez jazykové podmíněnosti. Všech pět je k dispozici na stránce s politikami; aréně má 85 modelů a 332 výsledků benchmarků.

Kontrolní seznam předtím, než cokoli škálujete
- Dosáhla
lrsvého minima 2.5e-6? Pod 30000 kroků lerobot přeskaluje útlum a oznámí to při spuštění; nad tuto hodnotu nastavte--policy.scheduler_decay_stepssami. - Více než jeden kontrolní bod a epizody vyčleněné pomocí
--dataset.eval_split, aby ztráta vyhodnocení něco znamenala. - Pohybuje se politika vůbec? Klesající ztráta s nehybnou paží má specifické příčiny: ztráta klesá, politika nic nedělá.
- Přežije změnu scény? Pokud ne: politika funguje pouze v jednom nastavení.
- Zapsali jste si seed? lerobot standardně používá 1000, takže dva nedotčené běhy zůstanou srovnatelné.
- Teprve potom: více epizod, více variací nebo větší model. V tomto pořadí.
Proč tyto modely existují a co dělají s jazykovým vstupem, je pozadí; provádí montáž přes k prvnímu běhu. Pro dokončený kontrolní bod, ; pokud se rameno nikdy neobjeví, .
Trénujte SmolVLA na svém vlastním rameni
Vyberte model a rameno a průvodce vám poskytne přesné výchozí hodnoty, formát datové sady a náklady na spuštění. SmolVLA je k dispozici na úrovni 24 GB za 1 až 3 USD za běh.
Otevřít průvodce tréninkemMohu skutečně doladit SmolVLA na RTX 4090?▾
Ano. Průvodce výpočetním výkonem LeRobot uvádí SmolVLA s přibližně 10 až 16 GB špičkové VRAM při dávce 8 s AdamW a uvádí, že 24 GB spotřebitelské karty jsou pro něj pohodlné. Dávka 64 v příkladu dokumentace je spárována s jedním A100. Paměť se škáluje zhruba lineárně s dávkou, takže použijte 4 nebo 8 a sledujte mem_gb.
Kolik epizod skutečně potřebuji?▾
AY-Robots stanovuje minimum na 30. Dokumentace LeRobot doporučuje asi 50 a uvádí, že 25 epizod stejného úkolu dopadlo špatně. Struktura je důležitější než počet: referenční sada obsahovala 5 pozic kostek s 10 epizodami pro každou, a právě tato opakování se zobecňují.
Dokumentace uvádí dávku 64, platforma posílá dávku 2. Co je správně?▾
Obě, pro různý hardware. Příklad v dokumentaci používá dávku 64 a uvádí přibližně 4 hodiny pro 20000 kroků na jednom A100; kotva A100 40 GB v průvodci výpočty je dávka 16. Dávka 2 je to, co AY-Robots posílá na úrovni 24 GB. Lokálně je střed 4 až 8 a s tím se mění aritmetika epoch.
SmolVLA nebo ACT pro první spuštění na SO-100?▾
ACT, pokud je úkolem jeden opakující se pohyb a chcete nejrychlejší smyčku: 20 ms na akční krok, 80 M parametrů, bez jazykové podmíněnosti. SmolVLA, pokud chcete jazykovou podmíněnost, několik řetězců úkolů v jednom checkpointu a předtrénovanou základnu. Obě sedí na úrovni 24 GB, takže volba je úkol, nikoli rozpočet.
Musím nastavit --policy.scheduler_decay_steps?▾
Pouze když je --steps nad 30000. SmolVLA přednastavuje kosinové zmenšení na 30000 krocích a lerobot 0.6.1 jej sám zmenší pro kratší běh, přičemž loguje "Auto-scaling LR scheduler". Nikdy se nezvětšuje, takže výchozí --steps=100000 ponechává posledních 70000 kroků na minimu 2.5e-6.
Sources
- SmolVLA: Model vize, jazyka a akce pro cenově dostupnou a efektivní robotiku
- SmolVLA: Efektivní model vize, jazyka a akce (blog Hugging Face)
- Karta modelu lerobot/smolvla_base
- Dokumentace LeRobot: SmolVLA
- Dokumentace LeRobot: Průvodce výpočetním hardwarem pro trénink LeRobot
- Dokumentace LeRobot: Instalace
- Dokumentace LeRobot: LeRobotDataset v3.0 a konvertor v2.1
- Dokumentace LeRobot: Asynchronní inference
- lerobot v0.6.1: configuration_smolvla.py
- lerobot v0.6.1: TrainPipelineConfig
- lerobot v0.6.1: CosineDecayWithWarmupSchedulerConfig
- lerobot v0.6.1: lerobot_rollout.py (strategie a RTC inference)
- lerobot v0.6.1: pyproject.toml (doplňky a vstupní body konzole)
- lerobot na PyPI
- dataset lerobot/svla_so100_pickplace (50 epizod, 19631 snímků, v3.0)
Sources
- SmolVLA: A Vision-Language-Action Model for Affordable and Efficient Robotics
- SmolVLA: Efficient Vision-Language-Action Model (Hugging Face blog)
- lerobot/smolvla_base model card
- LeRobot docs: SmolVLA
- LeRobot docs: Compute HW Guide for LeRobot Training
- LeRobot docs: Installation
- LeRobot docs: LeRobotDataset v3.0 and the v2.1 converter
- LeRobot docs: Asynchronous Inference
- lerobot v0.6.1: configuration_smolvla.py
- lerobot v0.6.1: TrainPipelineConfig
- lerobot v0.6.1: CosineDecayWithWarmupSchedulerConfig
- lerobot v0.6.1: lerobot_rollout.py (strategies and RTC inference)
- lerobot v0.6.1: pyproject.toml (extras and console entry points)
- lerobot on PyPI
- lerobot/svla_so100_pickplace dataset (50 episodes, 19631 frames, v3.0)
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started