
SmolVLA je VLA s 450 miliónmi parametrov, ktoré sa dá doladiť na jednej 24 GB karte. Skutočné príkazy lerobot 0.6.1, skutočné predvolené nastavenia, nástrahy, ktoré vás môžu stáť deň, a čo stojí jeden beh.
SmolVLA na jednej obrazovke
- •450 M parametrov, z toho asi 100 M expert na akcie s prispôsobením toku. lerobot trénuje iba tohto experta a udržiava VLM zmrazené, preto sa zmestí na jednu kartu.
- •Sprievodca výpočtovým výkonom LeRobot uvádza skupinu smolvla na približne 10 až 16 GB špičkovej VRAM pri dávke 8 s AdamW. Preto 24 GB.
- •Vstupným bodom je lerobot-train. Blogový príspevok SmolVLA z júna 2025 stále vypisuje python lerobot/scripts/train.py, cestu, ktorá už neexistuje. Všetko nižšie je lerobot 0.6.1.
- •Kosinusový rozvrh je prednastavený na pokles počas 30000 krokov. lerobot 0.6.1 to pre kratší beh zmenší a zaznamená, ale nikdy nezvýši: štandardný beh 100000 krokov končí na úrovni 2.5e-6 po 70000 krokoch.
- •Tridsať epizód je minimum pre AY-Robots, na úrovni 24 GB, čo stojí 1 až 3 USD za beh oproti 4 až 12 USD za 80 GB modely.
Väčšina ľudí, ktorí chcú vizuálny jazykový akčný model na skutočnom ramene, narazia na hardvérové obmedzenia. GR00T N1.7 a Pi0.5 majú okolo troch miliárd parametrov a vyžadujú A100 80 GB alebo H100. Ak vlastníte herný počítač s RTX 4090, tam sa cesta končí. SmolVLA je výnimkou: 450 M parametrov, v rámci LeRobot, navrhnutý na jemné doladenie na jednej spotrebiteľskej karte a obsluhu z CPU.
Najprv manuálna cesta: nainštalujte lerobot, stiahnite lerobot/smolvla_base checkpoint, spustite skutočný príkaz, sledujte beh, kým sa vykonáva. Potom cesta cez platformu a kde nepomáha.
Čo je SmolVLA, v číslach, ktoré si môžete overiť
SmolVLA je priraďovanie toku politika pripojená k malému vizuálnemu jazykovému modelu. Základom je SmolVLM2-500M-Video-Instruct; článok si ponecháva len prvých 16 vrstiev jeho jazykového modelu, obmedzuje každý snímok kamery na 64 vizuálnych tokenov s preusporiadaním pixelov namiesto dlaždicovania obrazu a prekladá krížovú pozornosť s vrstvou vlastnej pozornosti v každom druhom bloku. Náklady na inferenciu boli konštrukčným obmedzením, nie dodatočnou myšlienkou.
| Vlastnosť | Hodnota | Zdroj |
|---|---|---|
| Total parameters | približne 450 M | paper |
| Action expert | približne 100 M, priraďovanie toku | paper |
| VLM backbone | HuggingFaceTB/SmolVLM2-500M-Video-Instruct | vlm_model_name |
| VLM layers used | prvých 16 z jazykového modelu | num_vlm_layers = 16 |
| Visual tokens per frame | 64, preusporiadanie pixelov, bez dlaždicovania | paper |
| Pretraining | 481 community datasets, 22.9 K episodes, 10.6 M frames; 200000 steps at global batch 256 on 4 GPUs | paper |
Benchmarky sú dôvodom, prečo sa ľudia zaoberajú modelom s 450 M parametrami. Na LIBERO dosahuje priemerne 87,3 percenta oproti 76,5 pre OpenVLA pri 7 B a 86,0 pre roboticky pretrénovaný Pi0 pri 3,3 B; na Meta-World 57,3 oproti 47,9. Na reálnom hardvéri SO-100, viacúlohové trénovanie dosahuje 75 percent pri vyberaní a umiestňovaní, 90 pri stohovaní, 70 pri triedení, s priemerom 78,3, kde ACT trénovaný pre každú úlohu dosiahol priemerne 48,3. Rovnaké riadky sú uvedené pri každom publikovanom VLA v zázname arény SmolVLA a v porovnaní ACT so SmolVLA.
SmolVLA nie je vo všetkom lepší ako model s 3 B parametrami. Vlastná tabuľka SO-101 v článku to potvrdzuje: 90 percent úspešnosti v distribúcii, 50 percent mimo nej, na platforme, na ktorej nikdy nebol pretrénovaný. Čo však tvrdí a podporuje, je, že oproti Pi0 trénuje približne o 40 percent rýchlejšie na 6-krát menšej pamäti.
Prečo je 24 GB karta správna pre prvý beh
LeRobot dodáva sprievodcu dimenzovaním výpočtov, čo je najužitočnejšia stránka v repozitári pre tento účel. Zoskupuje politiky podľa veľkosti chrbtice a pre každú skupinu uvádza jeden VRAM rozsah, meraný pri veľkosti dávky 8 s AdamW, čo je predvolené nastavenie lerobot. Samotný stav optimalizátora pridáva 30 až 100 percent oproti holému doprednému a spätnému prechodu, takže nejde o čísla len pre váhy.
| Skupina | Politiky | Špičkový VRAM (dávka 8, AdamW) | Odporúčané GPU |
|---|---|---|---|
| Ľahké BC | act, vqbet, tdmpc | približne 2 až 6 GB | RTX 3060, L4 |
| Difúzia | diffusion, multi_task_dit | približne 8 až 14 GB | RTX 4070+, L4 |
| Malé VLA | smolvla | približne 10 až 16 GB | RTX 4080+, L4, A10G |
| Veľké VLA | pi0, pi0_fast, pi05, xvla, wall_x | približne 24 až 40 GB | A100 40 GB+ |
| Multimodálne | groot, eo1 | približne 24 až 40 GB | A100 40 GB+ |
Desať až šestnásť gigabajtov pri dávke 8 je argument: 24 GB karta to zvládne plus dataloader. AY-Robots umiestňuje SmolVLA na RTX 4090 alebo akúkoľvek 24 GB kartu, minimálne 30 epizód, LeRobot v3.0 dát, 245 ms na akčný krok. Prenajaté, to sú 2 až 5 hodín pri 0.30 až 0.60 USD za hodinu, približne 1 až 3 USD za jemné doladenie beh, oproti 4 až 12 USD na 80 GB úrovni, ktorú potrebujú GR00T a Pi0.5 (ceny). Neúspešný beh SmolVLA je káva; neúspešný beh GR00T je obed.

