Matrica treniranja AY-Robots s pet redaka politika i četiri stupca robotskih ruku, svaka ćelija povezuje na specifični model i vodič za treniranje ruke
ACTSO-100lerobotučenje imitacijomtreniranje politike

Kako trenirati ACT na SO-100 od nule

AY-Robots ResearchAugust 23, 202616 min čitanja

Trenirajte Action Chunking Transformer od nule na SO-100 s lerobot-om: 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 točke, jer to nije temeljni model. To je transformator s otprilike 80 milijuna parametara koji trenirate od nule za jedan zadatak, na vašoj ruci, pod vašim osvjetljenjem.

To je također razlog zašto izvodi kontrolni korak za 20 ms, dok VLA s 3 milijarde parametara treba 152 do 485 ms, i košta 1 do 3 USD po pokretanju umjesto 4 do 12. Ovaj vodič prolazi ručnu rutu s lerobot na SO-100: snimanje, act konfiguracija, što chunk_size i n_action_steps kontroliraju, raspored od 100000 koraka, izvođenje. Zatim isti posao na AY-Robots, uključujući i gdje platforma ne pomaže.

Što trebate znati

  • ACT se trenira od nule: nema osnovnog modela, nema pretreniranja, nema jezičnog unosa. Jedna kontrolna točka, jedan zadatak.
  • Rad: oko 80 M parametara, oko 5 sati na 11 GB RTX 2080 Ti, 0.01 s inferencije.
  • lerobot zadane postavke: 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. Minimalno 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čno uvjetovanje.
Koje verzije ovo opisuje

Provjereno 23. kolovoza 2026. protiv lerobot 0.6.x: pyproject.toml na main čita version = "0.6.2", najnovija oznaka v0.6.1, 3. kolovoza 2026. Vodič koji počinje s python lerobot/scripts/train.py prethodi ulaznim točkama konzole lerobot-train, lerobot-record i lerobot-rollout.

Što je ACT zapravo

Action Chunking with Transformers dolazi iz ALOHA rada, Učenje fine-zrnate bimanualne manipulacije s jeftinim hardverom, autora Zhao, Kumar, Levine i Finn, arXiv, 23. travnja 2023. Oprema snima na 50 Hz s četiri web kamere koje streamaju 480x640 pri 30 fps: dvije na hvataljkama, jedna odozgo, jedna sprijeda. Sažetak tvrdi šest vještina s 80 do 90 posto uspješnosti, među njima otvaranje prozirne posudice 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 na 100, što je 10 do 20 minuta podataka i 30 do 60 minuta stvarnog vremena nakon što se uračunaju resetiranja. Uspjeh također nije ujednačen: Thread Velcro završava na 20 posto, Put On Shoe na 92, Cup Open 84, Prep Tape 64.

HiperparametarALOHA rad, Tablica IIIlerobot on main
stopa učenja1e-5optimizer_lr = 1e-5
veličina paketa8batch_size = 8, in TrainPipelineConfig not ACTConfig
slojevi enkodera / dekodera4 / 7n_encoder_layers = 4 / n_decoder_layers = 1
veličina bloka k100chunk_size = 100
latentna dimenzija zodsutno; Sl. 11 prikazuje projekciju od 32 na 512latent_dim = 32
vremensko udruživanjeodsutno; --temporal_agg u referentnom kodutemporal_ensemble_coeff = None
Redak slojeva dekodera nije pogreška u tipkanju

Rad navodi 7 slojeva dekodera, 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 problem 25 u tonyzhaozh/act: glava akcije čita hs[0], tako da svih sedam slojeva radi, ali samo prvi izlaz dostiže predviđanje. Taj problem je otvoren i neodgovoren od 23. travnja 2024. lerobot se podudara s ponašanjem koje je proizvelo objavljene rezultate, a ne s ispisanim brojem. Povećajte --policy.n_decoder_layers i trenirat ć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 gomilaju: odstupanje stavlja ruku izvan distribucije, proizvodeći lošiju akciju, a trideset koraka kasnije hvataljka nije nigdje blizu objekta. Grupisanje akcija predviđa k akcija odjednom i izvršava ih, smanjujući efektivni horizont za faktor k. Također rješava smetnju specifičnu za ljudske podatke: teleoperatori pauziraju, a Markovljeva politika ne može modelirati pauzu koja ovisi o onome što je prethodilo.

