Tréningová matica AY-Robots s piatimi riadkami politík a štyrmi stĺpcami robotických ramien, pričom každá bunka odkazuje na konkrétny model a sprievodcu tréningom ramena
ACTSO-100lerobotučenie napodobňovanímtréning politiky

Ako trénovať ACT na SO-100 od základov

AY-Robots ResearchAugust 23, 202616 min čítania

Trénujte Action Chunking Transformer od základov na SO-100 s lerobot: konfigurácia act, chunk_size a n_action_steps, plán 100000 krokov, inferencia 20 ms.

ACT je výnimkou spomedzi politík SO-100. GR00T N1.7 a N1.5 začínajú od nvidia/GR00T-N1.7-3B a nvidia/GR00T-N1.5-3B, Pi0.5 od lerobot/pi05_base. ACT začína od nuly: neexistuje žiadny základný kontrolný bod, pretože to nie je základný model. Je to transformátor s približne 80 miliónmi parametrov, ktorý trénujete od začiatku na jednej úlohe, na vašom ramene, pod vaším osvetlením.

To je tiež dôvod, prečo vykoná riadiaci krok za 20 ms, zatiaľ čo 3-miliardový parameter VLA potrebuje 152 až 485 ms a stojí 1 až 3 USD za spustenie namiesto 4 až 12. Táto príručka popisuje manuálnu cestu s lerobot na SO-100: záznam, konfigurácia act, čo chunk_size a n_action_steps riadia, plán 100000 krokov, rollout. Potom rovnaká úloha na AY-Robots, vrátane toho, kde platforma nepomáha.

Čo potrebujete vedieť

  • ACT sa trénuje od začiatku: žiadny základný model, žiadne pretrénovanie, žiadny jazykový vstup. Jeden kontrolný bod, jedna úloha.
  • Článok: približne 80 M parametrov, okolo 5 hodín na 11 GB RTX 2080 Ti, 0.01 s inferencie.
  • Predvolené hodnoty lerobot: chunk_size 100, n_action_steps 100, batch 8, lr 1e-5, 100000 steps, seed 1000.
  • Na AY-Robots: 20 ms na krok, najrýchlejší z piatich. Minimálne 50 epizód, LeRobot v3.0, 24 GB karta, 1 až 3 USD za spustenie.
  • Vyhráva na úlohe, ktorú už videl, a prehráva v momente, keď chcete jazykové podmieňovanie.
Aké verzie toto popisuje

Skontrolované 23. augusta 2026 oproti lerobot 0.6.x: pyproject.toml na main číta version = "0.6.2", najnovší tag v0.6.1, 3. augusta 2026. Návod začínajúci s python lerobot/scripts/train.py predchádza vstupným bodom konzoly lerobot-train, lerobot-record a lerobot-rollout.

Čo je ACT v skutočnosti

Action Chunking with Transformers pochádza z článku ALOHA, Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware, od Zhao, Kumar, Levine a Finn, arXiv, 23. apríl 2023. Zariadenie nahráva pri 50 Hz so štyrmi webkamerami streamujúcimi 480x640 pri 30 fps: dve na uchopovačoch, jedna zhora, jedna spredu. Abstrakt tvrdí šesť zručností s 80 až 90 percentnou úspešnosťou, medzi nimi otvorenie priesvitnej nádobky na korenie a vloženie batérie, z 10 minút demonštrácií.

Telo je užitočnejšie pri plánovaní nahrávacej relácie: 50 demonštrácií na úlohu, okrem Thread Velcro pri 100, čo je 10 až 20 minút dát a 30 až 60 minút reálneho času po započítaní resetov. Úspešnosť tiež nie je rovnomerná: Thread Velcro končí na 20 percentách, Put On Shoe na 92, Cup Open 84, Prep Tape 64.

HyperparameterČlánok ALOHA, Tabuľka IIIlerobot na main
rýchlosť učenia1e-5optimizer_lr = 1e-5
veľkosť dávky8batch_size = 8, in TrainPipelineConfig not ACTConfig
vrstvy enkodéra / dekodéra4 / 7n_encoder_layers = 4 / n_decoder_layers = 1
veľkosť bloku k100chunk_size = 100
latentná dimenzia zchýba; Obr. 11 ukazuje projekciu 32 na 512latent_dim = 32
časové zoskupovaniechýba; --temporal_agg v referenčnom kódetemporal_ensemble_coeff = None
Riadok dekódovacej vrstvy nie je preklep