- Hodí sa na hardvér, ktorý už možno vlastníte: približne 10 až 16 GB pri dávke 8.
- Zbytočný beh stojí hodiny a jednotky dolárov, takže si môžete dovoliť mýliť sa ohľadom dátovej sady.
- Predtrénované na komunitných dátových sadách zdieľaných pod značkou lerobot, so skutočnými výsledkami SO-100 a SO-101.
- Žije priamo v lerobot: žiadne úložisko dodávateľa a smolvla_base nie je obmedzená.
- 450 M je stále 450 M: úspešnosť mimo distribúcie klesá z 90 na 50 percent v tabuľke SO-101 v článku.
- Vyžaduje dáta LeRobot v3.0; nahrávka v2.1 musí byť konvertovaná (dataset rejected v3).
- 245 ms na akčný krok je kompetentný ovládač pre 'pick and place', nie reaktívny.
- Príklad v dokumentácii spúšťa dávku 64 na A100; na 24 GB vymeníte dávku za reálny čas.
Krok 0: dátová sada rozhoduje o behu, nie príznaky
Nič nižšie nie je dôležité, ak je nahrávka zlá. Stránka LeRobot SmolVLA je priama: referenčná dátová sada obsahovala 50 epizód naprieč 5 pozíciami kocky, 10 na pozíciu, a rovnaká úloha s 25 epizódami dopadla zle. Opakovanie na variáciu zovšeobecňuje, surový počet epizód nie. Nikdy ste žiadnu nenahrali? Začnite na nahrajte svoju prvú dátovú sadu, s desktopovým klientom, ktorý zapisuje formát LeRobot zo teleoperačnej relácie, alebo si ju požičajte z adresára dátových sád.
- Minimálne 30 epizód na AY-Robots, približne 50 pre referenčný recept LeRobot.
- Každá variácia, ktorú očakávate pri nasadení, zopakovaná niekoľkokrát.
- Jeden reťazec úlohy, napísaný identicky v čase nahrávania a nasadenia. Model je podmienený týmto textom.
- Pevné kamery. Kamera presunutá medzi nahrávaním a nasadením je najčastejším dôvodom, prečo čistá krivka straty vedie k nehybnej ruke.
- Variácia, na ktorej ste nikdy netrénovali, aby ste mali niečo spoľahlivé na testovanie.
SmolVLA, Pi0.5 a ACT vyžadujú LeRobot v3.0. GR00T N1.7 a N1.5 vyžadujú v2.0 alebo v2.1 a ich načítavač zlyháva na v3.0. Nahrajte raz, naplánujte si porovnanie modelov neskôr a budete konvertovať tak či onak: 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_placeViac o tom nájdete v ako zbierať vysokokvalitné tréningové dáta VLA pre manipuláciu s robotmi. Stručná verzia: 30 až 50 čistých epizód jednej úlohy s úmyselnou variáciou prekoná 200 nedbalých epizód troch, s rozdielom, ktorý žiadny hyperparameter neuzavrie.
Nainštalovať 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 inštalácia je tenká a skrýva náročné závislosti za doplnkami: smolvla pridáva transformery, num2words a accelerate, training zásobník dátových sád a wandb, core_scripts závislosti na hardvéri a vizualizácii. Na Linuxe inštalačná cesta tiež rozhoduje o vašom CUDA wheel: predvolená hodnota PyPI je cu130 wheel s minimálnou verziou ovládača 580.65, takže na staršom ovládači najprv nainštalujte torch z indexu cu128 a potom lerobot.
--policy.path=lerobot/smolvla_base načíta predtrénovaný 450 M checkpoint a doladí ho. --policy.type=smolvla vytvorí nový SmolVLA a predvolená konfigurácia load_vlm_weights = False znamená, že ani nestiahne váhy chrbtice SmolVLM2, pokiaľ o to nepožiadate. Ak to urobíte zle, beh sa bude šťastne trénovať, stáť rovnako a nenaučí sa nič prenosné.
Tréningový beh, príkaz po príkaze
- 1Autentifikácia voči Hubu
Základný checkpoint pochádza z Hubu a váš dataset pravdepodobne tiež.
bashhf auth login - 2Prečítajte si možnosti raz
Každé pole konfigurácie pipeline a politiky je flag. Prebehnite si ho predtým, než sa ponoríte do zdrojového kódu.
bashlerobot-train --help - 3Spustite jemné doladenie
Príklad v dokumentácii spúšťa dávku 64 na jednom A100; vlastná kotva A100 40 GB v sprievodcovi výpočtami je dávka 16 a 8 je ekvivalent pre 24 GB. Žiadny flag pre scheduler tu nie je zámerne, pozri nižšie.
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 - 4Prečítajte si riadok logu, nielen stratu
Každých --log_freq krokov lerobot vypíše loss, grdn, lr, updt_s, data_s, smp/s a na CUDA aj mem_gb. mem_gb hovorí, či sa dávka zmestí, lr či sa plán rozpadá a data_s približujúce sa k updt_s znamená, že dataloader je úzkym hrdlom, nie GPU.
bash# if data_s creeps toward updt_s lerobot-train ... --num_workers=8 - 5Zbierajte checkpointy, ktoré môžete porovnať
save_freq má predvolenú hodnotu 20000, takže beh s 20000 krokmi zanechá jeden checkpoint a nič, s čím by sa dal porovnať. Nastavte 2000. Pre pushovanie do Hubu je potrebný --policy.repo_id.
bash--save_freq=2000 \ --policy.repo_id=${HF_USER}/smolvla_pick_place \ --save_checkpoint_to_hub=true - 6Pokračujte, ak stroj zlyhá
Nasmerujte --config_path na train_config.json vedľa checkpointu. lerobot odmietne spustiť do existujúceho output_dir, pokiaľ nepokračujete, takže nemôžete omylom prepísať beh.
bashlerobot-train \ --config_path=<path to the saved train_config.json> \ --resume=true
Flagy, ktoré skutočne menia výsledok
| Flag | Čo robí | Na 24 GB |
|---|---|---|
| --batch_size | Vzorky na krok, približne lineárne s VRAM | 4 až 8 |
| --steps | Celkový počet krokov optimalizátora | 20000 prvý prechod |
| --policy.scheduler_decay_steps | Dĺžka kosínusového rozpadu, prednastavená 30000 | Pôsobí len nad 30000 |
| --policy.use_amp | Zmiešaná presnosť; SmolVLA nemá pole dtype | true, keď je pamäť obmedzená |
| --num_workers | Procesy dataloadera, predvolené 4 | Zvýšte, kým data_s neprestane stúpať |
| --dataset.eval_split | Zlomok epizód vyčlenených na úlohu | 0.1, s --eval_steps |
| --policy.freeze_vision_encoder | Udržuje vizuálnu vežu zmrazenú | true na 24 GB |
| --policy.train_expert_only | Len ~100 M expert dostáva gradienty | true najprv |
SmolVLA prednastavuje kosínusový plán: `scheduler_warmup_steps = 1000`, `scheduler_decay_steps = 30000`, `scheduler_decay_lr = 2.5e-6`. Staršie rady hovoria, že 20000-krokový beh sa preto zastaví v strede útlmu. Vo verzii 0.6.1 sa to nedeje: `CosineDecayWithWarmupSchedulerConfig.build()` dostane `--steps`, a pod `num_decay_steps` preškáluje oboje, warmup 1000 na 666 a decay 30000 na 20000, pričom vytlačí Auto-scaling LR scheduler. Nikdy neškáluje nahor: útlm je obmedzený pomocou `min(current_step, decay_steps)`, takže predvolené `--steps=100000` zostáva na minime od kroku 30000 až do konca, čo je 70 percent behu. Len táto dlhá strana stále potrebuje `--policy.scheduler_decay_steps`. Stĺpec `lr` je miesto, kde to skontrolujete.
Predvolené nastavenia, ktoré zdedíte, ak sa ničoho nedotknete
Konfigurácia politiky v lerobot obsahuje vlastný predvolený optimalizátor a plánovač, a pokiaľ nenastavíte use_policy_training_preset=false tieto predvolené nastavenia prevládajú. Polovica otázok, ktoré ľudia kladú o tréningu SmolVLA, je zodpovedaná predvoleným nastavením, o ktorom nevedeli, že existuje.
| Nastavenie | Predvolené v lerobot 0.6.1 | Definované v |
|---|---|---|
| chunk_size / n_action_steps | 50 / 50 | SmolVLAConfig |
| num_steps (flow matching denoise) | 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 riadky, ktoré ľudí prekvapujú, sú freeze_vision_encoder a train_expert_only, oba pravdivé. Hneď po vybalení trénujete približne 100 M parametrov, nie 450 M, preto sa to zmestí na 24 GB. Referenčný beh LeRobotu na klastri so štyrmi GPU H100 prepne oba na false; na jednej 24 GB karte to zmení funkčný beh na .
Rada sprievodcu, keď ste obmedzení pamäťou, je znížiť veľkosť dávky a použiť akumuláciu gradientu na obnovenie efektívnej dávky. V lerobot 0.6.1 nie je žiadna akumulácia gradientu: TrainPipelineConfig nemá takéto pole a reťazec sa nikde vo vydanom balíku neobjavuje. Formulár AY-Robots ukazuje hodnotu akumulácie gradientu 8 pre SmolVLA a tiež ju neaplikuje. Vaše páky na 24 GB sú --batch_size, dve predvolené hodnoty zmrazenia a --policy.use_amp.
Ako dlho trvá beh a koľko krokov je dosť
LeRobot publikuje časové kotvy pre päť epoch nad datasetom s približne 50 epizódami, čo je asi 45000 snímok pri 30 fps. Rády veľkosti, hovoria dokumenty, ale sú to rozdiely medzi očakávaním hodiny a dňa.
| Nastavenie | Politika | Dávka | Reálny čas |
|---|---|---|---|
| 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 |
Pravidlom je 5 až 10 epoch nad dátovou sadou, nie pevný počet krokov: steps_per_epoch = ceil(total_frames / (num_gpus x batch_size)). Na referenčnej dátovej sade, na ktorú odkazuje dokumentácia, lerobot/svla_so100_pickplace, metadáta uvádzajú 50 epizód a 19631 snímok: dávka 8 poskytuje približne 2454 krokov na epochu, takže 20000 krokov je zhruba 8 epoch. Znížte dávku na polovicu a rovnaký rozpočet kúpi polovicu epoch, takže to zopakujte vždy, keď sa dotknete --batch_size.
Spustenie jemne doladenej politiky späť na ramene
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 akčný krok sa dá ľahko prečítať nesprávne: politika vydáva chunk_size = 50 akcií na jeden dopredný prechod a vykonáva n_action_steps = 50 z nich, takže to, ako často platíte tieto náklady, je určené týmito nastaveniami, nie tým, ako často dostávajú servá príkaz. To je to, čo rozdelenie akcií na kusy prináša, a prečo model s 245 ms dokáže riadiť 30 Hz rameno. Čo zostáva, je latencia inferencie na konci kusu.
| Meranie (SmolVLA, reálny SO-100) | Synchrónne | Asynchrónne |
|---|---|---|
| Čas dokončenia, uchopenie a umiestnenie, 10 pokusov | 13.75 s | 9.70 s |
| Cyklus uchopenia a umiestnenia v pevnom časovom okne | 9 | 19 |
| Miera úspešnosti spriemerovaná cez tri úlohy | 78.3 % | 73.3 % |
Tretí riadok je to, čo väčšina článkov vynecháva. Asynchrónna inferencia je približne o 30 percent rýchlejšia a zhruba zdvojnásobuje priepustnosť v pevnom časovom okne, a článok označuje miery úspešnosti za porovnateľné, čo v priemere aj sú. Pod tým, triedenie kleslo zo 70 na 50 percent, zatiaľ čo uchopenie a umiestnenie získalo 5. lerobot 0.6.1 obsahuje druhú páku v rovnakom binárnom súbore: --inference.type=rtc prepína vykonávanie na chunking v reálnom čase, čo vlastný blok použitia skriptu odporúča pre pomalé VLA, Pi0, Pi0.5 a SmolVLA.
Riadiaca slučka trvá 20 až 485 ms na akčný krok v závislosti od modelu, a okružné cesty cez verejný internet navyše menia funkčnú politiku na váhavú. Vzdialená inferencia je životaschopná pre pomalé uchopenie a umiestnenie, nie pre rýchly reaktívny pohyb: ak úloha vyžaduje rýchle korekcie, GPU patrí do rovnakej LAN siete ako rameno.
Dve cesty k rovnakému kontrolnému bodu
Vlastníte stroj, prostredie a ladenie. Jedinou závislosťou na cloude je stiahnutie základného kontrolného bodu z Hubu. Správna cesta, ak chcete upraviť politiku, ak dáta nemôžu opustiť vašu sieť, alebo ak je karta nečinná.
- Kontrolujete CUDA, ovládač, zostavenie ffmpeg a dataloader.
- Môžete opraviť configuration_smolvla.py a preškoliť ešte v ten istý deň.
- Platíte za elektrinu a čas, nie za beh, 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=trueRovnaký beh za formulárom: vyberiete model a dataset, backend prenajme GPU podľa požadovanej VRAM, spustí tréner a zapíše kontrolné body do objektového úložiska. Dataset môže pochádzať z Hugging Face repo id, z verejného adresára, alebo z vášho stroja. Začnite na SmolVLA na SO-100, alebo v matici na stránke tréningu.
| Pole | Predvolené hodnoty, ktoré platforma posiela pre SmolVLA | Poznámka |
|---|---|---|
| veľkosť dávky | 2 | Konzervatívne pre 24 GB úroveň |
| rýchlosť učenia | 1e-4 | Prednastavenie lerobot |
| max krokov | 20000 | Referenčný beh v dokumentácii LeRobot |
| akumulácia gradientu | 8 | Zobrazené vo formulári, ale nepoužité |
| ďalšie nastavenia | seed, logFreq | Seed robí beh opakovateľným |
- 2 až 5 hodín na 24 GB úrovni, približne 1 až 3 USD za beh.
- Rovnaké operácie z terminálu na /cli a od AI agentov na /mcp.
- Inferenčné pody obsahujú strážneho psa pre nečinnosť, takže zabudnutý pod sa zničí sám namiesto tichého účtovania.
- Ešte nemáte rameno? /live streamuje fyzický SO-100, ktorý môžete ovládať bez registrácie.
Úloha uviaznutá vo fronte je symptómom spotového trhu, nie chybou: tréningová úloha uviaznutá vo fronte. Krok za krokom: natrénujte svoju prvú politiku a dokumentácia k tréningu.
Keď je SmolVLA nesprávna voľba
Test, či bol SmolVLA správny prvý beh, nie je v tom, či fungoval, ale v tom, či vám zlyhanie niečo povedalo. Dosiahnite 60 alebo 70 percent a väčší model je rozumná ďalšia investícia: dáta nesú signál. Dosiahnite 10 percent a 3 B model s najväčšou pravdepodobnosťou tiež dosiahne 10 percent, čo ste sa práve naučili za tri doláre namiesto dvanástich.