Rad provodi ablacijsku studiju za k umjesto da ga pretpostavlja. S isključenim vremenskim ansambliranjem, prosječno preko četiri postavke, uspjeh raste s 1 posto pri k = 1 na 44 posto pri k = 100, zatim se smanjuje pri 200 i 400 kako se politika približava kontroli otvorene petlje. Ta krivulja je razlog zašto je zadana vrijednost 100.

  • chunk_size: koliko budućih akcija dekoder predviđa po prolazu unaprijed. Zadano 100.
  • n_action_steps: koliko ih izvršavate prije ponovnog upita. Zadano 100, tako da lerobot pokreće cijeli blok u otvorenoj petlji.
  • lerobot provjerava n_action_steps <= chunk_size i podiže ValueError ako je obrnuto.

Ono što je operativno važno je chunk_size podijeljen s brzinom sličica. Pri 30 fps koje koriste lerobotovi SO-100 primjeri, blok od 100 akcija obuhvaća oko 3.3 sekunde od jednog promatranja. Ako zadatak zahtijeva korekciju unutar tog prozora, smanjite n_action_steps, a ne chunk_size: zadržavate dugo predviđanje i češće ponovno promatrate.

bash
# 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=cuda
Skraćivanje izvršenog dijela bloka bez skraćivanja predviđanja.
Zamka vremenskog ensemblinga

Postavite --policy.temporal_ensemble_coeff i lerobot zahtijeva n_action_steps = 1, inače podiže NotImplementedError. Ensembling postavlja upite politici u svakom vremenskom koraku i spaja preklapajuća predviđanja za taj vremenski korak s težinama w_i = exp(-m * i), pri čemu najstarije dobiva w_0. Rad to navodi kao 3.3 posto za ACT: stvarno, ali skromno, i umnožava broj inferencija duljinom 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, s brojkama koje AY-Robots mjeri i koristi za određivanje veličine GPU-a koji iznajmljuje.

PolitikaObiteljParametriPo korakuGPU razinaMin. epizodaSkup podataka
[object Object]Chunking transformer, od nule~80 M20 msRTX 4090 / 24 GB50LeRobot v3.0
[object Object]Kompaktni VLA~450 M245 msRTX 4090 / 24 GB30LeRobot v3.0
[object Object]VLA temelj, difuzijska glava~3 B (~40 M trained)152 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
[object Object]VLA temelj, prethodnik~3 B165 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
[object Object]VLA s usklađivanjem toka, vidi ~3 B, PaliGemma backbone485 msA100 / H100 80 GB50LeRobot v3.0
Stranica politika AY-Robots koja prikazuje usporednu tablicu ACT-a, SmolVLA-e, GR00T N1.5, GR00T N1.7 i Pi0.5 s brojem parametara, GPU zahtjevima, latencijom inferencije i minimalnim brojem epizoda
Tablica /policies: ACT ima najmanji broj parametara i najkraće vrijeme koraka.
Obuka ACT-a od nule
Prednosti
  • 20 ms po koraku akcije, najbrži od pet, na kartici od 24 GB, a ne A100.
  • 1 do 3 USD po pokretanju u usporedbi s 4 do 12 za klasu 3 B.
  • Precizan u radu s mnogo kontakata koje je vidio: 88 i 96 posto na Slide Ziploc i Slot Battery, gdje prethodne metode nikada nisu prošle prvu fazu.
Kompromisi
  • Bez jezičnog uvjetovanja: niz zadataka se ignorira, tako da je jedna kontrolna točka jedan zadatak.
  • Bez semantičkih predznanja: sve što zna potječe iz vaših 50 epizoda.
  • Usko generaliziranje: pomaknite kameru i ponovno trenirate.
  • Tiho ne uspijeva: gubitak pada, ruka ne radi ništa, zapisi ne govore ništa.
  • Prednost brzine pomaže samo ako se zaključivanje nalazi pored servomotora.