Článok uvádza 7 dekódovacích vrstiev, lerobot dodáva 1, zámerne. Komentár v configuration_act.py uvádza, že pôvodná implementácia má chybu, čo znamená, že sa používa iba prvá vrstva, pričom odkazuje na problém 25 v tonyzhaozh/act: hlava akcie číta hs[0], takže všetkých sedem vrstiev beží, ale k predikcii sa dostane iba prvý výstup. Tento problém je otvorený a nezodpovedaný od 23. apríla 2024. lerobot zodpovedá správaniu, ktoré viedlo k publikovaným výsledkom, nie vytlačenému číslu. Zvýšte --policy.n_decoder_layers a budete trénovať model, ktorý článok nikdy nehodnotil.

Chunking akcií je celá myšlienka

Obyčajné klonovanie správania mapuje jedno pozorovanie na jednu akciu a chyby sa kumulujú: odchýlka posunie rameno mimo distribúcie, čo vedie k horšej akcii, a o tridsať krokov neskôr je chápadlo ďaleko od objektu. Chunking akcií predpovedá k akcií naraz a vykonáva ich, čím znižuje efektívny horizont o faktor k. Tiež rieši nepríjemnosť špecifickú pre ľudské dáta: teleoperátori sa pozastavujú a jednokroková Markovovská politika nedokáže modelovať pauzu, ktorá závisí od toho, čo predchádzalo.

Článok ablatuje k namiesto toho, aby ho tvrdil. Pri vypnutom časovom zoskupovaní, spriemerovanom cez štyri nastavenia, úspešnosť stúpa z 1 percenta pri k = 1 na 44 percent pri k = 100, potom sa znižuje pri 200 a 400, keď sa politika blíži k riadeniu s otvorenou slučkou. Táto krivka je dôvodom, prečo je predvolená hodnota 100.

  • chunk_size: koľko budúcich akcií dekodér predpovedá na jeden dopredný prechod. Predvolené 100.
  • n_action_steps: koľko z nich vykonáte pred opätovným dopytovaním. Predvolené 100, takže lerobot vykoná celý blok v otvorenej slučke.
  • lerobot overí, či n_action_steps <= chunk_size, a ak je to naopak, vyvolá ValueError.

Z prevádzkového hľadiska záleží na chunk_size delenom snímkovou frekvenciou. Pri 30 fps, ktoré používajú príklady SO-100 od lerobot, blok 100 akcií predstavuje približne 3,3 sekundy od jedného pozorovania. Ak úloha vyžaduje korekciu v rámci tohto okna, znížte n_action_steps, nie chunk_size: zachováte si dlhú predikciu a častejšie opätovne pozorujete.

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
Skrátenie vykonanej časti bloku bez skrátenia predikcie.
Pasca časového ensemblovania

Nastavte --policy.temporal_ensemble_coeff a lerobot vyžaduje n_action_steps = 1, inak vyvolá NotImplementedError. Ensemblovanie dopytuje politiku v každom časovom kroku a spája prekrývajúce sa predikcie pre daný časový krok s váhami w_i = exp(-m * i), pričom najstaršia dostane w_0. Práca uvádza 3,3 percenta pre ACT: reálne, ale skromné, a násobí počet inferencií dĺžkou bloku. Cenovo dostupné pri 20 ms na krok, nie pri 485 ms. Pozri latencia inferencie.

Keď ACT prekoná základný model

Päť trénovateľných politík vedľa seba, s číslami, ktoré AY-Robots meria a používa na dimenzovanie GPU, ktoré si prenajíma.

PolitikaRodinaParametreNa krokÚroveň GPUMin. epizódDátová sada
ACTChunking transformátor, od základu~80 M20 msRTX 4090 / 24 GB50LeRobot v3.0
SmolVLAKompaktný VLA~450 M245 msRTX 4090 / 24 GB30LeRobot v3.0
GR00T N1.7Základ VLA, difúzna hlava~3 B (~40 M trained)152 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
GR00T N1.5Základ VLA, predchodca~3 B165 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
Pi0.5VLA s priraďovaním toku, pozri priraďovanie toku~3 B, PaliGemma backbone485 msA100 / H100 80 GB50LeRobot v3.0
Stránka politík AY-Robots zobrazujúca porovnávaciu tabuľku ACT, SmolVLA, GR00T N1.5, GR00T N1.7 a Pi0.5 s počtom parametrov, požiadavkami na GPU, latenciou inferencie a minimálnym počtom epizód
Tabuľka /policies: ACT má najmenší počet parametrov a najkratší čas kroku.
Trénovanie ACT od nuly
Výhody
  • 20 ms na akčný krok, najrýchlejší z piatich, na 24 GB karte, nie A100.
  • 1 až 3 USD za spustenie oproti 4 až 12 za triedu 3 B.
  • Presné pri práci bohatej na kontakt, ktorú videl: 88 a 96 percent na Slide Ziploc a Slot Battery, kde predchádzajúce metódy nikdy neprešli prvou fázou.
