SmolVLA modeļa lapa AY-Robots, parādot parametru skaitu, GPU līmeni, secinājumu latentumu uz vienu darbības soli un minimālo epizožu skaitu
SmolVLALeRobotVLA apmācībaPrecizēšanaSO-100

Kā apmācīt SmolVLA uz 24 GB GPU (lerobot 0.6.1)

AY-Robots ResearchAugust 23, 202617 min lasīšanai

SmolVLA ir 450 M parametru VLA, kas tiek precizēts uz vienas 24 GB kartes. Reālas lerobot 0.6.1 komandas, faktiskās noklusējuma vērtības, lamatas, kas maksāja dienu, un cik maksā viena izpilde.

SmolVLA vienā ekrānā

  • 450 M parametri, aptuveni 100 M no tiem ir plūsmas saskaņošanas darbības eksperts. lerobot apmāca tikai šo ekspertu un saglabā VLM iesaldētu, tāpēc tas ietilpst vienā kartē.
  • LeRobot skaitļošanas ceļvedis norāda, ka smolvla grupa sasniedz aptuveni 10 līdz 16 GB maksimālās VRAM pie 8. partijas ar AdamW. Tāpēc 24 GB.
  • Ieejas punkts ir lerobot-train. 2025. gada jūnija SmolVLA emuāra ieraksts joprojām izdrukā python lerobot/scripts/train.py, ceļu, kas vairs nepastāv. Viss zemāk ir lerobot 0.6.1.
  • Kosinusa grafiks ir iepriekš iestatīts, lai samazinātos par 30000 soļiem. lerobot 0.6.1 to samazina īsākam izpildes laikam un reģistrē, bet nekad nepalielina: standarta 100000 soļu izpilde beidzas pie 2.5e-6 grīdas 70000 soļiem.
  • Trīsdesmit epizodes ir AY-Robots minimums, 24 GB līmenī, kas maksā 1 līdz 3 USD par izpildi, salīdzinot ar 4 līdz 12 USD par 80 GB modeļiem.

Lielākā daļa cilvēku, kas vēlas redzes valodas darbības modeli uz reālas rokas apstājas pie aparatūras robežas. GR00T N1.7 un Pi0.5 ir aptuveni trīs miljardi parametru katrs un prasa A100 80 GB vai H100. Ja jums pieder spēļu dators ar RTX 4090, tas ir ceļa gals. SmolVLA ir izņēmums: 450 M parametri, LeRobot ietvaros, veidots, lai precīzi noregulētu uz vienas patērētāju kartes un darbotos no CPU.

Vispirms manuālais ceļš: instalējiet lerobot, iegūstiet lerobot/smolvla_base kontrolpunktu, palaidiet reālo komandu, lasiet izpildi, kamēr tā notiek. Pēc tam platformas ceļš un tas, kur tas nepalīdz.

Kas ir SmolVLA, skaitļos, ko varat pārbaudīt

SmolVLA ir plūsmas saskaņošana politika, kas pievienota mazam redzes valodu modelim. Pamatā ir SmolVLM2-500M-Video-Instruct; rakstā tiek saglabāti tikai pirmie 16 tā valodu modeļa slāņi, katrs kameras kadrs tiek ierobežots līdz 64 vizuālajiem marķieriem ar pikseļu sajaukšanu, nevis attēlu mozaīku veidošanu, un krusteniskā uzmanība tiek savienota ar pašu uzmanības slāni katrā otrajā blokā. Secinājumu izmaksas bija dizaina ierobežojums, nevis pēcapdoma.

ĪpašībaVērtībaAvots
Kopējie parametriaptuveni 450 Mpaper
Darbības ekspertsaptuveni 100 M, plūsmas saskaņošanapaper
VLM pamatsHuggingFaceTB/SmolVLM2-500M-Video-Instructvlm_model_name
Izmantotie VLM slāņipirmie 16 no valodu modeļanum_vlm_layers = 16
Vizuālie marķieri kadrā64, pikseļu sajaukšana, bez mozaīkaspaper
Iepriekšēja apmācība481 kopienas datu kopas, 22.9 K epizodes, 10.6 M kadri; 200000 soļi ar globālo partiju 256 uz 4 GPUpaper

