Die SmolVLA modelbladsy op AY-Robots wat parameter telling wys, GPU vlak, inferensie latensie per aksiestap en die minimum episode telling
SmolVLALeRobotVLA OpleidingFyninstellingSO-100

Hoe om SmolVLA op 'n 24 GB GPU op te lei (lerobot 0.6.1)

AY-Robots ResearchAugust 23, 202617 min lees

SmolVLA is 'n 450 M parameter VLA wat fyninstel op 'n enkele 24 GB kaart. Werklike lerobot 0.6.1 opdragte, die werklike verstekwaardes, die slaggate wat 'n dag gekos het, en wat 'n uitvoering kos.

SmolVLA op een skerm

  • 450 M parameters, waarvan ongeveer 100 M 'n vloeipas-aksie-ekspert is. lerobot lei slegs daardie ekspert op en hou die VLM gevries, daarom pas dit op een kaart.
  • LeRobot se rekenaargids plaas die smolvla-groep op ongeveer 10 tot 16 GB piek VRAM by bondel 8 met AdamW. Vandaar 24 GB.
  • Die toegangspunt is lerobot-train. Die Junie 2025 SmolVLA blogpos druk steeds python lerobot/scripts/train.py, 'n pad wat nie meer bestaan nie. Alles hieronder is lerobot 0.6.1.
  • Die kosinus-skedule is vooraf ingestel om oor 30000 stappe te verval. lerobot 0.6.1 skaal dit af vir 'n korter loop en teken dit aan, maar nooit op nie: die standaard 100000 stap loop eindig op die 2.5e-6 vloer vir 70000 stappe.
  • Dertig episodes is die AY-Robots minimum, op 'n 24 GB vlak wat 1 tot 3 USD per loop kos teenoor 4 tot 12 vir die 80 GB modelle.

Die meeste mense wat 'n visie-taal-aksie-model op 'n regte arm wil hê, stop by die hardewarelyn. GR00T N1.7 en Pi0.5 is elk ongeveer drie miljard parameters en benodig 'n A100 80 GB of 'n H100. As wat jy besit 'n speletjie-rekenaar met 'n RTX 4090 is, is dit die einde van die pad. SmolVLA is die uitsondering: 450 M parameters, binne LeRobot, gebou om op een verbruikerskaart te verfyn en vanaf 'n SVE te bedien.

Die handmatige roete eers: installeer lerobot, trek die lerobot/smolvla_base kontrolepunt, voer die regte opdrag uit, lees die loop terwyl dit gebeur. Dan die platformroete, en waar dit nie help nie.

Wat SmolVLA is, in syfers wat jy kan nagaan

SmolVLA is 'n vloeipas beleid wat aan 'n klein visie-taalmodel vasgebout is. Die ruggraat is SmolVLM2-500M-Video-Instruct; die referaat behou slegs die eerste 16 lae van sy taalmodel, beperk elke kamera-raam tot 64 visuele tekens met 'n pixel-skuifel in plaas van beeldteëls, en wissel kruis-aandag af met 'n selfaandaglaag elke tweede blok. Afleidingskoste was 'n ontwerpsbeperking, nie 'n nagedagte nie.

EiendomWaardeBron
Totale parametersongeveer 450 Mreferaat
Aksie-kennerongeveer 100 M, vloeipasreferaat
VLM-ruggraatHuggingFaceTB/SmolVLM2-500M-Video-Instructvlm_model_name
Gebruikte VLM-laeeerste 16 van die taalmodelnum_vlm_layers = 16
Visuele tekens per raam64, pixel-skuifel, geen teëlwerkreferaat
Vooropleiding481 gemeenskapsdataskemas, 22.9 K episodes, 10.6 M rame; 200000 stappe by globale bondel 256 op 4 GPU'sreferaat

