Die AY-Robots opleidingsmatriks met vyf beleidsrye en vier robotarmkolomme, elke sel wat na 'n spesifieke model- en armopleidingsgids skakel
ACTSO-100lerobotnabootsingsleerbeleidsopleiding

Hoe om ACT op die SO-100 van nuuts af op te lei

AY-Robots ResearchAugust 23, 202616 min lees

Lei 'n Action Chunking Transformer van nuuts af op 'n SO-100 op met lerobot: die act config, chunk_size en n_action_steps, die 100000-stap skedule, 20 ms inferensie.

ACT is die uitsondering onder die SO-100 beleide. GR00T N1.7 en N1.5 begin van nvidia/GR00T-N1.7-3B en nvidia/GR00T-N1.5-3B, Pi0.5 van lerobot/pi05_base. ACT begin van niks: daar is geen basis kontrolepunt nie, want dit is nie 'n grondslagmodel nie. Dit is 'n ongeveer 80 miljoen parameter transformator wat jy van nuuts af oplei vir een taak, op jou arm, onder jou beligting.

Dit is ook hoekom dit 'n beheerstap in 20 ms uitvoer waar 'n 3 miljard parameter VLA 152 tot 485 ms benodig, en 1 tot 3 USD per loop kos in plaas van 4 tot 12. Hierdie gids volg die handmatige roete met lerobot op 'n SO-100: opname, die act konfigurasie, wat chunk_size en n_action_steps beheer, die 100000 stap skedule, die uitrol. Dan dieselfde taak op AY-Robots, insluitend waar die platform nie help nie.

Wat jy moet weet

  • ACT lei van nuuts af op: geen basismodel, geen vooropleiding, geen taalinsette. Een kontrolepunt, een taak.
  • Die artikel: ongeveer 80 M parameters, ongeveer 5 ure op 'n 11 GB RTX 2080 Ti, 0.01 s inferensie.
  • lerobot verstekke: chunk_size 100, n_action_steps 100, batch 8, lr 1e-5, 100000 steps, seed 1000.
  • Op AY-Robots: 20 ms per stap, die vinnigste van die vyf. 50 episodes minimum, LeRobot v3.0, 'n 24 GB kaart, 1 tot 3 USD per loop.
  • Dit wen op 'n taak wat dit gesien het, en verloor die oomblik wat jy taal kondisionering wil hê.
Watter weergawes dit beskryf

Gekontroleer 23 Augustus 2026 teen lerobot 0.6.x: pyproject.toml op main lees version = "0.6.2", nuutste etiket v0.6.1, 3 Augustus 2026. 'n Tutoriaal wat begin met python lerobot/scripts/train.py dateer die konsole-toegangspunte lerobot-train, lerobot-record en lerobot-rollout voor.

Wat ACT werklik is

Action Chunking with Transformers kom van die ALOHA-artikel, Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware, deur Zhao, Kumar, Levine en Finn, arXiv, 23 April 2023. Die opstelling neem op teen 50 Hz met vier webkameras wat 480x640 teen 30 fps stroom: twee op die grypers, een bo, een voor. Die opsomming beweer ses vaardighede met 80 tot 90 persent sukses, waaronder die oopmaak van 'n deurskynende kondimentbeker en die inskuif van 'n battery, uit 10 minute se demonstrasies.

Die hoofteks is nuttiger wanneer 'n opnamesessie beplan word: 50 demonstrasies per taak, behalwe Thread Velcro teen 100, wat 10 tot 20 minute se data en 30 tot 60 minute se werklike tyd is sodra terugslae getel is. Sukses is ook nie eenvormig nie: Thread Velcro eindig op 20 persent, Put On Shoe op 92, Cup Open 84, Prep Tape 64.

HiperparameterALOHA-artikel, Tabel IIIlerobot op hoof
leertempo1e-5optimizer_lr = 1e-5
bondelgrootte8batch_size = 8, in TrainPipelineConfig not ACTConfig
enkodeerder- / dekodeerderlae4 / 7n_encoder_layers = 4 / n_decoder_layers = 1
brokgrootte k100chunk_size = 100
latente dimensie van zafwesig; Fig. 11 toon 'n 32 tot 512 projeksielatent_dim = 32
temporele ensembleafwesig; --temporal_agg in die verwysingskodetemporal_ensemble_coeff = None
Die dekodeerderlaagry is nie 'n tikfout nie

