Ukurasa wa mfumo wa SmolVLA kwenye AY-Robots ukionyesha idadi ya vigezo, kiwango cha GPU, kuchelewa kwa utabiri kwa kila hatua ya kitendo na idadi ya chini kabisa ya vipindi
SmolVLALeRobotMafunzo ya VLAKurekebishaSO-100

Jinsi ya Kufunza SmolVLA kwenye GPU ya GB 24 (lerobot 0.6.1)

AY-Robots ResearchAugust 23, 202617 min kusoma

SmolVLA ni VLA yenye vigezo milioni 450 ambayo hurekebishwa kwenye kadi moja ya GB 24. Amri halisi za lerobot 0.6.1, mipangilio chaguomsingi halisi, mitego inayoweza kukugharimu siku nzima, na gharama ya uendeshaji.

SmolVLA kwa mtazamo mmoja

  • Vigezo milioni 450, kati ya hivyo, milioni 100 ni mtaalamu wa hatua ya kulinganisha mtiririko. lerobot hufunza mtaalamu huyo pekee na huweka VLM ikiwa imegandishwa, ndiyo maana inatoshea kwenye kadi moja.
  • Mwongozo wa kompyuta wa LeRobot unaweka kundi la smolvla kwenye takriban GB 10 hadi 16 za VRAM ya kilele kwenye kundi la 8 na AdamW. Kwa hivyo GB 24.
  • Sehemu ya kuingilia ni lerobot-train. Chapisho la blogu la SmolVLA la Juni 2025 bado linaonyesha python lerobot/scripts/train.py, njia ambayo haipo tena. Kila kitu hapa chini ni lerobot 0.6.1.
  • Ratiba ya kosini imewekwa awali kupungua kwa hatua 30000. lerobot 0.6.1 hupunguza hiyo kwa ajili ya uendeshaji mfupi na kuiweka kwenye kumbukumbu, lakini kamwe haiongezi: uendeshaji wa hatua 100000 wa kawaida huishia kwenye kiwango cha 2.5e-6 kwa hatua 70000.
  • Vipindi thelathini ni kiwango cha chini cha AY-Robots, kwenye kiwango cha GB 24 kinachogharimu USD 1 hadi 3 kwa kila uendeshaji dhidi ya 4 hadi 12 kwa mifumo ya GB 80.

Watu wengi wanaotaka mfumo wa lugha ya kuona na vitendo kwenye mkono halisi huishia kwenye mstari wa maunzi. GR00T N1.7 na Pi0.5 zina takriban vigezo bilioni tatu kila moja na zinahitaji A100 80 GB au H100. Ikiwa unachomiliki ni Kompyuta ya michezo ya kubahatisha yenye RTX 4090, basi huo ndio mwisho wa safari. SmolVLA ni ubaguzi: vigezo milioni 450, ndani ya LeRobot, iliyojengwa kwa ajili ya kurekebisha vizuri kwenye kadi moja ya mtumiaji na kuhudumia kutoka kwa CPU.

Njia ya mwongozo kwanza: sakinisha lerobot, vuta lerobot/smolvla_base kituo cha ukaguzi, endesha amri halisi, soma uendeshaji wakati unafanyika. Kisha njia ya jukwaa, na pale ambapo haisaidii.

SmolVLA ni nini, kwa namba unazoweza kuzithibitisha

SmolVLA ni ulinganifu wa mtiririko sera iliyounganishwa kwenye modeli ndogo ya lugha ya kuona. Utu wake mkuu ni SmolVLM2-500M-Video-Instruct; karatasi hiyo inatumia tu tabaka 16 za kwanza za modeli yake ya lugha, inaweka kikomo kila fremu ya kamera kwa tokeni 64 za kuona kwa kutumia mpangilio wa pikseli badala ya kuweka vigae vya picha, na inachanganya umakini mtambuka na tabaka la umakini binafsi kila kizuizi cha pili. Gharama ya utambuzi ilikuwa kizuizi cha muundo, si wazo la baadaye.