Veiktspējas rādītāji ir iemesls, kāpēc cilvēki pievēršas 450 M modelim. LIBERO tas vidēji sasniedz 87.3 procentus pret 76.5 OpenVLA ar 7 B un 86.0 robotikas iepriekš apmācītam Pi0 ar 3.3 B; Meta-World tas sasniedz 57.3 pret 47.9. Uz reālas SO-100 aparatūras, daudzuzdevumu apmācība dod 75 procentus uz paņemšanu un novietošanu, 90 uz kraušanu, 70 uz šķirošanu, vidēji 78.3, kur ACT apmācīts uzdevumam vidēji sasniedza 48.3. Tās pašas rindas atrodas blakus katram publicētajam VLA SmolVLA arēnas ierakstā un ACT pret SmolVLA salīdzinājumā.

Godīgā versija par izmēra apgalvojumu

SmolVLA nav labāks par 3 B modeli visās jomās. Paša raksta SO-101 tabula to atklāj: 90 procentu panākumi izplatībā, 50 procenti ārpus tās, uz platformas, uz kuras tas nekad nav ticis iepriekš apmācīts. Tas, ko tas apgalvo un atbalsta, ir tas, ka pret Pi0 tas apmācās aptuveni par 40 procentiem ātrāk, izmantojot 6 reizes mazāk atmiņas.

Kāpēc 24 GB karte ir pareizā izvēle pirmajai palaišanai

LeRobot nodrošina aprēķinu lieluma noteikšanas ceļvedi, kas ir visnoderīgākā lapa repozitorijā šim nolūkam. Tas grupē politikas pēc mugurkaula izmēra un katrai grupai piešķir vienu VRAM apjomu, mērot ar partijas izmēru 8 un AdamW, kas ir lerobot noklusējuma iestatījums. Optimizatora stāvoklis vien pievieno 30 līdz 100 procentus virs vienkāršas tiešās un atpakaļgaitas pārejas, tāpēc šie nav tikai svaru rādītāji.

GrupaPoliciesMaksimālā VRAM (partija 8, AdamW)Sākuma GPU
Viegls BCact, vqbet, tdmpcabout 2 to 6 GBRTX 3060, L4
Difūzijadiffusion, multi_task_ditabout 8 to 14 GBRTX 4070+, L4
Mazs VLAsmolvlaabout 10 to 16 GBRTX 4080+, L4, A10G
Liels VLApi0, pi0_fast, pi05, xvla, wall_xabout 24 to 40 GBA100 40 GB+
Daudzmodālsgroot, eo1about 24 to 40 GBA100 40 GB+

Desmit līdz sešpadsmit gigabaiti ar partijas izmēru 8 ir arguments: 24 GB karte tam der, kā arī datu ielādētājam. AY-Robots izmanto SmolVLA uz RTX 4090 vai jebkuras 24 GB kartes, minimāli 30 epizodes, LeRobot v3.0 dati, 245 ms uz darbības soli. Nomas gadījumā tas ir 2 līdz 5 stundas par 0.30 līdz 0.60 USD stundā, aptuveni 1 līdz 3 USD par precizēšanas palaišanu, salīdzinot ar 4 līdz 12 USD par 80 GB līmeņa GR00T un Pi0.5 nepieciešamību (cenas). Neveiksmīga SmolVLA palaišana ir kafija; neveiksmīga GR00T palaišana – pusdienas.

AY-Robots izmaksu tabula: karte par politiku, izpildes laiks, cena par izpildi, nepieciešamās epizodes
SmolVLA un ACT atrodas 24 GB rindā, trīs 3 B modeļi – 80 GB rindā.
Sākot ar SmolVLA, nevis ar 3 B modeli
Ko jūs iegūstat
  • Der aparatūrai, kas jums jau var piederēt: aptuveni 10 līdz 16 GB ar partiju 8.
  • Izniekota palaišana maksā stundas un viencipara dolārus, tāpēc jūs varat atļauties kļūdīties par datu kopu.
  • Iepriekš apmācīts uz kopienas datu kopām, kas koplietotas ar lerobot tagu, ar reāliem SO-100 un SO-101 rezultātiem.
  • Tas atrodas pašā lerobot: nav piegādātāja repozitorija, un smolvla_base nav ierobežots.