Kompromisy
  • Žiadne jazykové podmienky: reťazec úlohy sa ignoruje, takže jeden kontrolný bod je jedna úloha.
  • Žiadne sémantické priority: všetko, čo vie, pochádza z vašich 50 epizód.
  • Úzka generalizácia: posuňte kameru a preškoľujete.
  • Zlyháva potichu: strata klesá, rameno nič nerobí, protokoly nič nehovoria.
  • Výhoda rýchlosti pomáha len vtedy, ak sa inferencia nachádza vedľa servomotorov.

Vyberte ACT, keď sú úloha a scéna pevné a pohyb musí byť rýchly a presný. Vyberte keď jeden kontrolný bod musí pokrývať niekoľko inštrukcií. Dve stránky porovnávajú rozhodnutie priamo: a . Pre publikované benchmarky, odkazuje každé číslo na jeho zdroj.

Čo potrebujete, než začnete

Jedno sledovacie rameno, jedno vodiace rameno pre , aspoň jednu kameru, 24 GB GPU. ACT číta iba obrázky a pozície kĺbov. Dve kamery sú ideálne: pevný predný pohľad na to, kde sa veci nachádzajú, kamera na zápästí na to, čo sa chystá dotknúť , ako na ALOHA.

RamenoServáNapätieCena dielovStav
SO-100Feetech STS32157.4 V~110 to 150 EURPlná podpora, referenčné rameno
SO-101Feetech STS32157.4 V~130 to 170 EURPlná podpora
Koch v1.1Dynamixel XL330 / XL4305 V a 12 V napájacie lišty~250 to 350 EURKompatibilné
LeKiwiFeetech STS3215 (arm)7.4 V rameno, 12 V základňa~400 to 500 EURKompatibilné
7.4 V, nie 12 V

SO-100 a SO-101 používajú servá Feetech STS3215 na 7.4 V napájacej lište. Napájanie 12 V ich zničí, dostatočne ticho na to, aby ľudia najprv obviňovali softvér, a 12 V napájanie Koch fyzicky pasuje na dosku SO-100. Skontrolujte štítok. Príznaky: servo nereaguje, rameno sa trhá a potom klesá. Tiež SO-100 vs SO-101.

Od holého ramena po zaznamenaný dátový súbor

Nižšie uvedený postup je pre lerobot 0.6.x. Preskočte ho, ak máte kalibrované rameno a dátový súbor. V opačnom prípade príručka pre začiatok s SO-100 pokrýva montáž, návod na nahrávanie pokrýva zachytávanie a dokumentácia k dátovým súborom formát.

  1. 1
    Nainštalujte lerobot so správnymi doplnkami

    Nahrávanie vyžaduje core_scripts, trénovanie training, servá Feetech 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
    Nájdite USB port každého ramena

    Spustite ho s oboma ramenami zapojenými, jedno odpojte, keď budete vyzvaní. Na Linuxe možno budete musieť otvoriť povolenia uzla.

    bash
    lerobot-find-port
    # on Linux, if the port exists but is unreadable:
    sudo chmod 666 /dev/ttyACM0
  3. 3
    Nastavte ID motorov a prenosovú rýchlosť

    Na SO-100 sa to deje pred montážou: na rozdiel od SO-101 sú konektory po zostavení nedosiahnuteľné. Skript prechádza zbernicou motor po motore od chápadla a zapisuje ID do 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
    Kalibrujte obe ramená

    Nastavte každý kĺb do stredu jeho rozsahu, stlačte Enter a potom každý prejdite celým jeho rozsahom. Kalibrácia umožňuje spustiť politiku trénovanú na jednom ramene na inom. Znovu použite rovnaké 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
    Teleoperujte raz so zapnutými kamerami

    Pravidlo lerobot: mali by ste byť schopní vykonať úlohu len pri pohľade na obrázky z kamery. Ak to nedokážete, ani ACT to nedokáže. Týmto sa zachytí viac zlých dátových sád ako neskorším ladením.

    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
    Nahrajte 50 epizód

    50 je minimum AY-Robots a to, čo ALOHA používala na úlohu. lerobot odporúča 10 na umiestnenie objektu, kamery pevné, uchopenie konzistentné. n ukončí epizódu, r znova nahrá, q zastaví a zakóduje.

    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