SifaThamaniChanzo
Jumla ya vigezokama 450 Mpaper
Mtaalamu wa vitendokama 100 M, flow matchingpaper
Utu mkuu wa VLMHuggingFaceTB/SmolVLM2-500M-Video-Instructvlm_model_name
Tabaka za VLM zilizotumika16 za kwanza za modeli ya lughanum_vlm_layers = 16
Tokeni za kuona kwa kila fremu64, pixel shuffle, no tilingpaper
Mafunzo ya awaliseti data 481 za jamii, vipindi 22.9 K, fremu 10.6 M; hatua 200000 kwa kundi la kimataifa 256 kwenye GPU 4paper

Vigezo vya utendaji ndio sababu watu wanajishughulisha na modeli ya 450 M. Kwenye LIBERO ina wastani wa asilimia 87.3 dhidi ya 76.5 kwa OpenVLA ya 7 B na 86.0 kwa Pi0 iliyefunzwa awali kwa roboti ya 3.3 B; kwenye Meta-World, 57.3 dhidi ya 47.9. Kwenye maunzi halisi ya SO-100, mafunzo ya kazi nyingi hutoa asilimia 75 kwenye kuchukua na kuweka, 90 kwenye kupanga, 70 kwenye kupanga, wastani wa 78.3, ambapo ACT iliyefunzwa kwa kila kazi ilikuwa na wastani wa 48.3. Safu hizo hizo zipo kando ya kila VLA iliyochapishwa kwenye kiingilio cha uwanja wa SmolVLA na ulinganisho wa ACT dhidi ya SmolVLA.

Toleo la kweli la dai la ukubwa

SmolVLA si bora kuliko modeli ya 3 B katika kila kitu. Jedwali la SO-101 la karatasi yenyewe ndilo linaloonyesha: asilimia 90 ya mafanikio katika usambazaji, asilimia 50 nje yake, kwenye jukwaa ambalo halijawahi kufunzwa awali. Kinachodai na kuunga mkono ni kwamba dhidi ya Pi0 inafunzwa kwa kasi ya karibu asilimia 40 kwa kutumia kumbukumbu mara 6 chini.

Kwa nini kadi ya 24 GB ndiyo chaguo sahihi kwa mara ya kwanza

LeRobot inatoa mwongozo wa ukubwa wa kompyuta, ukurasa muhimu zaidi katika hazina kwa hili. Inapanga sera kulingana na ukubwa wa uti wa mgongo na inatoa bahasha moja ya VRAM kwa kila kikundi, iliyopimwa kwa ukubwa wa kundi 8 na AdamW, chaguo-msingi la lerobot. Hali ya kiboreshaji pekee huongeza asilimia 30 hadi 100 zaidi ya upitishaji wa mbele na nyuma, kwa hivyo hizi si takwimu za uzito pekee.

KikundiSeraKilele cha VRAM (kundi 8, AdamW)GPU za Kuanzia
BC Nyepesiact, vqbet, tdmpckama 2 hadi 6 GBRTX 3060, L4
Usambazajidiffusion, multi_task_ditkama 8 hadi 14 GBRTX 4070+, L4
VLA Ndogosmolvlakama 10 hadi 16 GBRTX 4080+, L4, A10G
VLA Kubwapi0, pi0_fast, pi05, xvla, wall_xkama 24 hadi 40 GBA100 40 GB+
Njia Nyingigroot, eo1kama 24 hadi 40 GBA100 40 GB+

Gigabaiti kumi hadi kumi na sita kwa kundi 8 ndio hoja: kadi ya 24 GB inatosha hiyo pamoja na kipakiaji data. AY-Robots huweka SmolVLA kwenye RTX 4090 au kadi yoyote ya 24 GB, kiwango cha chini 30 vipindi, LeRobot v3.0 data, 245 ms kwa hatua ya kitendo. Ikikodishwa, hiyo ni saa 2 hadi 5 kwa 0.30 hadi 0.60 USD kwa saa, kama 1 hadi 3 USD kwa urekebishaji mzuri uendeshaji, dhidi ya 4 hadi 12 USD kwenye kiwango cha 80 GB ambacho GR00T na Pi0.5 zinahitaji (bei). Uendeshaji wa SmolVLA ulioshindwa ni kahawa; uendeshaji wa GR00T ulioshindwa, chakula cha mchana.