Ko jūs zaudējat
  • 450 M joprojām ir 450 M: ārpus izplatīšanas panākumi samazinās no 90 līdz 50 procentiem dokumenta SO-101 tabulā.
  • Tas prasa LeRobot v3.0 datus; v2.1 ieraksts ir jākonvertē (datu kopa noraidīta v3).
  • 245 ms par darbības soli ir kompetents paņemšanas un novietošanas kontrolieris, nevis reaktīvs.
  • Dokumentācijas piemērs palaiž partiju 64 uz A100; uz 24 GB jūs maināt partiju pret reālo laiku.

0. solis: datu kopa nosaka izpildi, nevis karodziņi

Nekas zemāk nav svarīgs, ja ieraksts ir slikts. LeRobot SmolVLA lapa ir tieša: atsauces datu kopa bija 50 epizodes piecās kuba pozīcijās, 10 katrā pozīcijā, un tas pats uzdevums ar 25 epizodēm tika veikts slikti. Atkārtojums katrai variācijai vispārina, nevis neapstrādāts epizožu skaits. Nekad neesat ierakstījis? Sāciet ar ierakstiet savu pirmo datu kopu ar darbvirsmas klientu, kas raksta LeRobot formātu no teleoperācijas sesijas, vai aizņemieties to no datu kopu direktorija.

  • Vismaz 30 epizodes par AY-Robots, apmēram 50 LeRobot atsauces receptei.
  • Katra variācija, ko sagaidāt izvietošanas laikā, atkārtota vairākas reizes.
  • Viena uzdevuma virkne, identiski uzrakstīta ierakstīšanas un izvietošanas laikā. Modelis ir kondicionēts uz šo tekstu.
  • Fiksētas kameras. Kamera, kas pārvietota starp ierakstīšanu un izvietošanu, ir visbiežākais iemesls, kāpēc tīra zaudējumu līkne dod nekustīgu roku.
  • Aizturēta variācija, ko nekad neesat apmācījis, lai jums būtu kaut kas godīgs, pret ko testēt.
Datu kopas slazds, kas maksā dienu

SmolVLA, Pi0.5 un ACT vēlas LeRobot v3.0. GR00T N1.7 un N1.5 vēlas v2.0 vai v2.1, un to ielādētājs avarē ar v3.0. Ierakstiet vienreiz, plānojiet salīdzināt modeļus vēlāk, un jūs konvertēsiet vienā vai otrā veidā: datu kopa noraidīja v3.

bash
# 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_place
Konvertētājs ir iekļauts lerobot, tāpēc nav nekas papildus jāinstalē. Paketē nav konvertētāja otrā virzienā.

Vairāk par to kā savākt augstas kvalitātes VLA apmācības datus robotu manipulācijai. Īsā versija: 30 līdz 50 tīras vienas uzdevuma epizodes ar apzinātu variāciju pārspēj 200 paviršas trīs uzdevumu epizodes ar starpību, ko neviens hiperparametr neaizver.

Instalēt lerobot 0.6.1

bash
# 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-info
PyPI ceļš. Lai labotu (patch) trenētāju, klonējiet repozitoriju un tā vietā izmantojiet pip install -e ".[smolvla,training]".

Pamata lerobot instalācija ir minimāla un smagas atkarības slēpj aiz papildpakotnēm (extras): smolvla pievieno transformatorus, num2words un accelerate, training datu kopu steku un wandb, core_scripts aparatūras un vizualizācijas atkarības. Operētājsistēmā Linux instalācijas ceļš nosaka arī jūsu CUDA wheel: PyPI noklusējuma ir cu130 wheel ar draivera minimālo versiju 580.65, tāpēc ar vecāku draiveri vispirms instalējiet torch no cu128 indeksa, pēc tam lerobot.

policy.path un policy.type nav viena un tā pati karodziņa

--policy.path=lerobot/smolvla_base ielādē iepriekš apmācīto 450 M kontrolpunktu un precizē to. --policy.type=smolvla veido jaunu SmolVLA, un konfigurācijas noklusējuma load_vlm_weights = False nozīmē, ka tas pat neielādē SmolVLM2 pamata svarus, ja vien jūs to nepieprasāt. Ja kļūdāties, izpilde notiek veiksmīgi, izmaksā tikpat, bet neapgūst neko pārnesamu.

