AY-Robots apmācības matrica ar piecām politikas rindām un četrām robotu roku kolonnām, katra šūna, kas saistīta ar konkrētu modeļa un rokas apmācības ceļvedi
ACTSO-100lerobotimitācijas mācīšanāspolitikas apmācība

Kā apmācīt ACT SO-100 no nulles

AY-Robots ResearchAugust 23, 202616 min lasīšanai

Apmāciet darbības sadalīšanas transformatoru no nulles uz SO-100 ar lerobot: act konfigurācija, chunk_size un n_action_steps, 100000 soļu grafiks, 20 ms secinājums.

ACT ir izņēmums starp SO-100 politikām. GR00T N1.7 un N1.5 sākas no nvidia/GR00T-N1.7-3B un nvidia/GR00T-N1.5-3B, Pi0.5 no lerobot/pi05_base. ACT sākas no nulles: nav bāzes kontrolpunkta, jo tas nav pamata modelis. Tas ir aptuveni 80 miljonu parametru transformators, ko apmācāt no nulles vienam uzdevumam, uz jūsu rokas, jūsu apgaismojumā.

Tas ir arī iemesls, kāpēc tas veic vadības soli 20 ms laikā, kur 3 miljardu parametru VLA nepieciešami 152 līdz 485 ms, un izmaksā 1 līdz 3 USD par vienu izpildi, nevis 4 līdz 12. Šis ceļvedis apraksta manuālo ceļu ar lerobot uz SO-100: ierakstīt, act konfigurāciju, ko chunk_size un n_action_steps kontrolē, 100000 soļu grafiku, izpildi. Pēc tam tas pats darbs AY-Robots, ieskaitot gadījumus, kad platforma nepalīdz.

Kas jums jāzina

  • ACT apmāca no nulles: nav bāzes modeļa, nav iepriekšējas apmācības, nav valodu ievades. Viens kontrolpunkts, viens uzdevums.
  • Raksts: aptuveni 80 M parametri, apmēram 5 stundas uz 11 GB RTX 2080 Ti, 0.01 s secinājums.
  • lerobot defaults: chunk_size 100, n_action_steps 100, batch 8, lr 1e-5, 100000 steps, seed 1000.
  • Uz AY-Robots: 20 ms par soli, ātrākais no pieciem. Vismaz 50 epizodes, LeRobot v3.0, 24 GB karte, 1 līdz 3 USD par izpildi.
  • Tas uzvar uzdevumā, ko tas ir redzējis, un zaudē brīdī, kad vēlaties valodu kondicionēšanu.
Kuras versijas tas apraksta

Checked 23 August 2026 against lerobot 0.6.x: pyproject.toml on main reads version = "0.6.2", newest tag v0.6.1, 3 August 2026. Apmācība, kas sākas ar python lerobot/scripts/train.py ir pirms konsoles ieejas punktiem lerobot-train, lerobot-record and lerobot-rollout.

Kas ACT patiesībā ir

Action Chunking with Transformers nāk no ALOHA raksta, Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware, autoriem Zhao, Kumar, Levine un Finn, arXiv, 2023. gada 23. aprīlis. Iekārta ieraksta ar 50 Hz frekvenci, izmantojot četras tīmekļa kameras, kas straumē 480x640 izšķirtspēju ar 30 kadriem sekundē: divas uz satvērējiem, viena augšpusē, viena priekšpusē. Abstraktā tiek apgalvotas sešas prasmes ar 80 līdz 90 procentu panākumu līmeni, tostarp caurspīdīgas garšvielu krūzes atvēršana un baterijas ievietošana, balstoties uz 10 minūšu demonstrācijām.

Pamatteksts ir noderīgāks, plānojot ierakstīšanas sesiju: 50 demonstrācijas katram uzdevumam, izņemot Thread Velcro ar 100, kas ir 10 līdz 20 minūtes datu un 30 līdz 60 minūtes reālā laika, kad tiek ieskaitītas atiestatīšanas. Panākumi arī nav vienmērīgi: Thread Velcro beidzas ar 20 procentiem, Put On Shoe ar 92, Cup Open 84, Prep Tape 64.

