
Trenirajte Action Chunking Transformer od začetka na SO-100 z lerobot: konfiguracija act, chunk_size in n_action_steps, razpored 100000 korakov, 20 ms sklepanja.
ACT je izjema med politikami SO-100. GR00T N1.7 in N1.5 izhajata iz nvidia/GR00T-N1.7-3B in nvidia/GR00T-N1.5-3B, Pi0.5 iz lerobot/pi05_base. ACT začne iz nič: ni osnovne kontrolne točke, ker ni temeljnega modela. Gre za transformator s približno 80 milijoni parametrov, ki ga trenirate od začetka za eno nalogo, na vaši roki, pod vašo osvetlitvijo.
Zato tudi izvede kontrolni korak v 20 ms, medtem ko 3 milijarde parametrov velik VLA potrebuje 152 do 485 ms in stane 1 do 3 USD na zagon namesto 4 do 12. Ta vodnik opisuje ročno pot z lerobot na SO-100: snemanje, konfiguracija act, kaj chunk_size in n_action_steps nadzorujeta, razpored 100000 korakov, izvedba. Nato isto delo na AY-Robots, vključno s tem, kje platforma ne pomaga.
Kaj morate vedeti
- •ACT se trenira od začetka: brez osnovnega modela, brez predhodnega treniranja, brez jezikovnega vnosa. Ena kontrolna točka, ena naloga.
- •Članek: približno 80 M parametrov, okoli 5 ur na 11 GB RTX 2080 Ti, 0.01 s sklepanja.
- •lerobot defaults: chunk_size 100, n_action_steps 100, batch 8, lr 1e-5, 100000 steps, seed 1000.
- •Na AY-Robots: 20 ms na korak, najhitrejši od petih. Najmanj 50 epizod, LeRobot v3.0, 24 GB kartica, 1 do 3 USD na zagon.
- •Zmaguje pri nalogi, ki jo je že videl, in izgubi v trenutku, ko želite jezikovno pogojenost.
Preverjeno 23. avgusta 2026 proti lerobot 0.6.x: pyproject.toml na main bere version = "0.6.2", najnovejša oznaka v0.6.1, 3. avgust 2026. Vodnik, ki se začne z python lerobot/scripts/train.py je starejši od vstopnih točk konzole lerobot-train, lerobot-record in lerobot-rollout.
Kaj je ACT v resnici
Action Chunking with Transformers izhaja iz članka ALOHA, Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware, avtorjev Zhao, Kumar, Levine in Finn, arXiv, 23. april 2023. Naprava snema pri 50 Hz s štirimi spletnimi kamerami, ki pretakajo 480x640 pri 30 sličicah na sekundo: dve na prijemalih, ena zgoraj, ena spredaj. Povzetek trdi, da je doseženih šest spretnosti z 80 do 90-odstotno uspešnostjo, med njimi odpiranje prozorne posodice za začimbe in vstavljanje baterije, na podlagi 10 minut demonstracij.
Glavni del je bolj uporaben pri načrtovanju snemalne seje: 50 demonstracij na nalogo, razen Thread Velcro pri 100, kar pomeni 10 do 20 minut podatkov in 30 do 60 minut realnega časa, ko so vključene ponastavitve. Uspešnost prav tako ni enotna: Thread Velcro se konča pri 20 odstotkih, Put On Shoe pri 92, Cup Open 84, Prep Tape 64.
| Hiperparameter | Članek ALOHA, Tabela III | lerobot na main |
|---|---|---|
| učna stopnja | 1e-5 | optimizer_lr = 1e-5 |
| velikost paketa | 8 | batch_size = 8, in TrainPipelineConfig not ACTConfig |
| plastni kodirnika / dekodirnika | 4 / 7 | n_encoder_layers = 4 / n_decoder_layers = 1 |
| velikost bloka k | 100 | chunk_size = 100 |
| latentna dimenzija z | manjka; Slika 11 prikazuje projekcijo od 32 do 512 | latent_dim = 32 |
| časovno združevanje | manjka; --temporal_agg v referenčni kodi | temporal_ensemble_coeff = None |
Članek navaja 7 dekoderskih slojev, lerobot jih namerno uporablja 1. Komentar v configuration_act.py pravi, da ima prvotna implementacija napako, kar pomeni, da se uporablja samo prvi sloj, sklicujoč se na težavo 25 v tonyzhaozh/act: glava akcije bere hs[0], tako da se vseh sedem slojev izvede, vendar le prvi izhod doseže napoved. Ta težava je odprta in neodgovorjena od 23. aprila 2024. lerobot se ujema z vedenjem, ki je proizvedlo objavljene rezultate, ne z natisnjenim številom. Povečajte --policy.n_decoder_layers in trenirali boste model, ki ga članek nikoli ni ovrednotil.
Razdelitev akcij na bloke je bistvo ideje
Običajno kloniranje vedenja preslika eno opazovanje v eno akcijo, napake pa se kopičijo: odstopanje postavi roko izven porazdelitve, kar povzroči slabšo akcijo, in trideset korakov kasneje je prijemalo daleč od predmeta. Razdelitev akcij na bloke hkrati napove k akcij in jih izvede, s čimer zmanjša učinkovit horizont za faktor k. Obravnava tudi nadležno posebnost človeških podatkov: teleoperatorji se ustavijo, enostopenjski Markovsko politika ne more modelirati premora, ki je odvisen od prejšnjih dogodkov.
Članek ablira k, namesto da bi ga potrdil. Z izključenim časovnim združevanjem, povprečno čez štiri nastavitve, se uspešnost dvigne z 1 odstotka pri k = 1 na 44 odstotkov pri k = 100, nato pa se zmanjša pri 200 in 400, ko se politika približuje odprtozančnemu nadzoru. Ta krivulja je razlog, zakaj je privzeta vrednost 100.
- chunk_size: koliko prihodnjih dejanj dekoder predvidi na en prehod naprej. Privzeto 100.
- n_action_steps: koliko jih izvedete, preden ponovno pošljete poizvedbo. Privzeto 100, tako da lerobot celoten kos izvede v odprti zanki.
- lerobot preveri
n_action_steps <= chunk_sizein sprožiValueError, če sta vrednosti zamenjani.
Operativno je pomembno razmerje med chunk_size in hitrostjo sličic. Pri 30 sličicah na sekundo, ki jih uporabljajo primeri lerobot SO-100, kos 100 dejanj zajema približno 3,3 sekunde od enega opazovanja. Če naloga zahteva popravek znotraj tega okna, znižajte n_action_steps, ne chunk_size: ohranite dolgo napoved in pogosteje ponovno opazujete.
# predict 100 actions, re-query after 25 of them (about 0.8 s at 30 fps)
lerobot-train \
--dataset.repo_id=${HF_USER}/so100_cube \
--policy.type=act \
--policy.chunk_size=100 \
--policy.n_action_steps=25 \
--policy.device=cudaNastavite --policy.temporal_ensemble_coeff in lerobot zahteva n_action_steps = 1, sicer sproži NotImplementedError. Združevanje poizveduje politiko v vsakem časovnem koraku in združuje prekrivajoče se napovedi za ta časovni korak z utežmi w_i = exp(-m * i), pri čemer najstarejša dobi w_0. Članek navaja 3,3 odstotka za ACT: resnično, a skromno, in pomnoži število sklepanj z dolžino kosa. Cenovno ugodno pri 20 ms na korak, ne pa pri 485 ms. Glejte latenco sklepanja.
Ko ACT premaga temeljni model
Pet učljivih politik druga ob drugi, s številkami, ki jih AY-Robots meri in uporablja za določanje velikosti GPU-ja, ki ga najema.
| Politika | Družina | Parametri | Na korak | Razred GPU-ja | Min. epizode | Nabor podatkov |
|---|---|---|---|---|---|---|
| ACT | Transformator s segmentiranjem, iz nič | ~80 M | 20 ms | RTX 4090 / 24 GB | 50 | LeRobot v3.0 |
| SmolVLA | Kompaktni VLA | ~450 M | 245 ms | RTX 4090 / 24 GB | 30 | LeRobot v3.0 |
| GR00T N1.7 | VLA temelj, difuzijska glava | ~3 B (~40 M trained) | 152 ms | A100 / H100 80 GB | 50 | LeRobot v2.0 or v2.1 |
| GR00T N1.5 | VLA temelj, predhodnik | ~3 B | 165 ms | A100 / H100 80 GB | 50 | LeRobot v2.0 or v2.1 |
| Pi0.5 | VLA z ujemanje tokov, glej ujemanje tokov | ~3 B, PaliGemma backbone | 485 ms | A100 / H100 80 GB | 50 | LeRobot v3.0 |