Die maatstawwe is hoekom mense die moeite doen met 'n 450 M model. Op LIBERO behaal dit gemiddeld 87.3 persent teenoor 76.5 vir OpenVLA teen 7 B en 86.0 vir 'n robotika-vooropgeleide Pi0 teen 3.3 B; op Meta-World, 57.3 teenoor 47.9. Op regte SO-100 hardeware, lewer multi-taak opleiding 75 persent op optel en plaas, 90 op stapel, 70 op sortering, met 'n gemiddeld van 78.3, waar ACT per taak opgelei gemiddeld 48.3 behaal het. Dieselfde rye staan langs elke gepubliseerde VLA in die SmolVLA arena-inskrywing en die ACT teen SmolVLA vergelyking.

Die eerlike weergawe van die groottestelling

SmolVLA is nie beter as 'n 3 B model in alles nie. Die referaat se eie SO-101 tabel is die bewys: 90 persent sukses in verspreiding, 50 persent daarbuite, op 'n platform waarop dit nooit vooropgelei is nie. Wat dit wel beweer, en ondersteun, is dat dit teenoor Pi0 ongeveer 40 persent vinniger oplei op 6 keer minder geheue.

Waarom 'n 24 GB kaart die regte eerste lopie is

LeRobot verskaf 'n rekenaar-groottegids, die nuttigste bladsy in die repo hiervoor. Dit groepeer beleide volgens ruggraatgrootte en gee een VRAM-omhulsel per groep, gemeet teen bondelgrootte 8 met AdamW, die lerobot-verstek. Optimaliseerderstatus alleen voeg 30 tot 100 persent by oor 'n kaal vorentoe- en agtertoe-pas, so dit is nie slegs-gewigte-syfers nie.

GroepBeleidePiek VRAM (bondel 8, AdamW)Beginner GPU's
Ligte BCact, vqbet, tdmpcabout 2 to 6 GBRTX 3060, L4
Diffusiediffusion, multi_task_ditabout 8 to 14 GBRTX 4070+, L4
Klein VLAsmolvlaabout 10 to 16 GBRTX 4080+, L4, A10G
Groot VLApi0, pi0_fast, pi05, xvla, wall_xabout 24 to 40 GBA100 40 GB+
Multimodaalgroot, eo1about 24 to 40 GBA100 40 GB+

Tien tot sestien gigagrepe teen bondel 8 is die argument: 'n 24 GB kaart pas dit plus die datalaaiër. AY-Robots plaas SmolVLA op die RTX 4090 of enige 24 GB kaart, minimum 30 episodes, LeRobot v3.0 data, 245 ms per aksiestap. Gehuur, dit is 2 tot 5 uur teen 0.30 tot 0.60 USD per uur, ongeveer 1 tot 3 USD vir 'n fyninstelling lopie, teenoor 4 tot 12 USD op die 80 GB vlak wat GR00T en Pi0.5 benodig (pryse). 'n Mislukte SmolVLA-lopie is 'n koffie; 'n mislukte GR00T-lopie, middagete.

AY-Robots kostetabel: kaart per beleid, looptyd, prys per loop, episodes benodig
SmolVLA en ACT sit op die 24 GB ry, die drie 3 B modelle op die 80 GB ry.
Begin met SmolVLA in plaas van 'n 3 B model
Wat jy kry
  • Pas by hardeware wat jy dalk reeds besit: ongeveer 10 tot 16 GB by bondel 8.
  • 'n Vermorste loop kos ure en enkelsyfer dollars, so jy kan bekostig om verkeerd te wees oor die datastel.
  • Vooraf opgelei op gemeenskapsdatastelle gedeel onder die lerobot-etiket, met werklike SO-100 en SO-101 resultate.
  • Dit woon in lerobot self: geen verskaffer-repo, en smolvla_base is nie afgesper nie.