Jedwali la gharama za AY-Robots: kadi kwa sera, muda wa kuendesha, bei kwa kila uendeshaji, vipindi vinavyohitajika
SmolVLA na ACT ziko kwenye safu ya 24 GB, miundo mitatu ya 3 B iko kwenye safu ya 80 GB.
Kuanza na SmolVLA badala ya modeli ya 3 B
Unachopata
  • Inafaa vifaa ambavyo unaweza kuwa navyo tayari: takriban 10 hadi 16 GB kwa batch 8.
  • Uendeshaji uliopotea hugharimu masaa na dola chache, kwa hivyo unaweza kumudu kukosea kuhusu seti ya data.
  • Imefunzwa awali kwenye seti za data za jamii zilizoshirikiwa chini ya lebo ya lerobot, na matokeo halisi ya SO-100 na SO-101.
  • Inakaa ndani ya lerobot yenyewe: hakuna repo ya muuzaji, na smolvla_base haijafungwa.
Unachoacha
  • 450 M bado ni 450 M: mafanikio nje ya usambazaji hushuka kutoka asilimia 90 hadi 50 katika jedwali la SO-101 la karatasi.
  • Inataka data ya LeRobot v3.0; rekodi ya v2.1 inabidi ibadilishwe (seti ya data imekataliwa v3).
  • 245 ms kwa kila hatua ya kitendo ni kidhibiti chenye uwezo cha kuchukua na kuweka, si kile kinachoitikia haraka.
  • Mfano wa nyaraka huendesha batch 64 kwenye A100; kwenye 24 GB unabadilisha batch kwa muda halisi.

Hatua ya 0: seti ya data huamua uendeshaji, si bendera

Hakuna chochote hapa chini kinachofaa ikiwa rekodi ni mbaya. Ukurasa wa LeRobot SmolVLA uko wazi: seti ya data ya marejeleo ilikuwa vipindi 50 katika nafasi 5 za mchemraba, 10 kwa kila nafasi, na kazi hiyo hiyo kwa vipindi 25 ilifanya vibaya. Marudio kwa kila tofauti huleta ujumlishaji, idadi ghafi ya vipindi haifanyi hivyo. Hujawahi kurekodi? Anza kwa rekodi seti yako ya kwanza ya data na programu ya kompyuta, ambayo huandika umbizo la LeRobot kutoka kwa uendeshaji wa mbali kipindi, au azima moja kutoka saraka ya seti za data.

  • Angalau vipindi 30 kwenye AY-Robots, takriban 50 kwa mapishi ya marejeleo ya LeRobot.
  • Kila tofauti unayotarajia wakati wa utekelezaji, ikirudiwa mara kadhaa.
  • Mfuatano mmoja wa kazi, uliotamkwa sawasawa wakati wa kurekodi na utekelezaji. Mfumo unategemea maandishi hayo.
  • Kamera zisizohamishika. Kamera iliyohamishwa kati ya kurekodi na utekelezaji ndiyo sababu ya kawaida inayofanya mkondo safi wa hasara kutoa mkono usio na mwendo.
  • Tofauti iliyowekwa kando ambayo haujawahi kufundisha, ili uwe na kitu cha kweli cha kujaribu dhidi yake.
Mtego wa data unaogharimu siku

SmolVLA, Pi0.5 na ACT zinahitaji LeRobot v3.0. GR00T N1.7 na N1.5 zinahitaji v2.0 au v2.1 na kipakiaji chao huanguka kwenye v3.0. Rekodi mara moja, panga kulinganisha mifumo baadaye, na utabadilisha kwa njia moja au nyingine: dataset rejected 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
Kigeuzi kinakuja ndani ya lerobot, kwa hivyo hakuna kitu cha ziada cha kusakinisha. Hakuna kigeuzi katika mwelekeo mwingine kwenye kifurushi.

