AY-Robots treningsmatrise med fem policy-rader og fire robotarm-kolonner, der hver celle lenker til en spesifikk modell- og armtreningsguide
ACTSO-100lerobotimitasjonslæringpolicy-trening

Hvordan trene ACT på SO-100 fra bunnen av

AY-Robots ResearchAugust 23, 202616 min lesetid

Tren en Action Chunking Transformer fra bunnen av på en SO-100 med lerobot: act config, chunk_size og n_action_steps, 100000-trinnsplanen, 20 ms inferens.

ACT er den som skiller seg ut blant SO-100-policyene. GR00T N1.7 og N1.5 starter fra nvidia/GR00T-N1.7-3B og nvidia/GR00T-N1.5-3B, Pi0.5 fra lerobot/pi05_base. ACT starter fra ingenting: det er ingen basis-sjekkpunkt, fordi det ikke er en grunnlagsmodell. Det er en transformermodell på omtrent 80 millioner parametere som du trener fra bunnen av på én oppgave, på din arm, under din belysning.

Det er også derfor den kjører et kontrolltrinn på 20 ms der en VLA med 3 milliarder parametere trenger 152 til 485 ms, og koster 1 til 3 USD per kjøring i stedet for 4 til 12. Denne guiden beskriver den manuelle ruten med lerobot på en SO-100: opptak, act konfigurasjonen, hva chunk_size og n_action_steps kontrollerer, 100000-trinnsplanen, utrullingen. Deretter den samme jobben på AY-Robots, inkludert der plattformen ikke hjelper.

Hva du trenger å vite

  • ACT trener fra bunnen av: ingen basismodell, ingen forhåndstrening, ingen språkinndata. Ett sjekkpunkt, én oppgave.
  • Artikkelen: omtrent 80 M parametere, rundt 5 timer på et 11 GB RTX 2080 Ti, 0.01 s inferens.
  • lerobot standardinnstillinger: chunk_size 100, n_action_steps 100, batch 8, lr 1e-5, 100000 trinn, seed 1000.
  • På AY-Robots: 20 ms per trinn, den raskeste av de fem. Minimum 50 episoder, LeRobot v3.0, et 24 GB kort, 1 til 3 USD per kjøring.
  • Den vinner på en oppgave den har sett, og taper i det øyeblikket du ønsker språk-kondisjonering.
Hvilke versjoner dette beskriver

Sjekket 23. august 2026 mot lerobot 0.6.x: pyproject.tomlmain leser version = "0.6.2", nyeste tag v0.6.1, 3. august 2026. En veiledning som starter med python lerobot/scripts/train.py er eldre enn konsollinngangspunktene lerobot-train, lerobot-record og lerobot-rollout.

Hva ACT faktisk er

Action Chunking with Transformers kommer fra ALOHA-artikkelen, Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware, av Zhao, Kumar, Levine og Finn, arXiv, 23. april 2023. Riggen tar opp med 50 Hz med fire webkameraer som strømmer 480x640 ved 30 fps: to på griperne, ett på toppen, ett foran. Sammendraget hevder seks ferdigheter med 80 til 90 prosent suksess, blant dem å åpne en gjennomsiktig krydderkopp og sette inn et batteri, fra 10 minutter med demonstrasjoner.

Hovedteksten er mer nyttig når man planlegger en opptaksøkt: 50 demonstrasjoner per oppgave, unntatt Thread Velcro med 100, som er 10 til 20 minutter med data og 30 til 60 minutter med reell tid når tilbakestillinger er talt. Suksessen er heller ikke jevn: Thread Velcro ender på 20 prosent, Put On Shoe på 92, Cup Open 84, Prep Tape 64.

HyperparameterALOHA-artikkelen, tabell IIIlerobot on main
læringsrate1e-5optimizer_lr = 1e-5
batchstørrelse8batch_size = 8, in TrainPipelineConfig not ACTConfig
enkoder / dekoder lag4 / 7n_encoder_layers = 4 / n_decoder_layers = 1
klumpstørrelse k100chunk_size = 100
latent dimensjon av zfraværende; Fig. 11 viser en 32 til 512 projeksjonlatent_dim = 32
temporal ensemblingfraværende; --temporal_agg i referansekodentemporal_ensemble_coeff = None
Raden for dekoderlag er ikke en skrivefeil

