Tréninková matice AY-Robots s pěti řádky politik a čtyřmi sloupci robotických ramen, každá buňka odkazuje na konkrétní model a průvodce tréninkem ramene
ACTSO-100lerobotučení nápodoboutrénink politik

Jak trénovat ACT na SO-100 od začátku

AY-Robots ResearchAugust 23, 202616 min čtení

Trénujte Action Chunking Transformer od začátku na SO-100 s lerobot: konfigurace act, chunk_size a n_action_steps, plán 100000 kroků, inference 20 ms.

ACT je výjimkou mezi politikami SO-100. GR00T N1.7 a N1.5 vycházejí z nvidia/GR00T-N1.7-3B a nvidia/GR00T-N1.5-3B, Pi0.5 z lerobot/pi05_base. ACT začíná od nuly: neexistuje žádný základní kontrolní bod, protože to není základní model. Je to transformátor s přibližně 80 miliony parametrů, který trénujete od začátku na jeden úkol, na vašem rameni, pod vaším osvětlením.

To je také důvod, proč provede řídicí krok za 20 ms, zatímco VLA s 3 miliardami parametrů potřebuje 152 až 485 ms a stojí 1 až 3 USD za běh namísto 4 až 12. Tento průvodce popisuje manuální cestu s lerobot na SO-100: záznam, konfigurace act, co řídí chunk_size a n_action_steps, plán 100000 kroků, rollout. Poté stejná úloha na AY-Robots, včetně toho, kde platforma nepomáhá.

Co potřebujete vědět

  • ACT trénuje od začátku: žádný základní model, žádné předtrénování, žádný jazykový vstup. Jeden kontrolní bod, jeden úkol.
  • Článek: přibližně 80 milionů parametrů, asi 5 hodin na 11 GB RTX 2080 Ti, 0,01 s inference.
  • Výchozí nastavení lerobot: chunk_size 100, n_action_steps 100, batch 8, lr 1e-5, 100000 kroků, seed 1000.
  • Na AY-Robots: 20 ms na krok, nejrychlejší z pěti. Minimálně 50 epizod, LeRobot v3.0, 24 GB karta, 1 až 3 USD za běh.
  • Vyhrává na úkolu, který viděl, a prohrává v okamžiku, kdy chcete jazykové podmínění.
Jaké verze toto popisuje

Zkontrolováno 23. srpna 2026 proti lerobot 0.6.x: pyproject.toml na main uvádí version = "0.6.2", nejnovější tag v0.6.1, 3. srpna 2026. Tutoriál začínající s python lerobot/scripts/train.py předchází vstupním bodům konzole lerobot-train, lerobot-record a lerobot-rollout.

Co je ACT ve skutečnosti

Action Chunking with Transformers pochází z článku ALOHA, Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware, od Zhao, Kumar, Levine a Finn, arXiv, 23. dubna 2023. Zařízení nahrává při 50 Hz se čtyřmi webkamerami streamujícími 480x640 při 30 fps: dvě na chapadlech, jedna shora, jedna zepředu. Abstrakt uvádí šest dovedností s 80 až 90procentní úspěšností, mezi nimi otevření průsvitného kelímku na koření a vložení baterie, z 10 minut demonstrací.

Hlavní text je užitečnější při plánování nahrávací relace: 50 demonstrací na úkol, kromě Thread Velcro se 100, což je 10 až 20 minut dat a 30 až 60 minut reálného času, jakmile se započítají resety. Úspěšnost také není jednotná: Thread Velcro končí na 20 procentech, Put On Shoe na 92, Cup Open 84, Prep Tape 64.

HyperparametrČlánek ALOHA, Tabulka IIIlerobot na main
rychlost učení1e-5optimizer_lr = 1e-5
velikost dávky8batch_size = 8, in TrainPipelineConfig not ACTConfig
vrstvy kodéru / dekodéru4 / 7n_encoder_layers = 4 / n_decoder_layers = 1
velikost bloku k100chunk_size = 100
latentní dimenze zchybí; Obr. 11 ukazuje projekci 32 na 512latent_dim = 32
časové ensemblováníchybí; --temporal_agg v referenčním kódutemporal_ensemble_coeff = None
Řádek s dekodérovými vrstvami není překlep