Zaidi kuhusu hili katika jinsi ya kukusanya data ya mafunzo ya VLA yenye ubora wa juu. Kwa kifupi: vipindi 30 hadi 50 safi vya kazi moja na tofauti za makusudi hupita vipindi 200 visivyo makini vya tatu, kwa tofauti ambayo hakuna kipimo cha ziada kinachoweza kufunga.

Sakinisha 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
Njia ya PyPI. Ili kurekebisha mkufunzi, nakili hazina na utumie pip install -e ".[smolvla,training]" badala yake.

Usakinishaji wa msingi wa lerobot ni mwepesi na huzuia vitegemezi vizito nyuma ya nyongeza: smolvla huongeza transformers, num2words na accelerate, training safu ya data na wandb, core_scripts vitegemezi vya maunzi na taswira. Kwenye Linux, njia ya usakinishaji pia huamua gurudumu lako la CUDA: chaguo-msingi la PyPI ni gurudumu la cu130 lenye kiwango cha chini cha kiendeshi cha 580.65, kwa hivyo kwenye kiendeshi cha zamani sakinisha torch kutoka kwenye faharisi ya cu128 kwanza, kisha lerobot.

policy.path na policy.type si bendera sawa

--policy.path=lerobot/smolvla_base hupakia sehemu ya ukaguzi ya 450 M iliyefunzwa awali na kuirekebisha. --policy.type=smolvla huunda SmolVLA mpya, na chaguo-msingi la usanidi load_vlm_weights = False inamaanisha haipakii hata uzito wa uti wa mgongo wa SmolVLM2 isipokuwa ukiomba. Ukikosea, mchakato utafunzwa kwa furaha, utagharimu sawa, na hautajifunza chochote kinachoweza kuhamishwa.

Mchakato wa mafunzo, amri kwa amri

  1. 1
    Thibitisha utambulisho dhidi ya Hub

    Kituo cha ukaguzi cha msingi kinatoka kwenye Hub, na huenda seti yako ya data pia.

    bash
    hf auth login
  2. 2
    Soma chaguzi mara moja

    Kila sehemu ya usanidi wa bomba na sera ni bendera. Ipitie haraka kabla ya kuchunguza chanzo.

    bash
    lerobot-train --help
  3. 3
    Anzisha urekebishaji mzuri

    Mfano wa nyaraka unaendesha kundi 64 kwenye A100 moja; nanga ya A100 40 GB ya mwongozo wa kompyuta ni kundi 16, na 8 ni sawa na 24 GB. Hakuna bendera ya kipanga ratiba hapa kwa makusudi, angalia hapa chini.

    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
    Soma mstari wa logi, sio hasara tu

    Kila hatua za --log_freq lerobot huchapisha hasara, grdn, lr, updt_s, data_s, smp/s na, kwenye CUDA, mem_gb. mem_gb inasema kama kundi linafaa, lr kama ratiba inapungua, na data_s ikikaribia updt_s inamaanisha kuwa dataloader ndio kikwazo, sio GPU.

    bash
    # if data_s creeps toward updt_s
    lerobot-train ... --num_workers=8
  5. 5
    Kusanya vituo vya ukaguzi unavyoweza kulinganisha

    save_freq inatokana na 20000, kwa hivyo mchakato wa hatua 20000 huacha kituo kimoja cha ukaguzi na hakuna cha kulinganisha nacho. Weka 2000. Kusukuma kwenye Hub kunahitaji --policy.repo_id.

    bash
    --save_freq=2000 \
    --policy.repo_id=${HF_USER}/smolvla_pick_place \
    --save_checkpoint_to_hub=true
  6. 6
    Endelea ikiwa mashine itakufa

    Elekeza --config_path kwenye train_config.json karibu na kituo cha ukaguzi. lerobot inakataa kuanza kwenye output_dir iliyopo isipokuwa kama unaendelea, kwa hivyo huwezi kufuta mchakato kimakosa.

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