- 20 ms na korak dejanja, najhitrejši od petih, na 24 GB kartici, ne na A100.
- 1 do 3 USD na zagon v primerjavi s 4 do 12 za razred 3 B.
- Natančen pri delu z veliko stiki, ki ga je videl: 88 in 96 odstotkov pri Slide Ziploc in Slot Battery, kjer prejšnje metode nikoli niso prešle prve faze.
- Brez jezikovnega pogojevanja: niz naloge je prezrt, zato je ena kontrolna točka ena naloga.
- Brez semantičnih predznanj: vse, kar ve, izvira iz vaših 50 epizod.
- Ozka generalizacija: premaknite kamero in že se ponovno usposabljate.
- Tiho odpove: izguba pade, roka ne naredi ničesar, dnevniki ne povedo ničesar.
- Prednost hitrosti pomaga le, če sklepanje poteka ob servo motorjih.
Izberite ACT, ko sta naloga in scena fiksni, gibanje pa mora biti hitro in natančno. Izberite ko mora ena kontrolna točka pokrivati več navodil. Dve strani obravnavata odločitev neposredno: in . Za objavljene meritve uspešnosti, povezuje vsako številko z njenim virom.
Kaj potrebujete, preden začnete
Ena sledilna roka, ena vodilna roka za , vsaj ena kamera, 24 GB GPU. ACT bere samo slike in položaje sklepov. Dve kameri sta optimalni: fiksni sprednji pogled za to, kje so stvari, in zapestna kamera za to, česa se bo dotaknil , kot pri ALOHA.
| Roka | Servomotorji | Napetost | Cena delov | Status |
|---|---|---|---|---|
| SO-100 | Feetech STS3215 | 7.4 V | ~110 do 150 EUR | Polna podpora, referenčna roka |
| SO-101 | Feetech STS3215 | 7.4 V | ~130 do 170 EUR | Polna podpora |
| Koch v1.1 | Dynamixel XL330 / XL430 | 5 V in 12 V napajalni tiri | ~250 do 350 EUR | Združljivo |
| LeKiwi | Feetech STS3215 (roka) | 7.4 V roka, 12 V osnova | ~400 do 500 EUR | Združljivo |
SO-100 in SO-101 uporabljata servomotorje Feetech STS3215 na 7.4 V napajalnem tiru. Napajanje z 12 V jih uniči, dovolj tiho, da ljudje najprej krivijo programsko opremo, in 12 V napajalnik Koch se fizično prilega plošči SO-100. Preverite nalepko. Simptomi: servomotor se ne odziva, roka trza in nato popusti. Glej tudi SO-100 proti SO-101.
Od gole roke do posnetega nabora podatkov
Spodnji potek je lerobot 0.6.x. Preskočite ga, če imate kalibrirano roko in nabor podatkov. Sicer pa vodnik za začetek uporabe SO-100, zajema sestavljanje, navodila za snemanje zajema zajemanje in dokumentacija nabora podatkov format.
- 1Namestite lerobot s pravimi dodatki
Za snemanje so potrebni
core_scripts, za usposabljanjetraining, za Feetech servo motorjefeetech. Python 3.12+.bashconda create -y -n lerobot python=3.12 conda activate lerobot conda install ffmpeg -c conda-forge pip install 'lerobot[core_scripts,training,feetech]' lerobot-info - 2Poiščite USB vrata vsake roke
Zaženite ga z obema rokama priključenima, eno odklopite, ko ste pozvani. V Linuxu boste morda morali odpreti dovoljenja vozlišča.
bashlerobot-find-port # on Linux, if the port exists but is unreadable: sudo chmod 666 /dev/ttyACM0 - 3Nastavite ID-je motorjev in hitrost prenosa
Na SO-100 se to zgodi pred montažo: za razliko od SO-101 so konektorji po sestavi nedosegljivi. Skript preide po vodilu en motor naenkrat od prijemala in zapiše ID-je v EEPROM.
bashlerobot-setup-motors \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 lerobot-setup-motors \ --teleop.type=so100_leader \ --teleop.port=/dev/ttyACM1 - 4Kalibrirajte obe roki
Nastavite vsak sklep na sredino njegovega območja, pritisnite Enter, nato pa vsakega premaknite skozi celotno območje. Kalibracija omogoča, da se politika, usposobljena na eni roki, izvaja na drugi. Ponovno uporabite isti
id.bashlerobot-calibrate \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 \ --robot.id=my_follower lerobot-calibrate \ --teleop.type=so100_leader \ --teleop.port=/dev/ttyACM1 \ --teleop.id=my_leader - 5Teleoperirajte enkrat z vključenimi kamerami
Pravilo lerobota: nalogo bi morali biti sposobni opraviti samo z gledanjem slik kamere. Če ne morete, tudi ACT ne more. To zajame več slabih podatkovnih nizov kot kasnejše odpravljanje napak.
bashlerobot-teleoperate \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 \ --robot.id=my_follower \ --robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, wrist: {type: opencv, index_or_path: 1, width: 640, height: 480, fps: 30} }" \ --teleop.type=so100_leader \ --teleop.port=/dev/ttyACM1 \ --teleop.id=my_leader \ --display_data=true - 6Posnemite 50 epizod
50 je minimum za AY-Robots in kar je ALOHA uporabila na nalogo. lerobot svetuje 10 na lokacijo objekta, fiksne kamere, dosleden prijem.
nkonča epizodo,rponovno posname,qustavi in kodira.bashHF_USER=$(NO_COLOR=1 hf auth whoami | awk -F': *' 'NR==1 {print $2}') lerobot-record \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 \ --robot.id=my_follower \ --robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, wrist: {type: opencv, index_or_path: 1, width: 640, height: 480, fps: 30} }" \ --teleop.type=so100_leader \ --teleop.port=/dev/ttyACM1 \ --teleop.id=my_leader \ --dataset.repo_id=${HF_USER}/so100_cube \ --dataset.num_episodes=50 \ --dataset.single_task="Grab the black cube and put it in the bin" \ --display_data=true