Die referaat lys 7 dekodeerderlae, lerobot verskaf 1, doelbewus. Die kommentaar in configuration_act.py sê die oorspronklike implementering het 'n fout wat beteken dat slegs die eerste laag gebruik word, met verwysing na kwessie 25 in tonyzhaozh/act: die aksiekop lees hs[0], so al sewe lae loop, maar slegs die eerste uitset bereik die voorspelling. Daardie kwessie is oop en onbeantwoord sedert 23 April 2024. lerobot stem ooreen met die gedrag wat die gepubliseerde resultate gelewer het, nie die gedrukte nommer nie. Verhoog --policy.n_decoder_layers en jy lei 'n model op wat die referaat nooit geëvalueer het nie.

Aksie-chunking is die hele idee

Gewone gedragskloning karteer een waarneming na een aksie, en foute vermeerder: 'n afwyking plaas die arm buite-verspreiding, wat 'n swakker aksie produseer, en dertig stappe later is die gryper nêrens naby die voorwerp nie. Aksie-chunking voorspel k aksies gelyktydig en voer dit uit, wat die effektiewe horison met 'n faktor van k verminder. Dit hanteer ook 'n oorlas spesifiek vir menslike data: teleoperateurs onderbreek, en 'n enkelstap Markoviaanse beleid kan nie 'n pouse modelleer wat afhang van wat voorheen gebeur het nie.

Die referaat ablateer k eerder as om dit te beweer. Met tydelike ensemblering afgeskakel, gemiddeld oor vier instellings, styg sukses van 1 persent by k = 1 tot 44 persent by k = 100, en neem dan af by 200 en 400 namate die beleid naby oop-lus beheer kom. Daardie kurwe is hoekom die verstek 100 is.

  • chunk_size: hoeveel toekomstige aksies die dekodeerder per vorentoe-pas voorspel. Verstek 100.
  • n_action_steps: hoeveel daarvan jy uitvoer voordat jy weer navraag doen. Verstek 100, so lerobot voer die hele brokkie ooplus uit.
  • lerobot valideer n_action_steps <= chunk_size en lig 'n ValueError as jy dit agteruit kry.

Wat operasioneel saak maak, is chunk_size gedeel deur raamtempo. Teen die 30 fps wat lerobot se SO-100 voorbeelde gebruik, verbind 'n brokkie van 100 ongeveer 3.3 sekondes vanaf een waarneming. As die taak 'n regstelling binne daardie venster benodig, verlaag n_action_steps, nie chunk_size: jy behou die lang voorspelling en her-waarneem meer gereeld.

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
Verkorting van die uitgevoerde deel van die brokkie sonder om die voorspelling te verkort.
Die tydelike ensemble-valstrik

Stel --policy.temporal_ensemble_coeff en lerobot vereis n_action_steps = 1, en lig andersins 'n NotImplementedError. Ensembling doen navraag by die beleid elke tydstap en meng die oorvleuelende voorspellings vir daardie tydstap met gewigte w_i = exp(-m * i), waar die oudste w_0 kry. Die referaat stel dit op 3.3 persent vir ACT: werklik maar beskeie, en dit vermenigvuldig die inferensietelling met die brokkielengte. Bekostigbaar teen 20 ms per stap, nie teen 485 ms nie. Sien inferensie-latensie.

Wanneer ACT 'n grondslagmodel oortref

Die vyf opleibare beleide langs mekaar, met die syfers wat AY-Robots meet en gebruik om die GPU wat dit huur, te grootte.

BeleidFamilieParametersPer stapGPU-vlakMin episodesDatastel
ACTStukkie-transformator, van nuuts af~80 M20 msRTX 4090 / 24 GB50LeRobot v3.0
SmolVLAKompakte VLA~450 M245 msRTX 4090 / 24 GB30LeRobot v3.0
GR00T N1.7VLA-grondslag, diffusiekop~3 B (~40 M trained)152 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
GR00T N1.5VLA-grondslag, voorganger~3 B165 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
Pi0.5Vloeipas-VLA, sien vloeipas~3 B, PaliGemma backbone485 msA100 / H100 80 GB50LeRobot v3.0
Die AY-Robots beleidebladsy wat 'n vergelykingstabel van ACT, SmolVLA, GR00T N1.5, GR00T N1.7 en Pi0.5 toon met parameter tellings, GPU-vereistes, inferensie-latensie en minimale episode tellings
Die /policies tabel: ACT het die kleinste parameter telling en die kortste staptyd.
Opleiding van ACT van nuuts af
Voordele
  • 20 ms per aksiestap, die vinnigste van die vyf, op 'n 24 GB kaart, nie 'n A100 nie.
  • 1 tot 3 USD per lopie teenoor 4 tot 12 vir die 3 B klas.
  • Presies op kontakryke werk wat dit gesien het: 88 en 96 persent op Slide Ziploc en Slot Battery, waar vorige metodes nooit stadium een ​​geslaag het nie.