Bendera zinazobadilisha matokeo

BenderaInachofanyaKwenye 24 GB
--batch_sizeSampuli kwa kila hatua, takriban sawia na VRAM4 to 8
--stepsJumla ya hatua za kiboreshaji20000 first pass
--policy.scheduler_decay_stepsUrefu wa kuoza kwa kosine, umewekwa awali 30000Huathiri tu juu ya 30000
--policy.use_ampUsahihi mchanganyiko; SmolVLA haina sehemu ya dtypetrue wakati kumbukumbu ni ndogo
--num_workersMichakato ya dataloader, chaguomsingi 4Ongeza hadi data_s iache kupanda
--dataset.eval_splitSehemu ya vipindi vilivyotengwa kwa kila kazi0.1, with --eval_steps
--policy.freeze_vision_encoderHuacha mnara wa maono umegandatrue on 24 GB
--policy.train_expert_onlyMtaalamu wa ~100 M pekee ndiye anayepata gradientstrue first
Ratiba: kile 0.6.1 inashughulikia, na kile isichoshughulikia

SmolVLA huweka ratiba ya kosini: `scheduler_warmup_steps = 1000`, `scheduler_decay_steps = 30000`, `scheduler_decay_lr = 2.5e-6`. Ushauri wa zamani unasema kuwa mchakato wa hatua 20000 hukwama katikati ya kushuka. Katika 0.6.1 sivyo: `CosineDecayWithWarmupSchedulerConfig.build()` inapewa `--steps`, na chini ya `num_decay_steps` inarekebisha zote mbili, kuongeza joto 1000 hadi 666 na kushuka 30000 hadi 20000, ikichapisha Auto-scaling LR scheduler inavyofanya. Haiwahi kurekebisha juu: kushuka kunabanwa na `min(current_step, decay_steps)`, hivyo `--steps=100000` ya kawaida inakaa chini kutoka hatua ya 30000 hadi mwisho, asilimia 70 ya mchakato. Ni upande huo mrefu tu bado unahitaji `--policy.scheduler_decay_steps`. Safu ya `lr` ndipo unapoangalia.

Mipangilio chaguomsingi unayorithi usipogusa chochote

Usanidi wa katika lerobot hubeba mipangilio yake ya kipekee ya optimizer na scheduler, na isipokuwa ukiweka use_policy_training_preset=false mipangilio hiyo chaguomsingi hushinda. Nusu ya maswali ambayo watu huuliza kuhusu mafunzo ya SmolVLA hujibiwa na mipangilio chaguomsingi ambayo hawakujua ilikuwepo.

MpangilioChaguomsingi katika lerobot 0.6.1Imefafanuliwa katika
chunk_size / n_action_steps50 / 50SmolVLAConfig
num_steps (upunguzaji kelele wa kulinganisha mtiririko)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

Mistari miwili inayowashangaza watu ni freeze_vision_encoder na train_expert_only, zote zikiwa kweli. Bila marekebisho, unafunza takriban vigezo milioni 100, si milioni 450, ndiyo maana inatosha kwenye GB 24. Jaribio la LeRobot lenyewe kwenye kundi la H100 lenye GPU nne hubadilisha zote kuwa 'false'; kwenye kadi moja ya GB 24 hiyo hubadilisha jaribio linalofanya kazi kuwa .

Kifundo cha kumbukumbu kisichopo

Ushauri wa mwongozo unapokabiliwa na kikomo cha kumbukumbu ni kupunguza ukubwa wa kundi (batch size) na kutumia mkusanyiko wa gradient (gradient accumulation) kurejesha kundi halisi. Hakuna mkusanyiko wa gradient katika lerobot 0.6.1: TrainPipelineConfig haina sehemu kama hiyo na mfuatano huo hauonekani popote kwenye kifurushi kilichotolewa. Fomu ya AY-Robots inaonyesha thamani ya mkusanyiko wa gradient ya 8 kwa SmolVLA na haitumii pia. Vifaa vyako vya kudhibiti kwenye GB 24 ni --batch_size, mipangilio miwili ya 'freeze' chaguomsingi, na --policy.use_amp.