Artikkelen lister 7 dekoderlag, lerobot leverer 1, bevisst. Kommentaren i `configuration_act.py` sier at den originale implementeringen har en feil som betyr at bare det første laget brukes, og siterer issue 25 in tonyzhaozh/act: action head leser `hs[0]`, så alle syv lag kjører, men bare den første utgangen når prediksjonen. Dette problemet har vært åpent og ubesvart siden 23. april 2024. lerobot matcher oppførselen som produserte de publiserte resultatene, ikke det trykte tallet. Øk `--policy.n_decoder_layers`, og du trener en modell som artikkelen aldri evaluerte.

Handlingsklumping er hele ideen

Vanlig atferdskloning mapper én observasjon til én handling, og feil akkumuleres: et avvik plasserer armen utenfor distribusjonen, noe som produserer en dårligere handling, og tretti trinn senere er griperen ingensteds nær objektet. Handlingsklumping forutsier k handlinger samtidig og utfører dem, noe som reduserer den effektive horisonten med en faktor k. Det håndterer også et problem spesifikt for menneskelige data: teleoperatører pauser, og en ett-trinns Markovisk policy kan ikke modellere en pause som avhenger av det som kom før.

Artikkelen ablaterer k i stedet for å hevde det. Med temporal ensembling av, gjennomsnittlig over fire innstillinger, stiger suksessen fra 1 prosent ved k = 1 til 44 prosent ved k = 100, og flater deretter ut ved 200 og 400 ettersom policyen nærmer seg åpen-sløyfe-kontroll. Denne kurven er grunnen til at standardverdien er 100.

  • chunk_size: hvor mange fremtidige handlinger dekoderen forutsier per fremoverpasning. Standard 100.
  • n_action_steps: hvor mange av dem du utfører før du spør igjen. Standard 100, så lerobot kjører hele blokken i åpen sløyfe.
  • lerobot validerer n_action_steps <= chunk_size og utløser en ValueError hvis du får det bakvendt.

Det som betyr noe operasjonelt er chunk_size delt på bildefrekvensen. Ved 30 bilder per sekund som lerobots SO-100-eksempler bruker, forplikter en blokk på 100 handlinger omtrent 3,3 sekunder fra én observasjon. Hvis oppgaven krever en korreksjon innenfor det vinduet, senk n_action_steps, ikke chunk_size: du beholder den lange prediksjonen og observerer på nytt oftere.

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
Forkorter den utførte delen av blokken uten å forkorte prediksjonen.
Den temporale ensemble-fellen

Sett --policy.temporal_ensemble_coeff og lerobot krever n_action_steps = 1, og utløser en NotImplementedError ellers. Ensembling spør policyen hvert tidsskritt og blander de overlappende prediksjonene for det tidsskrittet med vekter w_i = exp(-m * i), der den eldste får w_0. Artikkelen angir det til 3.3 prosent for ACT: reelt, men beskjedent, og det multipliserer inferenstellingen med blokklengden. Rimelig ved 20 ms per trinn, ikke ved 485 ms. Se inferenslatens.

Når ACT slår en grunnmodell

De fem trenbare retningslinjene side om side, med tallene AY-Robots måler og bruker for å dimensjonere GPU-en den leier.