Afwegings
  • Geen taalkondisionering nie: die taakstring word geïgnoreer, dus is een kontrolepunt een taak.
  • Geen semantiese voorkennis nie: alles wat dit weet, kom van jou 50 episodes.
  • Smal veralgemening: skuif 'n kamera en jy moet heroplei.
  • Dit misluk stilweg: verlies daal, die arm doen niks, die logboeke sê niks.
  • Die spoedvoordeel help net as inferensie langs die servo's sit.

Kies ACT wanneer taak en toneel vas is en beweging vinnig en presies moet wees. Kies 'n wanneer een kontrolepunt verskeie instruksies moet dek. Twee bladsye werk die besluit kop aan kop: en . Vir gepubliseerde maatstawwe, koppel elke nommer aan sy bron.

Wat jy nodig het voordat jy begin

Een volgerarm, een leierarm vir , ten minste een kamera, 'n 24 GB GPU. ACT lees slegs beelde en gewrigsposisies. Twee kameras is die ideale plek: 'n vaste vooraansig vir waar dinge is, 'n polskamera vir wat die op die punt staan om aan te raak, soos op ALOHA.

ArmServosSpanningOnderdelekosteStatus
SO-100Feetech STS32157.4 V~110 tot 150 EURVolle ondersteuning, verwysingsarm
SO-101Feetech STS32157.4 V~130 tot 170 EURVolle ondersteuning
Koch v1.1Dynamixel XL330 / XL4305 V en 12 V relings~250 tot 350 EURVersoenbaar
LeKiwiFeetech STS3215 (arm)7.4 V arm, 12 V basis~400 tot 500 EURVersoenbaar
7.4 V, nie 12 V nie

SO-100 en SO-101 gebruik Feetech STS3215 servos op 'n 7.4 V reling. As hulle met 12 V gevoer word, vernietig dit hulle, stil genoeg dat mense eers die sagteware blameer, en 'n Koch 12 V toevoer pas fisies op 'n SO-100 bord. Kontroleer die etiket. Simptome: servo reageer nie, arm ruk dan sak. Sien ook SO-100 vs SO-101.

Van kaal arm tot opgeneemde datastel

Die onderstaande vloei is lerobot 0.6.x. Slaan dit oor as jy 'n gekalibreerde arm en 'n datastel het. Andersins dek die SO-100 aan die gang gids, die samestelling, die opname-deurloop dek die vaslegging en die datastel dokumentasie die formaat.

  1. 1
    Installeer lerobot met die regte ekstras

    Opname benodig core_scripts, opleiding training, Feetech-servo's 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
    Vind die USB-poort van elke arm

    Loop dit met albei arms ingeprop, ontkoppel een wanneer gevra word. Op Linux moet jy dalk die nodus-toestemmings oopmaak.

    bash
    lerobot-find-port
    # on Linux, if the port exists but is unreadable:
    sudo chmod 666 /dev/ttyACM0
  3. 3
    Stel die motor-ID's en baudrate

    Op die SO-100 gebeur dit voor montering: anders as die SO-101 is die verbindings onbereikbaar sodra dit gebou is. Die skrip loop die bus een motor op 'n slag vanaf die gryper, en skryf ID's na 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
    Kalibreer albei arms

    Stel elke gewrig in die middel van sy bereik, druk Enter, en vee dan elkeen deur sy volle bereik. Kalibrasie laat 'n beleid wat op een arm opgelei is, op 'n ander loop. Hergebruik dieselfde 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
    Teleopereer een keer met die kameras aan

    Die lerobot-duimreël: jy moet die taak kan doen deur slegs na die kamera-beelde te kyk. As jy nie kan nie, kan ACT ook nie. Dit vang meer slegte datastelle as latere ontfouting.

    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
    Neem 50 episodes op

    50 is die AY-Robots minimum en wat ALOHA per taak gebruik het. lerobot beveel 10 per objekligging aan, kameras vas, greep konsekwent. n beëindig 'n episode, r heropneem, q stop en enkodeer.

    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