Muda wa jaribio, na hatua ngapi zinatosha

LeRobot huchapisha viashiria vya muda halisi kwa vipindi vitano (epochs) juu ya seti ya data ya takriban vipindi 50, takriban fremu 45000 kwa 30 fps. Takwimu za ukubwa wa agizo, nyaraka zinasema, lakini ndizo tofauti kati ya kutarajia saa moja na siku nzima.

UsanidiSeraKundiMuda halisi
L4 / A10G Moja (GB 24)smolvla4kama saa 3 hadi 6
A100 Moja GB 40smolvla16kama saa 1 hadi 2
H100 80 GB nne zenye kuongeza kasismolvla32kama saa 1 hadi 2
RTX 4090 / RTX 3090 Moja (GB 24)act8kama dakika 30 hadi 60
Fanya hesabu za enzi kabla ya kuchagua --steps

Kanuni ni enzi 5 hadi 10 juu ya seti ya data, si idadi maalum ya hatua: steps_per_epoch = ceil(total_frames / (num_gpus x batch_size)). Kwenye seti ya data ya marejeleo ambayo nyaraka zinaelekeza, lerobot/svla_so100_pickplace, metadata inaripoti vipindi 50 na fremu 19631: kundi la 8 linatoa takriban hatua 2454 kwa kila enzi, kwa hivyo hatua 20000 ni takriban enzi 8. Punguza kundi kwa nusu na bajeti hiyo hiyo itanunua nusu ya enzi, kwa hivyo fanya upya hili kila unapogusa --batch_size.

Kuendesha sera iliyoboreshwa kwenye mkono

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
Mfuatano wa kazi lazima ulingane na ule uliorekodi nao. Modeli inategemea maandishi hayo, kwa hivyo ufafanuzi tofauti ni maelekezo tofauti.

Muda wa 245 ms kwa kila hatua ya kitendo ni rahisi kukosea: sera hutoa chunk_size = 50 vitendo kwa kila pasi ya mbele na kutekeleza n_action_steps = 50 kati yake, hivyo ni mara ngapi unalipa gharama hiyo huwekwa na vidhibiti hivyo, si kwa jinsi servos zinavyopokea amri mara kwa mara. Hiyo ndiyo faida ya ugawaji vitendo, na kwa nini modeli ya 245 ms inaweza kuendesha mkono wa 30 Hz. Kinachobaki ni kuchelewa kwa utambuzi mwishoni mwa kipande.

Kipimo (SmolVLA, SO-100 halisi)SawazishaIsiyosawazisha
Muda wa kukamilisha, chukua na weka, majaribio 1013.75 s9.70 s
Mizunguko ya kuchukua na kuweka katika dirisha la muda maalum919
Kiwango cha mafanikio kilichopatikana kwa wastani wa kazi tatu78.3 %73.3 %

Safu hiyo ya tatu ndiyo ambayo maandishi mengi huruka. Utambuzi usiosawazisha ni takriban asilimia 30 haraka zaidi na huongeza mara mbili uwezo wa kupitisha data katika dirisha maalum, na karatasi inasema viwango vya mafanikio vinafanana, ambavyo kwa wastani ndivyo. Chini yake, upangaji ulipungua kutoka asilimia 70 hadi 50 wakati kuchukua na kuweka kuliongezeka kwa 5. lerobot 0.6.1 hubeba kigezo kingine katika binary hiyo hiyo: --inference.type=rtc hubadilisha utekelezaji kuwa ugawaji wa muda halisi, ambao kizuizi cha matumizi cha skripti kinapendekeza kwa VLAs polepole, Pi0, Pi0.5 na SmolVLA.

Utambuzi lazima ukae karibu na servos

