
SmolVLA je VLA model s 450 milijoni parametrov, ki se fino uglašuje na eni sami 24 GB kartici. Pravi lerobot 0.6.1 ukazi, dejanske privzete nastavitve, pasti, ki stanejo dan, in koliko stane zagon.
SmolVLA na enem zaslonu
- •450 M parametrov, od tega približno 100 M ekspert za ujemanje toka akcij. lerobot trenira samo tega eksperta in ohranja VLM zamrznjenega, zato se prilega na eno kartico.
- •LeRobotov vodnik za izračune postavlja skupino smolvla na približno 10 do 16 GB največjega VRAM-a pri paketu 8 z AdamW. Zato 24 GB.
- •Vstopna točka je lerobot-train. Blog objava SmolVLA iz junija 2025 še vedno izpisuje python lerobot/scripts/train.py, pot, ki ne obstaja več. Vse spodaj je lerobot 0.6.1.
- •Kosinusni razpored je prednastavljen za upadanje v 30000 korakih. lerobot 0.6.1 to zmanjša za krajši zagon in ga zabeleži, vendar nikoli ne poveča: standardni zagon 100000 korakov se konča na dnu 2.5e-6 za 70000 korakov.
- •Trideset epizod je minimum AY-Robots, na ravni 24 GB, ki stane 1 do 3 USD na zagon v primerjavi s 4 do 12 za 80 GB modele.
Večina ljudi, ki želi vizualno-jezikovni akcijski model na pravi roki, se ustavi pri strojni opremi. GR00T N1.7 in Pi0.5 imata vsak približno tri milijarde parametrov in zahtevata A100 80 GB ali H100. Če imate igralni računalnik z RTX 4090, je to konec poti. SmolVLA je izjema: 450 M parametrov, znotraj LeRobot, zgrajen za fino uglasitev na eni potrošniški kartici in strežbo iz CPE-ja.
Najprej ročna pot: namestite lerobot, povlecite lerobot/smolvla_base kontrolno točko, zaženite pravi ukaz, preberite zagon, medtem ko se dogaja. Nato pot platforme in kje ne pomaga.
Kaj je SmolVLA, v številkah, ki jih lahko lahko preverite
SmolVLA je ujemanje toka politika, pritrjena na majhen vizualni jezikovni model. Hrbtenica je SmolVLM2-500M-Video-Instruct; članek ohranja le prvih 16 plasti njegovega jezikovnega modela, omejuje vsak posnetek kamere na 64 vizualnih žetonov s premešanjem pikslov namesto ploščic slike in prepleta navzkrižno pozornost s plastjo samo-pozornosti vsak drugi blok. Stroški sklepanja so bili omejitev pri načrtovanju, ne naknadna misel.
| Lastnost | Vrednost | Vir |
|---|---|---|
| Skupno parametrov | about 450 M | paper |
| Akcijski strokovnjak | about 100 M, flow matching | paper |
| VLM hrbtenica | HuggingFaceTB/SmolVLM2-500M-Video-Instruct | vlm_model_name |
| Uporabljene VLM plasti | first 16 of the language model | num_vlm_layers = 16 |
| Vizualni žetoni na sličico | 64, pixel shuffle, no tiling | paper |
| Predhodno usposabljanje | 481 community datasets, 22.9 K episodes, 10.6 M frames; 200000 steps at global batch 256 on 4 GPUs | paper |
Merila so razlog, zakaj se ljudje ukvarjajo z modelom 450 M. Na LIBERO dosega povprečno 87.3 odstotka v primerjavi s 76.5 za OpenVLA pri 7 B in 86.0 za Pi0, predhodno usposobljenega za robotiko, pri 3.3 B; na Meta-World, 57.3 proti 47.9. Na dejanski strojni opremi SO-100, večopravilno usposabljanje dosega 75 odstotkov pri pobiranju in odlaganju, 90 pri zlaganju, 70 pri razvrščanju, s povprečjem 78.3, kjer je ACT usposobljen na nalogo, dosegel povprečno 48.3. Iste vrstice so poleg vsakega objavljenega VLA v vnosu v areno SmolVLA in primerjavi ACT proti SmolVLA.
SmolVLA ni boljši od modela 3 B pri vsem. Lastna tabela SO-101 v članku to razkriva: 90 odstotkov uspešnosti v distribuciji, 50 odstotkov izven nje, na platformi, na kateri ni bil nikoli predhodno usposobljen. Kar pa trdi in podpira, je, da se v primerjavi s Pi0 usposablja približno 40 odstotkov hitreje na 6-krat manj pomnilnika.
Zakaj je 24 GB kartica prava izbira za prvi zagon
LeRobot vključuje vodnik za določanje velikosti računalniških virov, kar je najkoristnejša stran v repozitoriju za ta namen. Združuje politike po velikosti hrbtenice in določa eno VRAM ovojnico na skupino, merjeno pri velikosti paketa 8 z AdamW, privzeto nastavitvijo lerobot. Samo stanje optimizatorja doda 30 do 100 odstotkov nad golim prehodom naprej in nazaj, zato to niso številke, ki bi se nanašale samo na uteži.
| Skupina | Politike | Peak VRAM (batch 8, AdamW) | Začetni GPE-ji |
|---|---|---|---|
| Lahka BC | act, vqbet, tdmpc | about 2 to 6 GB | RTX 3060, L4 |
| Difuzija | diffusion, multi_task_dit | about 8 to 14 GB | RTX 4070+, L4 |
| Majhen VLA | smolvla | about 10 to 16 GB | RTX 4080+, L4, A10G |
| Velik VLA | pi0, pi0_fast, pi05, xvla, wall_x | about 24 to 40 GB | A100 40 GB+ |
| Večmodalni | groot, eo1 | about 24 to 40 GB | A100 40 GB+ |
Deset do šestnajst gigabajtov pri velikosti paketa 8 je argument: 24 GB kartica ustreza temu plus nalagalniku podatkov. AY-Robots postavi SmolVLA na RTX 4090 ali katero koli 24 GB kartico, najmanj 30 epizod, LeRobot v3.0 podatkov, 245 ms na korak dejanja. Najeto, to je 2 do 5 ur po 0.30 do 0.60 USD na uro, približno 1 do 3 USD na fino uglasitev zagon, v primerjavi s 4 do 12 USD na 80 GB ravni, ki jo potrebujeta GR00T in Pi0.5 (cene). Neuspešen zagon SmolVLA je kava; neuspešen zagon GR00T je kosilo.