HiperparametrALOHA raksts, III tabulalerobot galvenajā
mācīšanās ātrums1e-5optimizer_lr = 1e-5
partijas izmērs8batch_size = 8, in TrainPipelineConfig not ACTConfig
kodētāja / dekodētāja slāņi4 / 7n_encoder_layers = 4 / n_decoder_layers = 1
bloka izmērs k100chunk_size = 100
z latentā dimensijanav; 11. attēls rāda 32 līdz 512 projekcijulatent_dim = 32
temporālā ansamblēšananav; --temporal_agg atsauces kodātemporal_ensemble_coeff = None
Dekodera slāņa rinda nav drukas kļūda

Rakstā ir uzskaitīti 7 dekodera slāņi, lerobot piegādā 1, apzināti. Komentārs failā configuration_act.py norāda, ka sākotnējā implementācijā ir kļūda, kas nozīmē, ka tiek izmantots tikai pirmais slānis, atsaucoties uz 25. problēmu tonyzhaozh/act: darbības galvene nolasa hs[0], tāpēc visi septiņi slāņi darbojas, bet tikai pirmā izvade sasniedz prognozi. Šī problēma ir atvērta un neatbildēta kopš 2024. gada 23. aprīļa. lerobot atbilst uzvedībai, kas radīja publicētos rezultātus, nevis izdrukātajam skaitlim. Palieliniet --policy.n_decoder_layers un jūs apmācīsiet modeli, ko raksts nekad nav novērtējis.

Darbību sadalīšana ir visa ideja

Parastā uzvedības klonēšana kartē vienu novērojumu uz vienu darbību, un kļūdas uzkrājas: novirze novirza roku no sadalījuma, radot sliktāku darbību, un trīsdesmit soļus vēlāk satvērējs nav ne tuvu objektam. Darbību sadalīšana prognozē k darbības vienlaikus un izpilda tās, samazinot efektīvo horizontu par k faktoru. Tas arī risina neērtības, kas raksturīgas cilvēka datiem: teleoperatori pauzē, un viena soļa Markova politika nevar modelēt pauzi, kas atkarīga no tā, kas notika iepriekš.

Raksts pēta k, nevis to apgalvo. Ar izslēgtu laika ansambli, vidēji četrās iestatījumos, panākumi pieaug no 1 procenta pie k = 1 līdz 44 procentiem pie k = 100, pēc tam samazinās pie 200 un 400, kad politika tuvojas atvērtā cikla kontrolei. Šī līkne ir iemesls, kāpēc noklusējuma vērtība ir 100.

  • chunk_size: cik daudz nākotnes darbību dekodētājs prognozē vienā pārejā uz priekšu. Noklusējums 100.
  • n_action_steps: cik daudz no tām izpildāt pirms atkārtotas vaicāšanas. Noklusējums 100, tādējādi lerobot izpilda visu bloku atvērtā cilpā.
  • lerobot validē n_action_steps <= chunk_size un izsauc ValueError, ja to ievadāt nepareizi.

Operacionāli svarīga ir chunk_size, dalīta ar kadru ātrumu. Pie 30 kadriem sekundē, ko izmanto lerobot SO-100 piemēri, 100 darbību bloks no viena novērojuma aizņem aptuveni 3,3 sekundes. Ja uzdevumam ir nepieciešama korekcija šajā logā, samaziniet n_action_steps, nevis chunk_size: jūs saglabājat garo prognozi un novērojat biežāk.

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
Saīsinot izpildīto bloka daļu, nesaīsinot prognozi.
Laika ansambļa slazds

Iestatiet --policy.temporal_ensemble_coeff, un lerobot pieprasīs n_action_steps = 1, pretējā gadījumā izsaucot NotImplementedError. Ansamblēšana vaicā politiku katrā laika solī un sajauc pārklājošās prognozes šim laika solim ar svariem w_i = exp(-m * i), vecākajam iegūstot w_0. Pētījumā tas ir 3,3 procenti ACT: reāls, bet pieticīgs, un tas reizina secinājumu skaitu ar bloka garumu. Pieejams par 20 ms uz soli, nevis par 485 ms. Skatiet secinājumu latentumu.