Článek uvádí 7 dekodérových vrstev, lerobot dodává 1, záměrně. Komentář v configuration_act.py uvádí, že původní implementace má chybu, což znamená, že je použita pouze první vrstva, s odkazem na issue 25 in tonyzhaozh/act: hlava akce čte hs[0], takže všech sedm vrstev běží, ale k predikci se dostane pouze první výstup. Tento problém je otevřený a nezodpovězený od 23. dubna 2024. lerobot odpovídá chování, které vedlo k publikovaným výsledkům, nikoli vytištěnému číslu. Zvyšte --policy.n_decoder_layers a budete trénovat model, který článek nikdy nevyhodnotil.

Chunking akcí je celá myšlenka

Běžné behaviorální klonování mapuje jedno pozorování na jednu akci a chyby se kumulují: odchylka posune rameno mimo distribuci, což vede k horší akci, a o třicet kroků později je chapadlo daleko od objektu. Chunking akcí předpovídá k akcí najednou a provádí je, čímž snižuje efektivní horizont o faktor k. Také řeší nepříjemnost specifickou pro lidská data: teleoperátoři se pozastavují a jednokroková Markovovská politika nemůže modelovat pauzu, která závisí na tom, co předcházelo.

Článek abluje k, spíše než aby ho tvrdil. Při vypnutém časovém ensemblingu, zprůměrováno přes čtyři nastavení, úspěšnost stoupá z 1 percenta při k = 1 na 44 procent při k = 100, poté se snižuje na 200 a 400, jak se politika blíží řízení s otevřenou smyčkou. Tato křivka je důvodem, proč je výchozí hodnota 100.

  • chunk_size: kolik budoucích akcí dekodér předpoví na jeden průchod vpřed. Výchozí hodnota 100.
  • n_action_steps: kolik z nich provedete před dalším dotazem. Výchozí hodnota 100, takže lerobot provede celý chunk v otevřené smyčce.
  • lerobot ověřuje, že n_action_steps <= chunk_size, a vyvolá ValueError, pokud je to naopak.

Co je operačně důležité, je chunk_size děleno snímkovou frekvencí. Při 30 fps, které používají příklady SO-100 od lerobot, chunk o velikosti 100 akcí zabere přibližně 3,3 sekundy od jednoho pozorování. Pokud úkol vyžaduje korekci uvnitř tohoto okna, snižte n_action_steps, nikoli chunk_size: zachováte dlouhou predikci a častěji znovu 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
Zkrácení provedené části chunku bez zkrácení predikce.
Past časového ensemblingu

Nastavte --policy.temporal_ensemble_coeff a lerobot vyžaduje n_action_steps = 1, jinak vyvolá NotImplementedError. Ensembling dotazuje politiku v každém časovém kroku a mísí překrývající se predikce pro tento časový krok s váhami w_i = exp(-m * i), přičemž nejstarší dostane w_0. Článek uvádí 3,3 procenta pro ACT: skutečné, ale skromné, a násobí počet inferencí délkou chunku. Cenově dostupné při 20 ms na krok, nikoli při 485 ms. Viz latence inference.

Když ACT překonává základní model

Pět trénovatelných politik vedle sebe, s čísly, která AY-Robots měří a používá k dimenzování GPU, které si pronajímá.

PolitikaRodinaParametryNa krokÚroveň GPUMin. epizodyDatová 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, difuzní hlava~3 B (~40 M trained)152 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
GR00T N1.5Základ VLA, předchůdce~3 B165 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
Pi0.5VLA s párováním toků, viz párování toků~3 B, PaliGemma backbone485 msA100 / H100 80 GB50LeRobot v3.0
Stránka politik AY-Robots zobrazující srovnávací tabulku ACT, SmolVLA, GR00T N1.5, GR00T N1.7 a Pi0.5 s počty parametrů, požadavky na GPU, latencí inference a minimálním počtem epizod
Tabulka /policies: ACT má nejmenší počet parametrů a nejkratší čas kroku.
Trénink ACT od nuly
Výhody
  • 20 ms na akční krok, nejrychlejší z pěti, na 24 GB kartě, ne na A100.
  • 1 až 3 USD za běh oproti 4 až 12 za třídu 3 B.
  • Přesné při práci s častým kontaktem, kterou viděl: 88 a 96 procent na Slide Ziploc a Slot Battery, kde předchozí metody nikdy nepřekonaly první fázi.