- Ustreza strojni opremi, ki jo morda že imate: približno 10 do 16 GB pri seriji 8.
- Zapravljen zagon stane ure in nekaj dolarjev, zato si lahko privoščite, da se zmotite glede zbirke podatkov.
- Predhodno usposobljen na skupnostnih zbirkah podatkov, deljenih pod oznako lerobot, z resničnimi rezultati SO-100 in SO-101.
- Živi v samem lerobotu: ni repozitorija prodajalca in smolvla_base ni omejen.
- 450 M je še vedno 450 M: uspeh izven distribucije pade z 90 na 50 odstotkov v tabeli SO-101 v članku.
- Zahteva podatke LeRobot v3.0; posnetek v2.1 je treba pretvoriti (zbirka podatkov zavrnjena v3).
- 245 ms na korak dejanja je kompetenten krmilnik za pobiranje in odlaganje, ne reaktiven.
- Primer iz dokumentacije izvaja serijo 64 na A100; na 24 GB zamenjate serijo za dejanski čas.
Korak 0: zbirka podatkov odloča o zagonu, ne zastavice
Nič spodaj ni pomembno, če je posnetek slab. Stran LeRobot SmolVLA je neposredna: referenčna zbirka podatkov je vsebovala 50 epizod na 5 položajih kocke, 10 na položaj, in ista naloga z 25 epizodami se je izvedla slabo. Ponavljanje na variacijo posplošuje, število surovih epizod pa ne. Nikoli niste posneli nobene? Začnite pri posnemite svojo prvo zbirko podatkov z namiznim odjemalcem, ki zapiše format LeRobot iz teleoperacije seje, ali si jo izposodite iz imenika zbirk podatkov.
- Vsaj 30 epizod na AY-Robots, približno 50 za referenčni recept LeRobot.
- Vsaka variacija, ki jo pričakujete ob uvedbi, ponovljena večkrat.
- En niz naloge, zapisan identično ob snemanju in ob uvedbi. Model je pogojen s tem besedilom.
- Fiksne kamere. Kamera, premaknjena med snemanjem in uvedbo, je najpogostejši razlog, da čista krivulja izgube povzroči negibno roko.
- Zadržana variacija, na kateri niste nikoli trenirali, tako da imate nekaj poštenega za testiranje.
SmolVLA, Pi0.5 in ACT želijo LeRobot v3.0. GR00T N1.7 in N1.5 želijo v2.0 ali v2.1 in njihov nalagalnik se zruši na v3.0. Posnemite enkrat, načrtujte primerjavo modelov kasneje in pretvorili boste tako ali drugače: nabor podatkov zavrnjen 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_placeVeč o tem v kako zbrati visokokakovostne podatke za usposabljanje VLA za robotsko manipulacijo. Na kratko: 30 do 50 čistih epizod ene naloge z namerno variacijo premaga 200 površnih epizod treh, z razliko, ki je noben hiperparameter ne more zapreti.
Namestitev 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-infoOsnovna lerobot namestitev je minimalistična in težke odvisnosti skriva za dodatki: smolvla dodaja transformatorje, num2words in accelerate, training sklad podatkov in wandb, core_scripts odvisnosti strojne opreme in vizualizacije. Na Linuxu pot namestitve določa tudi vaš CUDA wheel: privzeta vrednost PyPI je cu130 wheel z minimalno različico gonilnika 580.65, zato na starejšem gonilniku najprej namestite torch iz indeksa cu128, nato pa lerobot.
--policy.path=lerobot/smolvla_base loads the pretrained 450 M checkpoint and fine-tunes it. --policy.type=smolvla builds a fresh SmolVLA, and the config default load_vlm_weights = False means it does not even pull the SmolVLM2 backbone weights unless you ask. Get it wrong and the run trains happily, costs the same, and learns nothing transferable.
Izvajanje usposabljanja, ukaz za ukazom
- 1Avtentikacija proti Hubu
Osnovna kontrolna točka prihaja iz Huba, in verjetno tudi vaš nabor podatkov.
bashhf auth login - 2Preberite možnosti enkrat
Vsako polje konfiguracije cevovoda in politike je zastavica. Preletite jo, preden se poglobite v izvorno kodo.
bashlerobot-train --help - 3Zaženite fino uglasitev
Primer v dokumentaciji poganja serijo 64 na enem A100; lastna referenca vodnika za izračun za A100 40 GB je serija 16, 8 pa je ekvivalent za 24 GB. Zastavice za razporejevalnik tukaj ni namenoma, glejte spodaj.
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 - 4Preberite vrstico dnevnika, ne samo izgube
Vsakih --log_freq korakov lerobot izpiše loss, grdn, lr, updt_s, data_s, smp/s in, na CUDA, mem_gb. mem_gb pove, ali se serija prilega, lr, ali se razpored zmanjšuje, in data_s, ki se približuje updt_s, pomeni, da je nalagalnik podatkov ozko grlo, ne GPU.
bash# if data_s creeps toward updt_s lerobot-train ... --num_workers=8 - 5Zberite kontrolne točke, ki jih lahko primerjate
save_freq privzeto znaša 20000, zato izvajanje 20000 korakov pusti eno kontrolno točko in nič za primerjavo. Nastavite na 2000. Potiskanje v Hub zahteva --policy.repo_id.
bash--save_freq=2000 \ --policy.repo_id=${HF_USER}/smolvla_pick_place \ --save_checkpoint_to_hub=true - 6Nadaljujte, če stroj odpove
Usmerite --config_path na train_config.json poleg kontrolne točke. lerobot zavrne zagon v obstoječo mapo output_dir, razen če nadaljujete, tako da ne morete pomotoma prepisati izvajanja.
bashlerobot-train \ --config_path=<path to the saved train_config.json> \ --resume=true
Zastavice, ki dejansko spremenijo rezultat
| Zastavica | Kaj počne | Na 24 GB |
|---|---|---|
| --batch_size | Vzorci na korak, približno linearno glede na VRAM | 4 do 8 |
| --steps | Skupno število korakov optimizatorja | 20000 prvi prehod |
| --policy.scheduler_decay_steps | Dolžina kosinusnega upadanja, prednastavljeno 30000 | Učinkuje le nad 30000 |
| --policy.use_amp | Mešana natančnost; SmolVLA nima polja dtype | true, ko je pomnilnik omejen |
| --num_workers | Procesi nalagalnika podatkov, privzeto 4 | Povečujte, dokler data_s ne preneha naraščati |
| --dataset.eval_split | Delež epizod, zadržanih na nalogo | 0.1, z --eval_steps |
| --policy.freeze_vision_encoder | Ohranja vizualni stolp zamrznjen | true na 24 GB |
| --policy.train_expert_only | Samo ~100 M strokovnjak prejme gradiente | true najprej |
SmolVLA prednastavi kosinusni urnik: `scheduler_warmup_steps = 1000`, `scheduler_decay_steps = 30000`, `scheduler_decay_lr = 2.5e-6`. Starejši nasvet pravi, da se izvajanje z 20000 koraki zato ustavi sredi upadanja. V 0.6.1 se to ne zgodi: `CosineDecayWithWarmupSchedulerConfig.build()` prejme `--steps`, in pod `num_decay_steps` ponovno skalira oba, ogrevanje 1000 na 666 in upadanje 30000 na 20000, pri čemer izpiše Samodejno skaliranje LR razporejevalnika. Nikoli ne skalira navzgor: upadanje je omejeno z `min(current_step, decay_steps)`, tako da privzeti `--steps=100000` ostane na dnu od koraka 30000 do konca, 70 odstotkov izvajanja. Samo ta dolga stran še vedno potrebuje `--policy.scheduler_decay_steps`. Stolpec `lr` je tisto, kjer preverite.
Privzete nastavitve, ki jih podedujete, če se ničesar ne dotaknete
A konfiguracija v lerobotu nosi lastno prednastavitev optimizatorja in razporejevalnika, in razen če ne nastavite use_policy_training_preset=false te prednastavitve prevladajo. Polovico vprašanj, ki jih ljudje postavljajo o usposabljanju SmolVLA, odgovori privzeta nastavitev, za katero niso vedeli, da obstaja.
| Nastavitev | Privzeto v lerobot 0.6.1 | Definirano v |
|---|---|---|
| chunk_size / n_action_steps | 50 / 50 | SmolVLAConfig |
| num_steps (ujemanje toka odstranjevanje šuma) | 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 |
Dve vrstici, ki presenetita ljudi, sta freeze_vision_encoder in train_expert_only, obe resnični. Takoj po namestitvi trenirate približno 100 M parametrov, ne 450 M, zato se prilega na 24 GB. Referenčni zagon LeRobota na gruči štirih grafičnih procesorjev H100 obe nastavitvi obrne na napačno; na eni 24 GB kartici to spremeni delujoč zagon v .
Nasvet vodnika, ko ste omejeni s pomnilnikom, je, da zmanjšate velikost paketa in uporabite akumulacijo gradientov za povrnitev učinkovitega paketa. V lerobot 0.6.1 ni akumulacije gradientov: TrainPipelineConfig nima takega polja in niz se ne pojavi nikjer v izdani programski opremi. Obrazec AY-Robots prikazuje vrednost akumulacije gradientov 8 za SmolVLA in je prav tako ne uporablja. Vaše vzvode na 24 GB so --batch_size, dve privzeti nastavitvi zamrznitve in --policy.use_amp.
Kako dolgo traja zagon in koliko korakov je dovolj
LeRobot objavlja časovne sidra za pet epoh na naboru podatkov s približno 50 epizodami, približno 45000 sličic pri 30 sličicah na sekundo. Številke so reda velikosti, pravijo dokumenti, vendar predstavljajo razliko med pričakovanjem ure in dneva.
| Nastavitev | Politika | Paket | Realni čas |
|---|---|---|---|
| En L4 / A10G (24 GB) | smolvla | 4 | about 3 to 6 h |
| En A100 40 GB | smolvla | 16 | about 1 to 2 h |
| 4 x H100 80 GB z accelerate | smolvla | 32 | about 1 to 2 h |
| En RTX 4090 / RTX 3090 (24 GB) | act | 8 | about 30 to 60 min |
Pravilo je 5 do 10 epoh čez nabor podatkov, ne fiksno število korakov: steps_per_epoch = ceil(total_frames / (num_gpus x batch_size)). Na referenčnem naboru podatkov, na katerega kaže dokumentacija, lerobot/svla_so100_pickplace, metapodatki poročajo o 50 epizodah in 19631 sličicah: paket 8 daje približno 2454 korakov na epoho, tako da je 20000 korakov približno 8 epoh. Razpolovite paket in isti proračun kupi polovico epoh, zato to ponovite vsakič, ko se dotaknete --batch_size.
Zagon fino nastavljene politike nazaj na roki
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 korak dejanja je enostavno napačno razumeti: politika odda chunk_size = 50 dejanj na prehod naprej in jih izvede n_action_steps = 50, tako da je pogostost plačevanja tega stroška določena s temi nastavitvami, ne s tem, kako pogosto servomotorji prejmejo ukaz. To je tisto, kar prinaša združevanje dejanj, in zakaj model s 245 ms lahko poganja 30 Hz roko. Kar ostane, je zakasnitev sklepanja na koncu bloka.
| Meritev (SmolVLA, pravi SO-100) | Sinhrono | Asinhrono |
|---|---|---|
| Čas dokončanja, pobiranje in odlaganje, 10 poskusov | 13.75 s | 9.70 s |
| Cikli pobiranja in odlaganja v fiksnem časovnem oknu | 9 | 19 |
| Stopnja uspešnosti povprečena čez tri naloge | 78.3 % | 73.3 % |
Ta tretja vrstica je tisto, kar večina poročil preskoči. Asinhrono sklepanje je približno 30 odstotkov hitrejše in približno podvoji prepustnost v fiksnem oknu, članek pa imenuje stopnje uspešnosti primerljive, kar povprečno tudi so. Pod tem je razvrščanje padlo s 70 na 50 odstotkov, medtem ko je pobiranje in odlaganje pridobilo 5. lerobot 0.6.1 vsebuje drugo vzvod v isti binarni datoteki: --inference.type=rtc preklopi izvajanje na združevanje v realnem času, kar lastni blok uporabe skripte priporoča za počasne VLA-je, Pi0, Pi0.5 in SmolVLA.
Krmilna zanka traja od 20 do 485 ms na korak dejanja, odvisno od modela, in povratna potovanja prek javnega interneta spremenijo delujočo politiko v oklevajočo. Oddaljeno sklepanje je izvedljivo za počasno pobiranje in odlaganje, ne pa za hitro reaktivno gibanje: če naloga zahteva hitre popravke, mora biti GPU v istem LAN-u kot roka.
Ni povezano z izvajanjem usposabljanja, vendar konča več projektov SO-100 kot kateri koli hiperparameter. Servomotorji Feetech STS3215 v SO-100 in SO-101 delujejo pri 7.4 V; 12 V jih uniči. LeKiwi združuje 7.4 V roko z 12 V bazo, kar je razlog, da napačen napajalni vtič najde napačno vtičnico.
Dve poti do iste kontrolne točke
Vi ste lastnik stroja, okolja in odpravljanja napak. Edina odvisnost od oblaka je prenos osnovne kontrolne točke iz Huba. Prava pot, če želite spremeniti politiko, če podatki ne smejo zapustiti vašega omrežja ali če je kartica v mirovanju.
- Nadzorujete CUDA kolo, gonilnik, ffmpeg gradnjo in nalagalnik podatkov.
- Lahko popravite configuration_smolvla.py in ponovno trenirate še isto popoldne.
- Plačate z elektriko in časom, ne na izvajanje, in sami odpravljate napake v TorchCodec.
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=trueIsto izvajanje za obrazcem: izberete model in nabor podatkov, zaledje najame GPU glede na zahtevani VRAM, zažene trenerja in zapiše v shrambo objektov. Nabor podatkov lahko prihaja iz Hugging Face repo id-ja, javnega , ali vašega stroja. Začnite na , ali matriki na .
| Polje | Privzeto, kar platforma pošlje za SmolVLA | Opomba |
|---|---|---|
| velikost paketa | 2 | Konzervativno za 24 GB nivo |
| učna stopnja | 1e-4 | Prednastavitev lerobot |
| največ korakov | 20000 | Referenčno izvajanje v dokumentaciji LeRobot |
| akumulacija gradienta | 8 | Prikazano v obrazcu, ni uporabljeno |
| dodatne nastavitve | seed, logFreq | Seed omogoča ponovljivost izvajanja |
- 2 do 5 ur na 24 GB nivoju, približno 1 do 3 USD na izvajanje.
- Iste operacije iz terminala na /cli in od AI agentov na /mcp.
- Inferenčni podi imajo nadzornika mirovanja, tako da se pozabljen pod uniči sam, namesto da bi tiho zaračunaval.
- Še nimate roke? /live pretaka fizični SO-100, ki ga lahko upravljate brez prijave.
Opravilo, ki je obtičalo v čakalni vrsti, je simptom trga spot, ne napaka: . Korak za korakom: in .
Ko je SmolVLA napačna izbira
Preizkus, ali je bil SmolVLA pravi prvi zagon, ni v tem, ali je deloval, temveč v tem, ali vam je neuspeh kaj povedal. Dosezite 60 ali 70 odstotkov in večji model je smiselna naslednja naložba: podatki nosijo signal. Dosezite 10 odstotkov in model 3 B bo najverjetneje prav tako dosegel 10 odstotkov, kar ste pravkar izvedeli za tri dolarje namesto dvanajstih.