Die AY-Robots opname-tutoriaalbladsy wat verduidelik hoe om 'n LeRobot-formaat datastel van 'n teleoperasie-sessie vas te lê
Die opname-tutoriaal. Die rekenaarkliënt skryf dieselfde uitleg as lerobot-record.
Die strik wat 'n dag opeet: 'n inkonsekwente datastel

ACT het geen voorkennis om op terug te val nie, so elke inkonsekwentheid word permanent. Die drie duurste: 'n kamera wat tussen episode 20 en 21 gestamp is, lig wat verander het omdat jy die helfte van die stel in die middag opgeneem het, 'n greep wat op twee maniere gedoen is. Elkeen gee 'n perfek-voorkomende verlieskurwe en 'n arm wat na die verkeerde plek gaan. Sien verlies daal, beleid doen niks, beleid werk slegs in een opstelling en insameling van hoë kwaliteit opleidingsdata.

Voor opleiding, speel ten minste vyf episodes af. stoor kamerastrome, gewrigstoestande en aksies per , en afspeel stoot daardie aksies terug na die arm. As die afspeel nie die taak doen nie, bevat die data dit nie en opleiding sal dit nie uitvind nie.

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
Speel episode 0 weer af. As dit misluk, stop en neem weer op.

Oplei van die ACT-beleid

Dit is die hele opdrag. Alles wat ACT-spesifiek is, is reeds 'n verstek, daarom sê die lerobot ACT-bladsy om daarmee te begin.

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
Die opleidingsopdrag uit die lerobot 0.6.x dokumentasie, op 'n SO-100 datastel.

--policy.type=act laai ACTConfig, wat aanpas by hoeveel motors en kameras jou datastel opgeneem het, sodat jy nooit die waarnemingsvorm hoef te verklaar nie. --wandb.enable=true is opsioneel en die moeite werd: die verlieskurwe is die enigste goedkoop sein in 'n 100000-stap-lopie. Die skedule kom van lerobot se opleidingskonfigurasie, nie ACTConfig nie: 100000 stappe, bondel 8, saad 1000, 'n kontrolepunt elke 20000 stappe, en aantekening elke 200.

’n Volledige lopie laat vyf kontrolepuntgidse, 020000 tot 100000, plus 'n laaste simskakel. Hou hulle almal: die beste beleid is dikwels nie die laaste een nie.

Instellinglerobot verstekAY-Robots ACT vormKommentaar
bondelgrootte88Verlaag dit eers as jy VRAM-limiete bereik.
leertempo1e-51e-5Dieselfde as die ALOHA-artikel.
maksimum stappe100000100000Ongeveer waar 'n stel van 50 episodes ophou verbeter.
gradiëntakkumulasie11, does not applyVerander eerder die bondelgrootte.
saad1000exposedGR00T se tyro-toegangspunt het geen saad nie; ACT-lopies is die reproduseerbare.
chunk_size / n_action_steps100 / 100100 / 100, editableVoorspellings- en uitvoeringshorison. Verlaag die tweede, nie die eerste nie.
kontrolepuntfrekwensie20000not exposedsaveSteps is hier 'n GR00T-knop.
Onvoldoende geheue is 'n bondelgrootteprobleem, nie 'n kaartprobleem nie

ACT teen bondelgrootte 8 met twee 640x480 kameras pas gemaklik op 24 GB. Dit hou op om te pas wanneer mense die bondelgrootte verhoog vir spoed, of dit die 1920x1080 rame voer wat een lerobot-opnamevoorbeeld toon. Twee ResNet-18 ruggrate teen 1080p het 'n baie verskillende geheueprofiel. Verlaag --batch_size na 4 voordat jy 'n groter kaart huur. Sien onvoldoende geheue tydens opleiding.