ACT nima predznanja, na katerega bi se lahko zanašal, zato vsaka nedoslednost postane trajna. Tri najdražje: kamera, premaknjena med epizodo 20 in 21, svetloba, ki se je spremenila, ker ste polovico niza posneli popoldne, prijem, izveden na dva načina. Vsak daje popolno krivuljo izgube in roko, ki gre na napačno mesto. Glejte izguba pade, politika ne dela nič, politika deluje samo v eni nastavitvi in zbiranje visokokakovostnih podatkov za usposabljanje.
Pred usposabljanjem predvajajte vsaj pet epizod. Format podatkovnega niza LeRobot shranjuje tokove kamere, stanja sklepov in dejanja na epizodo, in predvajanje potisne ta dejanja nazaj na roko. Če predvajanje ne opravi naloge, podatki tega ne vsebujejo in usposabljanje tega ne bo izumilo.
lerobot-replay \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=my_follower \
--dataset.repo_id=${HF_USER}/so100_cube \
--dataset.episode=0Usposabljanje politike ACT
To je celoten ukaz. Vse, kar je specifično za ACT, je že privzeto, zato stran lerobot ACT priporoča, da začnete z njimi.
lerobot-train \
--dataset.repo_id=${HF_USER}/so100_cube \
--policy.type=act \
--output_dir=outputs/train/act_so100_cube \
--job_name=act_so100_cube \
--policy.device=cuda \
--wandb.enable=true \
--policy.repo_id=${HF_USER}/act_so100_cube--policy.type=act naloži ACTConfig, ki se prilagodi številu motorjev in kamer, ki jih je zabeležil vaš nabor podatkov, tako da nikoli ne deklarirate oblike opazovanja. --wandb.enable=true je neobvezen in vreden truda: krivulja izgube je edini poceni signal v teku s 100000 koraki. Razpored prihaja iz konfiguracije usposabljanja lerobot, ne iz ACTConfig: 100000 korakov, serija 8, seme 1000, kontrolna točka vsakih 20000 korakov, beleženje vsakih 200.
Celoten zagon pusti pet imenikov kontrolnih točk, od 020000 do 100000, plus simbolno povezavo last. Obdržite jih vse: najboljša politika pogosto ni zadnja.
| Nastavitev | Privzeto v lerobot | AY-Robots ACT oblika | Komentar |
|---|---|---|---|
| Velikost serije | 8 | 8 | Znižajte jo najprej, če naletite na omejitve VRAM-a. |
| Učna stopnja | 1e-5 | 1e-5 | Enako kot v ALOHA članku. |
| Največ korakov | 100000 | 100000 | Približno tam, kjer se nabor 50 epizod preneha izboljševati. |
| Akumulacija gradienta | 1 | 1, ne velja | Namesto tega spremenite velikost serije. |
| Seme | 1000 | exposed | Vhodna točka tyro GR00T nima semena; ACT zagoni so tisti, ki jih je mogoče reproducirati. |
| chunk_size / n_action_steps | 100 / 100 | 100 / 100, urejivo | Horizont napovedi in izvedbe. Znižajte drugega, ne prvega. |
| Frekvenca kontrolnih točk | 20000 | not exposed | saveSteps je tukaj gumb GR00T. |
ACT pri velikosti serije 8 z dvema kamerama 640x480 se udobno prilega na 24 GB. Preneha se prilegati, ko ljudje povečajo velikost serije za hitrost ali mu dovajajo okvirje 1920x1080, kot kaže en primer snemanja lerobot. Dva ResNet-18 hrbtenici pri 1080p imata zelo drugačen pomnilniški profil. Znižajte --batch_size na 4, preden najamete večjo kartico. Glejte pomanjkanje pomnilnika pri usposabljanju.
Trajanje: približno 5 ur na 11 GB RTX 2080 Ti v članku, nekaj ur za 100k korakov po strani ACT lerobota, 2 do 5 ur na AY-Robots 24 GB nivoju. Ne prekinjajte prezgodaj. README referenčnega repozitorija pravi, da sunkovita ali prekinjajoča se politika običajno potrebuje le več urjenja, ker se uspeh in gladkost še naprej izboljšujeta tudi po tem, ko se izguba stabilizira: za podatke iz resničnega sveta potrebuje vsaj 5000 epoh, ali 3 do 4-kratno dolžino po stabilizaciji.
lerobot-train \
--config_path=outputs/train/act_so100_cube/checkpoints/last/pretrained_model/train_config.json \
--resume=trueIzvajanje usposobljene politike na roki
Uporaba v produkciji uporablja lerobot-rollout. Ključi kamere se morajo ujemati z zabeleženimi: politika, usposobljena na front in wrist ne bo sprejela cam0 in cam1, in rename_map ne pomaga, saj potrebuje predhodno usposobljeno kontrolno točko. Niz naloge je mogoče izpustiti; lerobotovi lastni primeri ga označujejo kot izpustljivega za ACT.
lerobot-rollout \
--strategy.type=base \
--policy.path=${HF_USER}/act_so100_cube \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=my_follower \
--robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, wrist: {type: opencv, index_or_path: 1, width: 640, height: 480, fps: 30} }" \
--display_data=true \
--duration=60Evalvacija se je prej izvajala z lerobot-record --policy.path=.... V različici 0.6.x je to lerobot-rollout z izbirnikom --strategy.type: base, sentry (snemanje s samodejnim nalaganjem), highlight (obročasti pomnilnik, shranjen s pritiskom na tipko), dagger (človek v zanki) in episodic. Od 23. avgusta 2026 stran z dokumentacijo ACT še vedno navaja "uporabo ukaza lerobot-record" neposredno nad blokom, ki izvaja lerobot-rollout. Sledite ukazu, ne stavku.
Za pripenjanje kontrolne točke namesto končnega modela dodajte --policy.pretrained_revision. To zahteva, da se je zagon začel z --save_checkpoint_to_hub=true, privzeto izklopljeno: brez tega lerobot potisne končni model in nič drugega. Z njim je vsaka kontrolna točka označena s svojim korakom, dopolnjenim z ničlami, tako da --policy.pretrained_revision=060000 obnovi tisto s 60000 koraki. Primerjava s 100000 na pravi roki je najcenejši razpoložljiv eksperiment.
Dve poti do iste kontrolne točke
Vse zgoraj opisano je ročna pot in deluje. Pot preko platforme zamenja nadzor za to, da vam ni treba imeti lastnega GPU-ja ali Python okolja.
- Namestite lerobot 0.6.x z
core_scripts,training,feetech, ffmpeg. - Poiščite vrata, nastavite ID-je motorjev, kalibrirajte obe roki, posnemite 50 epizod.
- Predvajajte nekaj epizod, da potrdite, da podatki vsebujejo nalogo.
- Najemite ali imejte lasten 24 GB GPU, uskladite CUDA in PyTorch, zaženite
lerobot-train --policy.type=act. - Počakajte nekaj ur, nato zaženite
lerobot-rolloutna stroju pri roki.
# the two commands that matter, end to end
lerobot-record --robot.type=so100_follower --robot.port=/dev/ttyACM0 \
--teleop.type=so100_leader --teleop.port=/dev/ttyACM1 \
--dataset.repo_id=${HF_USER}/so100_cube --dataset.num_episodes=50 \
--dataset.single_task="Grab the black cube"
lerobot-train --dataset.repo_id=${HF_USER}/so100_cube --policy.type=act \
--output_dir=outputs/train/act_so100_cube --policy.device=cudaPopoln nadzor: uredite configuration_act.py, dodajte kamero, forknite trenerja. Za raziskave, namesto za izvedbo naloge, je platforma moteča.
- Snemajte z namiznim odjemalcem ali prinesite Hugging Face repo ID ali lokalni nabor podatkov.
- Odprite vodnik ACT na SO-100 in izberite model ter nabor podatkov. Privzete vrednosti so lerobotove; chunkSize, nActionSteps, seed in logFreq so urejivi.
- Zaledje najame GPU, določen z VRAM-om, in piše kontrolne točke v objektno shrambo.
/api/inference/podnato streže politiko lokalnemu robotskemu odjemalcu. Mirovalni nadzornik uniči pod, tako da se nič ne zaračuna tiho.- Enake operacije obstajajo v CLI, MCP strežniku in dokumentaciji za usposabljanje.
Ne popravi vaših podatkov: nabor podatkov s premaknjeno kamero se tukaj usposablja enako slabo, in obrazec tega ne more zaznati. Prav tako ne odpravi problema zakasnitve. Kontrolna zanka je od 20 do 485 ms na korak dejanja, z dodatnimi povratnimi potovanji po javnem internetu, in ACT je najbolj prizadet, ker je njegov korak najkrajši: 60 ms je 12-odstotna upočasnitev pri 485 ms Pi0.5, vendar štirikratni korak pri 20 ms ACT. Oddaljeno sklepanje je primerno za počasno pobiranje in odlaganje, ne pa za hitro reaktivno gibanje.