Kad ACT pārspēj pamata modeli

Piecas apmācāmās politikas blakus, ar skaitļiem, ko AY-Robots mēra un izmanto, lai noteiktu nomātā GPU izmēru.

PolitikaSaimeParametriUz soliGPU līmenisMinimālās epizodesDatu kopa
ACTSadalīšanas transformators, no nulles~80 M20 msRTX 4090 / 24 GB50LeRobot v3.0
SmolVLAKompakts VLA~450 M245 msRTX 4090 / 24 GB30LeRobot v3.0
GR00T N1.7VLA pamats, difūzijas galva~3 B (~40 M trained)152 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
GR00T N1.5VLA pamats, priekštecis~3 B165 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
Pi0.5Plūsmas saskaņošanas VLA, skatīt plūsmas saskaņošana~3 B, PaliGemma backbone485 msA100 / H100 80 GB50LeRobot v3.0
AY-Robots politiku lapa, kas parāda salīdzināšanas tabulu ACT, SmolVLA, GR00T N1.5, GR00T N1.7 un Pi0.5 ar parametru skaitu, GPU prasībām, secinājumu latentumu un minimālo epizožu skaitu
The /policies tabula: ACT ir vismazākais parametru skaits un īsākais soļa laiks.
ACT apmācība no nulles
Priekšrocības
  • 20 ms uz darbības soli, ātrākais no pieciem, uz 24 GB kartes, nevis A100.
  • 1 līdz 3 USD par palaišanu pret 4 līdz 12 USD par 3 B klasi.
  • Precīzs saskarsmes bagātīgā darbā, ko tas ir redzējis: 88 un 96 procenti uz Slide Ziploc un Slot Battery, kur iepriekšējās metodes nekad nepārvarēja pirmo posmu.
Kompromisi
  • Nav valodas nosacījumu: uzdevuma virkne tiek ignorēta, tāpēc viens kontrolpunkts ir viens uzdevums.
  • Nav semantisko priekšzināšanu: viss, ko tas zina, nāk no jūsu 50 epizodēm.
  • Šaura vispārināšana: pārvietojiet kameru, un jums ir jāpārkvalificējas.
  • Tas klusi sabojājas: zudums samazinās, roka neko nedara, žurnālos nekas nav teikts.
  • Ātruma priekšrocība palīdz tikai tad, ja secinājumi atrodas blakus servomotoriem.

Izvēlieties ACT, ja uzdevums un aina ir fiksēti un kustībai jābūt ātrai un precīzai. Izvēlieties , ja vienam kontrolpunktam jāaptver vairākas instrukcijas. Divas lapas salīdzina lēmumu tieši: un . Publicētajiem etaloniem, saista katru skaitli ar tā avotu.

Kas jums nepieciešams pirms sākšanas

Viena sekotāja roka, viena vadītāja roka , vismaz viena kamera, 24 GB GPU. ACT nolasa tikai attēlus un savienojumu pozīcijas. Divas kameras ir optimālais risinājums: fiksēts priekšējais skats, lai redzētu, kur atrodas objekti, un plaukstas kamera, lai redzētu, ko grasās pieskarties, kā tas ir ALOHA gadījumā.

RokaServomotoriSpriegumsDetaļu izmaksasStatuss
SO-100Feetech STS32157.4 V~110 līdz 150 EURPilns atbalsts, atsauces roka
SO-101Feetech STS32157.4 V~130 līdz 170 EURPilns atbalsts
Koch v1.1Dynamixel XL330 / XL4305 V un 12 V sliedes~250 līdz 350 EURSaderīgs
LeKiwiFeetech STS3215 (roka)7.4 V roka, 12 V bāze~400 līdz 500 EURSaderīgs
7.4 V, nevis 12 V

SO-100 un SO-101 izmanto Feetech STS3215 servomotorus uz 7.4 V sliedes. Pieslēdzot tiem 12 V, tie tiek sabojāti, pietiekami klusi, lai cilvēki vispirms vainotu programmatūru, un Koch 12 V barošanas avots fiziski der SO-100 platei. Pārbaudiet etiķeti. Simptomi: servomotors nereaģē, roka raustās un pēc tam nokarājas. Tāpat arī SO-100 pret SO-101.