Duur: ongeveer 5 uur op 'n 11 GB RTX 2080 Ti in die referaat, 'n paar uur vir 100k stappe per lerobot se ACT-bladsy, 2 tot 5 uur op die AY-Robots 24 GB-vlak. Moenie dit kortknip nie. Die verwysingsrepo se README sê 'n rukkerige of pouseerbeleid benodig gewoonlik net meer opleiding, want sukses en gladheid bly verbeter nadat die verlies plato bereik: vir werklike data benodig dit ten minste 5000 epogte, of 3 tot 4 keer die lengte weer na die plato.

bash
lerobot-train \
  --config_path=outputs/train/act_so100_cube/checkpoints/last/pretrained_model/train_config.json \
  --resume=true
Hervat 'n onderbroke lopie vanaf sy laaste kontrolepunt.

Loop die opgeleide beleid op die arm

Ontplooiing gebruik lerobot-rollout. Kamerasleutels moet ooreenstem met die opgeneemde sleutels: 'n beleid wat opgelei is op front en wrist sal nie cam0 en cam1, en rename_map help nie, aangesien dit 'n vooraf-opgeleide kontrolepunt benodig. Die taakstring kan weggelaat word; lerobot se eie voorbeeld merk dit as oorslaanbaar vir 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
Outonome uitrol sonder opname. Gebruik --strategy.type=sentry om die evaluasie-episodes op te neem.
Hierdie opdrag is onlangs hernoem, so ou tutoriale stem nie saam nie

Evaluasie het voorheen deur lerobot-record --policy.path=... geloop. In 0.6.x is dit lerobot-rollout met 'n --strategy.type-kieser: base, sentry (opname met outo-oplaai), highlight (ringbuffer gestoor deur sleuteldruk), dagger (mens in die lus) en episodic. Vanaf 23 Augustus 2026 sê die ACT-dokumentasiebladsy steeds "using the lerobot-record command" direk bo 'n blok wat lerobot-rollout uitvoer. Volg die opdrag, nie die sin nie.

Om 'n kontrolepunt eerder as die finale model vas te pen, voeg by --policy.pretrained_revision. Dit vereis dat die uitvoering begin het met --save_checkpoint_to_hub=true, by verstek afgeskakel: sonder dit stoot lerobot die finale model en niks anders nie. Daarmee word elke kontrolepunt gemerk met sy nul-gevulde stap, so --policy.pretrained_revision=060000 herstel die 60000-stap een. Om dit teen 100000 op die regte arm te vergelyk, is die goedkoopste eksperiment beskikbaar.

Twee roetes na dieselfde kontrolepunt

Alles hierbo is die handmatige roete en dit werk. Die platformroete ruil beheer in vir die voordeel om nie 'n GPU of 'n Python-omgewing te besit nie.

  1. Installeer lerobot 0.6.x met core_scripts, training, feetech, ffmpeg.
  2. Vind poorte, stel motor-ID's in, kalibreer albei arms, neem 50 episodes op.
  3. Speel 'n paar episodes af om te bevestig dat die data die taak bevat.
  4. Huur of besit 'n 24 GB GPU, pas CUDA en PyTorch aan, voer lerobot-train --policy.type=act uit.
  5. Wag 'n paar uur, voer dan lerobot-rollout uit op die masjien by die arm.
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
Wat hierdie roete jou bied

Volledige beheer: wysig configuration_act.py, voeg 'n kamera by, vertak die opleier. Vir navorsing eerder as om 'n taak te lewer, is 'n platform 'n afleiding.

Die AY-Robots opleidingsmatriks met vyf beleidsrye en vier robotarmkolomme, waar elke sel skakel na die spesifieke opleidingsgids vir daardie model- en armkombinasie
Die matriks op /train. Die ACT-ry teenoor die SO-100-kolom is hierdie artikel se gids.

Wat werklik verkeerd loop

Byna niks van die moeite lê in die opleidingsopdrag nie. Dit lê in die dinge rondom dit, gerangskik volgens hoe gereeld dit die eerste keer probleme veroorsaak.

SimptoomGewone oorsaakBladsy
lerobot-find-port wys niksDrywer, kabel of nodus-toestemmingsarm nie bespeur nie
Kamera ontbreek tydens opnameIndeks verander na herlaai, of twee kameras op een USB-beheerderkamera nie bespeur nie
Opleiding verwerp die datastelACT benodig v3.0, GR00T benodig v2.1datastel verwerp as v3
CUDA buite geheueBondelgrootte verhoog, of 1080p rame in plaas van 480pbuite geheue tydens opleiding
Verlies lyk goed, arm doen niksDie data ontbreek die taak, of 'n kamera het geskuifverlies daal, beleid doen niks
Rukkerige beweging of 'n pouse in die middel van die episodeOnderopgelei, 'n brokkie-grens stilstand, of 'n tyd-uit inferensie-oproepbeleid vries in die middel van beweging