Apmācības palaišana, komanda pa komandai

  1. 1
    Autentificēties pret Hub

    Bāzes kontrolpunkts nāk no Hub, un jūsu datu kopa, visticamāk, arī.

    bash
    hf auth login
  2. 2
    Vienreiz izlasiet opcijas

    Katrs cauruļvada un politikas konfigurācijas lauks ir karodziņš. Pārskatiet to pirms iedziļināšanās avotā.

    bash
    lerobot-train --help
  3. 3
    Sākt precizēšanu

    Dokumentācijas piemērs palaiž 64 partijas uz viena A100; skaitļošanas ceļveža paša A100 40 GB enkurs ir 16 partijas, un 8 ir 24 GB ekvivalents. Šeit apzināti nav plānotāja karodziņa, skatiet zemāk.

    bash
    lerobot-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
  4. 4
    Lasiet žurnāla rindu, ne tikai zudumu

    Ik pēc --log_freq soļiem lerobot izdrukā loss, grdn, lr, updt_s, data_s, smp/s un, uz CUDA, mem_gb. mem_gb norāda, vai partija ietilpst, lr norāda, vai grafiks samazinās, un data_s tuvināšanās updt_s nozīmē, ka datu ielādētājs ir vājā vieta, nevis GPU.

    bash
    # if data_s creeps toward updt_s
    lerobot-train ... --num_workers=8
  5. 5
    Vākt kontrolpunktus, ko varat salīdzināt

    save_freq noklusējuma vērtība ir 20000, tāpēc 20000 soļu palaišana atstāj vienu kontrolpunktu un neko, ar ko to salīdzināt. Iestatiet 2000. Lai publicētu uz Hub, nepieciešams --policy.repo_id.

    bash
    --save_freq=2000 \
    --policy.repo_id=${HF_USER}/smolvla_pick_place \
    --save_checkpoint_to_hub=true
  6. 6
    Atsākt, ja iekārta apstājas

    Norādiet --config_path uz train_config.json blakus kontrolpunktam. lerobot atsakās sākt darbu esošā output_dir, ja vien jūs neatjaunojat, tāpēc jūs nevarat nejauši pārrakstīt palaišanu.

    bash
    lerobot-train \
      --config_path=<path to the saved train_config.json> \
      --resume=true

Karodziņi, kas patiešām maina rezultātu

KarodziņšKo tas daraUz 24 GB
--batch_sizeParaugi vienā solī, aptuveni lineāri VRAM4 to 8
--stepsKopējais optimizatora soļu skaits20000 first pass
--policy.scheduler_decay_stepsKosinusa samazināšanās garums, iepriekš iestatīts 30000Iedarbojas tikai virs 30000
--policy.use_ampJauktā precizitāte; SmolVLA nav dtype laukatrue when memory is tight
--num_workersDatu ielādētāja procesi, noklusējums 4Palieliniet, līdz data_s pārstāj pieaugt
--dataset.eval_splitEpizožu daļa, kas tiek paturēta katram uzdevumam0.1, with --eval_steps
--policy.freeze_vision_encoderSaglabā redzes torni iesaldētutrue on 24 GB
--policy.train_expert_onlyTikai ~100 M ekspertam tiek piešķirti gradientitrue first
Grafiks: ko 0.6.1 apstrādā un ko ne

SmolVLA iepriekš iestata kosinusa grafiku: `scheduler_warmup_steps = 1000`, `scheduler_decay_steps = 30000`, `scheduler_decay_lr = 2.5e-6`. Vecāki padomi liecina, ka 20000 soļu izpilde tādējādi apstājas samazināšanās vidū. Versijā 0.6.1 tas nenotiek: `CosineDecayWithWarmupSchedulerConfig.build()` tiek nodots `--steps`, un zem `num_decay_steps` tas pārskalē abus, iesildīšanos no 1000 uz 666 un samazināšanos no 30000 uz 20000, izdrukājot Auto-scaling LR scheduler. Tas nekad nepārskalē uz augšu: samazināšanās tiek ierobežota ar `min(current_step, decay_steps)`, tāpēc standarta `--steps=100000` atrodas uz grīdas no 30000. soļa līdz beigām, 70 procentus no izpildes laika. Tikai šai garajai pusei joprojām ir nepieciešams `--policy.scheduler_decay_steps`. `lr` kolonna ir vieta, kur pārbaudīt.

Noklusējuma iestatījumi, ko mantojat, ja neko nemaināt

