
SmolVLA është një VLA me 450 M parametra që përshtatet imët në një kartë të vetme 24 GB. Komanda reale të lerobot 0.6.1, parametrat e paracaktuar aktualë, kurthet që kushtojnë një ditë, dhe sa kushton një ekzekutim.
SmolVLA në një ekran
- •450 M parametra, rreth 100 M prej tyre një ekspert veprimi i përputhjes së fluksit. lerobot trajnon vetëm atë ekspert dhe e mban VLM-në të ngrirë, prandaj ai përshtatet në një kartë.
- •Udhëzuesi i llogaritjes i LeRobot e vendos grupin smolvla në rreth 10 deri në 16 GB VRAM kulmi në batch 8 me AdamW. Prandaj 24 GB.
- •Pika hyrëse është lerobot-train. Postimi në blog i SmolVLA i qershorit 2025 ende printon python lerobot/scripts/train.py, një shteg që nuk ekziston më. Gjithçka më poshtë është lerobot 0.6.1.
- •Orari i kosinusit është paracaktuar të bjerë gjatë 30000 hapave. lerobot 0.6.1 e shkallëzon atë poshtë për një ekzekutim më të shkurtër dhe e regjistron, por kurrë lart: ekzekutimi standard prej 100000 hapash përfundon në dyshemenë 2.5e-6 për 70000 hapa.
- •Tridhjetë episode është minimumi i AY-Robots, në një nivel 24 GB që kushton 1 deri në 3 USD për ekzekutim kundrejt 4 deri në 12 për modelet 80 GB.
Shumica e njerëzve që duan një model veprimi gjuhe vizioni në një krah real ndalen te linja e harduerit. GR00T N1.7 dhe Pi0.5 janë rreth tre miliardë parametra secili dhe duan një A100 80 GB ose një H100. Nëse ajo që zotëroni është një PC lojërash me një RTX 4090, ky është fundi i rrugës. SmolVLA është përjashtimi: 450 M parametra, brenda LeRobot, i ndërtuar për t'u akorduar në një kartë konsumatore dhe për të shërbyer nga një CPU.
Rruga manuale së pari: instaloni lerobot, tërhiqni lerobot/smolvla_base pikë kontrolli, ekzekutoni komandën reale, lexoni ekzekutimin ndërsa ndodh. Pastaj rruga e platformës, dhe ku ajo nuk ndihmon.
Çfarë është SmolVLA, në numra që mund t'i kontrolloni
SmolVLA është një përputhje fluksi politikë e bashkangjitur në një model të vogël gjuhësor vizual. Shtylla kurrizore është SmolVLM2-500M-Video-Instruct; punimi mban vetëm 16 shtresat e para të modelit të tij gjuhësor, kufizon çdo kornizë kamere në 64 shenja vizuale me një shpërndarje pikselësh në vend të ndarjes së imazhit, dhe ndërthur vëmendjen kryq me një shtresë vetë-vëmendjeje çdo bllok të dytë. Kostoja e inferencës ishte një kufizim dizajni, jo një mendim i dytë.
| Vetia | Vlera | Burimi |
|---|---|---|
| Parametrat totalë | about 450 M | paper |
| Ekspert i veprimit | about 100 M, flow matching | paper |
| Shtylla kurrizore VLM | HuggingFaceTB/SmolVLM2-500M-Video-Instruct | vlm_model_name |
| Shtresat VLM të përdorura | first 16 of the language model | num_vlm_layers = 16 |
| Shenja vizuale për kornizë | 64, pixel shuffle, no tiling | paper |
| Paratrajnimi | 481 community datasets, 22.9 K episodes, 10.6 M frames; 200000 steps at global batch 256 on 4 GPUs | paper |
Standardet janë arsyeja pse njerëzit merren me një model 450 M. Në LIBERO ai mesatarisht arrin 87.3 për qind kundrejt 76.5 për OpenVLA në 7 B dhe 86.0 për një Pi0 të paratrajnuar për robotikë në 3.3 B; në Meta-World, 57.3 kundrejt 47.9. Në harduerin real SO-100, trajnimi me shumë detyra jep 75 për qind në marrje dhe vendosje, 90 në grumbullim, 70 në renditje, me një mesatare prej 78.3, ku ACT i trajnuar për detyrë mesatarisht arriti 48.3. Të njëjtat rreshta qëndrojnë pranë çdo VLA të publikuar në hyrjen në arenën SmolVLA dhe krahasimin ACT kundrejt SmolVLA.
SmolVLA nuk është më i mirë se një model 3 B në çdo gjë. Tabela SO-101 e vetë punimit e tregon këtë: 90 për qind sukses në shpërndarje, 50 për qind jashtë saj, në një platformë në të cilën nuk ishte paratrajnuar kurrë. Ajo që pretendon, dhe mbështet, është se kundrejt Pi0 ai trajnohet rreth 40 për qind më shpejt me 6 herë më pak memorie.
Pse një kartë 24 GB është zgjedhja e duhur për fillimin e parë
LeRobot ofron një udhëzues për madhësinë e llogaritjes, faqja më e dobishme në depo për këtë. Ai grupon politikat sipas madhësisë së shtyllës kurrizore dhe jep një zarf VRAM për grup, i matur me madhësinë e grupit 8 me AdamW, parazgjedhjen e lerobot. Vetëm gjendja e optimizuesit shton 30 deri në 100 për qind mbi një kalim të thjeshtë përpara dhe prapa, kështu që këto nuk janë shifra vetëm të peshave.
| Grupi | Politikat | VRAM maksimale (batch 8, AdamW) | GPU-të fillestare |
|---|---|---|---|
| BC i lehtë | act, vqbet, tdmpc | rreth 2 deri në 6 GB | RTX 3060, L4 |
| Difuzioni | diffusion, multi_task_dit | rreth 8 deri në 14 GB | RTX 4070+, L4 |
| VLA i vogël | smolvla | rreth 10 deri në 16 GB | RTX 4080+, L4, A10G |
| VLA i madh | pi0, pi0_fast, pi05, xvla, wall_x | rreth 24 deri në 40 GB | A100 40 GB+ |
| Multimodal | groot, eo1 | rreth 24 deri në 40 GB | A100 40 GB+ |
Dhjetë deri në gjashtëmbëdhjetë gigabajt në batch 8 është argumenti: një kartë 24 GB përshtatet me këtë plus ngarkuesin e të dhënave. AY-Robots vendos SmolVLA në RTX 4090 ose çdo kartë 24 GB, minimumi 30 episode, LeRobot v3.0 të dhëna, 245 ms për hap veprimi. Me qira, kjo është 2 deri në 5 orë me 0.30 deri në 0.60 USD në orë, rreth 1 deri në 3 USD për një akordim i imët ekzekutim, kundrejt 4 deri në 12 USD në nivelin 80 GB që GR00T dhe Pi0.5 kanë nevojë (çmimet). Një ekzekutim i dështuar i SmolVLA është një kafe; një ekzekutim i dështuar i GR00T, drekë.