Stránka s návodom na nahrávanie AY-Robots vysvetľujúca, ako zachytiť dátovú sadu vo formáte LeRobot z teleoperačnej relácie
Návod na nahrávanie. Desktopový klient zapisuje rovnaké rozloženie ako lerobot-record.
Pasca, ktorá pohltí deň: nekonzistentná dátová sada

ACT nemá žiadne predchádzajúce znalosti, na ktoré by sa mohol spoľahnúť, takže každá nekonzistentnosť sa stáva trvalou. Tri najnákladnejšie: kamera posunutá medzi epizódou 20 a 21, svetlo, ktoré sa zmenilo, pretože ste nahrali polovicu sady popoludní, uchopenie vykonané dvoma spôsobmi. Každé z nich poskytuje dokonale vyzerajúcu krivku straty a rameno, ktoré ide na nesprávne miesto. Pozrite si strata klesá, politika nič nerobí, politika funguje len v jednom nastavení a zber vysoko kvalitných tréningových dát.

Pred trénovaním prehrajte aspoň päť epizód. ukladá streamy z kamier, stavy kĺbov a akcie na , a prehrávanie tieto akcie posiela späť na rameno. Ak prehrávanie úlohu nevykoná, dáta ju neobsahujú a trénovanie ju nevymyslí.

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
Prehrávanie epizódy 0. Ak to zlyhá, zastavte a znova nahrajte.

Trénovanie politiky ACT

Toto je celý príkaz. Všetko špecifické pre ACT je už predvolené, preto stránka lerobot ACT odporúča začať s nimi.

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
Trénovací príkaz z dokumentácie lerobot 0.6.x, na datasete SO-100.

--policy.type=act načíta ACTConfig, ktorý sa prispôsobí počtu motorov a kamier zaznamenaných vo vašom datasete, takže nikdy nemusíte deklarovať tvar pozorovania. --wandb.enable=true je voliteľný a stojí za to: krivka straty je jediný lacný signál v behu so 100000 krokmi. Rozvrh pochádza z tréningovej konfigurácie lerobot, nie z ACTConfig: 100000 krokov, dávka 8, seed 1000, kontrolný bod každých 20000 krokov, logovanie každých 200.

Úplné spustenie zanechá päť adresárov kontrolných bodov, 020000 až 100000, plus posledný symbolický odkaz. Uchovajte ich všetky: najlepšia politika často nie je tá posledná.

NastaveniePredvolené pre lerobotFormulár AY-Robots ACTKomentár
veľkosť dávky88Znížte ju najprv, ak narazíte na limity VRAM.
rýchlosť učenia1e-51e-5Rovnaké ako v článku ALOHA.
max. krokov100000100000Približne tam, kde sa súbor 50 epizód prestane zlepšovať.
akumulácia gradientu11, nepoužije saNamiesto toho zmeňte veľkosť dávky.
seed1000exponovanéVstupný bod tyro GR00T nemá seed; spustenia ACT sú tie reprodukovateľné.
chunk_size / n_action_steps100 / 100100 / 100, editovateľnéHorizont predikcie a vykonávania. Znížte druhý, nie prvý.
frekvencia kontrolných bodov20000neexponovanésaveSteps je tu ovládač GR00T.
Nedostatok pamäte je problém s veľkosťou dávky, nie problém s kartou

ACT s veľkosťou dávky 8 a dvoma kamerami 640x480 sa pohodlne zmestí na 24 GB. Prestane sa zmestiť, keď ľudia zvýšia veľkosť dávky pre rýchlosť, alebo mu dodajú snímky 1920x1080, ktoré ukazuje jeden príklad nahrávania lerobot. Dva backbony ResNet-18 pri 1080p majú veľmi odlišný pamäťový profil. Znížte --batch_size na 4 pred prenajatím väčšej karty. Pozri nedostatok pamäte pri tréningu.

Trvanie: približne 5 hodín na 11 GB RTX 2080 Ti v článku, niekoľko hodín pre 100k krokov podľa stránky ACT lerobot, 2 až 5 hodín na úrovni 24 GB AY-Robots. Neskracujte to. Súbor README referenčného repozitára uvádza, že trhavá alebo prerušovaná politika zvyčajne potrebuje len viac tréningu, pretože úspech a plynulosť sa neustále zlepšujú aj po stabilizácii straty: pre reálne dáta potrebuje aspoň 5000 epoch, alebo 3 až 4-násobok dĺžky po stabilizácii.