Twee rye verdien klem. ACT lei op LeRobot v3.0 terwyl GR00T se laaier daarop ineenstort en v2.1 benodig, so 'n datastel wat ACT oplei, kan 'n GR00T-lopie laat misluk. En die laaste ry het twee oplossings: die ACT-outeurs beantwoord rukkerige beweging met meer opleiding, terwyl met n_action_steps by 100 'n ware stilstand by 'n brokkie-grens beland, 'n sigbare pouse elke 3.3 sekondes teen 30 fps. Nog twee om te weet: 'n enkele dooie gewrig is gewoonlik 'n servo-ID wat nooit geskryf is nie, en 'n gryper wat naderkom maar nooit sluit nie beteken te min gryperbereik in die demonstrasies. Volledige indeks: die foutmodusbladsye.

Wat 'n lopie kos

VlakModelleLooptydPrys per uurKoste per loop
RTX 4090 / 24 GBACT, SmolVLA2 tot 5 ure0.30 to 0.60 USDongeveer 1 tot 3 USD
A100 80 GB / H100GR00T N1.7, GR00T N1.5, Pi0.53 tot 6 ure1.20 to 2.00 USDongeveer 4 tot 12 USD

Dit is die argument om met ACT te begin, selfs al wil jy later 'n VLA hê. 'n Mislukte ACT-loop kos die prys van 'n koffie en vertel jou binne ure of jou datastel die taak bevat. 'n Mislukte GR00T-loop kos vier keer soveel vir dieselfde les. Om daarna op te skuif na GR00T N1.7 of SmolVLA daarna is 'n vormverandering, nie 'n herbou nie. Agtergrond: visie-taal-aksie modelle, die volledige SO-100 gids, lei jou eerste beleid op en nabootsingsleer. Geen arm? Die regstreekse bladsy stroom 'n regte SO-100 om te bestuur sonder om aan te meld.

Lei ACT op jou SO-100 op

Die gids vir hierdie presiese kombinasie: verstekke, GPU-vlak en wat 'n loop kos. Kies die datastel, die agterkant huur die kaart en skryf die kontrolepunte.

Maak die opleidingsgids oop
Is daar 'n vooraf-opgeleide ACT-model wat ek eerder kan fyninstel?

Nee. ACT het geen basismodel nie; dit bestaan slegs nadat jy dit opgelei het. Dit is nie 'n gaping in die gereedskap nie, dit is wat ACT is: die referaat lei 'n beleid van nuuts af per taak op. Vir 'n verskaffer-kontrolepunt, gebruik GR00T N1.7 of Pi0.5.

Hoeveel episodes het ek regtig nodig?

50: wat ALOHA per taak opgeneem het (100 vir Thread Velcro, die moeilikste) en die AY-Robots minimum. lerobot beveel ongeveer 10 per objekligging aan, kameras vas, greep konsekwent. Vyftig skoon episodes is beter as honderd waar die kamera beweeg het.

Moet ek chunk_size van 100 verander?

Gewoonlik nie. Die ablasie klim van 1 persent by k = 1 tot 44 persent by k = 100 en neem daarna af, so 100 is naby die top. As die arm te lank verbind, verlaag eerder n_action_steps: teen 30 fps, 25 heraanvrae elke 0.8 sekondes.

Hoe lank neem 'n opleidingsloop, en kan ek dit vroeg stop?

Twee tot vyf ure op 'n 24 GB kaart vir 100000 stappe. Kontrolepunte land elke 20000 stappe en --resume=true hervat 'n loop, so dit is veilig om vroeg te stop. Net nie by die eerste plat stuk nie: gladheid verbeter nadat die verlies stabiliseer.

Verlies het gedaal en die arm misluk steeds. Wat nou?

Byna altyd die datastel. Speel opgeneemde episodes by die arm af: as die afspeel nie die taak uitvoer nie, bevat die data dit nie. Kontroleer dan of enigiets beweeg het, veral 'n kamera. ACT het geen voorkennis nie, so 'n stootjie op episode 21 is permanent.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started