No tukšas rokas līdz ierakstītam datu kopumam

Zemāk aprakstītais process attiecas uz lerobot 0.6.x. Izlaidiet to, ja jums ir kalibrēta roka un datu kopa. Pretējā gadījumā SO-100 sākuma rokasgrāmata aptver montāžu, ierakstīšanas pamācība aptver datu iegūšanu un datu kopu dokumentācija formātu.

  1. 1
    Instalējiet lerobot ar pareizajiem papildinājumiem

    Ierakstīšanai nepieciešams core_scripts, apmācībai training, Feetech servomotoriem 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
    Atrodiet katras rokas USB portu

    Palaidiet to ar abām rokām pievienotām, atvienojot vienu, kad tiek prasīts. Linux sistēmā var būt nepieciešams atvērt mezgla atļaujas.

    bash
    lerobot-find-port
    # on Linux, if the port exists but is unreadable:
    sudo chmod 666 /dev/ttyACM0
  3. 3
    Iestatiet motoru ID un datu pārraides ātrumu

    SO-100 modelim tas notiek pirms montāžas: atšķirībā no SO-101, savienotāji nav sasniedzami pēc uzbūvēšanas. Skripts pārlūko kopni pa vienam motoram, sākot no satvērēja, ierakstot ID 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
    Kalibrējiet abas rokas

    Iestatiet katru savienojumu diapazona vidū, nospiediet Enter, pēc tam izlaidiet katru cauri visam diapazonam. Kalibrēšana ļauj politikai, kas apmācīta uz vienas rokas, darboties uz citas. Atkārtoti izmantojiet to pašu 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
    Veiciet teleoperāciju vienu reizi ar ieslēgtām kamerām

    Lerobot īkšķa likums: jums vajadzētu spēt veikt uzdevumu, skatoties tikai uz kameras attēliem. Ja jūs to nevarat, tad arī ACT nevar. Tas atklāj vairāk sliktu datu kopu nekā vēlāka atkļūdošana.

    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
    Ierakstiet 50 epizodes

    50 ir AY-Robots minimums un tas, ko ALOHA izmantoja katram uzdevumam. lerobot iesaka 10 uz vienu objekta atrašanās vietu, fiksētas kameras, konsekventa satveršana. n beidz epizodi, r ieraksta atkārtoti, q aptur un kodē.

    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
AY-Robots ierakstīšanas pamācības lapa, kas skaidro, kā iegūt LeRobot formāta datu kopu no teleoperācijas sesijas
Ierakstīšanas pamācība. Darbvirsmas klients raksta to pašu izkārtojumu kā lerobot-record.
Slazds, kas apēd dienu: nekonsekventa datu kopa

ACT nav iepriekšēju zināšanu, uz kurām balstīties, tāpēc katra nekonsekvence kļūst pastāvīga. Trīs visdārgākās: kamera, kas tika pabīdīta starp 20. un 21. epizodi, gaisma, kas mainījās, jo pusi komplekta ierakstījāt pēcpusdienā, satvēriens, kas veikts divos veidos. Katrs no tiem dod perfekti izskatīgu zudumu līkni un roku, kas dodas uz nepareizu vietu. Skatiet zudumi krīt, politika neko nedara, politika darbojas tikai vienā iestatījumā un augstas kvalitātes apmācības datu vākšana.

Pirms apmācības atkārtojiet vismaz piecas epizodes. LeRobot datu kopas formāts saglabā kameras plūsmas, savienojumu stāvokļus un darbības katrā epizodē, un atkārtošana atgriež šīs darbības atpakaļ uz roku. Ja atkārtošana neveic uzdevumu, dati to nesatur, un apmācība to neizgudros.

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
Atskaņo 0. epizodi. Ja tas neizdodas, apturiet un ierakstiet no jauna.

ACT politikas apmācība

Šī ir visa komanda. Viss, kas ir specifisks ACT, jau ir noklusējuma iestatījums, tāpēc lerobot ACT lapā ir teikts sākt ar tiem.

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
Apmācības komanda no lerobot 0.6.x dokumentācijas, SO-100 datu kopā.

