
Trenirajte Action Chunking Transformer od nule na SO-100 sa lerobot: act konfiguracija, chunk_size i n_action_steps, raspored od 100000 koraka, 20 ms inferencija.
ACT je izuzetak među SO-100 politikama. GR00T N1.7 i N1.5 počinju od nvidia/GR00T-N1.7-3B i nvidia/GR00T-N1.5-3B, Pi0.5 od lerobot/pi05_base. ACT počinje od nule: nema osnovne kontrolne tačke, jer to nije temeljni model. To je transformator sa otprilike 80 miliona parametara koji trenirate od nule za jedan zadatak, na vašoj ruci, pod vašim osvjetljenjem.
To je i razlog zašto izvršava kontrolni korak za 20 ms, dok VLA sa 3 milijarde parametara treba 152 do 485 ms, i košta 1 do 3 USD po pokretanju umjesto 4 do 12. Ovaj vodič opisuje ručni put sa lerobot na SO-100: snimanje, act konfiguracija, šta chunk_size i n_action_steps kontrolišu, raspored od 100000 koraka, izvođenje. Zatim isti posao na AY-Robots, uključujući i gdje platforma ne pomaže.
Šta trebate znati
- •ACT se trenira od nule: nema osnovnog modela, nema pretreniranja, nema jezičkog unosa. Jedna kontrolna tačka, jedan zadatak.
- •Rad: oko 80 M parametara, oko 5 sati na 11 GB RTX 2080 Ti, 0.01 s inferencija.
- •lerobot podrazumijevane postavke: chunk_size 100, n_action_steps 100, batch 8, lr 1e-5, 100000 koraka, seed 1000.
- •Na AY-Robots: 20 ms po koraku, najbrži od pet. Minimum 50 epizoda, LeRobot v3.0, kartica od 24 GB, 1 do 3 USD po pokretanju.
- •Pobjeđuje na zadatku koji je vidio, a gubi u trenutku kada želite jezičko uslovljavanje.
Provjereno 23. augusta 2026. u odnosu na lerobot 0.6.x: pyproject.toml na main čita version = "0.6.2", najnoviji tag v0.6.1, 3. august 2026. Tutorijal koji počinje sa python lerobot/scripts/train.py prethodi ulaznim tačkama konzole lerobot-train, lerobot-record i lerobot-rollout.
Šta je ACT zapravo
Action Chunking with Transformers dolazi iz ALOHA rada, Učenje fine-zrnate bimanualne manipulacije sa niskobudžetnim hardverom, autora Zhao, Kumar, Levine i Finn, arXiv, 23. april 2023. Oprema snima na 50 Hz sa četiri web kamere koje strimuju 480x640 pri 30 fps: dvije na hvataljkama, jedna odozgo, jedna sprijeda. Apstrakt tvrdi šest vještina sa 80 do 90 posto uspjeha, uključujući otvaranje prozirne posude za začine i umetanje baterije, iz 10 minuta demonstracija.
Glavni tekst je korisniji pri planiranju sesije snimanja: 50 demonstracija po zadatku, osim Thread Velcro sa 100, što je 10 do 20 minuta podataka i 30 do 60 minuta stvarnog vremena kada se uračunaju resetovanja. Uspjeh također nije ujednačen: Thread Velcro završava sa 20 posto, Put On Shoe sa 92, Cup Open 84, Prep Tape 64.
| Hiperparametar | ALOHA rad, Tabela III | lerobot na main |
|---|---|---|
| stopa učenja | 1e-5 | optimizer_lr = 1e-5 |
| veličina paketa | 8 | batch_size = 8, in TrainPipelineConfig not ACTConfig |
| slojevi enkodera / dekodera | 4 / 7 | n_encoder_layers = 4 / n_decoder_layers = 1 |
| veličina bloka k | 100 | chunk_size = 100 |
| latentna dimenzija z | odsutno; Sl. 11 prikazuje projekciju 32 na 512 | latent_dim = 32 |
| vremensko ansambliranje | odsutno; --temporal_agg u referentnom kodu | temporal_ensemble_coeff = None |
Rad navodi 7 dekoderskih slojeva, lerobot isporučuje 1, namjerno. Komentar u configuration_act.py kaže da originalna implementacija ima grešku što znači da se koristi samo prvi sloj, navodeći issue 25 in tonyzhaozh/act: glava akcije čita hs[0], tako da svih sedam slojeva radi, ali samo prvi izlaz dostiže predviđanje. To pitanje je otvoreno i bez odgovora od 23. aprila 2024. lerobot se podudara sa ponašanjem koje je proizvelo objavljene rezultate, a ne sa odštampanim brojem. Povećajte --policy.n_decoder_layers i treniraćete model koji rad nikada nije evaluirao.
Grupisanje akcija je cijela ideja
Obično kloniranje ponašanja preslikava jedno opažanje na jednu akciju, a greške se nagomilavaju: odstupanje stavlja ruku van distribucije, proizvodeći lošiju akciju, i trideset koraka kasnije hvataljka nije ni blizu objekta. Grupisanje akcija predviđa k akcija odjednom i izvršava ih, smanjujući efektivni horizont za faktor k. Takođe rješava smetnju specifičnu za ljudske podatke: teleoperateri pauziraju, a jednokoračna Markovsko politika ne može modelirati pauzu koja zavisi od onoga što je prethodilo.
Rad ablatira k umjesto da ga tvrdi. Sa isključenim vremenskim ansamblom, prosječno preko četiri postavke, uspjeh raste sa 1 percent pri k = 1 na 44 percent pri k = 100, zatim se smanjuje na 200 i 400 kako se politika približava kontroli otvorenog kruga. Ta kriva je razlog zašto je podrazumijevana vrijednost 100.
- chunk_size: koliko budućih akcija dekoder predviđa po prolazu unaprijed. Podrazumijevano 100.
- n_action_steps: koliko ih izvršavate prije ponovnog upita. Podrazumijevano 100, tako da lerobot pokreće cijeli blok u otvorenoj petlji.
- lerobot provjerava valjanost
n_action_steps <= chunk_sizei podižeValueErrorako je obrnuto.
Ono što je operativno važno je chunk_size podijeljen sa brzinom sličica. Pri 30 fps koje koriste lerobotovi SO-100 primjeri, blok od 100 akcija obuhvata oko 3.3 sekunde od jednog opažanja. Ako zadatak zahtijeva korekciju unutar tog prozora, smanjite n_action_steps, a ne chunk_size: zadržavate dugu predikciju i ponovo opažate češće.
# 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=cudaPostavite --policy.temporal_ensemble_coeff i lerobot zahtijeva n_action_steps = 1, inače podiže NotImplementedError. Ansambliranje postavlja upite politici u svakom vremenskom koraku i spaja preklapajuće predikcije za taj vremenski korak sa težinama w_i = exp(-m * i), pri čemu najstarija dobija w_0. Rad to navodi kao 3.3 posto za ACT: stvarno, ali skromno, i umnožava broj inferencija dužinom bloka. Pristupačno pri 20 ms po koraku, ne pri 485 ms. Pogledajte kašnjenje inferencije.
Kada ACT nadmaši temeljni model
Pet politika koje se mogu trenirati, jedna pored druge, sa brojevima koje AY-Robots mjeri i koristi za dimenzioniranje GPU-a koji iznajmljuje.
| Politika | Porodica | Parametri | Po koraku | GPU nivo | Min. epizoda | Skup podataka |
|---|---|---|---|---|---|---|
| ACT | Transformator za segmentiranje, od nule | ~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, difuziona glava | ~3 B (~40 M trained) | 152 ms | A100 / H100 80 GB | 50 | LeRobot v2.0 or v2.1 |
| GR00T N1.5 | VLA temelj, prethodnik | ~3 B | 165 ms | A100 / H100 80 GB | 50 | LeRobot v2.0 or v2.1 |
| Pi0.5 | VLA sa usklađivanjem toka, pogledajte usklađivanje toka | ~3 B, PaliGemma backbone | 485 ms | A100 / H100 80 GB | 50 | LeRobot v3.0 |