A politikas konfigurācija lerobot ietver savu optimizētāju un plānotāja iepriekšējo iestatījumu, un, ja vien nenorādāt use_policy_training_preset=false, šie iepriekšējie iestatījumi uzvar. Puse no jautājumiem, ko cilvēki uzdod par SmolVLA apmācību, tiek atbildēti ar noklusējuma iestatījumu, par kura esamību viņi nezināja.

IestatījumsNoklusējums lerobot 0.6.1Definēts
chunk_size / n_action_steps50 / 50SmolVLAConfig
num_steps (flow matching denoise)10SmolVLAConfig
optimizer_lr1e-4SmolVLAConfig
scheduler_warmup_steps1000SmolVLAConfig
scheduler_decay_steps30000SmolVLAConfig
scheduler_decay_lr2.5e-6SmolVLAConfig
freeze_vision_encodertrueSmolVLAConfig
train_expert_onlytrueSmolVLAConfig
batch_size / steps8 / 100000TrainPipelineConfig
seed / save_freq / num_workers1000 / 20000 / 4TrainPipelineConfig

Divas rindiņas, kas pārsteidz cilvēkus, ir freeze_vision_encoder un train_expert_only, abas patiesas. Pēc noklusējuma jūs apmācāt aptuveni 100 M parametrus, nevis 450 M, tāpēc tas ietilpst 24 GB. LeRobot paša atsauces izpilde četru GPU H100 klasterī abas iestata uz nepatiesu; uz vienas 24 GB kartes tas pārvērš strādājošu izpildi par atmiņas pārpildes avāriju.

Atmiņas regulators, kura nav

Ceļveža padoms, ja esat ierobežots ar atmiņu, ir samazināt pakešu izmēru un izmantot gradientu akumulāciju, lai atjaunotu efektīvo paketi. Lerobot 0.6.1 nav gradientu akumulācijas: TrainPipelineConfig nav šāda lauka, un virkne neparādās nekur izlaistajā paketē. AY-Robots forma rāda gradientu akumulācijas vērtību 8 priekš SmolVLA un to arī nepiemēro. Jūsu sviras uz 24 GB ir --batch_size, divi iesaldēšanas noklusējumi un --policy.use_amp.

Cik ilgi ilgst izpilde un cik daudz soļu ir pietiekami

LeRobot publicē reālā laika atskaites punktus piecām epohām aptuveni 50 epizožu datu kopā, apmēram 45000 kadru pie 30 fps. Aptuvenie skaitļi, kā norādīts dokumentācijā, bet tie ir atšķirība starp stundas un dienas gaidīšanu.

IestatīšanaPolitikaPakešsReālais laiks
Single L4 / A10G (24 GB)smolvla4apmēram 3 līdz 6 h
Single A100 40 GBsmolvla16apmēram 1 līdz 2 h
4 x H100 80 GB with acceleratesmolvla32apmēram 1 līdz 2 h
Single RTX 4090 / RTX 3090 (24 GB)act8apmēram 30 līdz 60 min
Veiciet epohu aprēķinus pirms izvēlaties --steps

Noteikums ir 5 līdz 10 epohas pāri datu kopai, nevis fiksēts soļu skaits: steps_per_epoch = ceil(total_frames / (num_gpus x batch_size)). Atsauces datu kopā, uz kuru norāda dokumentācija, lerobot/svla_so100_pickplace, metadati ziņo par 50 epizodēm un 19631 kadru: pakešs 8 dod apmēram 2454 soļus uz epohu, tāpēc 20000 soļu ir aptuveni 8 epohas. Samaziniet pakeši uz pusi, un tas pats budžets nopirks pusi epohu, tāpēc atkārtojiet to ikreiz, kad maināt --batch_size.

Pielāgotās politikas palaišana atpakaļ uz rokas

bash
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_place
Uzdevuma virknei ir jāsakrīt ar to, ar kuru ierakstījāt. Modelis ir kondicionēts uz šo tekstu, tāpēc parafrāze ir cita instrukcija.

245 ms par darbības soli ir viegli pārprast: politika izstaro chunk_size = 50 darbības uz priekšu un izpilda n_action_steps = 50 no tām, tāpēc tas, cik bieži jūs maksājat šīs izmaksas, ir atkarīgs no šiem iestatījumiem, nevis no tā, cik bieži servomotori saņem komandu. To darbību sadalīšana gabalos nodrošina, un tāpēc 245 ms modelis var vadīt 30 Hz roku. Atlikušais ir secinājumu latentums gabala beigās.