Oplatí sa prečítať pred ďalšími výdavkami: Pi0.5 against SmolVLA pre väčšiu kapacitu na rovnakej myšlienke, a GR00T N1.7 against SmolVLA pre cestu NVIDIA, obe v 80 GB úrovni za 4 to 12 USD za beh. Iným spôsobom, ACT je lacnejšia základná línia: 80 M parameters, 20 ms per action step, no language conditioning. Všetkých päť nájdete na stránke politík; aréne má 85 models a 332 benchmark results.

Kontrolný zoznam pred škálovaním čohokoľvek
- Dosiahol
lrsvoju spodnú hranicu 2.5e-6? Pod 30000 krokov lerobot preškáluje útlm a oznámi to pri štarte; nad touto hranicou si nastavte--policy.scheduler_decay_stepssami. - Viac ako jeden kontrolný bod a epizódy vyčlenené pomocou
--dataset.eval_split, aby eval loss niečo znamenala. - Pohybuje sa vôbec politika? Klesajúca strata s nehybným ramenom má špecifické príčiny: strata klesá, politika nič nerobí.
- Prežije zmenu scény? Ak nie: politika funguje len v jednom nastavení.
- Zapísali ste si seed? lerobot predvolene používa 1000, takže dva nedotknuté behy zostanú porovnateľné.
- Až potom: viac epizód, viac variácií alebo väčší model. V tomto poradí.
Prečo tieto modely existujú a čo robia s jazykovým vstupom, je pozadie; prevádza montáž cez k prvému behu. Pre dokončený kontrolný bod, ; ak sa rameno nikdy neobjaví, .
Trénujte SmolVLA na vlastnom ramene
Vyberte model a rameno a sprievodca vám poskytne presné predvolené nastavenia, formát dátovej sady a náklady na beh. SmolVLA je k dispozícii na úrovni 24 GB za 1 až 3 USD za beh.
Otvorte sprievodcov tréningomNaozaj môžem doladiť SmolVLA na RTX 4090?▾
Áno. Sprievodca výpočtovým výkonom LeRobot uvádza SmolVLA s približne 10 až 16 GB špičkovej VRAM pri dávke 8 s AdamW a uvádza 24 GB spotrebiteľské karty ako vhodné. Dávka 64 v príklade dokumentácie je spárovaná s jedným A100. Pamäť sa škáluje približne lineárne s dávkou, takže použite 4 alebo 8 a sledujte mem_gb.
Koľko epizód skutočne potrebujem?▾
AY-Robots stanovuje minimum na 30. Dokumentácia LeRobot odporúča približne 50 a uvádza, že 25 epizód rovnakej úlohy dopadlo zle. Štruktúra je dôležitejšia ako počet: referenčná sada obsahovala 5 pozícií kociek s 10 epizódami pre každú, a práve táto opakovateľnosť je to, čo sa zovšeobecňuje.
Dokumentácia uvádza dávku 64, platforma posiela dávku 2. Čo je správne?▾
Oboje, pre rôzny hardvér. Príklad v dokumentácii používa dávku 64 a uvádza približne 4 hodiny pre 20000 krokov na jednom A100; referenčná hodnota A100 40 GB v sprievodcovi výpočtovým výkonom je dávka 16. Dávka 2 je to, čo AY-Robots posiela na úrovni 24 GB. Lokálne je stredom 4 až 8, a s tým sa mení aj aritmetika epoch.
SmolVLA alebo ACT pre prvý beh na SO-100?▾
ACT, ak je úlohou jeden opakujúci sa pohyb a chcete najrýchlejšiu slučku: 20 ms na akčný krok, 80 M parametrov, žiadne jazykové podmieňovanie. SmolVLA, ak chcete jazykové podmieňovanie, niekoľko reťazcov úloh v jednom kontrolnom bode a predtrénovanú základňu. Obe sedia na úrovni 24 GB, takže voľba je úloha, nie rozpočet.
Musím nastaviť --policy.scheduler_decay_steps?▾
Iba ak je --steps nad 30000. SmolVLA prednastavuje kosínusový útlm na 30000 krokov a lerobot 0.6.1 ho sám pre kratší beh preškáluje nadol, pričom pri tom zaznamená "Auto-scaling LR scheduler". Nikdy sa neškáluje nahor, takže predvolené --steps=100000 ponecháva posledných 70000 krokov na úrovni 2.5e-6.
Sources
- SmolVLA: Model videnia, jazyka a akcie pre cenovo dostupnú a efektívnu robotiku
- SmolVLA: Efektívny model videnia, jazyka a akcie (blog Hugging Face)
- Karta modelu lerobot/smolvla_base
- Dokumentácia LeRobot: SmolVLA
- Dokumentácia LeRobot: Sprievodca výpočtovým hardvérom pre tréning LeRobot
- Dokumentácia LeRobot: Inštalácia
- Dokumentácia LeRobot: LeRobotDataset v3.0 a konvertor v2.1
- Dokumentácia LeRobot: Asynchrónna inferencia
- lerobot v0.6.1: configuration_smolvla.py
- lerobot v0.6.1: TrainPipelineConfig
- lerobot v0.6.1: CosineDecayWithWarmupSchedulerConfig
- lerobot v0.6.1: lerobot_rollout.py (stratégie a RTC inferencia)
- lerobot v0.6.1: pyproject.toml (doplnky a vstupné body konzoly)
- lerobot na PyPI
- Dátová sada lerobot/svla_so100_pickplace (50 epizód, 19631 snímok, 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