PolicyFamilieParametrePer trinnGPU-nivåMin. episoderDatasett
ACTChunking-transformator, fra bunnen av~80 M20 msRTX 4090 / 24 GB50LeRobot v3.0
SmolVLAKompakt VLA~450 M245 msRTX 4090 / 24 GB30LeRobot v3.0
GR00T N1.7VLA-grunnlag, diffusjonshode~3 B (~40 M trent)152 msA100 / H100 80 GB50LeRobot v2.0 eller v2.1
GR00T N1.5VLA-grunnlag, forgjenger~3 B165 msA100 / H100 80 GB50LeRobot v2.0 eller v2.1
Pi0.5Flow-matching VLA, se flow matching~3 B, PaliGemma-ryggrad485 msA100 / H100 80 GB50LeRobot v3.0
AY-Robots policies-side som viser en sammenligningstabell over ACT, SmolVLA, GR00T N1.5, GR00T N1.7 og Pi0.5 med parameterantall, GPU-krav, inferensforsinkelse og minimum antall episoder
Tabellen for /policies: ACT har det minste antall parametere og den korteste trinntiden.
Trening av ACT fra bunnen av
Fordeler
  • 20 ms per handlingstrinn, den raskeste av de fem, på et 24 GB-kort, ikke et A100.
  • 1 til 3 USD per kjøring mot 4 til 12 for 3 B-klassen.
  • Presis på kontaktrike oppgaver den har sett: 88 og 96 prosent på Slide Ziploc og Slot Battery, der tidligere metoder aldri kom forbi trinn én.
Ulemper
  • Ingen språkkondisjonering: oppgavestrengen ignoreres, så ett sjekkpunkt er én oppgave.
  • Ingen semantiske forhåndskunnskaper: alt den vet kom fra dine 50 episoder.
  • Smal generalisering: flytt et kamera og du må trene på nytt.
  • Den feiler stille: tapet faller, armen gjør ingenting, loggene sier ingenting.
  • Hastighetsfordelen hjelper bare hvis inferens sitter ved siden av servoene.

Velg ACT når oppgave og scene er faste og bevegelsen må være rask og presis. Velg en når ett sjekkpunkt må dekke flere instruksjoner. To sider sammenligner beslutningen direkte: og . For publiserte ytelsestester, lenker hvert tall til sin kilde.

Hva du trenger før du starter

Én følgerarm, én lederarm for , minst ett kamera, en 24 GB GPU. ACT leser kun bilder og leddposisjoner. To kameraer er ideelt: en fast frontvisning for hvor ting er, et håndleddskamera for hva er i ferd med å berøre, som på ALOHA.

ArmServoerSpenningDeler kostnadStatus
SO-100Feetech STS32157.4 V~110 to 150 EURFull støtte, referansearm
SO-101Feetech STS32157.4 V~130 to 170 EURFull støtte
Koch v1.1Dynamixel XL330 / XL4305 V and 12 V rails~250 to 350 EURKompatibel
LeKiwiFeetech STS3215 (arm)7.4 V arm, 12 V base~400 to 500 EURKompatibel
7.4 V, ikke 12 V

SO-100 og SO-101 bruker Feetech STS3215 servoer på en 7.4 V skinne. Å mate dem med 12 V ødelegger dem, stille nok til at folk først skylder på programvaren, og en Koch 12 V strømforsyning passer fysisk til et SO-100 kort. Sjekk etiketten. Symptomer: servo svarer ikke, arm rykker og synker så sammen. Se også SO-100 vs SO-101.

Fra bar arm til registrert datasett

Arbeidsflyten nedenfor er lerobot 0.6.x. Hopp over dette hvis du har en kalibrert arm og et datasett. Ellers dekker SO-100 startguide montering, opptaksveiledning dekker innspilling og datasett-dokumentasjon formatet.

  1. 1
    Installer lerobot med de riktige tilleggene

    Opptak krever core_scripts, trening training, Feetech-servoer 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
    Finn USB-porten til hver arm

    Kjør den med begge armene tilkoblet, og koble fra den ene når du blir bedt om det. På Linux må du kanskje åpne nodetillatelsene.

    bash
    lerobot-find-port
    # on Linux, if the port exists but is unreadable:
    sudo chmod 666 /dev/ttyACM0
  3. 3
    Angi motor-ID-er og baudrate

    På SO-100 skjer dette før montering: i motsetning til SO-101 er kontaktene utilgjengelige når den er bygget. Skriptet går gjennom bussen én motor om gangen fra griperen, og skriver ID-er til 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
    Kalibrer begge armene

    Sett hvert ledd til midten av sitt bevegelsesområde, trykk Enter, og før deretter hvert ledd gjennom hele sitt bevegelsesområde. Kalibrering lar en policy trent på én arm kjøre på en annen. Gjenbruk den samme 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
    Teleoperer én gang med kameraene på

    Lerobot-tommelfingerregelen: du skal kunne utføre oppgaven kun ved å se på kamerabildene. Hvis du ikke kan det, kan heller ikke ACT. Dette fanger opp flere dårlige datasett enn senere feilsøking.

    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
    Ta opp 50 episoder

    50 er AY-Robots minimum og det ALOHA brukte per oppgave. lerobot anbefaler 10 per objektlokasjon, faste kameraer, konsistent grep. n avslutter en episode, r tar opp på nytt, q stopper og koder.

    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 opptaksopplæringsside som forklarer hvordan man fanger et LeRobot-format datasett fra en teleoperasjonsøkt