Mzunguko wa udhibiti ni kati ya 20 hadi 485 ms kwa kila hatua ya kitendo kulingana na modeli, na safari za kwenda na kurudi za intaneti ya umma huongeza na kugeuza sera inayofanya kazi kuwa isiyo na uhakika. Utambuzi wa mbali unawezekana kwa kuchukua na kuweka polepole, si kwa mwendo wa haraka wa kuitikia: ikiwa kazi inahitaji marekebisho ya haraka, GPU inapaswa kuwa kwenye LAN moja na mkono.

7.4 V, si 12 V

Si mada ya mafunzo, lakini inamaliza miradi mingi ya SO-100 kuliko hyperparameter yoyote. Servos za Feetech STS3215 katika SO-100 na SO-101 hufanya kazi kwa 7.4 V; 12 V huziharibu. LeKiwi huchanganya mkono wa 7.4 V na msingi wa 12 V, ndivyo jeki isiyo sahihi hupata soketi isiyo sahihi.

Njia mbili za kufikia kituo kimoja cha ukaguzi

Unamiliki mashine, mazingira na utatuzi. Utegemezi pekee wa wingu ni upakuaji wa Hub wa kituo cha ukaguzi cha msingi. Njia sahihi ikiwa unataka kurekebisha sera, ikiwa data haiwezi kuondoka kwenye mtandao wako, au ikiwa kadi haina kazi.

  • Unadhibiti gurudumu la CUDA, kiendeshi, ujenzi wa ffmpeg na kipakiaji data.
  • Unaweza kurekebisha configuration_smolvla.py na kufanya mafunzo upya mchana huohuo.
  • Unalipa kwa umeme na muda, si kwa kila uendeshaji, na unatatua TorchCodec mwenyewe.
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
Njia nzima ya mwongozo katika kizuizi kimoja, lerobot 0.6.1.

Wakati SmolVLA si chaguo sahihi

Jaribio la kama SmolVLA ilikuwa jaribio sahihi la kwanza si kama ilifanya kazi, bali kama kushindwa kulikufundisha kitu. Fikia asilimia 60 au 70 na modeli kubwa zaidi ni matumizi yanayofaa yanayofuata: data hubeba ishara. Fikia asilimia 10 na modeli ya 3 B kuna uwezekano mkubwa pia itafikia asilimia 10, jambo ambalo umejifunza kwa dola tatu badala ya kumi na mbili.

AY-Robots training matrix: sera tano kama safu, mikono minne ya roboti kama nguzo
Kila seli ni mwongozo wake yenyewe. SmolVLA ina moja kwa kila mkono kati ya minne.

Inafaa kusoma kabla ya kutumia zaidi: Pi0.5 against SmolVLA kwa uwezo zaidi juu ya wazo lilelile, na GR00T N1.7 against SmolVLA kwa njia ya NVIDIA, zote zikiwa katika kiwango cha 80 GB kwa 4 hadi 12 USD kwa kila jaribio. Njia nyingine, ACT ndio msingi wa bei nafuu: vigezo 80 M, 20 ms kwa kila hatua ya kitendo, hakuna masharti ya lugha. Zote tano zinapatikana kwenye ukurasa wa sera; uwanja ina modeli 85 na matokeo 332 ya vigezo.

AY-Robots policies comparison: vigezo, kiwango cha GPU, muda wa kusubiri, vipindi vya chini kabisa
Namba nne zinazoamua jaribio.

Orodha ya kukagulia kabla ya kuongeza ukubwa wa kitu chochote

  1. Je, lr ilifikia kiwango chake cha chini cha 2.5e-6? Chini ya hatua 30000, lerobot hurekebisha upya upungufu na kusema hivyo wakati wa kuanza; juu yake, weka --policy.scheduler_decay_steps mwenyewe.
  2. Zaidi ya sehemu moja ya kukagulia (checkpoint), na vipindi vilivyotengwa na --dataset.eval_split ili upotevu wa tathmini uwe na maana.
  3. Je, sera inasonga hata kidogo? Upotevu unaoanguka na mkono usiosonga una sababu maalum: upotevu unaanguka, sera haifanyi chochote.
  4. Je, inastahimili mabadiliko ya eneo? Ikiwa sivyo: sera inafanya kazi katika usanidi mmoja tu.
  5. Uliandika nambari ya mbegu (seed)? lerobot huweka chaguo-msingi kuwa 1000, kwa hivyo majaribio mawili yasiyoguswa yanabaki kulinganishwa.
  6. Ndipo tu: vipindi zaidi, tofauti zaidi, au modeli kubwa zaidi. Kwa mpangilio huo.