Mērījums (SmolVLA, reāls SO-100)SinhronaisAsinhronais
Pabeigšanas laiks, paņemšana un novietošana, 10 mēģinājumi13.75 s9.70 s
Paņemšanas un novietošanas cikli fiksētā laika logā919
Veiksmes rādītājs vidēji trīs uzdevumos78.3 %73.3 %

Šo trešo rindu lielākā daļa aprakstu izlaiž. Asinhronā secināšana ir par aptuveni 30 procentiem ātrāka un aptuveni divkāršo caurlaidspēju fiksētā logā, un rakstā veiksmes rādītāji tiek saukti par salīdzināmiem, kas vidēji tā arī ir. Zem tā šķirošana samazinājās no 70 līdz 50 procentiem, savukārt paņemšana un novietošana ieguva 5. lerobot 0.6.1 satur otru sviru tajā pašā binārajā failā: --inference.type=rtc pārslēdz izpildi uz reāllaika sadalīšanu gabalos, ko skripta lietošanas bloks iesaka lēnajiem VLA, Pi0, Pi0.5 un SmolVLA.

Secinājumiem jāatrodas blakus servomotoriem

Vadības cilpa ir no 20 līdz 485 ms par darbības soli atkarībā no modeļa, un publiskā interneta apļveida braucieni papildus pārvērš strādājošu politiku par svārstīgu. Attālā secināšana ir piemērota lēnai paņemšanai un novietošanai, nevis ātrai reaktīvai kustībai: ja uzdevumam nepieciešamas ātras korekcijas, GPU jāatrodas tajā pašā lokālajā tīklā (LAN) kā rokai.

7.4 V, nevis 12 V

Nav saistīts ar apmācības sesiju, taču tas izbeidz vairāk SO-100 projektu nekā jebkurš hiperparametr. Feetech STS3215 servomotori SO-100 un SO-101 darbojas ar 7.4 V; 12 V tos sabojā. LeKiwi apvieno 7.4 V roku ar 12 V bāzi, un tā nepareizais strāvas savienotājs atrod nepareizo ligzdu.

Divi ceļi uz vienu kontrolpunktu

Jums pieder mašīna, vide un atkļūdošana. Vienīgā mākoņa atkarība ir bāzes kontrolpunkta lejupielāde no Hub. Pareizais ceļš, ja vēlaties modificēt politiku, ja dati nevar atstāt jūsu tīklu vai ja karte ir dīkstāvē.

  • Jūs kontrolējat CUDA, draiveri, ffmpeg būvējumu un datu ielādētāju.
  • Jūs varat labot configuration_smolvla.py un pārkvalificēt tajā pašā pēcpusdienā.
  • Jūs maksājat par elektrību un laiku, nevis par katru palaišanu, un pats atkļūdojat TorchCodec.
bash
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=true
Viss manuālais maršruts vienā blokā, lerobot 0.6.1.

Kad SmolVLA ir nepareizā izvēle

Tests, vai SmolVLA bija pareizais pirmais mēģinājums, nav tas, vai tas darbojās, bet gan tas, vai kļūme jums kaut ko pastāstīja. Sasniegt 60 vai 70 procentus, un lielāks modelis ir saprātīgs nākamais ieguldījums: dati satur signālu. Sasniegt 10 procentus, un 3 B modelis, visticamāk, arī sasniegs 10 procentus, ko jūs tikko uzzinājāt par trim dolāriem, nevis divpadsmit.

AY-Robots apmācības matrica: piecas politikas kā rindas, četras robotu rokas kā kolonnas
Katrā šūnā ir savs ceļvedis. SmolVLA ir pa vienam katrai no četrām rokām.

Vērts izlasīt pirms papildu izdevumiem: Pi0.5 pret SmolVLA par lielāku jaudu ar to pašu ideju, un GR00T N1.7 pret SmolVLA NVIDIA maršrutam, abi 80 GB līmenī par 4 līdz 12 USD par vienu palaidienu. Otrs veids, ACT ir lētāka bāzes līnija: 80 M parametri, 20 ms par darbības soli, bez valodu kondicionēšanas. Visi pieci atrodas politiku lapā; arēnā ir 85 modeļi un 332 etalonu rezultāti.

AY-Robots politiku salīdzinājums: parametri, GPU līmenis, latentums, minimālais epizožu skaits
Četri skaitļi, kas nosaka palaidienu.