Wat jy opgee
  • 450 M is steeds 450 M: buite-verspreiding sukses daal van 90 tot 50 persent in die referaat se SO-101 tabel.
  • Dit benodig LeRobot v3.0 data; 'n v2.1 opname moet omgeskakel word (datastel verwerp v3).
  • 245 ms per aksiestap is 'n bekwame optel-en-plaas beheerder, nie 'n reaktiewe een nie.
  • Die dokumentasie voorbeeld loop bondel 64 op 'n A100; op 24 GB ruil jy bondel vir werklike tyd.

Stap 0: die datastel besluit die loop, nie die vlae nie

Niks hieronder maak saak as die opname sleg is nie. Die LeRobot SmolVLA bladsy is stomp: die verwysingsdatastel was 50 episodes oor 5 kubusposisies, 10 per posisie, en dieselfde taak by 25 episodes het swak presteer. Herhaling per variasie veralgemeen, rou episode telling doen nie. Nog nooit een opgeneem nie? Begin by neem jou eerste datastel op met die rekenaarkliënt, wat LeRobot-formaat skryf uit 'n tele-operasie sessie, of leen een uit die datastelgids.

  • Minstens 30 episodes op AY-Robots, ongeveer 50 vir die LeRobot verwysingsresep.
  • Elke variasie wat jy by ontplooiing verwag, verskeie kere herhaal.
  • Een taakstring, identies gespel tydens opname en ontplooiing. Die model is gekondisioneer op daardie teks.
  • Vaste kameras. 'n Kamera wat tussen opname en ontplooiing verskuif is die mees algemene rede waarom 'n skoon verlieskurwe 'n beweginglose arm gee.
  • 'n Uitgehoue variasie waarop jy nooit opgelei het nie, sodat jy iets eerlik het om teen te toets.
Die datastelval wat 'n dag kos

SmolVLA, Pi0.5 en ACT benodig LeRobot v3.0. GR00T N1.7 en N1.5 benodig v2.0 of v2.1 en hul laaier val ineen op v3.0. Neem een keer op, beplan om modelle later te vergelyk, en jy sal op een of ander manier omskakel: datastel verwerp 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
Die omskakelaar word binne lerobot verskaf, so daar is niks ekstra om te installeer nie. Daar is geen omskakelaar in die ander rigting in die pakket nie.

Meer hieroor in hoe om hoë-gehalte VLA-opleidingsdata te versamel. Die kort weergawe: 30 tot 50 skoon episodes van een taak met doelbewuste variasie klop 200 slordige episodes van drie, met 'n marge wat geen hiperparameter kan oorbrug nie.

Installeer 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
Die PyPI-pad. Om die opleier te pleister, kloon die repo en gebruik eerder pip install -e ".[smolvla,training]".

Die basis lerobot installasie is skraal en sluit swaar afhanklikhede agter ekstras in: smolvla voeg transformers, num2words en accelerate by, training die datastelstapel en wandb, core_scripts die hardeware- en visualisering-afhanklikhede. Op Linux bepaal die installasiepad ook jou CUDA-wiel: die PyPI-verstek is 'n cu130-wiel met 'n drywervloer van 580.65, so op 'n ouer drywer installeer eers torch vanaf die cu128-indeks, dan lerobot.

policy.path en policy.type is nie dieselfde vlag nie

--policy.path=lerobot/smolvla_base laai die voorafopgeleide 450 M kontrolepunt en verfyn dit. --policy.type=smolvla bou 'n vars SmolVLA, en die konfigurasie-verstek load_vlm_weights = False beteken dit trek nie eers die SmolVLM2-rugsteungewigte af nie, tensy jy vra. Kry dit verkeerd en die loop oefen gelukkig, kos dieselfde, en leer niks oordraagbaars nie.

