
Trenirajte Action Chunking Transformer od nule na SO-100 sa lerobotom: act config, chunk_size i n_action_steps, raspored od 100000 koraka, 20 ms inferencije.
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 osvetljenjem.
To je takođe razlog zašto izvršava kontrolni korak za 20 ms, dok VLA sa 3 milijarde parametara zahteva 152 do 485 ms, i košta 1 do 3 USD po pokretanju umesto 4 do 12. Ovaj vodič prolazi kroz ručnu rutu sa lerobot na SO-100: snimanje, act konfiguracija, šta chunk_size i n_action_steps kontrolišu, raspored od 100000 koraka, i izvođenje. Zatim isti posao na AY-Robots, uključujući i delove gde platforma ne pomaže.
Šta treba da znate
- •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 inferencije.
- •Podrazumevane vrednosti lerobot-a: chunk_size 100, n_action_steps 100, batch 8, lr 1e-5, 100000 steps, 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.
- •Pobeđuje na zadatku koji je video, a gubi u trenutku kada želite jezičko uslovljavanje.
Provereno 23. avgusta 2026. u odnosu na lerobot 0.6.x: pyproject.toml na main glasi version = "0.6.2", najnovija oznaka v0.6.1, 3. avgust 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
Akciono grupisanje sa Transformerima (Action Chunking with Transformers) potiče iz ALOHA rada, Učenje fine bimanualne manipulacije sa jeftinim hardverom, autora Zhao, Kumar, Levine i Finn, arXiv, 23. april 2023. Oprema snima na 50 Hz sa četiri veb kamere koje strimuju 480x640 pri 30 fps: dve na hvataljkama, jedna odozgo, jedna spreda. Apstrakt tvrdi šest veština sa 80 do 90 procenata uspešnosti, među njima otvaranje providne posude za začine i umetanje baterije, na osnovu 10 minuta demonstracija.
Glavni deo je korisniji pri planiranju sesije snimanja: 50 demonstracija po zadatku, osim za Thread Velcro sa 100, što je 10 do 20 minuta podataka i 30 do 60 minuta realnog vremena kada se uračunaju resetovanja. Uspeh takođe nije ujednačen: Thread Velcro završava sa 20 procenata, Put On Shoe sa 92, Cup Open 84, Prep Tape 64.
| Hiperparametar | ALOHA rad, Tabela III | lerobot na main-u |
|---|---|---|
| stopa učenja | 1e-5 | optimizer_lr = 1e-5 |
| veličina paketa | 8 | batch_size = 8, in TrainPipelineConfig not ACTConfig |
| enkoder / dekoder slojevi | 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 grupisanje | odsutno; --temporal_agg u referentnom kodu | temporal_ensemble_coeff = None |
Rad navodi 7 dekoderskih slojeva, lerobot isporučuje 1, namerno. Komentar u configuration_act.py kaže da originalna implementacija ima grešku što znači da se koristi samo prvi sloj, navodeći problem 25 u tonyzhaozh/act: glava akcije čita hs[0], tako da svih sedam slojeva radi, ali samo prvi izlaz stiže do predikcije. Taj problem je otvoren 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 cela 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 nigde blizu objekta. Grupisanje akcija predviđa k akcija odjednom i izvršava ih, smanjujući efektivni horizont za faktor k. Takođe rešava smetnju specifičnu za ljudske podatke: teleoperateri pauziraju, a Markovljeva politika ne može modelirati pauzu koja zavisi od onoga što je prethodilo.
Rad vrši ablaciju k umesto da ga tvrdi. Sa isključenim vremenskim ansamblom, prosečno preko četiri postavke, uspeh raste sa 1 procenta pri k = 1 na 44 procenta 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 podrazumevana vrednost 100.
- chunk_size: koliko budućih akcija dekoder predviđa po jednom prolazu unapred. Default 100.
- n_action_steps: koliko ih izvršavate pre ponovnog upita. Default 100, tako da lerobot izvršava ceo blok u otvorenoj petlji.
- lerobot proverava da li je
n_action_steps <= chunk_sizei podižeValueErrorako je obrnuto.
Ono što je operativno važno je chunk_size podeljen sa brzinom kadrova. Pri 30 fps koje koriste lerobotovi SO-100 primeri, blok od 100 akcija obuhvata oko 3.3 sekunde od jednog posmatranja. Ako zadatak zahteva korekciju unutar tog prozora, smanjite n_action_steps, a ne chunk_size: zadržavate dugu predikciju i ponovo posmatrate č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 zahteva n_action_steps = 1, podižući NotImplementedError u suprotnom. Ensembling 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 procenjuje na 3.3 procenta za ACT: realno, ali skromno, i umnožava broj inferenci dužinom bloka. Pristupačno pri 20 ms po koraku, ne pri 485 ms. Pogledajte kašnjenje inference.
Kada ACT nadmaši temeljni model
Pet politika koje se mogu trenirati, jedna pored druge, sa brojevima koje AY-Robots meri i koristi za određivanje veličine GPU-a koji iznajmljuje.
| Politika | Porodica | Parametri | Po koraku | GPU nivo | Min. epizoda | Skup podataka |
|---|---|---|---|---|---|---|
| ACT | Čankujući transformer, 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, vidi 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 A100.
- 1 do 3 USD po pokretanju naspram 4 do 12 za klasu 3 B.
- Precizan u radu 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: string zadatka 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.
- Uska generalizacija: pomerite kameru i morate ponovo da trenirate.
- Tiho otkazuje: gubitak opada, ruka ne radi ništa, logovi ne govore ništa.
- Prednost u brzini pomaže samo ako se inferencija nalazi pored servo motora.
Izaberite ACT kada su zadatak i scena fiksni, a kretanje mora biti brzo i precizno. Izaberite kada jedna kontrolna tačka mora pokriti nekoliko instrukcija. Dve stranice direktno porede odluku: i . Za objavljene benchmarke, povezuje svaki broj sa svojim izvorom.
Šta vam je potrebno pre nego što počnete
Jedna prateća ruka, jedna vodeća ruka za , 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 dodirnuti, kao na ALOHA sistemu.
| Ruka | Servomotori | Napon | Cena delova | Status |
|---|---|---|---|---|
| SO-100 | Feetech STS3215 | 7.4 V | ~110 do 150 EUR | Puna podrška, referentna ruka |
| SO-101 | Feetech STS3215 | 7.4 V | ~130 do 170 EUR | Puna podrška |
| Koch v1.1 | Dynamixel XL330 / XL430 | 5 V i 12 V naponske šine | ~250 do 350 EUR | Kompatibilno |
| LeKiwi | Feetech STS3215 (ruka) | 7.4 V ruka, 12 V baza | ~400 do 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. Proverite nalepnicu. Simptomi: servo ne reaguje, ruka trza pa popušta. Takođe SO-100 vs SO-101.
Od gole ruke do snimljenog skupa podataka
Proces ispod je lerobot 0.6.x. Preskočite ga ako imate kalibrisanu ruku i skup podataka. U suprotnom, SO-100 vodič za početak rada, pokriva sklapanje, uputstvo za snimanje pokriva snimanje i dokumentacija skupa podataka format.
- 1Instalirajte lerobot sa odgovarajućim dodacima
Za snimanje su potrebni
core_scripts, za obukutraining, a 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 - 3Podesite ID-ove motora i brzinu prenosa
Na SO-100 se ovo dešava pre sklapanja: za razliku od SO-101, konektori su nedostupni kada se jednom sastavi. 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
Podesite svaki zglob na sredinu njegovog opsega, pritisnite Enter, a zatim ga 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 - 5Teleoperišite jednom sa uključenim kamerama
Lerobot pravilo: trebalo bi da budete 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 prethodna 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 snimili pola seta popodne, hvat urađen na dva načina. Svaki od njih 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. Format LeRobot skupa podataka skladišti tokove kamere, stanja zglobova i akcije po epizodi, 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 cela komanda. Sve što je specifično za ACT je već podrazumevano, zbog čega lerobot ACT stranica preporučuje da se počne sa 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 deklarišete oblik posmatranja. --wandb.enable=true je opcionalno i vredi truda: 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, paket 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 last simboličku vezu. Sačuvajte ih sve: najbolja politika često nije poslednja.
| Podešavanje | lerobot podrazumevano | AY-Robots ACT forma | Komentar |
|---|---|---|---|
| veličina paketa | 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 gde set od 50 epizoda prestaje da se poboljšava. |
| akumulacija gradijenta | 1 | 1, ne primenjuje se | Umesto toga promenite veličinu paketa. |
| 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, podesivo | Horizont predviđanja i izvršenja. Smanjite drugi, ne prvi. |
| učestalost kontrolnih tačaka | 20000 | nije izloženo | saveSteps je ovde GR00T kontrola. |
ACT sa veličinom paketa 8 i dve 640x480 kamere udobno staje na 24 GB. Prestaje da staje kada ljudi povećaju veličinu paketa radi brzine, ili mu daju 1920x1080 frejmove koje prikazuje jedan lerobot primer snimanja. Dva ResNet-18 backbona na 1080p imaju veoma drugačiji memorijski profil. Smanjite --batch_size na 4 pre 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 ga prerano. README referentnog repozitorijuma kaže da trzava ili politika koja pauzira obično samo zahteva više treninga, jer se uspeh i glatkoća nastavljaju poboljšavati nakon što se gubitak stabilizuje: za podatke iz stvarnog sveta 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, a rename_map ne pomaže, jer je potrebna prethodno obučena kontrolna tačka. String zadatka se može izostaviti; lerobotov sopstveni primer 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 izvršavala pomoću lerobot-record --policy.path=.... U verziji 0.6.x to je lerobot-rollout sa selektorom --strategy.type: base, sentry (snimanje sa automatskim otpremanjem), highlight (prstenasti bafer sačuvan pritiskom na taster), dagger (čovek u petlji) i episodic. Od 23. avgusta 2026. godine, ACT dokumentacija i dalje navodi „korišćenje komande lerobot-record“ direktno iznad bloka koji pokreće lerobot-rollout. Pratite komandu, a ne rečenicu.
Da biste fiksirali kontrolnu tačku umesto konačnog modela, dodajte --policy.pretrained_revision. Za to je potrebno da je pokretanje započeto sa --save_checkpoint_to_hub=true, podrazumevano 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 sa vodećim 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. Putem platforme se gubi kontrola, ali se ne mora posedovati GPU ili Python okruženje.
- Instalirajte lerobot 0.6.x sa
core_scripts,training,feetech, ffmpeg. - Pronađite portove, podesite ID-ove motora, kalibrišite obe ruke, snimite 50 epizoda.
- Ponovo pustite nekoliko epizoda da potvrdite da podaci sadrže zadatak.
- Iznajmite ili posedujte GPU od 24 GB, 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, forkovanje trenera. Za istraživanje, a ne za isporuku zadatka, platforma je smetnja.
- Snimajte pomoću desktop klijenta, ili donesite Hugging Face repo ID ili lokalni skup podataka.
- Otvorite vodič za ACT na SO-100 i odaberite model i skup podataka. Podrazumevane vrednosti su lerobot-ove; chunkSize, nActionSteps, seed i logFreq su podesivi.
- Bekend iznajmljuje GPU veličine VRAM-a i upisuje 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 se ovde obučava jednako loše, a forma to ne može detektovati. Niti uklanja problem latencije. Kontrolna petlja je 20 do 485 ms po koraku akcije, sa dodatnim povratnim putovanjima preko javnog interneta, a ACT je najviše pogođen jer je njegov korak najkraći: 60 ms je usporavanje od 12 procenata na 485 ms Pi0.5, ali četiri puta duži korak od 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 tokom snimanja | Indeks promenjen nakon ponovnog pokretanja, 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 je kamera pomerena | gubitak opada, politika ne radi ništa |
| Cimanje pokreta ili pauza usred epizode | Nedovoljno obučeno, zastoj na granici bloka, ili poziv za inferencu 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 izazove neuspeh GR00T pokretanja. A poslednji red ima dva rešenja: autori ACT-a rešavaju cimanje pokreta sa više obuke, dok sa n_action_steps na 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. Kompletan indeks: stranice sa režimima kvara.
Koliko košta jedno pokretanje
| Nivo | Modeli | Vreme izvršavanja | Cena po satu | Cena po izvršavanju |
|---|---|---|---|---|
| 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 |
Ovo je argument za početak sa ACT-om čak i ako kasnije želite VLA. Neuspelo ACT izvršavanje košta kao kafa i za nekoliko sati vam govori da li vaš skup podataka sadrži zadatak. Neuspelo GR00T izvršavanje košta četiri puta više za istu lekciju. Prelazak na GR00T N1.7 ili SmolVLA nakon toga je promena forme, a ne ponovna izgradnja. Pozadina: modeli vizije, jezika i akcije, kompletan SO-100 vodič, obučite svoju prvu politiku i učenje imitacijom. Nemate ruku? Stranica uživo strimuje pravi SO-100 za upravljanje bez prijave.
Obučite ACT na vašem SO-100
Vodič za ovu tačnu kombinaciju: podrazumevane vrednosti, nivo GPU-a i koliko košta izvršavanje. Izaberite skup podataka, pozadinski sistem iznajmljuje karticu i piše kontrolne tačke.
Otvorite vodič za obukuPostoji li preobučeni ACT model koji mogu umesto 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 savetuje oko 10 po lokaciji objekta, fiksne kamere, dosledan hvat. Pedeset čistih epizoda je bolje od sto gde se kamera pomerala.
Da li treba da promenim chunk_size sa 100?▾
Obično ne. Ablacija se penje sa 1 procenta pri k = 1 na 44 procenta pri k = 100 i nakon toga opada, tako da je 100 blizu vrha. Ako se ruka predugo obavezuje, umesto 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 beleže svakih 20000 koraka i --resume=true nastavlja izvršavanje, tako da je rano zaustavljanje bezbedno. Samo ne na prvom ravnom delu: glatkoća se poboljšava nakon što se gubitak stabilizuje.
Gubitak se smanjio, a ruka i dalje ne uspeva. Šta sada?▾
Gotovo uvek je u pitanju skup podataka. Ponovo reprodukujte snimljene epizode na ruci: ako reprodukcija ne izvršava zadatak, podaci ga ne sadrže. Zatim proverite da li se nešto pomerilo, posebno kamera. ACT nema prethodna znanja, tako da je pomeranje u epizodi 21 trajno.
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