--policy.type=act ielādē ACTConfig, kas pielāgojas jebkuram motoru un kameru skaitam, ko jūsu datu kopa ierakstīja, tāpēc jums nekad nav jādeklarē novērojumu forma. --wandb.enable=true ir neobligāts un ir tā vērts: zudumu līkne ir vienīgais lētais signāls 100000 soļu izpildē. Grafiks nāk no lerobot apmācības konfigurācijas, nevis ACTConfig: 100000 soļi, partija 8, sēkla 1000, pārbaudes punkts ik pēc 20000 soļiem, žurnālēšana ik pēc 200.

Pilna izpilde atstāj piecus pārbaudes punktu direktorijus, no 020000 līdz 100000, plus pēdējo simbolisko saiti. Saglabājiet tos visus: labākā politika bieži vien nav pēdējā.

Iestatījumslerobot noklusējumsAY-Robots ACT formaKomentārs
Partijas lielums88Vispirms samaziniet to, ja sasniedzat VRAM ierobežojumus.
Mācīšanās ātrums1e-51e-5Tāds pats kā ALOHA rakstā.
Maksimālais soļu skaits100000100000Aptuveni tas punkts, kur 50 epizožu kopa pārstāj uzlaboties.
Gradienta akumulācija11, neattiecasTā vietā mainiet partijas lielumu.
Sēkla1000atklātaGR00T tyro sākumpunktam nav sēklas; ACT izpildes ir reproducējamas.
chunk_size / n_action_steps100 / 100100 / 100, rediģējamsPrognozēšanas un izpildes horizonts. Samaziniet otro, nevis pirmo.
Pārbaudes punkta biežums20000nav atklātssaveSteps šeit ir GR00T regulators.
Atmiņas trūkums ir partijas lieluma problēma, nevis kartes problēma

ACT ar partijas lielumu 8 un divām 640x480 kamerām ērti ietilpst 24 GB. Tas pārstāj ietilpt, kad cilvēki palielina partijas lielumu ātruma dēļ vai padod tam 1920x1080 kadrus, ko parāda viens lerobot ierakstīšanas piemērs. Divi ResNet-18 mugurkauli ar 1080p ir ļoti atšķirīgs atmiņas profils. Pirms lielākas kartes nomas samaziniet --batch_size līdz 4. Skatiet atmiņas trūkums apmācībā.

Ilgums: aptuveni 5 stundas uz 11 GB RTX 2080 Ti, kā norādīts rakstā, dažas stundas 100 tūkstošiem soļu saskaņā ar lerobot ACT lapu, 2 līdz 5 stundas uz AY-Robots 24 GB līmeņa. Nesamaziniet to. Atsauces repozitorija README norāda, ka saraustītai vai apstājošai politikai parasti ir nepieciešams vairāk apmācība, jo panākumi un gludums turpina uzlaboties pēc tam, kad zudums stabilizējas: reālās pasaules datiem ir nepieciešami vismaz 5000 epohu, vai 3 līdz 4 reizes ilgāk pēc stabilizēšanās.

bash
lerobot-train \
  --config_path=outputs/train/act_so100_cube/checkpoints/last/pretrained_model/train_config.json \
  --resume=true
Pārtraukta izpildes atsākšana no pēdējā kontrolpunkta.

Apmācītās politikas palaišana uz rokas

Izvietošanā tiek izmantots lerobot-rollout. Kameru atslēgām jāatbilst ierakstītajām: politika, kas apmācīta uz front un wrist nepieņems cam0 un cam1, un rename_map nepalīdz, jo tam ir nepieciešams iepriekš apmācīts kontrolpunkts. Uzdevuma virkni var izlaist; lerobot paša piemērs to atzīmē kā izlaižamu priekš 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
Autonoma izvēršana bez ierakstīšanas. Izmantojiet --strategy.type=sentry, lai ierakstītu novērtēšanas epizodes.
Šī komanda nesen tika pārdēvēta, tāpēc vecas pamācības atšķiras