Pārbaudes saraksts pirms mērogošanas

  1. Vai lr sasniedza savu 2.5e-6 apakšējo robežu? Zem 30000 soļiem lerobot pārmēro samazinājumu un paziņo par to startējot; virs tā, iestatiet --policy.scheduler_decay_steps pats.
  2. Vairāk nekā viens kontrolpunkts un epizodes, kas atdalītas ar --dataset.eval_split, lai novērtējuma zudums kaut ko nozīmētu.
  3. Vai politika vispār kustas? Krītošam zudumam ar nekustīgu roku ir specifiski cēloņi: zudums krīt, politika neko nedara.
  4. Vai tā iztur ainas maiņu? Ja nē: politika darbojas tikai vienā iestatījumā.
  5. Vai pierakstījāt sēklu? lerobot noklusējuma vērtība ir 1000, tāpēc divi neskarti izpildījumi paliek salīdzināmi.
  6. Tikai tad: vairāk epizožu, vairāk variāciju vai lielāks modelis. Šādā secībā.

Par to, kāpēc šie modeļi pastāv un ko tie dara ar valodas ievadi, ir pamatinformācija; vada montāžu caur līdz pirmajam izpildījumam. Lai palaistu pabeigtu kontrolpunktu, ; ja roka nekad neparādās, .

Apmāciet SmolVLA uz savas rokas

Izvēlieties modeli un roku, un ceļvedis sniegs jums precīzas noklusējuma vērtības, datu kopas formātu un izpildes izmaksas. SmolVLA atrodas 24 GB līmenī ar izmaksām no 1 līdz 3 USD par izpildi.

Atvērt apmācību ceļvežus
Vai es tiešām varu precīzi pielāgot SmolVLA uz RTX 4090?

Jā. LeRobot skaitļošanas ceļvedis norāda, ka SmolVLA maksimālā VRAM patēriņš ir aptuveni 10 līdz 16 GB pie partijas lieluma 8 ar AdamW, un uzskaita 24 GB patērētāju kartes kā piemērotas tam. Partijas lielums 64 dokumentācijas piemērā ir savienots ar vienu A100. Atmiņa mērogojas aptuveni lineāri ar partijas lielumu, tāpēc izmantojiet 4 vai 8 un sekojiet līdzi mem_gb.

Cik daudz epizožu man patiešām ir nepieciešams?

AY-Robots nosaka minimumu 30. LeRobot dokumentācija iesaka aptuveni 50 un ziņo, ka 25 tās pašas uzdevuma epizodes darbojās slikti. Struktūra ir svarīgāka par skaitu: atsauces komplekts bija 5 kuba pozīcijas ar 10 epizodēm katrā, un šī atkārtošanās ir tā, kas vispārina.

Dokumentācija saka partijas lielums 64, platforma sūta partijas lielumu 2. Kurš ir pareizs?

Abi, dažādai aparatūrai. Dokumentācijas piemērs izmanto partijas lielumu 64 un norāda aptuveni 4 stundas 20000 soļiem uz viena A100; skaitļošanas ceļveža A100 40 GB atskaites punkts ir partijas lielums 16. Partijas lielums 2 ir tas, ko AY-Robots sūta 24 GB līmenī. Lokāli 4 līdz 8 ir vidusceļš, un ar to mainās epohu aprēķini.

SmolVLA vai ACT pirmajai palaišanai uz SO-100?

ACT, ja uzdevums ir viena atkārtota kustība un vēlaties ātrāko ciklu: 20 ms uz darbības soli, 80 M parametri, bez valodas kondicionēšanas. SmolVLA, ja vēlaties valodas kondicionēšanu, vairākas uzdevumu virknes vienā kontrolpunktā un iepriekš apmācītu bāzi. Abi atrodas 24 GB līmenī, tāpēc izvēle ir uzdevums, nevis budžets.

Vai man ir jāiestata --policy.scheduler_decay_steps?

Tikai tad, ja --steps ir virs 30000. SmolVLA iepriekš iestata kosinusa samazinājumu pie 30000 soļiem, un lerobot 0.6.1 pats to samazina īsākai palaišanai, reģistrējot "Auto-scaling LR scheduler", kad tas notiek. Tas nekad nemērogojas uz augšu, tāpēc noklusējuma --steps=100000 atstāj pēdējos 70000 soļus uz 2.5e-6 grīdas.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started