- Përshtatet me harduerin që mund të keni tashmë: afërsisht 10 deri në 16 GB në batch 8.
- Një ekzekutim i humbur kushton orë dhe disa dollarë, kështu që mund të përballoni të gaboni për grupin e të dhënave.
- Trajnuar paraprakisht në grupe të dhënash komunitare të shpërndara nën etiketën lerobot, me rezultate reale SO-100 dhe SO-101.
- Jetojnë në lerobot vetë: pa depo shitësi, dhe smolvla_base nuk është i kufizuar.
- 450 M është ende 450 M: suksesi jashtë shpërndarjes bie nga 90 në 50 për qind në tabelën SO-101 të punimit.
- Kërkon të dhëna LeRobot v3.0; një regjistrim v2.1 duhet të konvertohet (dataset i refuzuar v3).
- 245 ms për hap veprimi është një kontrollues i aftë për marrje dhe vendosje, jo një reaktiv.
- Shembulli i dokumentacionit ekzekuton batch 64 në një A100; në 24 GB ju shkëmbeni batch-in me kohën reale.
Hapi 0: grupi i të dhënave vendos ekzekutimin, jo flamujt
Asgjë më poshtë nuk ka rëndësi nëse regjistrimi është i keq. Faqja LeRobot SmolVLA është e drejtpërdrejtë: grupi i të dhënave referencë ishte 50 episode në 5 pozicione kubi, 10 për pozicion, dhe e njëjta detyrë në 25 episode performoi keq. Përsëritja për variacion përgjithëson, numri i papërpunuar i episodeve jo. Nuk keni regjistruar asnjëherë? Filloni te regjistroni grupin tuaj të parë të të dhënave, me klientin desktop, i cili shkruan formatin LeRobot nga një sesion teleoperimi ose merrni një nga drejtoria e grupeve të të dhënave.
- Të paktën 30 episode në AY-Robots, rreth 50 për recetën referencë të LeRobot.
- Çdo variacion që prisni në shpërndarje, i përsëritur disa herë.
- Një varg detyre, i shkruar identikisht në kohën e regjistrimit dhe të shpërndarjes. Modeli kushtëzohet nga ai tekst.
- Kamera të fiksuara. Një kamerë e lëvizur midis regjistrimit dhe shpërndarjes është arsyeja më e zakonshme pse një kurbë humbjeje e pastër jep një krah të palëvizshëm.
- Një variacion i mbajtur jashtë, mbi të cilin nuk jeni trajnuar kurrë, në mënyrë që të keni diçka të ndershme për të testuar.
SmolVLA, Pi0.5 dhe ACT kërkojnë LeRobot v3.0. GR00T N1.7 dhe N1.5 kërkojnë v2.0 ose v2.1 dhe ngarkuesi i tyre bllokohet në v3.0. Regjistroni një herë, planifikoni të krahasoni modelet më vonë, dhe do ta konvertoni në një mënyrë ose në tjetrën: 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_placeMë shumë rreth kësaj në si të mblidhni të dhëna trajnimi VLA me cilësi të lartë. Versioni i shkurtër: 30 deri në 50 episode të pastra të një detyre me variacion të qëllimshëm mundin 200 episode të çrregullta të tre detyrave, me një diferencë që asnjë hiperparametër nuk e mbyll.
Instaloni 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-infoInstalimi bazë lerobot është i hollë dhe mban varësitë e rënda pas shtesave: smolvla shton transformatorët, num2words dhe accelerate, training grupin e të dhënave dhe wandb, core_scripts varësitë e harduerit dhe vizualizimit. Në Linux, shtegu i instalimit vendos gjithashtu rrotën tuaj CUDA: parazgjedhja PyPI është një rrotë cu130 me një nivel minimal drejtuesi prej 580.65, kështu që në një drejtues më të vjetër instaloni torch nga indeksi cu128 së pari, pastaj lerobot.
--policy.path=lerobot/smolvla_base ngarkon pikën e kontrollit të paratrajnuar 450 M dhe e rregullon atë. --policy.type=smolvla ndërton një SmolVLA të freskët, dhe parazgjedhja e konfigurimit load_vlm_weights = False do të thotë se nuk tërheq as peshat e shtyllës kurrizore SmolVLM2 nëse nuk e kërkoni. Gaboni dhe ekzekutimi trajnohet me sukses, kushton njësoj dhe nuk mëson asgjë të transferueshme.
Ekzekutimi i trajnimit, komandë pas komande
- 1Autentifikohu kundrejt Hub-it
Pika bazë e kontrollit vjen nga Hub-i, dhe ndoshta edhe grupi juaj i të dhënave.
bashhf auth login - 2Lexo opsionet një herë
Çdo fushë e konfigurimit të pipeline-it dhe politikës është një flamur. Shfletoje para se të gërmosh në burim.
bashlerobot-train --help - 3Fillo rregullimin e imët
Shembulli i dokumentacionit ekzekuton batch 64 në një A100 të vetme; ankori i vetë udhëzuesit të llogaritjes A100 40 GB është batch 16, dhe 8 është ekuivalenti i 24 GB. Nuk ka flamur planifikuesi këtu me qëllim, shih më poshtë.
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 - 4Lexo rreshtin e log-ut, jo vetëm humbjen
Çdo --log_freq hapa lerobot printon loss, grdn, lr, updt_s, data_s, smp/s dhe, në CUDA, mem_gb. mem_gb tregon nëse batch-i përshtatet, lr nëse orari po zvogëlohet, dhe data_s që i afrohet updt_s do të thotë se dataloader-i është pengesa, jo GPU-ja.
bash# if data_s creeps toward updt_s lerobot-train ... --num_workers=8 - 5Mblidh pikat e kontrollit që mund t'i krahasosh
save_freq parazgjedhur është 20000, kështu që një ekzekutim me 20000 hapa lë një pikë kontrolli dhe asgjë për ta krahasuar. Vendos 2000. Për të shtyrë në Hub nevojitet --policy.repo_id.
bash--save_freq=2000 \ --policy.repo_id=${HF_USER}/smolvla_pick_place \ --save_checkpoint_to_hub=true - 6Rifillo nëse makina ndalon
Drejto --config_path te train_config.json pranë pikës së kontrollit. lerobot refuzon të fillojë në një output_dir ekzistues nëse nuk po rifillon, kështu që nuk mund të mbishkruash një ekzekutim aksidentalisht.
bashlerobot-train \ --config_path=<path to the saved train_config.json> \ --resume=true
Flamujt që ndryshojnë realisht rezultatin
| Flag | Çfarë bën | Në 24 GB |
|---|---|---|
| --batch_size | Mostra për hap, afërsisht lineare në VRAM | 4 to 8 |
| --steps | Hapat totalë të optimizuesit | 20000 kalim i parë |
| --policy.scheduler_decay_steps | Gjatësia e zbërthimit kosinus, parazgjedhur 30000 | Vlen vetëm mbi 30000 |
| --policy.use_amp | Precizion i përzier; SmolVLA nuk ka fushë dtype | true kur memoria është e kufizuar |
| --num_workers | Procese të dataloader-it, parazgjedhur 4 | Rrit derisa data_s të ndalojë së rrituri |
| --dataset.eval_split | Fraksioni i episodeve të mbajtura mënjanë për detyrë | 0.1, with --eval_steps |
| --policy.freeze_vision_encoder | Mban kullën e vizionit të ngrirë | true on 24 GB |
| --policy.train_expert_only | Vetëm eksperti ~100 M merr gradientë | true fillimisht |
SmolVLA paracakton një orar kosinusi: `scheduler_warmup_steps = 1000`, `scheduler_decay_steps = 30000`, `scheduler_decay_lr = 2.5e-6`. Këshillat e vjetra thonë se një ekzekutim me 20000 hapa ngec në mes të zbërthimit. Në 0.6.1 nuk ndodh: `CosineDecayWithWarmupSchedulerConfig.build()` i jepet `--steps`, dhe poshtë `num_decay_steps` ai shkallëzon të dyja, ngrohjen 1000 në 666 dhe zbërthimin 30000 në 20000, duke printuar Planifikuesi i shkallëzimit automatik të LR-së ndërsa e bën këtë. Ai nuk shkallëzohet kurrë lart: zbërthimi është i kufizuar me `min(current_step, decay_steps)`, kështu që `--steps=100000` standard qëndron në minimum nga hapi 30000 deri në fund, 70 për qind e ekzekutimit. Vetëm ajo anë e gjatë ende ka nevojë për `--policy.scheduler_decay_steps`. Kolona `lr` është vendi ku kontrolloni.
Parazgjedhjet që trashëgoni nëse nuk prekni asgjë
Një politikë konfigurim në lerobot mbart optimizuesin dhe parazgjedhjen e tij të planifikuesit, dhe nëse nuk vendosni use_policy_training_preset=false ato parazgjedhje fitojnë. Gjysma e pyetjeve që njerëzit bëjnë rreth trajnimit të SmolVLA-s u përgjigjen nga një parazgjedhje që ata nuk e dinin se ekzistonte.
| Cilësimi | Parazgjedhja në lerobot 0.6.1 | Përcaktuar në |
|---|---|---|
| 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 |
Dy rreshtat që i befasojnë njerëzit janë freeze_vision_encoder dhe train_expert_only, të dyja të vërteta. Nga kutia, ju trajnoni afërsisht 100 M parametra, jo 450 M, prandaj përshtatet në 24 GB. Ekzekutimi referencë i LeRobot-it në një grup H100 me katër GPU i kthen të dyja në false; në një kartë 24 GB kjo e kthen një ekzekutim funksional në një bllokim për shkak të mungesës së memories.
Këshilla e udhëzuesit kur jeni të kufizuar nga memoria është të ulni madhësinë e grupit (batch size) dhe të përdorni akumulimin e gradientit për të rikuperuar grupin efektiv. Nuk ka akumulim gradienti në lerobot 0.6.1: TrainPipelineConfig nuk ka një fushë të tillë dhe vargu nuk shfaqet askund në paketën e lëshuar. Formulari AY-Robots tregon një vlerë akumulimi gradienti prej 8 për SmolVLA dhe nuk e zbaton as atë. Levat tuaja në 24 GB janë --batch_size, dy parazgjedhjet e ngrirjes (freeze defaults), dhe --policy.use_amp.
Sa kohë zgjat ekzekutimi, dhe sa hapa janë të mjaftueshëm
LeRobot publikon ankorime të kohës reale për pesë epoka mbi një grup të dhënash prej rreth 50 episodesh, rreth 45000 korniza me 30 fps. Shifra të rendit të madhësisë, thonë dokumentet, por ato janë ndryshimi midis pritjes së një ore dhe një dite.
| Konfigurimi | Politika | Grup | Koha reale |
|---|---|---|---|
| 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 |
Rregulli është 5 deri në 10 epoka mbi grupin e të dhënave, jo një numër i fiksuar hapash: steps_per_epoch = ceil(total_frames / (num_gpus x batch_size)). Në grupin e të dhënave referencë ku tregojnë dokumentet, lerobot/svla_so100_pickplace, metadata raporton 50 episode dhe 19631 korniza: grupi 8 jep rreth 2454 hapa për epokë, kështu që 20000 hapa janë afërsisht 8 epoka. Përgjysmoni grupin dhe i njëjti buxhet blen gjysmën e epokave, prandaj ripërsëriteni këtë sa herë që prekni --batch_size.
Ekzekutimi i politikës së rregulluar në krahun robotik
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 për hap veprimi është e lehtë të keqkuptohet: politika lëshon chunk_size = 50 veprime për kalim përpara dhe ekzekuton n_action_steps = 50 prej tyre, kështu që sa shpesh e paguani atë kosto përcaktohet nga ato rregullime, jo nga sa shpesh servot marrin një komandë. Kjo është ajo që copëtimi i veprimeve blen, dhe pse një model 245 ms mund të drejtojë një krah 30 Hz. Ajo që mbetet është vonesa e inferencës në fund të copës.
| Matja (SmolVLA, SO-100 real) | Sinkron | Asinkron |
|---|---|---|
| Koha e përfundimit, marrje dhe vendosje, 10 prova | 13.75 s | 9.70 s |
| Ciklet e marrjes dhe vendosjes në një dritare kohore fikse | 9 | 19 |
| Shkalla e suksesit mesatarisht mbi tre detyrat | 78.3 % | 73.3 % |
Rreshti i tretë është ajo që shumica e shkrimeve anashkalojnë. Inference asinkrone është rreth 30 për qind më e shpejtë dhe pothuajse dyfishon prurjen në një dritare fikse, dhe punimi i quan shkallët e suksesit të krahasueshme, gjë që mesatarisht janë. Nën të, renditja ra nga 70 në 50 për qind ndërsa marrja dhe vendosja fitoi 5. lerobot 0.6.1 mbart levën tjetër në të njëjtin binar: --inference.type=rtc kalon shpërndarjen në copëtim në kohë reale, të cilën blloku i përdorimit të vetë skriptit e rekomandon për VLA-të e ngadalta, Pi0, Pi0.5 dhe SmolVLA.
Cikli i kontrollit është 20 deri në 485 ms për hap veprimi në varësi të modelit, dhe udhëtimet vajtje-ardhje në internetin publik e kthejnë një politikë funksionale në një të hezituar. Inference në distancë është e realizueshme për marrje dhe vendosje të ngadaltë, jo për lëvizje të shpejtë reaktive: nëse detyra kërkon korrigjime të shpejta, GPU-ja duhet të jetë në të njëjtin LAN me krahun.
Jashtë teme për një ekzekutim trajnimi, por i jep fund më shumë projekteve SO-100 se çdo hiperparametër. Servot Feetech STS3215 në SO-100 dhe SO-101 funksionojnë në 7.4 V; 12 V i shkatërron ato. LeKiwi kombinon një krah 7.4 V me një bazë 12 V, kjo është mënyra se si foleja e gabuar gjen prizën e gabuar.
Dy rrugë drejt të njëjtit pikë kontrolli
Ju zotëroni makinën, mjedisin dhe debugimin. E vetmja varësi nga cloud është shkarkimi i pikës së kontrollit bazë nga Hub. Rruga e duhur nëse dëshironi të modifikoni politikën, nëse të dhënat nuk mund të largohen nga rrjeti juaj, ose nëse karta është e lirë.
- Ju kontrolloni rrotën CUDA, drajverin, ndërtimin ffmpeg dhe ngarkuesin e të dhënave.
- Mund të ndryshoni configuration_smolvla.py dhe të ritrajnoni të njëjtën pasdite.
- Ju paguani në energji elektrike dhe kohë, jo për ekzekutim, dhe debugoni TorchCodec vetë.
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=trueI njëjti ekzekutim pas një formulari: ju zgjidhni modelin dhe grupin e të dhënave, backend-i merr me qira një GPU sipas VRAM-it të kërkuar, ekzekuton trajnerin dhe shkruan pika kontrolli në ruajtjen e objekteve. Grupi i të dhënave mund të vijë nga një ID repo e Hugging Face, nga drejtoria, ose nga makina juaj. Filloni te SmolVLA në SO-100, ose matrica në faqja e trajnimit.
| Fusha | Parazgjedhja që platforma dërgon për SmolVLA | Shënim |
|---|---|---|
| madhësia e batch-it | 2 | Konservatore për nivelin 24 GB |
| shkalla e të mësuarit | 1e-4 | Parazgjedhja e lerobot |
| hapat maksimalë | 20000 | Ekzekutimi referencë në dokumentet e LeRobot |
| akumulimi i gradientit | 8 | Shfaqur në formular, jo i aplikuar |
| kontrolle shtesë | seed, logFreq | Seed e bën ekzekutimin të përsëritshëm |
- 2 deri në 5 orë në nivelin 24 GB, rreth 1 deri në 3 USD për ekzekutim.
- Të njëjtat operacione nga një terminal në /cli dhe nga agjentët e AI në /mcp.
- Pod-et e inferencës mbajnë një watchdog të papunë, kështu që një pod i harruar shkatërron veten në vend që të faturojë në heshtje.
- Nuk keni ende një krah? /live transmeton një SO-100 fizik që mund ta drejtoni pa u regjistruar.
Një punë e ngecur në radhë është një simptomë e tregut spot, jo një gabim: puna e trajnimit e ngecur në radhë. Hap pas hapi: trajnoni politikën tuaj të parë dhe dokumentet e trajnimit.
Kur SmolVLA është zgjedhja e gabuar
Testi nëse SmolVLA ishte ekzekutimi i parë i duhur nuk është nëse funksionoi, por nëse dështimi ju tregoi diçka. Arritni 60 ose 70 për qind dhe një model më i madh është një shpenzim i arsyeshëm i radhës: të dhënat mbartin sinjal. Arritni 10 për qind dhe një model 3 B ka shumë të ngjarë të arrijë gjithashtu 10 për qind, të cilën sapo e mësuat për tre dollarë në vend të dymbëdhjetë.