Odaberite ACT kada su zadatak i scena fiksni, a kretanje mora biti brzo i precizno. Odaberite kada jedna kontrolna točka mora pokriti nekoliko uputa. Dvije stranice obrađuju odluku izravno: i . Za objavljene benchmarke, povezuje svaki broj s njegovim izvorom.

Što vam je potrebno prije nego počnete

Jedna prateća ruka, jedna vodeća ruka za , barem jedna kamera, GPU od 24 GB. ACT čita samo slike i položaje zglobova. Dvije kamere su idealne: fiksni prednji pogled za to gdje se stvari nalaze, kamera na zglobu za ono što će dodirnuti, kao na ALOHA-i.

RukaServomotoriNaponCijena dijelovaStatus
SO-100Feetech STS32157.4 V~110 to 150 EURPotpuna podrška, referentna ruka
SO-101Feetech STS32157.4 V~130 to 170 EURPotpuna podrška
Koch v1.1Dynamixel XL330 / XL4305 V i 12 V sabirnice~250 to 350 EURKompatibilno
LeKiwiFeetech STS3215 (ruka)7.4 V ruka, 12 V baza~400 to 500 EURKompatibilno
7.4 V, ne 12 V

SO-100 i SO-101 koriste Feetech STS3215 servomotore na 7.4 V sabirnici. 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 reagira, ruka trza pa se spusti. Također SO-100 vs SO-101.

Od gole ruke do snimljenog skupa podataka

Donji tijek rada je za lerobot 0.6.x. Preskočite ako imate kalibriranu ruku i skup podataka. Inače, SO-100 vodič za početak rada pokriva sastavljanje, vodič za snimanje pokriva snimanje i dokumentacija skupa podataka format.

  1. 1
    Instalirajte lerobot s odgovarajućim dodacima

    Snimanje zahtijeva core_scripts, obuka training, Feetech servo motori feetech. Python 3.12+.

    bash
    conda 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
  2. 2
    Pronađite USB priključak svake ruke

    Pokrenite ga s obje ruke priključene, isključujući jednu kada se to zatraži. Na Linuxu ćete možda morati otvoriti dozvole čvora.

    bash
    lerobot-find-port
    # on Linux, if the port exists but is unreadable:
    sudo chmod 666 /dev/ttyACM0
  3. 3
    Postavite ID-ove motora i brzinu prijenosa

    Na SO-100 ovo se događa prije sastavljanja: za razliku od SO-101, konektori su nedostupni nakon što je sastavljen. Skripta prolazi kroz sabirnicu motor po motor, počevši od hvataljke, zapisujući ID-ove u EEPROM.

    bash
    lerobot-setup-motors \
        --robot.type=so100_follower \
        --robot.port=/dev/ttyACM0
    
    lerobot-setup-motors \
        --teleop.type=so100_leader \
        --teleop.port=/dev/ttyACM1
  4. 4
    Kalibrirajte obje ruke

    Postavite svaki zglob u sredinu njegovog raspona, pritisnite Enter, a zatim svaki prođite kroz cijeli raspon. Kalibracija omogućuje da se politika obučena na jednoj ruci pokrene na drugoj. Ponovno koristite isti id.

    bash
    lerobot-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
  5. 5
    Teleoperirajte jednom s uključenim kamerama

    Lerobot pravilo: trebali biste moći obaviti zadatak gledajući samo slike s kamere. Ako ne možete, ne može ni ACT. Ovo otkriva više loših skupova podataka nego kasnije otklanjanje pogrešaka.

    bash
    lerobot-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
  6. 6
    Snimite 50 epizoda

    50 je minimum za AY-Robots i ono što je ALOHA koristila po zadatku. lerobot savjetuje 10 po lokaciji objekta, fiksne kamere, dosljedan hvat. n završava epizodu, r ponovno snima, q zaustavlja i kodira.

    bash
    HF_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