Die opleidingslopie, opdrag vir opdrag

  1. 1
    Verifieer teen die Hub

    Die basiskontrolepunt kom van die Hub, en jou datastel waarskynlik ook.

    bash
    hf auth login
  2. 2
    Lees die opsies een keer

    Elke veld van die pyplyn- en beleidskonfigurasie is 'n vlag. Skim dit voordat jy in die bron delf.

    bash
    lerobot-train --help
  3. 3
    Begin die fyninstelling

    Die dokumentasievoorbeeld loop bondel 64 op 'n enkele A100; die rekenaargids se eie A100 40 GB anker is bondel 16, en 8 is die 24 GB ekwivalent. Geen skeduleerder-vlag hier met opset nie, sien hieronder.

    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
    Lees die logreël, nie net die verlies nie

    Elke --log_freq stappe druk lerobot verlies, grdn, lr, updt_s, data_s, smp/s en, op CUDA, mem_gb. mem_gb sê of die bondel pas, lr of die skedule verval, en data_s wat updt_s nader, beteken die datalaai is die knelpunt, nie die GPU nie.

    bash
    # if data_s creeps toward updt_s
    lerobot-train ... --num_workers=8
  5. 5
    Versamel kontrolepunte wat jy kan vergelyk

    save_freq verstek na 20000, so 'n 20000 stap-lopie laat een kontrolepunt en niks om dit mee te vergelyk nie. Stel 2000. Om na die Hub te stoot benodig --policy.repo_id.

    bash
    --save_freq=2000 \
    --policy.repo_id=${HF_USER}/smolvla_pick_place \
    --save_checkpoint_to_hub=true
  6. 6
    Hervat as die masjien sterf

    Wys --config_path na die train_config.json langs die kontrolepunt. lerobot weier om in 'n bestaande output_dir te begin tensy jy hervat, so jy kan nie 'n lopie per ongeluk oorskryf nie.

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

Die vlae wat werklik die uitkoms verander

VlagWat dit doenOp 24 GB
--batch_sizeMonsters per stap, rofweg lineêr in VRAM4 to 8
--stepsTotale optimiseerder stappe20000 first pass
--policy.scheduler_decay_stepsKosinus vervallengte, vooraf ingestel 30000Werk slegs bo 30000
--policy.use_ampGemengde presisie; SmolVLA het geen dtype-veld niewaar wanneer geheue beperk is
--num_workersDatalaaierprosesse, verstek 4Verhoog totdat data_s ophou klim
--dataset.eval_splitFraksie van episodes wat per taak uitgehou word0.1, with --eval_steps
--policy.freeze_vision_encoderHou die visietoring gevrieswaar op 24 GB
--policy.train_expert_onlySlegs die ~100 M deskundige kry gradiëntewaar eerste
Die skedule: wat 0.6.1 hanteer, en wat dit nie doen nie

SmolVLA stel 'n kosinus-skedule voor: `scheduler_warmup_steps = 1000`, `scheduler_decay_steps = 30000`, `scheduler_decay_lr = 2.5e-6`. Ouer advies sê 'n 20000-stap-lopie stagneer dus halfpad deur die verval. In 0.6.1 gebeur dit nie: `CosineDecayWithWarmupSchedulerConfig.build()` word `--steps` gegee, en onder `num_decay_steps` herskaal dit beide, opwarming 1000 na 666 en verval 30000 na 20000, en druk Auto-scaling LR scheduler soos dit doen. Dit herskaal nooit opwaarts nie: die verval word vasgeklem met `min(current_step, decay_steps)`, so die standaard `--steps=100000` sit op die vloer van stap 30000 tot die einde, 70 persent van die lopie. Slegs daardie lang kant benodig steeds `--policy.scheduler_decay_steps`. Die `lr`-kolom is waar jy kyk.

Die verstekwaardes wat jy erf as jy niks aanraak nie

'n beleid konfigurasie in lerobot dra sy eie optimiseerder en skeduleerder voorafinstelling, en tensy jy use_policy_training_preset=false stel, wen daardie voorafinstellings. Die helfte van die vrae wat mense oor SmolVLA-opleiding vra, word beantwoord deur 'n verstekwaarde waarvan hulle nie geweet het bestaan nie.