Kompromisy
  • Žádné jazykové podmínění: řetězec úkolu je ignorován, takže jeden kontrolní bod je jeden úkol.
  • Žádné sémantické priority: vše, co ví, pochází z vašich 50 epizod.
  • Úzká generalizace: posuňte kameru a musíte znovu trénovat.
  • Selhává tiše: ztráta klesá, rameno nic nedělá, protokoly nic neříkají.
  • Výhoda rychlosti pomáhá pouze tehdy, pokud inference probíhá vedle servomotorů.

Zvolte ACT, když jsou úkol a scéna pevně dané a pohyb musí být rychlý a přesný. Zvolte když jeden kontrolní bod musí pokrýt několik instrukcí. Dvě stránky porovnávají rozhodnutí přímo: a . Pro publikované benchmarky, odkazuje každé číslo na jeho zdroj.

Co potřebujete, než začnete

Jedno následné rameno, jedno vedoucí rameno pro , alespoň jednu kameru, 24 GB GPU. ACT čte pouze obrazy a pozice kloubů. Dvě kamery jsou ideální: pevný přední pohled na to, kde se věci nacházejí, a zápěstní kamera na to, čeho se chystá dotknout, jako u ALOHA.

RamenoServaNapětíCena dílůStav
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 and 12 V rails~250 to 350 EURKompatibilní
LeKiwiFeetech STS3215 (rameno)7.4 V rameno, 12 V základna~400 to 500 EURKompatibilní
7.4 V, ne 12 V

SO-100 a SO-101 používají serva Feetech STS3215 na 7.4 V napájecí liště. Napájení 12 V je zničí, dostatečně tiše na to, aby lidé nejprve vinili software, a 12 V napájecí zdroj Koch se fyzicky hodí na desku SO-100. Zkontrolujte štítek. Příznaky: servo nereaguje, rameno se cuká a pak klesá. Také SO-100 vs SO-101.

Od holého ramene k zaznamenanému datovému souboru

Níže uvedený postup je pro lerobot 0.6.x. Přeskočte jej, pokud máte kalibrované rameno a datový soubor. Jinak průvodce začátkem práce s SO-100, pokrývá montáž, návod k nahrávání pokrývá zachycení a dokumentace k datovým souborům formát.

  1. 1
    Nainstalujte lerobot se správnými doplňky

    Pro nahrávání je potřeba core_scripts, pro trénink training, pro serva 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
    Najděte USB port každého ramene

    Spusťte jej s oběma rameny zapojenými, jedno odpojte, když budete vyzváni. Na Linuxu možná budete muset otevřít oprávnění uzlu.

    bash
    lerobot-find-port
    # on Linux, if the port exists but is unreadable:
    sudo chmod 666 /dev/ttyACM0
  3. 3
    Nastavte ID motorů a přenosovou rychlost

    Na SO-100 se to děje před montáží: na rozdíl od SO-101 jsou konektory po sestavení nedostupné. Skript prochází sběrnici motor po motoru od chapadla 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
    Zkalibrujte obě ramena

    Nastavte každý kloub do středu jeho rozsahu, stiskněte Enter a poté každý projděte celým jeho rozsahem. Kalibrace umožňuje spuštění politiky trénované na jednom rameni na jiném. Znovu použijte stejné 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 jednou se zapnutými kamerami

    Pravidlo lerobota: měli byste být schopni provést úkol pouze pohledem na snímky z kamery. Pokud to nedokážete vy, nedokáže to ani ACT. To odhalí více špatných datových sad než pozdější ladění.

    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 epizod

    50 je minimum AY-Robots a to, co ALOHA používala na úkol. lerobot doporučuje 10 na umístění objektu, kamery pevné, úchop konzistentní. n ukončí epizodu, r znovu nahraje, 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 tutoriálu nahrávání AY-Robots vysvětlující, jak zachytit datovou sadu ve formátu LeRobot z teleoperační relace