Stranica AY-Robots vodiča za snimanje koja objašnjava kako snimiti skup podataka u LeRobot formatu iz sesije teleoperacije
Vodič za snimanje. Desktop klijent piše isti raspored kao lerobot-record.
Zamka koja pojede dan: nedosljedan skup podataka

ACT nema prethodnih znanja na koja bi se mogao osloniti, tako da svaka nedosljednost postaje trajna. Tri najskuplje: kamera pomaknuta između epizode 20 i 21, svjetlo koje se promijenilo jer ste pola seta snimili poslijepodne, hvat izveden na dva načina. Svaki daje savršeno izgledajuću krivulju gubitka i ruku koja ide na pogrešno mjesto. Pogledajte gubitak pada, politika ne radi ništa, politika radi samo u jednom postavu i prikupljanje visokokvalitetnih podataka za obuku.

Prije obuke, ponovite barem pet epizoda. Format skupa podataka LeRobot pohranjuje 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.

bash
lerobot-replay \
    --robot.type=so100_follower \
    --robot.port=/dev/ttyACM0 \
    --robot.id=my_follower \
    --dataset.repo_id=${HF_USER}/so100_cube \
    --dataset.episode=0
Ponovno reproduciranje epizode 0. Ako ovo ne uspije, zaustavite se i ponovno snimite.

Obučavanje 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.

bash
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
Naredba za obučavanje iz lerobot 0.6.x dokumentacije, na SO-100 skupu podataka.

--policy.type=act učitava ACTConfig, koji se prilagođava broju motora i kamera koje je vaš skup podataka snimio, tako da nikada ne deklarirate oblik promatranja. --wandb.enable=true je opcionalno i isplati se: krivulja gubitka je jedini jeftin signal u pokretanju od 100000 koraka. Raspored dolazi iz lerobotove konfiguracije treninga, a ne iz ACTConfiga: 100000 koraka, serija 8, sjeme 1000, kontrolna točka svakih 20000 koraka, bilježenje svakih 200.

Potpuno pokretanje ostavlja pet direktorija kontrolnih točaka, od 020000 do 100000, plus last simboličku vezu. Zadržite ih sve: najbolja politika često nije posljednja.

Postavkalerobot zadanoAY-Robots ACT obrazacKomentar
veličina serije88Prvo ga smanjite ako naiđete na ograničenja VRAM-a.
stopa učenja1e-51e-5Isto kao u ALOHA radu.
maksimalni koraci100000100000Otprilike gdje se skup od 50 epizoda prestaje poboljšavati.
akumulacija gradijenta11, ne primjenjuje seUmjesto toga promijenite veličinu serije.
sjeme1000izloženoGR00T-ova tyro ulazna točka nema sjeme; ACT pokretanja su ona koja se mogu reproducirati.
chunk_size / n_action_steps100 / 100100 / 100, može se uređivatiHorizont predviđanja i izvršenja. Smanjite drugi, ne prvi.
učestalost kontrolnih točaka20000nije izloženosaveSteps je ovdje GR00T postavka.
Nedostatak memorije je problem veličine serije, a ne problem kartice

ACT s veličinom serije 8 i dvije kamere 640x480 udobno stane na 24 GB. Prestaje stati kada ljudi povećaju veličinu serije radi brzine, ili mu daju okvire 1920x1080 koje prikazuje jedan primjer lerobot snimanja. Dva ResNet-18 backbona na 1080p imaju vrlo različit memorijski profil. Smanjite --batch_size na 4 prije nego što unajmite veću karticu. Pogledajte nedostatak memorije tijekom treninga.

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 razini. Nemojte skraćivati. README referentnog repozitorija kaže da trzava ili zastajkujuća politika obično samo treba više treninga, jer se uspjeh i glatkoća nastavljaju poboljšavati nakon što se gubitak stabilizira: za stvarne podatke potrebno je najmanje 5000 epoha, ili 3 do 4 puta dulje nakon stabilizacije.

bash
lerobot-train \
  --config_path=outputs/train/act_so100_cube/checkpoints/last/pretrained_model/train_config.json \
  --resume=true