Kwa nini modeli hizi zipo na zinafanya nini na pembejeo ya lugha, ndio msingi; huendesha mkusanyiko kupitia hadi kwenye jaribio. Kwa sehemu ya kukagulia iliyokamilika, ; ikiwa mkono haujawahi kuonekana, .

Funza SmolVLA kwenye mkono wako mwenyewe

Chagua modeli na mkono na mwongozo utakupa mipangilio chaguomsingi kamili, umbizo la seti ya data na gharama za uendeshaji. SmolVLA inakaa kwenye kiwango cha 24 GB kwa 1 hadi 3 USD kwa kila uendeshaji.

Fungua miongozo ya mafunzo
Je, ninaweza kweli kurekebisha SmolVLA kwenye RTX 4090?

Ndio. Mwongozo wa kompyuta wa LeRobot unaweka SmolVLA kwenye takriban 10 hadi 16 GB ya VRAM ya kilele kwenye batch 8 na AdamW na unaorodhesha kadi za watumiaji za 24 GB kama zinazofaa kwa hilo. Batch 64 katika mfano wa nyaraka imeunganishwa na A100 moja. Kumbukumbu huongezeka takriban kwa mstari na batch, kwa hivyo tumia 4 au 8 na uangalie mem_gb.

Ni vipindi vingapi hasa ninahitaji?

AY-Robots huweka kiwango cha chini kwenye 30. Nyaraka za LeRobot zinapendekeza takriban 50 na zinaripoti kwamba vipindi 25 vya kazi hiyo hiyo vilifanya vibaya. Muundo ni bora kuliko idadi: seti ya marejeleo ilikuwa nafasi 5 za mchemraba na vipindi 10 kila moja, na marudio hayo ndiyo yanayojumuisha.

Nyaraka zinasema batch 64, jukwaa linatuma batch 2. Kipi ni sahihi?

Zote mbili, kwa vifaa tofauti. Mfano wa nyaraka unatumia batch 64 na unataja takriban saa 4 kwa hatua 20000 kwenye A100 moja; nanga ya A100 40 GB ya mwongozo wa kompyuta ni batch 16. Batch 2 ndicho AY-Robots hutuma kwenye kiwango cha 24 GB. Kwenye eneo husika 4 hadi 8 ni katikati, na hesabu ya epoch hubadilika nayo.

SmolVLA au ACT kwa mara ya kwanza kwenye SO-100?

ACT ikiwa kazi ni mwendo mmoja unaorudiwa na unataka kitanzi cha haraka zaidi: 20 ms kwa hatua ya kitendo, vigezo 80 M, hakuna masharti ya lugha. SmolVLA ikiwa unataka masharti ya lugha, nyuzi kadhaa za kazi katika sehemu moja ya ukaguzi, na msingi uliopatiwa mafunzo. Zote mbili ziko kwenye kiwango cha 24 GB, kwa hivyo chaguo ni kazi, sio bajeti.

Je, ninahitaji kuweka --policy.scheduler_decay_steps?

Ni pale tu --steps inapozidi 30000. SmolVLA huweka mapema upungufu wa kosini kwenye hatua 30000, na lerobot 0.6.1 huipunguza yenyewe kwa ajili ya kukimbia kifupi, ikiandika "Auto-scaling LR scheduler" inapofanya hivyo. Haiwahi kuongezeka, kwa hivyo --steps=100000 ya kawaida huacha hatua 70000 za mwisho kwenye sakafu ya 2.5e-6.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started