Opptaksopplæringen. Skrivebordsklienten skriver ut samme layout som lerobot-record.
Fellen som spiser en dag: et inkonsekvent datasett

ACT har ingen forhåndskunnskap å falle tilbake på, så enhver inkonsekvens blir permanent. De tre dyreste: et kamera som ble flyttet mellom episode 20 og 21, lys som endret seg fordi du spilte inn halve settet om ettermiddagen, et grep utført på to måter. Hver av disse gir en perfekt utseende tapskurve og en arm som går til feil sted. Se tapet faller, policyen gjør ingenting, policyen fungerer bare i ett oppsett og innsamling av høykvalitets treningsdata.

Før trening, spill av minst fem episoder. LeRobot datasettformatet lagrer kamerastrømmer, leddtilstander og handlinger per episode, og avspilling sender disse handlingene tilbake til armen. Hvis avspillingen ikke utfører oppgaven, inneholder ikke dataene den, og treningen vil ikke finne den opp.

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
Spiller av episode 0. Hvis dette mislykkes, stopp og ta opp på nytt.

Trening av ACT-policyen

Dette er hele kommandoen. Alt ACT-spesifikt er allerede en standard, og det er derfor lerobot ACT-siden sier at man skal starte med dem.

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
Treningskommandoen fra lerobot 0.6.x-dokumentasjonen, på et SO-100 datasett.

--policy.type=act laster ACTConfig, som tilpasser seg hvor mange motorer og kameraer datasettet ditt registrerte, slik at du aldri trenger å deklarere observasjonsformen. --wandb.enable=true er valgfritt og verdt det: tapskurven er det eneste billige signalet i en kjøring på 100000 trinn. Tidsplanen kommer fra lerobot's train config, ikke ACTConfig: 100000 trinn, batch 8, seed 1000, et sjekkpunkt hvert 20000. trinn, med logging hvert 200. trinn.

En full kjøring etterlater fem sjekkpunktkataloger, 020000 til og med 100000, pluss en last symlink. Behold dem alle: den beste policyen er ofte ikke den siste.

Innstillinglerobot standardAY-Robots ACT-skjemaKommentar
batchstørrelse88Senk den først hvis du når VRAM-grensene.
læringsrate1e-51e-5Samme som ALOHA-artikkelen.
maks trinn100000100000Omtrent der et sett med 50 episoder slutter å forbedre seg.
gradientakkumulering11, does not applyEndre batchstørrelse i stedet.
seed1000exposedGR00T's tyro-inngangspunkt har ingen seed; ACT-kjøringer er de reproduserbare.
chunk_size / n_action_steps100 / 100100 / 100, editablePrediksjons- og utførelseshorisont. Senk den andre, ikke den første.
sjekkpunktfrekvens20000not exposedsaveSteps er en GR00T-justering her.
Utilstrekkelig minne er et batchstørrelseproblem, ikke et kortproblem

ACT med batchstørrelse 8 og to 640x480-kameraer passer komfortabelt på 24 GB. Det slutter å passe når folk øker batchstørrelsen for hastighet, eller mater det med 1920x1080-rammene et lerobot-opptakseksempel viser. To ResNet-18-backbones ved 1080p gir en veldig annerledes minneprofil. Senk --batch_size til 4 før du leier et større kort. Se utilstrekkelig minne under trening.