InstellingVerstek in lerobot 0.6.1Gedefinieer in
chunk_size / n_action_steps50 / 50SmolVLAConfig
num_steps (vloeipas-ontruising)10SmolVLAConfig
optimizer_lr1e-4SmolVLAConfig
scheduler_warmup_steps1000SmolVLAConfig
scheduler_decay_steps30000SmolVLAConfig
scheduler_decay_lr2.5e-6SmolVLAConfig
vries_visie_enkodeerdertrueSmolVLAConfig
lei_slegs_deskundige_optrueSmolVLAConfig
batch_size / stappe8 / 100000TrainPipelineConfig
saad / stoor_frekwensie / aantal_werkers1000 / 20000 / 4TrainPipelineConfig

Die twee reëls wat mense verras is freeze_vision_encoder en train_expert_only, albei waar. Uit die boks oefen jy ongeveer 100 M parameters, nie 450 M nie, en daarom pas dit op 24 GB. LeRobot se eie verwysingslopie op 'n vier-GPU H100-groep stel albei op onwaar; op een 24 GB-kaart verander dit 'n werkende lopie in .

Die geheue-knoppie wat nie daar is nie

Die gids se raad wanneer jy geheue-gebonde is, is om die bondelgrootte te verminder en gradiëntakkumulasie te gebruik om die effektiewe bondel te herstel. Daar is geen gradiëntakkumulasie in lerobot 0.6.1 nie: TrainPipelineConfig het geen sodanige veld nie en die string verskyn nêrens in die vrygestelde pakket nie. Die AY-Robots-vorm toon 'n gradiëntakkumulasiewaarde van 8 vir SmolVLA en pas dit ook nie toe nie. Jou hefbome op 24 GB is --batch_size, die twee vries-standaarde, en --policy.use_amp.

Hoe lank die lopie duur, en hoeveel stappe genoeg is

LeRobot publiseer werklike tydankers vir vyf epogte oor 'n ongeveer 50 episode-datastel, ongeveer 45000 rame teen 30 fps. Orde van grootte syfers, sê die dokumente, maar dit is die verskil tussen om 'n uur en 'n dag te verwag.

OpstellingBeleidBondelWerklike tyd
Single L4 / A10G (24 GB)smolvla4about 3 to 6 h
Single A100 40 GBsmolvla16about 1 to 2 h
4 x H100 80 GB with acceleratesmolvla32about 1 to 2 h
Single RTX 4090 / RTX 3090 (24 GB)act8about 30 to 60 min
Doen die epog-berekening voordat jy --steps kies

Die reël is 5 tot 10 epoge oor die datastel, nie 'n vaste stap-telling nie: steps_per_epoch = ceil(total_frames / (num_gpus x batch_size)). Op die verwysingsdatastel waarna die dokumentasie verwys, lerobot/svla_so100_pickplace, rapporteer die metadata 50 episodes en 19631 rame: bondel 8 gee ongeveer 2454 stappe per epog, so 20000 stappe is rofweg 8 epoge. Halveer die bondel en dieselfde begroting koop die helfte van die epoge, so herhaal dit wanneer jy ook al aan --batch_size raak.

Die uitvoering van die fyn-ingestelde beleid terug op die arm

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
Die taakstring moet ooreenstem met die een waarmee jy opgeneem het. Die model is gekondisioneer op daardie teks, so 'n parafrase is 'n ander instruksie.

Die 245 ms per aksiestap is maklik om verkeerd te lees: die beleid gee chunk_size = 50 aksies per vorentoe-pas uit en voer n_action_steps = 50 daarvan uit, so hoe gereeld jy daardie koste betaal, word deur daardie instellings bepaal, nie deur hoe gereeld die servos 'n opdrag kry nie. Dit is wat aksie-segmentering koop, en hoekom 'n 245 ms model 'n 30 Hz arm kan aandryf. Wat oorbly is inferensie-latensie aan die einde van die segment.

