
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.
| Sifa | Thamani | Chanzo |
|---|---|---|
| Jumla ya vigezo | kama 450 M | paper |
| Mtaalamu wa vitendo | kama 100 M, flow matching | paper |
| Utu mkuu wa VLM | HuggingFaceTB/SmolVLM2-500M-Video-Instruct | vlm_model_name |
| Tabaka za VLM zilizotumika | 16 za kwanza za modeli ya lugha | num_vlm_layers = 16 |
| Tokeni za kuona kwa kila fremu | 64, pixel shuffle, no tiling | paper |
| Mafunzo ya awali | seti data 481 za jamii, vipindi 22.9 K, fremu 10.6 M; hatua 200000 kwa kundi la kimataifa 256 kwenye GPU 4 | paper |
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.
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.
| Kikundi | Sera | Kilele cha VRAM (kundi 8, AdamW) | GPU za Kuanzia |
|---|---|---|---|
| BC Nyepesi | act, vqbet, tdmpc | kama 2 hadi 6 GB | RTX 3060, L4 |
| Usambazaji | diffusion, multi_task_dit | kama 8 hadi 14 GB | RTX 4070+, L4 |
| VLA Ndogo | smolvla | kama 10 hadi 16 GB | RTX 4080+, L4, A10G |
| VLA Kubwa | pi0, pi0_fast, pi05, xvla, wall_x | kama 24 hadi 40 GB | A100 40 GB+ |
| Njia Nyingi | groot, eo1 | kama 24 hadi 40 GB | A100 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.

- 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.
- 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.
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.
# 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_placeZaidi 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
# 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-infoUsakinishaji 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=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
- 1Thibitisha utambulisho dhidi ya Hub
Kituo cha ukaguzi cha msingi kinatoka kwenye Hub, na huenda seti yako ya data pia.
bashhf auth login - 2Soma chaguzi mara moja
Kila sehemu ya usanidi wa bomba na sera ni bendera. Ipitie haraka kabla ya kuchunguza chanzo.
bashlerobot-train --help - 3Anzisha 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.
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 - 4Soma 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 - 5Kusanya 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 - 6Endelea 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.
bashlerobot-train \ --config_path=<path to the saved train_config.json> \ --resume=true
Bendera zinazobadilisha matokeo
| Bendera | Inachofanya | Kwenye 24 GB |
|---|---|---|
| --batch_size | Sampuli kwa kila hatua, takriban sawia na VRAM | 4 to 8 |
| --steps | Jumla ya hatua za kiboreshaji | 20000 first pass |
| --policy.scheduler_decay_steps | Urefu wa kuoza kwa kosine, umewekwa awali 30000 | Huathiri tu juu ya 30000 |
| --policy.use_amp | Usahihi mchanganyiko; SmolVLA haina sehemu ya dtype | true wakati kumbukumbu ni ndogo |
| --num_workers | Michakato ya dataloader, chaguomsingi 4 | Ongeza hadi data_s iache kupanda |
| --dataset.eval_split | Sehemu ya vipindi vilivyotengwa kwa kila kazi | 0.1, with --eval_steps |
| --policy.freeze_vision_encoder | Huacha mnara wa maono umeganda | true on 24 GB |
| --policy.train_expert_only | Mtaalamu wa ~100 M pekee ndiye anayepata gradients | true first |
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.
| Mpangilio | Chaguomsingi katika lerobot 0.6.1 | Imefafanuliwa katika |
|---|---|---|
| chunk_size / n_action_steps | 50 / 50 | SmolVLAConfig |
| num_steps (upunguzaji kelele wa kulinganisha mtiririko) | 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 |
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 .
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.
| Usanidi | Sera | Kundi | Muda halisi |
|---|---|---|---|
| L4 / A10G Moja (GB 24) | smolvla | 4 | kama saa 3 hadi 6 |
| A100 Moja GB 40 | smolvla | 16 | kama saa 1 hadi 2 |
| H100 80 GB nne zenye kuongeza kasi | smolvla | 32 | kama saa 1 hadi 2 |
| RTX 4090 / RTX 3090 Moja (GB 24) | act | 8 | kama dakika 30 hadi 60 |
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
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_placeMuda 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) | Sawazisha | Isiyosawazisha |
|---|---|---|
| Muda wa kukamilisha, chukua na weka, majaribio 10 | 13.75 s | 9.70 s |
| Mizunguko ya kuchukua na kuweka katika dirisha la muda maalum | 9 | 19 |
| Kiwango cha mafanikio kilichopatikana kwa wastani wa kazi tatu | 78.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.
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.
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.
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=trueUendeshaji huo huo nyuma ya fomu: unachagua modeli na seti ya data, backend inakodisha GPU kwa VRAM inayohitajika, inaendesha mkufunzi na kuandika kwenye hifadhi ya vitu. Seti ya data inaweza kutoka kwa kitambulisho cha repo cha Hugging Face, ya umma, au mashine yako. Anza kwa , au matrix kwenye .
| Sehemu | Chaguo-msingi jukwaa hutuma kwa SmolVLA | Kumbuka |
|---|---|---|
| ukubwa wa bechi | 2 | Hifadhi kwa kiwango cha 24 GB |
| kiwango cha kujifunza | 1e-4 | Mpangilio wa lerobot |
| hatua za juu | 20000 | Uendeshaji wa rejea katika nyaraka za LeRobot |
| mkusanyiko wa gradient | 8 | Imeonyeshwa kwenye fomu, haijatumika |
| vifundo vya ziada | seed, logFreq | Seed hufanya uendeshaji kurudiwa |
- Saa 2 hadi 5 kwenye kiwango cha 24 GB, takriban 1 hadi 3 USD kwa kila uendeshaji.
- Shughuli zile zile kutoka terminal kwenye /cli na kutoka kwa mawakala wa AI kwenye /mcp.
- Pods za inference hubeba mlinzi asiye na kazi, hivyo pod iliyosahaulika hujiharibu yenyewe badala ya kutoza bili kimya kimya.
- Bado huna mkono? /live huonyesha SO-100 halisi unayoweza kuendesha bila kujisajili.
Kazi iliyokwama kwenye foleni ni dalili ya soko la papo hapo, si hitilafu: . Hatua kwa hatua: na .
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.

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.