- 20 ms po koraku akcije, najbrži od pet, na kartici od 24 GB, ne na A100.
- 1 do 3 USD po pokretanju u poređenju sa 4 do 12 za klasu 3 B.
- Precizan kod rada sa mnogo kontakta koji je video: 88 i 96 procenata na Slide Ziploc i Slot Battery, gde prethodne metode nikada nisu prošle prvu fazu.
- Bez jezičkog uslovljavanja: niz zadataka se ignoriše, tako da je jedna kontrolna tačka jedan zadatak.
- Bez semantičkih predznanja: sve što zna potiče iz vaših 50 epizoda.
- Usko generalizovanje: pomerite kameru i ponovo trenirate.
- Tiho ne uspeva: gubitak opada, ruka ne radi ništa, logovi ne govore ništa.
- Prednost u brzini pomaže samo ako se inferencija nalazi pored servoa.
Odaberite ACT kada su zadatak i scena fiksni, a kretanje mora biti brzo i precizno. Odaberite model vizije-jezika-akcije kada jedna kontrolna tačka mora pokriti nekoliko instrukcija. Dve stranice obrađuju odluku direktno: ACT vs SmolVLA i ACT vs GR00T N1.7. Za objavljene benchmarke, unos u ACT arenu povezuje svaki broj sa njegovim izvorom.
Šta vam je potrebno pre nego što počnete
Jedna prateća ruka, jedna vodeća ruka za teleoperaciju, najmanje jedna kamera, GPU od 24 GB. ACT čita samo slike i pozicije zglobova. Dve kamere su idealne: fiksni prednji pogled za to gde se stvari nalaze, kamera na zglobu za ono što će krajnji efektor dodirnuti, kao na ALOHA-i.
| Ruka | Servomotori | Napon | Cijena dijelova | Status |
|---|---|---|---|---|
| SO-100 | Feetech STS3215 | 7.4 V | ~110 to 150 EUR | Puna podrška, referentna ruka |
| SO-101 | Feetech STS3215 | 7.4 V | ~130 to 170 EUR | Puna podrška |
| Koch v1.1 | Dynamixel XL330 / XL430 | 5 V and 12 V rails | ~250 to 350 EUR | Kompatibilno |
| LeKiwi | Feetech STS3215 (arm) | 7.4 V arm, 12 V base | ~400 to 500 EUR | Kompatibilno |
SO-100 i SO-101 koriste Feetech STS3215 servomotore na 7.4 V naponskoj šini. Napajanje od 12 V ih uništava, dovoljno tiho da ljudi prvo krive softver, a Koch 12 V napajanje fizički odgovara SO-100 ploči. Provjerite naljepnicu. Simptomi: servo ne reaguje, ruka trza pa se spusti. Također SO-100 vs SO-101.
Od gole ruke do snimljenog skupa podataka
Proces ispod je za lerobot 0.6.x. Preskočite ga ako imate kalibriranu ruku i skup podataka. U suprotnom, SO-100 vodič za početak rada pokriva sastavljanje, vodič za snimanje pokriva snimanje i dokumentacija skupa podataka format.
- 1Instalirajte lerobot sa odgovarajućim dodacima
Za snimanje su potrebni
core_scripts, za obukutraining, za Feetech servo motorefeetech. 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 - 2Pronađite USB port svake ruke
Pokrenite ga sa obe ruke priključene, isključujući jednu kada se to zatraži. Na Linuxu ćete možda morati da otvorite dozvole čvora.
bashlerobot-find-port # on Linux, if the port exists but is unreadable: sudo chmod 666 /dev/ttyACM0 - 3Postavite ID-ove motora i brzinu prenosa
Na SO-100 se ovo dešava pre montaže: za razliku od SO-101, konektori su nedostupni kada se sklopi. Skripta prolazi kroz magistralu motor po motor, počevši od hvataljke, upisujući ID-ove u 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 ruke
Postavite svaki zglob na sredinu njegovog opsega, pritisnite Enter, a zatim svaki provucite kroz ceo opseg. Kalibracija omogućava da se politika obučena na jednoj ruci pokrene na drugoj. Ponovo koristite 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 jednom sa uključenim kamerama
Lerobot pravilo: trebalo bi da ste u mogućnosti da obavite zadatak gledajući samo slike sa kamere. Ako ne možete, ne može ni ACT. Ovo otkriva više loših skupova podataka nego kasnije otklanjanje grešaka.
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 - 6Snimite 50 epizoda
50 je minimum za AY-Robots i ono što je ALOHA koristila po zadatku. lerobot savetuje 10 po lokaciji objekta, fiksne kamere, dosledan hvat.
nzavršava epizodu,rponovo snima,qzaustavlja i 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 nema prethodnih znanja na koja bi se oslonio, tako da svaka nedoslednost postaje trajna. Tri najskuplje: kamera pomerena između epizode 20 i 21, svetlo koje se promenilo jer ste pola seta snimili popodne, hvat urađen na dva načina. Svaki daje savršeno izgledajuću krivu gubitka i ruku koja ide na pogrešno mesto. Pogledajte gubitak opada, politika ne radi ništa, politika radi samo u jednom podešavanju i prikupljanje visokokvalitetnih podataka za obuku.
Pre obuke, ponovite najmanje pet epizoda. skladišti tokove kamere, stanja zglobova i akcije po , a ponavljanje vraća te akcije na ruku. Ako ponavljanje ne izvrši zadatak, podaci ga ne sadrže i obuka ga neće izmisliti.
lerobot-replay \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=my_follower \
--dataset.repo_id=${HF_USER}/so100_cube \
--dataset.episode=0Obuka ACT politike
Ovo je cijela naredba. Sve specifično za ACT je već zadano, zbog čega lerobot ACT stranica preporučuje da se počne s njima.
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 učitava ACTConfig, koji se prilagođava broju motora i kamera koje je vaš skup podataka snimio, tako da nikada ne morate deklarisati oblik opservacije. --wandb.enable=true je opcionalno i isplativo: kriva gubitka je jedini jeftin signal u pokretanju od 100000 koraka. Raspored dolazi iz lerobot-ove konfiguracije za obuku, a ne iz ACTConfig-a: 100000 koraka, batch 8, seed 1000, kontrolna tačka svakih 20000 koraka, logovanje svakih 200.
Potpuno pokretanje ostavlja pet direktorijuma kontrolnih tačaka, od 020000 do 100000, plus posljednji simboličku vezu. Sačuvajte ih sve: najbolja politika često nije posljednja.
| Postavka | lerobot podrazumevano | AY-Robots ACT forma | Komentar |
|---|---|---|---|
| veličina batcha | 8 | 8 | Smanjite je prvo ako naiđete na ograničenja VRAM-a. |
| stopa učenja | 1e-5 | 1e-5 | Isto kao u ALOHA radu. |
| maksimalni koraci | 100000 | 100000 | Otprilike gdje se skup od 50 epizoda prestaje poboljšavati. |
| akumulacija gradijenta | 1 | 1, ne primjenjuje se | Umjesto toga promijenite veličinu batcha. |
| seed | 1000 | izloženo | GR00T-ova tyro ulazna tačka nema seed; ACT pokretanja su ona koja se mogu reprodukovati. |
| chunk_size / n_action_steps | 100 / 100 | 100 / 100, može se uređivati | Horizont predviđanja i izvršenja. Smanjite drugi, ne prvi. |
| učestalost kontrolnih tačaka | 20000 | nije izloženo | saveSteps je ovdje GR00T-ova postavka. |
ACT sa veličinom batcha 8 i dvije 640x480 kamere udobno staje na 24 GB. Prestaje da staje kada ljudi povećaju veličinu batcha radi brzine, ili mu daju 1920x1080 okvire koje prikazuje jedan lerobot primjer snimanja. Dva ResNet-18 backbona na 1080p imaju vrlo različit memorijski profil. Smanjite --batch_size na 4 prije nego što iznajmite veću karticu. Pogledajte nedostatak memorije tokom obuke.
Trajanje: oko 5 sati na 11 GB RTX 2080 Ti u radu, nekoliko sati za 100k koraka prema lerobotovoj ACT stranici, 2 do 5 sati na AY-Robots 24 GB nivou. Ne prekidajte rano. README referentnog repozitorijuma kaže da trzava ili politika koja pauzira obično samo treba više treninga, jer se uspjeh i glatkoća nastavljaju poboljšavati nakon što se gubitak stabilizuje: za podatke iz stvarnog svijeta potrebno je najmanje 5000 epoha, ili 3 do 4 puta duže nakon platoa.
lerobot-train \
--config_path=outputs/train/act_so100_cube/checkpoints/last/pretrained_model/train_config.json \
--resume=truePokretanje obučene politike na ruci
Implementacija koristi lerobot-rollout. Ključevi kamere moraju odgovarati snimljenim: politika obučena na front i wrist neće prihvatiti cam0 i cam1, i rename_map ne pomaže, jer je potrebna prethodno obučena kontrolna tačka. Niz zadataka se može izostaviti; lerobotov vlastiti primjer ga označava kao opcionalnog 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=60Evaluacija se ranije pokretala putem lerobot-record --policy.path=.... U verziji 0.6.x to je lerobot-rollout sa selektorom --strategy.type: base, sentry (snimanje sa automatskim učitavanjem), highlight (prstenasti bafer sačuvan pritiskom na taster), dagger (čovjek u petlji) i episodic. Od 23. avgusta 2026. godine, stranica dokumentacije ACT-a i dalje navodi "korištenje komande lerobot-record" direktno iznad bloka koji pokreće lerobot-rollout. Slijedite komandu, a ne rečenicu.
Da biste zakačili kontrolnu tačku umjesto konačnog modela, dodajte --policy.pretrained_revision. Za to je potrebno da je pokretanje započeto sa --save_checkpoint_to_hub=true, podrazumijevano isključeno: bez toga lerobot gura samo konačni model i ništa drugo. Sa njim, svaka kontrolna tačka je označena svojim korakom popunjenim nulama, tako da --policy.pretrained_revision=060000 vraća onu sa 60000 koraka. Poređenje sa 100000 na stvarnoj ruci je najjeftiniji dostupan eksperiment.
Dva puta do iste kontrolne tačke
Sve navedeno je ručni put i funkcioniše. Put platforme menja kontrolu za to što ne posedujete GPU ili Python okruženje.
- Instalirajte lerobot 0.6.x sa
core_scripts,training,feetech, ffmpeg. - Pronađite portove, postavite ID-ove motora, kalibrišite obe ruke, snimite 50 epizoda.
- Ponovo reprodukujte nekoliko epizoda da potvrdite da podaci sadrže zadatak.
- Iznajmite ili posedujte 24 GB GPU, uskladite CUDA i PyTorch, pokrenite
lerobot-train --policy.type=act. - Sačekajte nekoliko sati, zatim pokrenite
lerobot-rolloutna mašini kod ruke.
# 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=cudaPotpuna kontrola: uredite configuration_act.py, dodajte kameru, forkovajte trener. Za istraživanje, a ne za isporuku zadatka, platforma je distrakcija.
- Snimajte sa desktop klijentom, ili donesite Hugging Face repo ID ili lokalni skup podataka.
- Otvorite vodič ACT na SO-100 i odaberite model i skup podataka. Podrazumevane vrednosti su lerobotove; chunkSize, nActionSteps, seed i logFreq su promenljivi.
- Bekend iznajmljuje GPU veličine VRAM-a i piše kontrolne tačke u skladište objekata.
/api/inference/podzatim služi politiku lokalnom robotskom klijentu. Neaktivan watchdog uništava pod, tako da se ništa ne naplaćuje tiho.- Iste operacije postoje u CLI-ju, MCP serveru i dokumentaciji za obuku.
Ne popravlja vaše podatke: skup podataka sa pomerenom kamerom trenira jednako loše ovde, a forma to ne može detektovati. Niti uklanja problem latencije. Kontrolna petlja je 20 do 485 ms po koraku akcije, sa javnim internet povratnim putovanjima povrh toga, a ACT je najviše pogođen jer je njegov korak najkraći: 60 ms je usporavanje od 12 posto na 485 ms Pi0.5, ali četiri puta duži korak na 20 ms ACT-a. Daljinsko zaključivanje odgovara sporom podizanju i postavljanju, a ne brzom reaktivnom kretanju.