Meting (SmolVLA, regte SO-100)SinchroniesAsinchronies
Voltooiingstyd, optel en plaas, 10 proewe13.75 s9.70 s
Optel- en plaas-siklusse in 'n vaste tydvenster919
Sukseskoers gemiddeld oor die drie take78.3 %73.3 %

Daardie derde ry is wat die meeste verslae oorslaan. Asinchroniese inferensie is ongeveer 30 persent vinniger en verdubbel rofweg die deurset in 'n vaste tydvenster, en die referaat noem die sukseskoerse vergelykbaar, wat hulle gemiddeld is. Daaronder het sortering van 70 tot 50 persent gedaal terwyl optel en plaas 5 bygekry het. lerobot 0.6.1 dra die ander hefboom in dieselfde binêre lêer: --inference.type=rtc skakel die uitrol oor na intydse segmentering, wat die skrip se eie gebruiksblok aanbeveel vir die stadige VLA's, Pi0, Pi0.5 en SmolVLA.

Inferensie moet langs die servos wees

Die beheerlus is 20 tot 485 ms per aksiestap afhangende van die model, en openbare-internet heen-en-weer reise bo-op verander 'n werkende beleid in 'n huiwerige een. Afgeleë inferensie is lewensvatbaar vir stadige optel en plaas, nie vinnige reaktiewe beweging nie: as die taak vinnige korreksies benodig, behoort die GPU op dieselfde LAN as die arm te wees.

7.4 V, nie 12 V nie

Buite die onderwerp vir 'n opleidingsessie, maar dit beëindig meer SO-100 projekte as enige hiperparameter. Die Feetech STS3215 servos in die SO-100 en SO-101 loop op 7.4 V; 12 V vernietig hulle. Die LeKiwi meng 'n 7.4 V arm met 'n 12 V basis, wat is hoe die verkeerde loopaansluiting die verkeerde sok vind.

Twee roetes na dieselfde kontrolepunt

Jy besit die masjien, die omgewing en die ontfouting. Die enigste wolk-afhanklikheid is die Hub-aflaai van die basis-kontrolepunt. Die regte roete as jy die beleid wil wysig, as die data nie jou netwerk kan verlaat nie, of as die kaart ledig is.

  • Jy beheer die CUDA-wiel, die drywer, die ffmpeg-bou en die datalaai.
  • Jy kan configuration_smolvla.py patch en dieselfde middag heroplei.
  • Jy betaal in elektrisiteit en tyd, nie per lopie nie, en ontfout TorchCodec self.
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
Die hele handmatige roete in een blok, lerobot 0.6.1.

Wanneer SmolVLA die verkeerde keuse is

Die toets of SmolVLA die regte eerste lopie was, is nie of dit gewerk het nie, maar of die mislukking jou iets geleer het. Bereik 60 of 70 persent en 'n groter model is 'n redelike volgende uitgawe: die data dra 'n sein. Bereik 10 persent en 'n 3 B model sal heel waarskynlik ook 10 persent bereik, wat jy pas vir drie dollar in plaas van twaalf geleer het.

Die AY-Robots opleidingsmatriks: vyf beleide as rye, vier robotarms as kolomme
Elke sel is sy eie gids. SmolVLA het een vir elk van die vier arms.

Die moeite werd om te lees voordat jy meer spandeer: Pi0.5 teen SmolVLA vir meer kapasiteit op dieselfde idee, en GR00T N1.7 teen SmolVLA vir die NVIDIA-roete, beide 80 GB-vlak teen 4 tot 12 USD per lopie. Die ander manier, ACT is die goedkoper basislyn: 80 M parameters, 20 ms per aksiestap, geen taalkondisionering nie. Al vyf is op die beleidsbladsy; die arena het 85 modelle en 332 maatstafresultate.