Novērtēšana agrāk tika veikta, izmantojot lerobot-record --policy.path=.... Versijā 0.6.x tā ir lerobot-rollout ar --strategy.type selektoru: base, sentry (ierakstīšana ar automātisku augšupielādi), highlight (gredzenbuferis, kas saglabāts ar taustiņsitienu), dagger (cilvēks cilpā) un episodic. No 2026. gada 23. augusta ACT dokumentācijas lapā joprojām ir teikts "izmantojot komandu lerobot-record" tieši virs bloka, kas izpilda lerobot-rollout. Sekojiet komandai, nevis teikumam.

Lai piesaistītu kontrolpunktu, nevis galīgo modeli, pievienojiet --policy.pretrained_revision. Tam ir nepieciešams, lai izpilde būtu sākta ar --save_checkpoint_to_hub=true, kas pēc noklusējuma ir izslēgts: bez tā lerobot augšupielādē tikai galīgo modeli un neko citu. Ar to katrs kontrolpunkts tiek atzīmēts ar tā nullēm papildināto soli, tāpēc --policy.pretrained_revision=060000 atjauno 60000. soļa kontrolpunktu. Salīdzinot to ar 100000 uz reālās rokas, ir lētākais pieejamais eksperiments.

Divi ceļi uz vienu un to pašu kontrolpunktu

Viss iepriekš minētais ir manuālais ceļš, un tas darbojas. Platformas ceļš apmaina kontroli pret to, ka nav jāpieder GPU vai Python vide.

  1. Instalējiet lerobot 0.6.x ar core_scripts, training, feetech, ffmpeg.
  2. Atrodiet portus, iestatiet motoru ID, kalibrējiet abas rokas, ierakstiet 50 epizodes.
  3. Atskaņojiet dažas epizodes, lai apstiprinātu, ka dati satur uzdevumu.
  4. Nomājiet vai iegādājieties 24 GB GPU, saskaņojiet CUDA un PyTorch, palaidiet lerobot-train --policy.type=act.
  5. Pagaidiet dažas stundas, pēc tam palaidiet lerobot-rollout uz mašīnas pie rokas.
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
Ko sniedz šis ceļš

Pilnīga kontrole: rediģējiet configuration_act.py, pievienojiet kameru, atzarojiet apmācītāju. Pētniecībai, nevis uzdevuma piegādei, platforma ir traucēklis.

AY-Robots apmācību matrica ar piecām politikas rindām un četrām robotu roku kolonnām, kur katra šūna ved uz konkrētu apmācību ceļvedi šim modelim un rokas kombinācijai
Matrica vietnē /train. ACT rinda pret SO-100 kolonnu ir šī raksta ceļvedis.

Kas patiesībā noiet greizi

Gandrīz visas grūtības nav apmācības komandā. Tās ir lietās ap to, sakārtotas pēc tā, cik bieži tās sagādā problēmas pirmajā reizē.

SimptomsParastais cēlonisLapa
lerobot-find-port neko neuzrādaDraiveris, kabelis vai mezgla atļaujasrokas nav atklātas
Kamera trūkst ierakstīšanas laikāIndekss mainījies pēc restartēšanas, vai divas kameras uz viena USB kontrolierakamera nav atklāta
Apmācība noraida datu kopuACT vēlas v3.0, GR00T vajag v2.1datu kopa noraidīta kā v3
CUDA atmiņas trūkumsPalielināts pakešu izmērs, vai 1080p kadri 480p vietāatmiņas trūkums apmācībā
Zudums izskatās lieliski, roka neko nedaraDatiem trūkst uzdevuma, vai kamera ir pārvietotazudums samazinās, politika neko nedara
Rāvienveida kustība vai pauze epizodes vidūNepietiekami apmācīts, bloka robežas apstāšanās, vai izbeidzies secinājumu izsaukumspolitika sastingst kustības vidū

Divas rindas ir jāuzsver. ACT apmācās ar LeRobot v3.0, kamēr GR00T ielādētājs uz tā avarē un tam vajag v2.1, tāpēc datu kopa, kas apmāca ACT, var izgāzt GR00T izpildi. Un pēdējā rindā ir divi labojumi: ACT autori atbild uz rāvienveida kustību ar papildu apmācību, kamēr ar n_action_steps pie 100 īsta apstāšanās notiek bloka robežā, redzama pauze ik pēc 3.3 sekundēm pie 30 kadriem sekundē. Vēl divas lietas, kas jāzina: viens miris savienojums parasti ir servo ID, kas nekad nav ierakstīts, un satvērējs, kas tuvojas, bet nekad neaizveras nozīmē pārāk mazu satvērēja diapazonu demonstrācijās. Pilns indekss: kļūdu režīmu lapas.