Varighet: rundt 5 timer på et 11 GB RTX 2080 Ti i artikkelen, noen timer for 100k trinn per lerobots ACT-side, 2 til 5 timer på AY-Robots 24 GB-nivå. Ikke kutt det kort. README-filen til referanse-repoet sier at en rykkete eller pauserende policy vanligvis bare trenger mer trening, fordi suksess og jevnhet fortsetter å forbedres etter at tapet flater ut: for data fra den virkelige verden kreves minst 5000 epoker, eller 3 til 4 ganger lengden igjen etter platået.

bash
lerobot-train \
  --config_path=outputs/train/act_so100_cube/checkpoints/last/pretrained_model/train_config.json \
  --resume=true
Gjenopptar en avbrutt kjøring fra dens siste sjekkpunkt.

Kjører den trente policyen på armen

Utplassering bruker lerobot-rollout. Kameranøkler må samsvare med de innspilte: en policy trent på front og wrist vil ikke akseptere cam0 og cam1, og rename_map hjelper ikke, siden den trenger et forhåndstrent sjekkpunkt. Oppgavestrengen kan utelates; lerobots eget eksempel markerer den som valgfri for 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
Autonom utrulling uten opptak. Bruk --strategy.type=sentry for å ta opp evaluerings-episodene.
Denne kommandoen ble nylig omdøpt, så gamle veiledninger er uenige

Evaluering pleide å kjøre via lerobot-record --policy.path=.... I 0.6.x er det lerobot-rollout med en --strategy.type-velger: base, sentry (opptak med auto-opplasting), highlight (ringbuffer lagret med tastetrykk), dagger (menneske i loopen) og episodic. Per 23. august 2026 sier ACT-dokumentasjonssiden fortsatt "using the lerobot-record command" rett over en blokk som kjører lerobot-rollout. Følg kommandoen, ikke setningen.

For å feste et sjekkpunkt i stedet for den endelige modellen, legg til --policy.pretrained_revision. Det krever at kjøringen har startet med --save_checkpoint_to_hub=true, av som standard: uten det skyver lerobot den endelige modellen og ingenting annet. Med det blir hvert sjekkpunkt merket med sitt null-utfylte trinn, så --policy.pretrained_revision=060000 gjenoppretter den på 60000 trinn. Å sammenligne den med 100000 på den virkelige armen er det billigste eksperimentet tilgjengelig.

To veier til samme sjekkpunkt

Alt ovenfor er den manuelle ruten, og den fungerer. Plattformruten bytter kontroll mot å slippe å eie en GPU eller et Python-miljø.

  1. Installer lerobot 0.6.x med core_scripts, training, feetech, ffmpeg.
  2. Finn porter, sett motor-ID-er, kalibrer begge armene, ta opp 50 episoder.
  3. Spill av noen episoder for å bekrefte at dataene inneholder oppgaven.
  4. Lei eller eie en 24 GB GPU, match CUDA og PyTorch, kjør lerobot-train --policy.type=act.
  5. Vent noen timer, kjør deretter lerobot-rollout på maskinen ved armen.
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
Hva denne ruten gir deg

Total kontroll: rediger configuration_act.py, legg til et kamera, forgrene treneren. For forskning snarere enn å levere en oppgave, er en plattform en distraksjon.

AY-Robots treningsmatrise med fem policy-rader og fire robotarm-kolonner, hvor hver celle lenker til den spesifikke treningsguiden for den modellen og armkombinasjonen
Matrisen på /train. ACT-raden mot SO-100-kolonnen er denne artikkelens guide.

Hva som faktisk går galt

Nesten ingen av problemene ligger i treningskommandoen. De ligger i tingene rundt den, sortert etter hvor ofte de oppstår første gang.

SymptomVanlig årsakSide
lerobot-find-port viser ingentingDriver, kabel eller nodetillatelserarm ikke oppdaget
Kamera mangler ved opptakstidspunktIndeks endret ved omstart, eller to kameraer på én USB-kontrollerkamera ikke oppdaget
Trening avviser datasettetACT krever v3.0, GR00T trenger v2.1datasett avvist som v3
CUDA tom for minneBatchstørrelse økt, eller 1080p-bilder i stedet for 480ptom for minne under trening
Tap ser bra ut, armen gjør ingentingDataene mangler oppgaven, eller et kamera flyttet segtap faller, policy gjør ingenting
Rykkete bevegelse eller en pause midt i episodenUnder-trent, en chunk-grense-stopp, eller et tidsavbrutt inferanse-kallpolicy fryser midt i bevegelsen