Tutoriál nahrávání. Desktopový klient zapisuje stejné rozložení jako lerobot-record.
Past, která pohltí den: nekonzistentní datová sada

ACT nemá žádné předchozí znalosti, na které by se mohl spolehnout, takže každá nekonzistence se stává trvalou. Tři nejdražší: kamera posunutá mezi epizodou 20 a 21, světlo, které se změnilo, protože jste nahráli polovinu sady odpoledne, úchop provedený dvěma způsoby. Každý z nich dává perfektně vypadající křivku ztráty a rameno, které jde na špatné místo. Viz ztráta klesá, politika nic nedělá, politika funguje pouze v jednom nastavení a sběr vysoce kvalitních tréninkových dat.

Před tréninkem přehrajte alespoň pět epizod. ukládá datové proudy z kamer, stavy kloubů a akce na , a přehrávání tyto akce vrací zpět rameni. Pokud přehrávání úkol neprovede, data jej neobsahují a trénink jej nevytvoří.

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
Přehrávání epizody 0. Pokud to selže, zastavte a znovu nahrajte.

Trénování politiky ACT

Toto je celý příkaz. Vše specifické pro ACT je již výchozí, proto stránka lerobot ACT doporučuje začít 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í příkaz z dokumentace lerobot 0.6.x, na datové sadě SO-100.

--policy.type=act načítá ACTConfig, který se přizpůsobí počtu motorů a kamer zaznamenaných ve vašem datasetu, takže nikdy nemusíte deklarovat tvar pozorování. --wandb.enable=true je volitelný a stojí za to: křivka ztráty je jediný levný signál v běhu o 100000 krocích. Plán pochází z konfiguračního souboru lerobot pro trénink, nikoli z ACTConfig: 100000 kroků, dávka 8, seed 1000, checkpoint každých 20000 kroků, logování každých 200.

Úplný běh zanechá pět adresářů s checkpointy, 020000 až 100000, plus symbolický odkaz last. Ponechte je všechny: nejlepší politika často není ta poslední.

NastaveníVýchozí hodnota lerobotFormulář AY-Robots ACTKomentář
Velikost dávky88Nejprve ji snižte, pokud narazíte na limity VRAM.
Rychlost učení1e-51e-5Stejné jako v článku ALOHA.
Maximální kroky100000100000Přibližně tam, kde se sada 50 epizod přestává zlepšovat.
Akumulace gradientu11, does not applyMísto toho změňte velikost dávky.
Seed1000exposedVstupní bod tyro GR00T nemá seed; běhy ACT jsou ty reprodukovatelné.
chunk_size / n_action_steps100 / 100100 / 100, editableHorizont predikce a provedení. Snižte druhý, ne první.
Frekvence checkpointů20000not exposedsaveSteps je zde parametr GR00T.
Nedostatek paměti je problém velikosti dávky, nikoli problém karty

ACT s velikostí dávky 8 a dvěma kamerami 640x480 se pohodlně vejde do 24 GB. Přestane se vejít, když lidé zvýší velikost dávky pro rychlost, nebo když mu dodají snímky 1920x1080, jak ukazuje jeden příklad nahrávání lerobot. Dva ResNet-18 backbones při 1080p mají velmi odlišný paměťový profil. Snižte --batch_size na 4, než si pronajmete větší kartu. Viz nedostatek paměti při tréninku.

Doba trvání: přibližně 5 hodin na 11 GB RTX 2080 Ti v článku, několik hodin pro 100 tisíc kroků podle stránky ACT lerobot, 2 až 5 hodin na úrovni AY-Robots 24 GB. Nezkracujte to. README referenčního repozitáře uvádí, že trhavá nebo přerušovaná politika obvykle potřebuje více tréninku, protože úspěšnost a plynulost se stále zlepšují i po stabilizaci ztráty: pro reálná data je potřeba alespoň 5000 epoch, nebo 3 až 4násobek délky po stabilizaci.