Orodha ya kukagulia kabla ya kuongeza ukubwa wa kitu chochote
- Je,
lrilifikia 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_stepsmwenyewe. - Zaidi ya sehemu moja ya kukagulia (checkpoint), na vipindi vilivyotengwa na
--dataset.eval_splitili upotevu wa tathmini uwe na maana. - Je, sera inasonga hata kidogo? Upotevu unaoanguka na mkono usiosonga una sababu maalum: upotevu unaanguka, sera haifanyi chochote.
- Je, inastahimili mabadiliko ya eneo? Ikiwa sivyo: sera inafanya kazi katika usanidi mmoja tu.
- Uliandika nambari ya mbegu (seed)? lerobot huweka chaguo-msingi kuwa 1000, kwa hivyo majaribio mawili yasiyoguswa yanabaki kulinganishwa.
- 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 mafunzoJe, 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.
Sources
- SmolVLA: Mfumo wa Maono-Lugha-Kitendo kwa Roboti za Gharama Nafuu na Zenye Ufanisi
- SmolVLA: Mfumo Bora wa Maono-Lugha-Kitendo (blogu ya Hugging Face)
- Kadi ya mfumo wa lerobot/smolvla_base
- Nyaraka za LeRobot: SmolVLA
- Nyaraka za LeRobot: Mwongozo wa Vifaa vya Kompyuta kwa Mafunzo ya LeRobot
- Nyaraka za LeRobot: Usakinishaji
- Nyaraka za LeRobot: LeRobotDataset v3.0 na kigeuzi cha v2.1
- Nyaraka za LeRobot: Utoaji Hitimisho Usiolingana
- lerobot v0.6.1: configuration_smolvla.py
- lerobot v0.6.1: TrainPipelineConfig
- lerobot v0.6.1: CosineDecayWithWarmupSchedulerConfig
- lerobot v0.6.1: lerobot_rollout.py (mikakati na utoaji hitimisho wa RTC)
- lerobot v0.6.1: pyproject.toml (nyongeza na sehemu za kuingilia za koni)
- lerobot kwenye PyPI
- seti ya data ya lerobot/svla_so100_pickplace (vipindi 50, fremu 19631, 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