Šta zapravo ide pogrešno
Gotovo nijedan problem nije u komandi za obuku. Problemi su u stvarima oko nje, poređani po tome koliko često se javljaju prvi put.
| Simptom | Uobičajeni uzrok | Stranica |
|---|---|---|
| lerobot-find-port ne prikazuje ništa | Drajver, kabl ili dozvole čvora | ruka nije detektovana |
| Kamera nedostaje u trenutku snimanja | Indeks promenjen pri ponovnom pokretanju, ili dve kamere na jednom USB kontroleru | kamera nije detektovana |
| Obuka odbija skup podataka | ACT zahteva v3.0, GR00T treba v2.1 | skup podataka odbijen kao v3 |
| CUDA nema dovoljno memorije | Veličina paketa povećana, ili 1080p frejmovi umesto 480p | nema dovoljno memorije tokom obuke |
| Gubitak izgleda odlično, ruka ne radi ništa | Podacima nedostaje zadatak, ili se kamera pomerila | gubitak opada, politika ne radi ništa |
| Cimanje pokreta ili pauza usred epizode | Nedovoljno obučeno, zastoj na granici bloka, ili poziv za inferenciju sa istekom vremena | politika se zamrzava usred pokreta |
Dva reda zaslužuju poseban naglasak. ACT se obučava na LeRobot v3.0 dok se GR00T-ov učitavač ruši na njemu i zahteva v2.1, tako da skup podataka koji obučava ACT može da dovede do neuspeha GR00T pokretanja. A poslednji red ima dva rešenja: autori ACT-a odgovaraju na cimanje pokreta sa više obuke, dok sa n_action_steps, pri 100, pravi zastoj se dešava na granici bloka, vidljiva pauza svakih 3.3 sekunde pri 30 fps. Još dve stvari koje treba znati: jedan mrtav zglob je obično ID serva koji nikada nije upisan, i hvataljka koja se približava ali se nikada ne zatvara znači premali opseg hvataljke u demonstracijama. Pun indeks: stranice sa režimima kvara.
Koliko košta pokretanje
| Nivo | Modeli | Vrijeme izvođenja | Cijena po satu | Trošak po izvođenju |
|---|---|---|---|---|
| RTX 4090 / 24 GB | ACT, SmolVLA | 2 do 5 sati | 0.30 to 0.60 USD | oko 1 do 3 USD |
| A100 80 GB / H100 | GR00T N1.7, GR00T N1.5, Pi0.5 | 3 do 6 sati | 1.20 to 2.00 USD | oko 4 do 12 USD |
Ovo je argument za početak sa ACT-om čak i ako kasnije želite VLA. Neuspješno ACT izvođenje košta kao kafa i u roku od nekoliko sati vam govori da li vaš skup podataka sadrži zadatak. Neuspješno GR00T izvođenje košta četiri puta više za istu lekciju. Prelazak na GR00T N1.7 ili SmolVLA poslije je promjena forme, a ne ponovna izgradnja. Pozadina: modeli vida, jezika i akcije, kompletan SO-100 vodič, obučite svoju prvu politiku i učenje imitacijom. Nema ruke? Stranica uživo prenosi pravi SO-100 za upravljanje bez prijave.
Obučite ACT na vašem SO-100
Vodič za ovu tačnu kombinaciju: podrazumijevane postavke, GPU nivo i koliko košta izvođenje. Odaberite skup podataka, pozadinski sistem iznajmljuje karticu i piše kontrolne tačke.
Otvorite vodič za obukuPostoji li preobučeni ACT model koji mogu umjesto toga fino podesiti?▾
Ne. ACT nema osnovni model; on postoji tek nakon što ga obučite. To nije nedostatak u alatima, to je ono što ACT jeste: rad obučava politiku od nule za svaki zadatak. Za kontrolnu tačku dobavljača, koristite GR00T N1.7 ili Pi0.5.
Koliko mi je epizoda zaista potrebno?▾
50: ono što je ALOHA snimila po zadatku (100 za Thread Velcro, najteži) i minimum AY-Robots. lerobot savjetuje oko 10 po lokaciji objekta, fiksne kamere, dosljedan hvat. Pedeset čistih epizoda je bolje od stotinu gdje se kamera pomjerila.
Trebam li promijeniti chunk_size sa 100?▾
Obično ne. Ablacija se penje sa 1 posto pri k = 1 na 44 posto pri k = 100 i nakon toga opada, tako da 100 sjedi blizu vrha. Ako ruka predugo ostaje u akciji, umjesto toga smanjite n_action_steps: pri 30 fps, 25 ponovnih upita svakih 0.8 sekundi.
Koliko dugo traje obuka i mogu li je ranije zaustaviti?▾
Dva do pet sati na kartici od 24 GB za 100000 koraka. Kontrolne tačke se spremaju svakih 20000 koraka i --resume=true nastavlja izvođenje, tako da je rano zaustavljanje sigurno. Samo ne na prvom ravnom dijelu: glatkoća se poboljšava nakon što se gubitak stabilizuje.
Gubitak se smanjio, a ruka i dalje ne uspijeva. Šta sada?▾
Gotovo uvijek skup podataka. Ponovo pokrenite snimljene epizode na ruci: ako ponovno pokretanje ne izvrši zadatak, podaci ga ne sadrže. Zatim provjerite da li se nešto pomjerilo, posebno kamera. ACT nema prethodna znanja, tako da je pomak u epizodi 21 trajan.
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