bash
lerobot-train \
  --config_path=outputs/train/act_so100_cube/checkpoints/last/pretrained_model/train_config.json \
  --resume=true
Pokračovanie prerušeného behu z jeho posledného kontrolného bodu.

Spustenie natrénovanej politiky na ramene

Nasadenie používa lerobot-rollout. Kľúče kamier sa musia zhodovať s nahranými: politika trénovaná na front a wrist nebude akceptovať cam0 a cam1, a rename_map nepomôže, pretože potrebuje predtrénovaný kontrolný bod. Reťazec úlohy môže byť vynechaný; vlastný príklad lerobot ho označuje ako voliteľný pre 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
Autonómne spustenie bez nahrávania. Použite --strategy.type=sentry na nahrávanie epizód hodnotenia.
Tento príkaz bol nedávno premenovaný, takže staré tutoriály sa nezhodujú

Hodnotenie sa predtým spúšťalo pomocou lerobot-record --policy.path=.... Vo verzii 0.6.x je to lerobot-rollout s voličom --strategy.type: base, sentry (nahrávanie s automatickým nahrávaním), highlight (kruhový buffer uložený stlačením klávesu), dagger (človek v slučke) a episodic. K 23. augustu 2026 stránka dokumentácie ACT stále uvádza „použitie príkazu lerobot-record“ priamo nad blokom, ktorý spúšťa lerobot-rollout. Riaďte sa príkazom, nie vetou.

Ak chcete pripnúť kontrolný bod namiesto finálneho modelu, pridajte --policy.pretrained_revision. To si vyžaduje, aby sa spustenie začalo s --save_checkpoint_to_hub=true, predvolene vypnuté: bez neho lerobot nahrá iba finálny model a nič iné. S ním je každý kontrolný bod označený krokom s nulovou výplňou, takže --policy.pretrained_revision=060000 obnoví ten s 60000 krokmi. Porovnanie s 100000 na skutočnom ramene je najlacnejší dostupný experiment.

Dve cesty k rovnakému kontrolnému bodu

Všetko vyššie uvedené je manuálna cesta a funguje. Cesta cez platformu vymieňa kontrolu za to, že nemusíte vlastniť GPU ani prostredie Python.

  1. Nainštalujte lerobot 0.6.x s core_scripts, training, feetech, ffmpeg.
  2. Nájdite porty, nastavte ID motorov, kalibrujte obe ramená, nahrajte 50 epizód.
  3. Prehrajte niekoľko epizód, aby ste potvrdili, že dáta obsahujú úlohu.
  4. Prenajmite si alebo vlastnite 24 GB GPU, zlaďte CUDA a PyTorch, spustite lerobot-train --policy.type=act.
  5. Počkajte niekoľko hodín, potom spustite lerobot-rollout na stroji pri ramene.
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
Čo vám táto cesta poskytuje

Úplná kontrola: upravte configuration_act.py, pridajte kameru, forknite trénera. Pre výskum, a nie pre dodanie úlohy, je platforma rozptýlením.

Tréningová matica AY-Robots s piatimi riadkami politík a štyrmi stĺpcami robotických ramien, kde každá bunka odkazuje na konkrétneho sprievodcu trénovaním pre danú kombináciu modelu a ramena
Matica na /train. Riadok ACT oproti stĺpcu SO-100 je sprievodcom tohto článku.

Čo sa v skutočnosti pokazí

Takmer žiadna z ťažkostí nie je v trénovacom príkaze. Je v veciach okolo neho, zoradených podľa toho, ako často sa objavia prvýkrát.

SymptómObvyklá príčinaStránka
lerobot-find-port nič nezobrazujeOvládač, kábel alebo oprávnenia uzlarameno nerozpoznané
Kamera chýba v čase nahrávaniaIndex sa zmenil po reštarte, alebo dve kamery na jednom USB kontrolérikamera nerozpoznaná
Trénovanie odmieta dátovú saduACT vyžaduje v3.0, GR00T potrebuje v2.1dátová sada odmietnutá ako v3
CUDA nedostatok pamäteVeľkosť dávky zvýšená, alebo 1080p snímky namiesto 480pnedostatok pamäte pri trénovaní
Strata vyzerá skvele, rameno nič nerobíDáta postrádajú úlohu, alebo sa kamera pohlastrata klesá, politika nič nerobí
Trhavý pohyb alebo pauza uprostred epizódyNedostatočne trénované, zastavenie na hranici bloku, alebo vypršaný inferenčný hovorpolitika zamrzne uprostred pohybu