Kaj gre dejansko narobe
Skoraj nobena težava ni v samem ukazu za učenje. Težave so v stvareh okoli njega, razvrščenih po pogostosti, s katero se pojavijo prvič.
| Simptom | Običajen vzrok | Stran |
|---|---|---|
| lerobot-find-port ne prikaže ničesar | Gonilnik, kabel ali dovoljenja vozlišča | robotova roka ni zaznana |
| Kamera manjka ob času snemanja | Indeks se je spremenil ob ponovnem zagonu, ali dve kameri na enem USB krmilniku | kamera ni zaznana |
| Učenje zavrne nabor podatkov | ACT zahteva v3.0, GR00T potrebuje v2.1 | nabor podatkov zavrnjen kot v3 |
| CUDA zmanjkalo pomnilnika | Velikost paketa povečana, ali 1080p sličice namesto 480p | zmanjkalo pomnilnika med učenjem |
| Izguba izgleda odlično, roka ne dela ničesar | Podatki nimajo naloge, ali se je kamera premaknila | izguba pade, politika ne dela ničesar |
| Sunkano gibanje ali premor sredi epizode | Premalo naučeno, zastoj na meji bloka, ali časovno potekel klic sklepanja | politika zamrzne sredi gibanja |
Dve vrstici si zaslužita poudarek. ACT se uči na LeRobot v3.0, medtem ko se GR00T-ov nalagalnik na njem zruši in potrebuje v2.1, zato lahko nabor podatkov, ki uči ACT, povzroči neuspeh pri zagonu GR00T. In zadnja vrstica ima dva popravka: avtorji ACT na sunkovito gibanje odgovorijo z več učenja, medtem ko z n_action_steps pri 100 se pravi zastoj pojavi na meji bloka, vidna pavza vsakih 3.3 sekunde pri 30 sličicah na sekundo. Še dve stvari, ki jih je dobro vedeti: en sam mrtev sklep je običajno ID servomotorja, ki ni bil nikoli zapisan, in prijemalo, ki se približa, a se nikoli ne zapre pomeni premajhen razpon prijemala v demonstracijah. Celoten indeks: strani z načini napak.
Kaj stane zagon
| Stopnja | Modeli | Čas izvajanja | Cena na uro | Cena na zagon |
|---|---|---|---|---|
| RTX 4090 / 24 GB | ACT, SmolVLA | 2 to 5 hours | 0.30 to 0.60 USD | about 1 to 3 USD |
| A100 80 GB / H100 | GR00T N1.7, GR00T N1.5, Pi0.5 | 3 to 6 hours | 1.20 to 2.00 USD | about 4 to 12 USD |
To je argument za začetek z ACT, tudi če kasneje želite VLA. Neuspešen zagon ACT stane toliko kot kava in vam v nekaj urah pove, ali vaš nabor podatkov vsebuje nalogo. Neuspešen zagon GR00T stane štirikrat več za isto lekcijo. Premik na GR00T N1.7 ali SmolVLA kasneje je sprememba oblike, ne pa ponovna izgradnja. Ozadje: modeli vida, jezika in dejanj, popoln vodnik za SO-100, trenirajte svojo prvo politiko in učenje z imitacijo. Nimate roke? Stran v živo pretaka pravi SO-100, ki ga lahko upravljate brez prijave.
Trenirajte ACT na svojem SO-100
Vodnik za točno to kombinacijo: privzete nastavitve, stopnja GPU-ja in stroški zagona. Izberite nabor podatkov, zaledje najame kartico in zapiše kontrolne točke.
Odpri vodnik za usposabljanjeAli obstaja predhodno usposobljen model ACT, ki ga lahko namesto tega natančno nastavim?▾
Ne. ACT nima osnovnega modela; obstaja šele, ko ga usposobite. To ni pomanjkljivost v orodjih, temveč je to, kar ACT je: članek usposablja politiko od začetka za vsako nalogo. Za kontrolno točko prodajalca uporabite GR00T N1.7 ali Pi0.5.
Koliko epizod resnično potrebujem?▾
50: kar je ALOHA posnela na nalogo (100 za Thread Velcro, najtežjo) in minimum AY-Robots. lerobot svetuje približno 10 na lokacijo predmeta, s fiksnimi kamerami in doslednim prijemom. Petdeset čistih epizod je boljših od sto, kjer se je kamera premikala.
Ali naj spremenim chunk_size iz 100?▾
Ponavadi ne. Ablacija se povzpne z 1 odstotka pri k = 1 na 44 odstotkov pri k = 100 in se nato zmanjša, tako da je 100 blizu vrha. Če se roka predolgo zavezuje, namesto tega znižajte n_action_steps: pri 30 sličicah na sekundo, 25 ponovnih poizvedb vsakih 0,8 sekunde.
Kako dolgo traja usposabljanje in ali ga lahko ustavim prej?▾
Dve do pet ur na 24 GB kartici za 100000 korakov. Kontrolne točke se shranijo vsakih 20000 korakov in --resume=true nadaljuje z zagonom, zato je zgodnje ustavljanje varno. Le ne pri prvem ravnem delu: gladkost se izboljša, ko se izguba stabilizira.
Izguba se je zmanjšala, roka pa še vedno odpove. Kaj zdaj?▾
Skoraj vedno je kriv nabor podatkov. Predvajajte posnete epizode na roki: če predvajanje ne opravi naloge, podatki te ne vsebujejo. Nato preverite, ali se je kaj premaknilo, še posebej kamera. ACT nima predhodnih znanj, zato je premik v epizodi 21 trajen.
Sources
- Zhao, Kumar, Levine, Finn: Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware (ACT), arXiv 2304.13705
- ALOHA / ACT project page
- tonyzhaozh/act, the reference implementation and its training-length advice
- tonyzhaozh/act issue 25: the action head reads only the first decoder layer
- huggingface/lerobot
- lerobot ACTConfig: chunk_size, n_action_steps, n_decoder_layers and the rest of the defaults
- lerobot TrainPipelineConfig: steps, batch_size, seed, save_freq, log_freq, save_checkpoint_to_hub
- lerobot train_utils: zero-padded checkpoint dirs, the last symlink and checkpoint push tagging
- lerobot v0.6.1 release, 3 August 2026
- LeRobot docs: ACT
- LeRobot docs: imitation learning on real robots (record, replay, train, rollout)
- LeRobot docs: SO-100 setup, motor ids and calibration
- LeRobot docs: installation and the optional extras
- Hugging Face blog: LeRobot Community Datasets, the ImageNet of Robotics, When and How?
- TheRobotStudio/SO-ARM100: Standard Open Arm 100
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started