Nastavak prekinutog izvođenja od zadnje kontrolne točke.

Pokretanje trenirane politike na ruci

Implementacija koristi lerobot-rollout. Ključevi kamere moraju odgovarati snimljenima: politika trenirana na front i wrist neće prihvatiti cam0 i cam1, a rename_map ne pomaže, budući da je potrebna prethodno trenirana kontrolna točka. Niz zadataka može se izostaviti; lerobotov vlastiti primjer označava ga kao preskočivog za ACT.

bash
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=60
Autonomno izvođenje bez snimanja. Koristite --strategy.type=sentry za snimanje epizoda evaluacije.
Ova je naredba nedavno preimenovana, pa se stariji tutorijali ne slažu

Evaluacija se ranije izvodila putem lerobot-record --policy.path=.... U verziji 0.6.x to je lerobot-rollout s --strategy.type selektorom: base, sentry (snimanje s automatskim prijenosom), highlight (prstenasti međuspremnik spremljen pritiskom tipke), dagger (čovjek u petlji) i episodic. Od 23. kolovoza 2026. stranica s dokumentacijom ACT-a još uvijek navodi "korištenje naredbe lerobot-record" izravno iznad bloka koji pokreće lerobot-rollout. Slijedite naredbu, a ne rečenicu.

Za fiksiranje kontrolne točke umjesto konačnog modela, dodajte --policy.pretrained_revision. Za to je potrebno da je pokretanje započelo s --save_checkpoint_to_hub=true, isključeno po zadanim postavkama: bez toga lerobot gura samo konačni model i ništa drugo. S njim je svaka kontrolna točka označena svojim korakom s vodećim nulama, tako da --policy.pretrained_revision=060000 dohvaća onu s 60000 koraka. Usporedba s 100000 na stvarnoj ruci je najjeftiniji dostupan eksperiment.

Dva puta do iste kontrolne točke

Sve navedeno je ručni put i funkcionira. Put putem platforme mijenja kontrolu za neposjedovanje GPU-a ili Python okruženja.

  1. Instalirajte lerobot 0.6.x s core_scripts, training, feetech, ffmpeg.
  2. Pronađite portove, postavite ID-ove motora, kalibrirajte obje ruke, snimite 50 epizoda.
  3. Ponovite nekoliko epizoda kako biste potvrdili da podaci sadrže zadatak.
  4. Unajmite ili posjedujte 24 GB GPU, uskladite CUDA i PyTorch, pokrenite lerobot-train --policy.type=act.
  5. Pričekajte nekoliko sati, zatim pokrenite lerobot-rollout na stroju kod ruke.
bash
# 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=cuda
Što vam ova ruta pruža

Potpuna kontrola: uredite configuration_act.py, dodajte kameru, forkirajte trener. Za istraživanje, a ne za isporuku zadatka, platforma je smetnja.

Matrica za obuku AY-Robots s pet redaka politika i četiri stupca robotskih ruku, gdje svaka ćelija povezuje na specifični vodič za obuku za tu kombinaciju modela i ruke
Matrica na /train. Redak ACT nasuprot stupcu SO-100 je vodič ovog članka.

Što zapravo pođe po zlu

Gotovo nijedan problem nije u naredbi za treniranje. Problemi su u stvarima oko nje, poredani po učestalosti pojavljivanja pri prvom pokušaju.

SimptomUobičajeni uzrokStranica
lerobot-find-port ne prikazuje ništaDrajver, kabel ili dozvole čvoraruka nije detektirana
Kamera nedostaje pri snimanjuIndeks promijenjen nakon ponovnog pokretanja, ili dvije kamere na jednom USB kontrolerukamera nije detektirana
Treniranje odbija skup podatakaACT zahtijeva v3.0, GR00T treba v2.1skup podataka odbijen kao v3
CUDA nema dovoljno memorijeVeličina paketa povećana, ili 1080p okviri umjesto 480pnema dovoljno memorije pri treniranju
Gubitak izgleda odlično, ruka ne radi ništaPodaci ne sadrže zadatak, ili se kamera pomaknulagubitak pada, politika ne radi ništa
Trzavo kretanje ili pauza usred epizodeNedovoljno trenirano, zastoj na granici bloka, ili poziv inferencije s isteklim vremenompolitika se zamrzava usred kretanja