Dva riadky si zaslúžia zdôraznenie. ACT trénuje na LeRobot v3.0, zatiaľ čo loader GR00T na ňom padá a potrebuje v2.1, takže dátová sada, ktorá trénuje ACT, môže zlyhať pri spustení GR00T. A posledný riadok má dve riešenia: autori ACT reagujú na trhavý pohyb ďalším trénovaním, zatiaľ čo s n_action_steps pri 100 sa skutočné zastavenie objaví na hranici bloku, viditeľná pauza každých 3.3 sekundy pri 30 fps. Ďalšie dve veci, ktoré treba vedieť: jeden mŕtvy kĺb je zvyčajne id serva, ktoré nebolo nikdy zapísané, a uchopovač, ktorý sa priblíži, ale nikdy sa nezatvorí znamená príliš malý rozsah uchopovača v demonštráciách. Úplný index: stránky režimov zlyhania.

Čo stojí spustenie

ÚroveňModelyDoba behuCena za hodinuCena za spustenie
RTX 4090 / 24 GBACT, SmolVLA2 až 5 hodín0.30 to 0.60 USDpribližne 1 až 3 USD
A100 80 GB / H100GR00T N1.7, GR00T N1.5, Pi0.53 až 6 hodín1.20 to 2.00 USDpribližne 4 až 12 USD

Toto je argument pre začatie s ACT, aj keď neskôr chcete VLA.Neúspešné spustenie ACT stojí cenu kávy a v priebehu hodín vám povie, či váš dataset obsahuje danú úlohu.Neúspešné spustenie GR00T stojí štyrikrát toľko za rovnakú lekciu.Prechod na GR00T N1.7 alebo SmolVLA potom je zmena formy, nie prestavba.Pozadie: modely videnia, jazyka a akcie, kompletný sprievodca SO-100, natrénujte svoju prvú politiku a učenie napodobňovaním. Žiadne rameno? Živá stránka streamuje skutočné SO-100, ktoré môžete ovládať bez registrácie.

Trénujte ACT na vašom SO-100

Sprievodca pre túto presnú kombináciu: predvolené nastavenia, úroveň GPU a náklady na spustenie. Vyberte dataset, backend si prenajme kartu a zapíše kontrolné body.

Otvoriť sprievodcu tréningom
Existuje predtrénovaný model ACT, ktorý môžem namiesto toho doladiť?

Nie. ACT nemá žiadny základný model; existuje len potom, čo ho natrénujete. To nie je medzera v nástrojoch, to je to, čo ACT je: článok trénuje politiku od nuly pre každú úlohu. Pre kontrolný bod od dodávateľa použite GR00T N1.7 alebo Pi0.5.

Koľko epizód skutočne potrebujem?

50: to, čo ALOHA zaznamenala pre každú úlohu (100 pre Thread Velcro, jej najťažšiu) a minimum AY-Robots. lerobot odporúča približne 10 na umiestnenie objektu, s pevnými kamerami a konzistentným uchopením. Päťdesiat čistých epizód prekoná sto, kde sa kamera pohybovala.

Mám zmeniť chunk_size zo 100?

Zvyčajne nie. Ablácia stúpa z 1 percenta pri k = 1 na 44 percent pri k = 100 a potom sa zužuje, takže 100 je blízko vrcholu. Ak rameno príliš dlho vykonáva akciu, znížte radšej n_action_steps: pri 30 fps, 25 opätovných dopytov každých 0.8 sekundy.

Ako dlho trvá tréning a môžem ho zastaviť skôr?

Dve až päť hodín na 24 GB karte pre 100000 krokov. Kontrolné body sa ukladajú každých 20000 krokov a --resume=true obnoví spustenie, takže predčasné zastavenie je bezpečné. Len nie pri prvom plochom úseku: plynulosť sa zlepšuje po stabilizácii straty.

Strata klesla a rameno stále zlyháva. Čo teraz?

Takmer vždy dataset. Prehrajte zaznamenané epizódy na ramene: ak prehrávanie nevykoná úlohu, dáta ju neobsahujú. Potom skontrolujte, či sa niečo nepohlo, najmä kamera. ACT nemá žiadne apriórne znalosti, takže posun v epizóde 21 je trvalý.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started