Vlen të lexohet para se të shpenzoni më shumë: Pi0.5 kundër SmolVLA për më shumë kapacitet mbi të njëjtën ide, dhe GR00T N1.7 kundër SmolVLA për rrugën NVIDIA, të dyja në nivelin 80 GB me 4 deri në 12 USD për ekzekutim. Nga ana tjetër, ACT është baza më e lirë: 80 M parametra, 20 ms për hap veprimi, pa kushtëzim gjuhësor. Të pesëta ndodhen në faqen e politikave; arena ka 85 modele dhe 332 rezultate krahasuese.

Lista kontrolluese para se të shkallëzoni diçka
- A e arriti
lrkufirin e tij prej 2.5e-6? Nën 30000 hapa, lerobot rishkallëzon zbërthimin dhe e thotë këtë në fillim; mbi këtë, vendosni vetë--policy.scheduler_decay_steps. - Më shumë se një pikë kontrolli, dhe episode të mbajtura me
--dataset.eval_splitnë mënyrë që humbja e vlerësimit të ketë kuptim. - A lëviz fare politika? Një humbje në rënie me një krah të palëvizshëm ka shkaqe specifike: humbja bie, politika nuk bën asgjë.
- A i mbijeton një ndryshimi të skenës? Nëse jo: politika funksionon vetëm në një konfigurim.
- A e shënuat farën (seed)? lerobot parazgjedh 1000, kështu që dy ekzekutime të paprekura mbeten të krahasueshme.
- Vetëm atëherë: më shumë episode, më shumë variacion, ose një model më i madh. Në atë rend.
Përse ekzistojnë këto modele dhe çfarë bëjnë ato me inputin gjuhësor, është sfondi; ekzekuton montimin përmes deri te ekzekutimi i parë i . Për pikën e kontrollit të përfunduar, ; nëse krahu nuk shfaqet kurrë, .
Trajnoni SmolVLA në krahun tuaj
Zgjidhni modelin dhe krahun dhe udhëzuesi ju jep parazgjedhjet e sakta, formatin e datasetit dhe koston e ekzekutimit. SmolVLA ndodhet në nivelin 24 GB me 1 deri në 3 USD për ekzekutim.
Hapni udhëzuesit e trajnimitA mund ta rregulloj vërtet SmolVLA-n në një RTX 4090?▾
Po. Udhëzuesi i llogaritjes i LeRobot e vendos SmolVLA-n në afërsisht 10 deri në 16 GB VRAM kulmore në batch 8 me AdamW dhe liston kartat konsumatore 24 GB si të përshtatshme për të. Batch 64 në shembullin e dokumentacionit është i çiftuar me një A100 të vetme. Memoria shkallëzohet afërsisht linearisht me batch-in, prandaj përdorni 4 ose 8 dhe monitoroni mem_gb.
Sa episode më duhen në të vërtetë?▾
AY-Robots e vendos minimumin në 30. Dokumentacioni i LeRobot rekomandon rreth 50 dhe raporton se 25 episode të së njëjtës detyrë performuan keq. Struktura është më e rëndësishme se numri: grupi i referencës ishte 5 pozicione kubi me nga 10 episode secila, dhe kjo përsëritje është ajo që përgjithëson.
Dokumentacioni thotë batch 64, platforma dërgon batch 2. Cila është e saktë?▾
Të dyja, për harduer të ndryshëm. Shembulli i dokumentacionit përdor batch 64 dhe citon rreth 4 orë për 20000 hapa në një A100 të vetme; ankori A100 40 GB i udhëzuesit të llogaritjes është batch 16. Batch 2 është ajo që AY-Robots dërgon në nivelin 24 GB. Lokalisht 4 deri në 8 është mesatarja, dhe aritmetika e epokës ndryshon me të.
SmolVLA apo ACT për një ekzekutim të parë në një SO-100?▾
ACT nëse detyra është një lëvizje e përsëritur dhe dëshironi lakun më të shpejtë: 20 ms për hap veprimi, 80 M parametra, pa kushtëzim gjuhësor. SmolVLA nëse dëshironi kushtëzim gjuhësor, disa vargje detyrash në një pikë kontrolli, dhe një bazë të paratrajnuar. Të dyja ndodhen në nivelin 24 GB, kështu që zgjedhja është detyra, jo buxheti.
A duhet të vendos --policy.scheduler_decay_steps?▾
Vetëm kur --steps është mbi 30000. SmolVLA paracakton zbërthimin e kosinusit në 30000 hapa, dhe lerobot 0.6.1 e shkallëzon vetë poshtë për një ekzekutim më të shkurtër, duke regjistruar "Auto-scaling LR scheduler" kur e bën. Nuk shkallëzohet kurrë lart, kështu që --steps=100000 standard lë 70000 hapat e fundit në dyshemenë 2.5e-6.
Sources
- SmolVLA: Një Model Vizion-Gjuhë-Veprim për Robotikë të Përballueshme dhe Efikase
- SmolVLA: Model Efikas Vizion-Gjuhë-Veprim (blogu i Hugging Face)
- Karta e modelit lerobot/smolvla_base
- Dokumentacioni i LeRobot: SmolVLA
- Dokumentacioni i LeRobot: Udhëzuesi i Harduerit të Llogaritjes për Trajnimin e LeRobot
- Dokumentacioni i LeRobot: Instalimi
- Dokumentacioni i LeRobot: LeRobotDataset v3.0 dhe konvertuesi v2.1
- Dokumentacioni i LeRobot: Inferenca Asinkrone
- lerobot v0.6.1: configuration_smolvla.py
- lerobot v0.6.1: TrainPipelineConfig
- lerobot v0.6.1: CosineDecayWithWarmupSchedulerConfig
- lerobot v0.6.1: lerobot_rollout.py (strategjitë dhe inferenca RTC)
- lerobot v0.6.1: pyproject.toml (ekstra dhe pikat e hyrjes në konsolë)
- lerobot në PyPI
- grupi i të dhënave lerobot/svla_so100_pickplace (50 episode, 19631 korniza, 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