Die AY-Robots beleidsvergelyking: parameters, GPU-vlak, latensie, minimum episodes
Die vier getalle wat 'n lopie besluit.

Die kontrolelys voordat jy enigiets skaal

  1. Het die lr sy 2.5e-6 vloer bereik? Onder 30000 stappe herskaal lerobot die verval en meld dit by opstart; bo dit, stel --policy.scheduler_decay_steps self in.
  2. Meer as een kontrolepunt, en episodes wat uitgehou is met --dataset.eval_split sodat die eval-verlies iets beteken.
  3. Beweeg die beleid enigsins? 'n Dalende verlies met 'n roerlose arm het spesifieke oorsake: verlies daal, beleid doen niks.
  4. Oorleef dit 'n verandering van toneel? Indien nie: beleid werk net in een opstelling.
  5. Het jy die saad neergeskryf? lerobot stel by verstek op 1000, so twee onveranderde lopies bly vergelykbaar.
  6. Eers dan: meer episodes, meer variasie, of 'n groter model. In daardie volgorde.

Vir hoekom hierdie modelle bestaan en wat hulle met die taal-invoer doen, is die agtergrond; loop montering deur na die eerste lopie. Vir die voltooide kontrolepunt, ; as die arm nooit verskyn nie, .

Lei SmolVLA op jou eie arm op

Kies die model en die arm en die gids gee jou die presiese verstekwaardes, die datastelformaat en wat die lopie kos. SmolVLA is op die 24 GB-vlak teen 1 tot 3 USD per lopie.

Maak die opleidingsgidse oop
Kan ek regtig SmolVLA op 'n RTX 4090 fyninstel?

Ja. LeRobot se rekenaargids plaas SmolVLA op ongeveer 10 tot 16 GB piek VRAM by batch 8 met AdamW en lys 24 GB verbruikerskaarte as gemaklik daarvoor. Die batch 64 in die dokumentasievoorbeeld is gepaar met 'n enkele A100. Geheue skaal ongeveer lineêr met batch, so gebruik 4 of 8 en hou mem_gb dop.

Hoeveel episodes het ek werklik nodig?

AY-Robots stel die minimum op 30. Die LeRobot-dokumentasie beveel ongeveer 50 aan en rapporteer dat 25 episodes van dieselfde taak swak presteer het. Struktuur is belangriker as getal: die verwysingsstel was 5 kubusposisies met 10 episodes elk, en daardie herhaling is wat veralgemeen.

Die dokumentasie sê batch 64, die platform stuur batch 2. Watter een is reg?

Albei, vir verskillende hardeware. Die dokumentasievoorbeeld gebruik batch 64 en noem ongeveer 4 uur vir 20000 stappe op 'n enkele A100; die rekenaargids se A100 40 GB anker is batch 16. Batch 2 is wat AY-Robots op die 24 GB-vlak stuur. Plaaslik is 4 tot 8 die middel, en die epog-rekenkunde verander daarmee.

SmolVLA of ACT vir 'n eerste lopie op 'n SO-100?

ACT as die taak een herhalende beweging is en jy die vinnigste lus wil hê: 20 ms per aksiestap, 80 M parameters, geen taalversorging nie. SmolVLA as jy taalversorging, verskeie taakstringe in een kontrolepunt, en 'n vooraf-opgeleide basis wil hê. Albei pas op die 24 GB-vlak, so die keuse is die taak, nie die begroting nie.

Moet ek --policy.scheduler_decay_steps instel?

Slegs wanneer --steps bo 30000 is. SmolVLA stel die kosinusverval vooraf op 30000 stappe, en lerobot 0.6.1 skaal dit self af vir 'n korter lopie, en log "Auto-scaling LR scheduler" wanneer dit gebeur. Dit skaal nooit op nie, so die standaard --steps=100000 laat die laaste 70000 stappe op die 2.5e-6 vloer.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started