Vredno branja pred nadaljnjo porabo: Pi0.5 proti SmolVLA za večjo zmogljivost na isti ideji, in GR00T N1.7 proti SmolVLA za pot NVIDIA, oba 80 GB nivoja po 4 do 12 USD na zagon. Druga možnost, ACT je cenejša izhodiščna točka: 80 M parametrov, 20 ms na korak dejanja, brez jezikovnega pogojevanja. Vseh pet se nahaja na strani s politikami; areni ima 85 modelov in 332 rezultatov meritev.

Kontrolni seznam, preden karkoli razširite
- Ali je
lrdosegel svojo spodnjo mejo 2.5e-6? Pod 30000 koraki lerobot ponovno prilagodi upadanje in to sporoči ob zagonu; nad tem si--policy.scheduler_decay_stepsnastavite sami. - Več kot ena kontrolna točka in epizode, izločene z
--dataset.eval_split, tako da izguba eval nekaj pomeni. - Ali se politika sploh premika? Padajoča izguba z negibno roko ima specifične vzroke: izguba pada, politika ne dela nič.
- Ali preživi spremembo scene? Če ne: politika deluje samo v eni nastavitvi.
- Ste si zapisali seme? lerobot privzeto uporablja 1000, tako da dve nedotaknjeni izvedbi ostaneta primerljivi.
- Šele nato: več epizod, več variacij ali večji model. V tem vrstnem redu.
Zakaj ti modeli obstajajo in kaj počnejo z jezikovnim vnosom, , je ozadje; vodi montažo skozi do prve izvedbe. Za dokončano kontrolno točko, ; če se roka nikoli ne pojavi, .
Usposobite SmolVLA na svoji roki
Izberite model in roko, in vodnik vam bo dal natančne privzete nastavitve, format podatkovnega nabora in stroške izvedbe. SmolVLA se nahaja na ravni 24 GB in stane od 1 do 3 USD na izvedbo.
Odpri vodnike za usposabljanjeAli lahko resnično fino uglasim SmolVLA na RTX 4090?▾
Da. LeRobotov vodnik za izračune postavlja SmolVLA na približno 10 do 16 GB največjega VRAM-a pri paketu 8 z AdamW in navaja, da so 24 GB potrošniške kartice udobne zanj. Paket 64 v primeru dokumentacije je seznanjen z enim samim A100. Pomnilnik se povečuje približno linearno s paketom, zato uporabite 4 ali 8 in spremljajte mem_gb.
Koliko epizod dejansko potrebujem?▾
AY-Robots določa minimum pri 30. Dokumentacija LeRobot priporoča približno 50 in poroča, da je 25 epizod iste naloge delovalo slabo. Struktura je pomembnejša od števila: referenčni nabor je vseboval 5 položajev kocke z 10 epizodami vsak, in ta ponovitev je tisto, kar se posplošuje.
Dokumentacija navaja paket 64, platforma pošilja paket 2. Kaj je pravilno?▾
Oboje, za različno strojno opremo. Primer v dokumentaciji uporablja paket 64 in navaja približno 4 ure za 20000 korakov na enem A100; sidro A100 40 GB v vodniku za izračune je paket 16. Paket 2 je tisto, kar AY-Robots pošilja na ravni 24 GB. Lokalno je 4 do 8 sredina, in aritmetika epoh se s tem spreminja.
SmolVLA ali ACT za prvi zagon na SO-100?▾
ACT, če je naloga eno ponavljajoče se gibanje in želite najhitrejšo zanko: 20 ms na korak dejanja, 80 M parametrov, brez jezikovnega pogojevanja. SmolVLA, če želite jezikovno pogojevanje, več nizov nalog v eni kontrolni točki in predhodno usposobljeno osnovo. Oba sta na ravni 24 GB, zato je izbira naloga, ne proračun.
Ali moram nastaviti --policy.scheduler_decay_steps?▾
Samo ko je --steps nad 30000. SmolVLA prednastavi kosinusni razpad pri 30000 korakih, in lerobot 0.6.1 ga samodejno zmanjša za krajši zagon, pri čemer zabeleži "Auto-scaling LR scheduler". Nikoli se ne poveča, zato privzeti --steps=100000 pusti zadnjih 70000 korakov na ravni 2.5e-6.
Sources
- SmolVLA: Model vida, jezika in dejanja za cenovno dostopno in učinkovito robotiko
- SmolVLA: Učinkovit model vida, jezika in dejanja (blog Hugging Face)
- Kartica modela lerobot/smolvla_base
- Dokumentacija LeRobot: SmolVLA
- Dokumentacija LeRobot: Vodnik za strojno opremo za izračune za usposabljanje LeRobot
- Dokumentacija LeRobot: Namestitev
- Dokumentacija LeRobot: LeRobotDataset v3.0 in pretvornik v2.1
- Dokumentacija LeRobot: Asinhrono sklepanje
- lerobot v0.6.1: configuration_smolvla.py
- lerobot v0.6.1: TrainPipelineConfig
- lerobot v0.6.1: CosineDecayWithWarmupSchedulerConfig
- lerobot v0.6.1: lerobot_rollout.py (strategije in sklepanje RTC)
- lerobot v0.6.1: pyproject.toml (dodatki in vstopne točke konzole)
- lerobot na PyPI
- Nabor podatkov lerobot/svla_so100_pickplace (50 epizod, 19631 sličic, 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