To rader fortjener å fremheves. ACT trener på LeRobot v3.0 mens GR00Ts laster krasjer på den og trenger v2.1, så et datasett som trener ACT kan føre til at en GR00T-kjøring feiler. Og den siste raden har to løsninger: ACT-forfatterne svarer på rykkete bevegelse med mer trening, mens med n_action_steps på 100 lander en ekte stopp ved en chunk-grense, en synlig pause hvert 3.3 sekund ved 30 fps. To ting til å vite: et enkelt dødt ledd er vanligvis en servo-ID som aldri ble skrevet, og en griper som nærmer seg, men aldri lukkes betyr for liten griperrekkevidde i demonstrasjonene. Full indeks: sidene for feilmoduser.

Hva en kjøring koster

NivåModellerKjøretidPris per timeKostnad per kjøring
RTX 4090 / 24 GBACT, SmolVLA2 til 5 timer0.30 to 0.60 USDomtrent 1 til 3 USD
A100 80 GB / H100GR00T N1.7, GR00T N1.5, Pi0.53 til 6 timer1.20 to 2.00 USDomtrent 4 til 12 USD

Dette er argumentet for å starte med ACT selv om du ønsker en VLA senere. Et mislykket ACT-kjøring koster prisen av en kaffe og forteller deg innen timer om datasettet ditt inneholder oppgaven. En mislykket GR00T-kjøring koster fire ganger så mye for den samme lærdommen. Å flytte opp til GR00T N1.7 eller SmolVLA etterpå er en formendring, ikke en gjenoppbygging. Bakgrunn: syn-språk-handling-modeller, den komplette SO-100-guiden, tren din første policy og imitasjonslæring. Ingen arm? Livesiden strømmer en ekte SO-100 å kjøre uten å registrere deg.

Tren ACT på din SO-100

Guiden for denne eksakte kombinasjonen: standardinnstillinger, GPU-nivå og hva en kjøring koster. Velg datasettet, bakenden leier kortet og skriver sjekkpunktene.

Åpne treningsguiden
Finnes det en forhåndstrent ACT-modell jeg kan finjustere i stedet?

Nei. ACT har ingen grunnmodell; den eksisterer kun etter at du har trent den. Det er ikke et hull i verktøyene, det er hva ACT er: artikkelen trener en policy fra bunnen av per oppgave. For et leverandørsjekkpunkt, bruk GR00T N1.7 eller Pi0.5.

Hvor mange episoder trenger jeg egentlig?

50: hva ALOHA registrerte per oppgave (100 for Thread Velcro, den vanskeligste) og AY-Robots minimum. lerobot anbefaler omtrent 10 per objektlokasjon, faste kameraer, konsistent grep. Femti rene episoder slår hundre der kameraet beveget seg.

Bør jeg endre chunk_size fra 100?

Vanligvis ikke. Ablasjonen klatrer fra 1 prosent ved k = 1 til 44 prosent ved k = 100 og flater ut etterpå, så 100 ligger nær toppen. Hvis armen forplikter seg for lenge, senk n_action_steps i stedet: ved 30 fps, 25 re-forespørsler hvert 0.8 sekund.

Hvor lang tid tar en treningskjøring, og kan jeg stoppe den tidlig?

To til fem timer på et 24 GB kort for 100000 steg. Sjekkpunkter lander hvert 20000 steg og --resume=true gjenopptar en kjøring, så det er trygt å stoppe tidlig. Bare ikke ved den første flate strekningen: jevnheten forbedres etter at tapet flater ut.

Tapet gikk ned og armen feiler fortsatt. Hva nå?

Nesten alltid datasettet. Spill av innspilte episoder ved armen: hvis avspillingen ikke utfører oppgaven, inneholder ikke dataene den. Sjekk deretter om noe beveget seg, spesielt et kamera. ACT har ingen forhåndskunnskap, så et dytt på episode 21 er permanent.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started