bash
lerobot-train \
  --config_path=outputs/train/act_so100_cube/checkpoints/last/pretrained_model/train_config.json \
  --resume=true
Pokračování přerušeného běhu z jeho posledního kontrolního bodu.

Spuštění natrénované politiky na rameni

Nasazení používá lerobot-rollout. Klíče kamer se musí shodovat s nahranými: politika trénovaná na front a wrist nepřijme cam0 a cam1, a rename_map nepomůže, protože potřebuje předtrénovaný kontrolní bod. Řetězec úlohy lze vynechat; vlastní příklad lerobot jej označuje jako volitelný pro 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
Autonomní spuštění bez nahrávání. Použijte --strategy.type=sentry pro nahrávání evaluačních epizod.
Tento příkaz byl nedávno přejmenován, takže staré tutoriály se liší

Evaluace se dříve spouštěla pomocí lerobot-record --policy.path=.... Ve verzi 0.6.x je to lerobot-rollout s voličem --strategy.type: base, sentry (nahrávání s automatickým nahráváním), highlight (kruhový buffer uložený stiskem klávesy), dagger (člověk v cyklu) a episodic. K 23. srpnu 2026 stránka dokumentace ACT stále uvádí „použití příkazu lerobot-record“ přímo nad blokem, který spouští lerobot-rollout. Řiďte se příkazem, ne větou.

Pro připnutí kontrolního bodu namísto finálního modelu přidejte --policy.pretrained_revision. To vyžaduje, aby spuštění začalo s --save_checkpoint_to_hub=true, ve výchozím nastavení vypnuto: bez něj lerobot nahraje finální model a nic jiného. S ním je každý kontrolní bod označen svým krokem s nulovou výplní, takže --policy.pretrained_revision=060000 obnoví ten s 60000 kroky. Porovnání s 100000 na skutečném rameni je nejlevnější dostupný experiment.

Dvě cesty ke stejnému kontrolnímu bodu

Vše výše je manuální cesta a funguje. Cesta přes platformu vyměňuje kontrolu za to, že nemusíte vlastnit GPU nebo Python prostředí.

  1. Nainstalujte lerobot 0.6.x s core_scripts, training, feetech, ffmpeg.
  2. Najděte porty, nastavte ID motorů, zkalibrujte obě ramena, nahrajte 50 epizod.
  3. Přehrávejte několik epizod pro potvrzení, že data obsahují úkol.
  4. Pronajměte si nebo vlastněte 24 GB GPU, slaďte CUDA a PyTorch, spusťte lerobot-train --policy.type=act.
  5. Počkejte několik hodin, poté spusťte lerobot-rollout na stroji u 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
Co vám tato cesta nabízí

Úplná kontrola: upravte configuration_act.py, přidejte kameru, forkněte tréninkový program. Pro výzkum spíše než pro dodání úkolu je platforma rušivým prvkem.

Tréninková matice AY-Robots s pěti řádky politik a čtyřmi sloupci robotických ramen, kde každá buňka odkazuje na konkrétního průvodce tréninkem pro danou kombinaci modelu a ramene
Matice na /train. Řádek ACT proti sloupci SO-100 je průvodcem tohoto článku.

Co se skutečně pokazí

Téměř žádná bolest není v tréninkovém příkazu. Je v souvisejících věcech, seřazených podle toho, jak často se s nimi poprvé narazí na problém.

SymptomObvyklá příčinaStránka
lerobot-find-port nic nezobrazujeOvladač, kabel nebo oprávnění uzlurameno nerozpoznáno
Kamera chybí v době záznamuIndex se změnil po restartu, nebo dvě kamery na jednom USB kontrolérukamera nerozpoznána
Trénink odmítá datovou saduACT vyžaduje v3.0, GR00T potřebuje v2.1datová sada odmítnuta jako v3
CUDA nedostatek pamětiVelikost dávky zvýšena, nebo 1080p snímky místo 480pnedostatek paměti při tréninku
Ztráta vypadá skvěle, rameno nic neděláData postrádají úkol, nebo se pohnula kameraztráta klesá, politika nic nedělá
Trhaný pohyb nebo pauza uprostřed epizodyNedostatečně trénováno, zasekávání na hranici bloku, nebo vypršel čas volání inferencepolitika zamrzá uprostřed pohybu