Cik maksā izpilde

LīmenisModeļiIzpildes laiksCena par stunduIzmaksas par izpildi
RTX 4090 / 24 GBACT, SmolVLA2 to 5 hours0.30 to 0.60 USDabout 1 to 3 USD
A100 80 GB / H100GR00T N1.7, GR00T N1.5, Pi0.53 to 6 hours1.20 to 2.00 USDabout 4 to 12 USD

Šis ir arguments, kāpēc sākt ar ACT, pat ja vēlāk vēlaties VLA. Neveiksmīga ACT izpilde maksā kafijas cenu un dažu stundu laikā paziņo, vai jūsu datu kopa satur uzdevumu. Neveiksmīga GR00T izpilde maksā četras reizes vairāk par to pašu mācību. Pāreja uz GR00T N1.7 vai SmolVLA pēc tam ir formas maiņa, nevis pārbūve. Fons: redzes-valodas-darbības modeļi, pilnīgais SO-100 ceļvedis, apmāciet savu pirmo politiku un imitācijas mācīšanās. Nav rokas? Tiešraides lapa straumē reālu SO-100, ko vadīt bez reģistrēšanās.

Apmāciet ACT uz jūsu SO-100

Ceļvedis šai precīzai kombinācijai: noklusējuma iestatījumi, GPU līmenis un izpildes izmaksas. Izvēlieties datu kopu, aizmugursistēma iznomā karti un raksta kontrolpunktus.

Atvērt apmācības ceļvedi
Vai ir iepriekš apmācīts ACT modelis, ko varu precizēt?

Nē. ACT nav bāzes modeļa; tas pastāv tikai pēc tam, kad to esat apmācījis. Tā nav rīku trūkums, tas ir tas, kas ir ACT: raksts apmāca politiku no nulles katram uzdevumam. Lai iegūtu piegādātāja kontrolpunktu, izmantojiet GR00T N1.7 vai Pi0.5.

Cik daudz epizožu man patiešām ir nepieciešams?

50: tas, ko ALOHA ierakstīja katram uzdevumam (100 Thread Velcro, kas ir grūtākais), un AY-Robots minimums. lerobot iesaka apmēram 10 uz objekta atrašanās vietu, kameras fiksētas, satvēriens konsekvents. Piecdesmit tīras epizodes pārspēj simts, kur kamera pārvietojās.

Vai man vajadzētu mainīt chunk_size no 100?

Parasti nē. Ablācija pieaug no 1 procenta pie k = 1 līdz 44 procentiem pie k = 100 un pēc tam samazinās, tāpēc 100 atrodas tuvu augšgalam. Ja roka pārāk ilgi veic darbību, tā vietā samaziniet n_action_steps: pie 30 kadriem sekundē, 25 atkārtoti pieprasījumi ik pēc 0,8 sekundēm.

Cik ilgi ilgst apmācības izpilde, un vai to varu apturēt agrāk?

Divas līdz piecas stundas uz 24 GB kartes 100000 soļiem. Kontrolpunkti tiek saglabāti ik pēc 20000 soļiem, un --resume=true atsāk izpildi, tāpēc agrīna apturēšana ir droša. Tikai ne pirmajā līdzenajā posmā: gludums uzlabojas pēc tam, kad zudums stabilizējas.

Zudums samazinājās, un roka joprojām neizdodas. Ko tagad?

Gandrīz vienmēr datu kopa. Atskaņojiet ierakstītās epizodes pie rokas: ja atskaņošana neveic uzdevumu, dati to nesatur. Pēc tam pārbaudiet, vai kaut kas pārvietojās, īpaši kamera. ACT nav iepriekšēju zināšanu, tāpēc neliela kustība 21. epizodē ir pastāvīga.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started