Dvije stavke zaslužuju naglasak. ACT se trenira na LeRobot v3.0 dok se GR00T-ov učitavač ruši na njemu i treba v2.1, tako da skup podataka koji trenira ACT može uzrokovati neuspjeh GR00T pokretanja. A posljednja stavka ima dva rješenja: autori ACT-a rješavaju trzavo kretanje s više treniranja, dok s n_action_steps na 100 pravi zastoj se događa na granici bloka, vidljiva pauza svakih 3.3 sekunde pri 30 fps. Još dvije stvari koje treba znati: jedan mrtvi zglob je obično ID serva koji nikada nije zapisan, i hvataljka koja se približava, ali se nikada ne zatvara znači premali raspon hvataljke u demonstracijama. Potpuni indeks: stranice s načinima kvara.

Koliko košta jedno pokretanje

RazinaModeliVrijeme izvođenjaCijena po satuTrošak po izvođenju
RTX 4090 / 24 GBACT, SmolVLA2 do 5 sati0.30 do 0.60 USDoko 1 do 3 USD
A100 80 GB / H100GR00T N1.7, GR00T N1.5, Pi0.53 do 6 sati1.20 do 2.00 USDoko 4 do 12 USD

Ovo je argument za početak s ACT-om čak i ako kasnije želite VLA. Neuspješno pokretanje ACT-a košta kao kava i unutar nekoliko sati vam govori sadrži li vaš skup podataka zadatak. Neuspješno pokretanje GR00T-a košta četiri puta više za istu lekciju. Prelazak na GR00T N1.7 ili SmolVLA nakon toga je promjena forme, a ne ponovna izgradnja. Pozadina: modeli vizije, jezika i akcije, potpuni SO-100 vodič, trenirajte svoju prvu politiku i učenje imitacijom. Nemate ruku? Stranica uživo prikazuje pravi SO-100 za upravljanje bez prijave.

Trenirajte ACT na svom SO-100

Vodič za ovu točnu kombinaciju: zadane postavke, GPU razina i koliko košta pokretanje. Odaberite skup podataka, pozadinski sustav iznajmljuje karticu i zapisuje kontrolne točke.

Otvorite vodič za treniranje
Postoji li predtrenirani ACT model koji mogu umjesto toga fino podesiti?

Ne. ACT nema osnovni model; on postoji tek nakon što ga trenirate. To nije nedostatak u alatima, to je ono što ACT jest: rad trenira politiku od nule za svaki zadatak. Za kontrolnu točku dobavljača, koristite GR00T N1.7 ili Pi0.5.

Koliko mi je epizoda stvarno 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 bolje je od stotinu gdje se kamera pomicala.

Trebam li promijeniti chunk_size s 100?

Obično ne. Ablacija raste s 1 posto pri k = 1 na 44 posto pri k = 100 i nakon toga se smanjuje, tako da 100 sjedi blizu vrha. Ako se ruka predugo obvezuje, umjesto toga smanjite n_action_steps: pri 30 fps, 25 ponovnih upita svakih 0.8 sekundi.

Koliko dugo traje treniranje i mogu li ga zaustaviti ranije?

Dva do pet sati na kartici od 24 GB za 100000 koraka. Kontrolne točke se spremaju svakih 20000 koraka i --resume=true nastavlja pokretanje, tako da je rano zaustavljanje sigurno. Samo ne na prvom ravnom dijelu: glatkoća se poboljšava nakon što se gubitak stabilizira.

Gubitak se smanjio, a ruka i dalje ne uspijeva. Što sada?

Gotovo uvijek skup podataka. Ponovno reproducirajte snimljene epizode na ruci: ako reprodukcija ne izvršava zadatak, podaci ga ne sadrže. Zatim provjerite je li se nešto pomaknulo, posebno kamera. ACT nema prethodnih znanja, tako da je pomak u epizodi 21 trajan.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started