Dva řádky si zaslouží zdůraznění. ACT trénuje na LeRobot v3.0, zatímco zavaděč GR00T na něm padá a potřebuje v2.1, takže datová sada, která trénuje ACT, může selhat při spuštění GR00T. A poslední řádek má dvě řešení: autoři ACT reagují na trhaný pohyb dalším tréninkem, zatímco s n_action_steps na 100 se skutečné zasekávání objeví na hranici bloku, viditelná pauza každých 3,3 sekundy při 30 fps. Další dvě věci, které je třeba vědět: jeden mrtvý kloub je obvykle ID serva, které nebylo nikdy zapsáno, a uchopovač, který se přiblíží, ale nikdy se nezavře znamená příliš malý rozsah uchopovače v demonstracích. Úplný index: stránky s režimy selhání.

Co stojí spuštění

ÚroveňModelyDoba běhuCena za hodinuCena za spuštění
RTX 4090 / 24 GBACT, SmolVLA2 až 5 hodin0.30 to 0.60 USDpřibližně 1 až 3 USD
A100 80 GB / H100GR00T N1.7, GR00T N1.5, Pi0.53 až 6 hodin1.20 to 2.00 USDpřibližně 4 až 12 USD

Toto je argument pro začátek s ACT, i když později chcete VLA. Neúspěšné spuštění ACT stojí cenu kávy a během několika hodin vám řekne, zda váš datový soubor obsahuje daný úkol. Neúspěšné spuštění GR00T stojí čtyřnásobek za stejnou lekci. Přechod na GR00T N1.7 nebo SmolVLA poté je změna formy, nikoli přestavba. Pozadí: modely vize-jazyka-akce, kompletní průvodce SO-100, natrénujte svou první politiku a učení nápodobou. Nemáte rameno? Živá stránka streamuje skutečné SO-100, které můžete řídit bez registrace.

Trénujte ACT na vašem SO-100

Průvodce pro tuto přesnou kombinaci: výchozí nastavení, úroveň GPU a co stojí spuštění. Vyberte datový soubor, backend si pronajme kartu a zapíše kontrolní body.

Otevřít průvodce tréninkem
Existuje předtrénovaný model ACT, který mohu místo toho doladit?

Ne. ACT nemá žádný základní model; existuje pouze poté, co jej natrénujete. To není mezera v nástrojích, to je to, co ACT je: článek trénuje politiku od nuly pro každý úkol. Pro kontrolní bod od dodavatele použijte GR00T N1.7 nebo Pi0.5.

Kolik epizod skutečně potřebuji?

50: to, co ALOHA zaznamenala pro každý úkol (100 pro Thread Velcro, jeho nejtěžší) a minimum AY-Robots. lerobot doporučuje přibližně 10 na umístění objektu, s pevnými kamerami a konzistentním úchopem. Padesát čistých epizod je lepší než sto, kde se kamera pohybovala.

Měl bych změnit chunk_size ze 100?

Obvykle ne. Ablace stoupá z 1 procenta při k = 1 na 44 procent při k = 100 a poté se snižuje, takže 100 je blízko vrcholu. Pokud se rameno zavazuje příliš dlouho, snižte raději n_action_steps: při 30 fps, 25 opakovaných dotazů každých 0.8 sekundy.

Jak dlouho trvá tréninkové spuštění a mohu ho zastavit dříve?

Dvě až pět hodin na 24 GB kartě pro 100000 kroků. Kontrolní body se ukládají každých 20000 kroků a --resume=true obnoví spuštění, takže předčasné zastavení je bezpečné. Jen ne u prvního plochého úseku: plynulost se zlepšuje poté, co se ztráta stabilizuje.

Ztráta klesla a rameno stále selhává. Co teď?

Téměř vždy datový soubor. Přehrávejte zaznamenané epizody na rameni: pokud přehrávání neprovádí úkol, data jej neobsahují. Poté zkontrolujte, zda se něco nepohnulo, zejména kamera. ACT nemá žádné předchozí znalosti, takže posun v epizodě 21 je trvalý.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started