AY-Robots træningsmatrixen med fem politikrækker og fire robotarmkolonner, hvor hver celle linker til en specifik model- og armtræningsguide
ACTSO-100lerobotimitationslæringpolitiktræning

Sådan træner du ACT på SO-100 fra bunden

AY-Robots ResearchAugust 23, 202616 min læsning

Træn en Action Chunking Transformer fra bunden på en SO-100 med lerobot: act-konfigurationen, chunk_size og n_action_steps, 100000-trinsplanen, 20 ms inferens.

ACT er den afvigende blandt SO-100-politikkerne. 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: der er ingen basis-checkpoint, fordi det ikke er en grundmodel. Det er en transformer med cirka 80 millioner parametre, som du træner fra bunden på én opgave, på din arm, under din belysning.

Det er også derfor, den udfører et kontroltrin på 20 ms, hvor en VLA med 3 milliarder parametre behøver 152 til 485 ms, og koster 1 til 3 USD per kørsel i stedet for 4 til 12. Denne guide gennemgår den manuelle rute med lerobot på en SO-100: optagelse, act konfigurationen, hvad chunk_size og n_action_steps styrer, 100000-trinsplanen, udrulningen. Derefter det samme job på AY-Robots, inklusive hvor platformen ikke hjælper.

Hvad du skal vide

  • ACT træner fra bunden: ingen basismodel, ingen fortræning, ingen sproginput. Ét checkpoint, én opgave.
  • Artiklen: cirka 80 M parametre, omkring 5 timer på et 11 GB RTX 2080 Ti, 0,01 s inferens.
  • lerobot defaults: chunk_size 100, n_action_steps 100, batch 8, lr 1e-5, 100000 steps, seed 1000.
  • På AY-Robots: 20 ms per trin, den hurtigste af de fem. Minimum 50 episoder, LeRobot v3.0, et 24 GB kort, 1 til 3 USD per kørsel.
  • Den vinder på en opgave, den har set, og taber i det øjeblik, du ønsker sprogkonditionering.
Hvilke versioner dette beskriver

Kontrolleret 23. august 2026 mod lerobot 0.6.x: pyproject.toml on main reads version = "0.6.2", newest tag v0.6.1, 3 August 2026. En tutorial, der starter med python lerobot/scripts/train.py er ældre end konsolindgangspunkterne lerobot-train, lerobot-record and lerobot-rollout.

Hvad ACT egentlig er

Action Chunking with Transformers kommer fra ALOHA-artiklen, Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware, af Zhao, Kumar, Levine og Finn, arXiv, 23 April 2023. Riggen optager med 50 Hz med fire webcams, der streamer 480x640 ved 30 fps: to på gribere, en top, en front. Abstraktet hævder seks færdigheder med 80 til 90 procent succes, herunder åbning af en gennemsigtig krydderikop og indsættelse af et batteri, fra 10 minutters demonstrationer.

Brødteksten er mere nyttig, når man planlægger en optagelsessession: 50 demonstrationer pr. opgave, undtagen Thread Velcro med 100, hvilket er 10 til 20 minutters data og 30 til 60 minutters reel tid, når nulstillinger er talt med. Succesen er heller ikke ensartet: Thread Velcro ender på 20 procent, Put On Shoe på 92, Cup Open 84, Prep Tape 64.

HyperparameterALOHA-artikel, Tabel IIIlerobot på main
læringshastighed1e-5optimizer_lr = 1e-5
batchstørrelse8batch_size = 8, in TrainPipelineConfig not ACTConfig
encoder- / decoder-lag4 / 7n_encoder_layers = 4 / n_decoder_layers = 1
chunkstørrelse k100chunk_size = 100
latent dimension af zfraværende; Fig. 11 shows a 32 to 512 projectionlatent_dim = 32
temporal ensemblingfraværende; --temporal_agg in the reference codetemporal_ensemble_coeff = None
Rækken med dekoderlag er ikke en slåfejl

Artiklen angiver 7 dekoderlag, lerobot leverer 1, bevidst. Kommentaren i configuration_act.py siger, at den originale implementering har en fejl, hvilket betyder, at kun det første lag bruges, med henvisning til issue 25 i tonyzhaozh/act: action head læser hs[0], så alle syv lag kører, men kun den første output når frem til forudsigelsen. Dette problem har været åbent og ubesvaret siden 23. april 2024. lerobot matcher den adfærd, der producerede de publicerede resultater, ikke det trykte tal. Øg --policy.n_decoder_layers, og du træner en model, som artiklen aldrig har evalueret.

Action chunking er hele ideen

Almindelig adfærdskloning mapper én observation til én handling, og fejl akkumuleres: en afvigelse placerer armen uden for distributionen, hvilket producerer en dårligere handling, og tredive trin senere er griberen ingen steder i nærheden af objektet. Handlingsopdeling forudsiger k handlinger på én gang og udfører dem, hvilket reducerer den effektive horisont med en faktor k. Den håndterer også en gene, der er specifik for menneskelige data: teleoperatører holder pause, og en enkelttrins Markov-baseret politik kan ikke modellere en pause, der afhænger af, hvad der kom før.

Artiklen ablaterer k i stedet for at fastslå det. Med temporal ensembling slået fra, gennemsnitligt over fire indstillinger, stiger succesraten fra 1 procent ved k = 1 til 44 procent ved k = 100, og aftager derefter ved 200 og 400, når politikken nærmer sig open-loop kontrol. Denne kurve er grunden til, at standardværdien er 100.

  • chunk_size: hvor mange fremtidige handlinger dekoderen forudsiger per forward pass. Standard 100.
  • n_action_steps: hvor mange af dem du udfører, før du forespørger igen. Standard 100, så lerobot kører hele chunken i åben sløjfe.
  • lerobot validerer n_action_steps <= chunk_size og udløser en ValueError, hvis du vender det om.

Hvad der betyder noget operationelt, er chunk_size divideret med billedhastigheden. Ved de 30 fps, som lerobots SO-100 eksempler bruger, dækker en chunk på 100 handlinger omkring 3,3 sekunder fra én observation. Hvis opgaven kræver en korrektion inden for det vindue, skal du sænke n_action_steps, ikke chunk_size: du beholder den lange forudsigelse og observerer igen 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
Forkortelse af den udførte del af chunken uden at forkorte forudsigelsen.
Fælden med temporal ensembling

Sæt --policy.temporal_ensemble_coeff, og lerobot kræver n_action_steps = 1, ellers udløses en NotImplementedError. Ensembling forespørger politikken ved hvert tidsskridt og blander de overlappende forudsigelser for det tidsskridt med vægte w_i = exp(-m * i), hvor den ældste får w_0. Artiklen angiver det til 3,3 procent for ACT: reelt, men beskedent, og det multiplicerer inferenstællingen med chunk-længden. Overkommeligt ved 20 ms per trin, ikke ved 485 ms. Se inferenslatens.

Når ACT slår en grundmodel

De fem trænbare politikker side om side, med de tal AY-Robots måler og bruger til at dimensionere den GPU, den lejer.

PolitikFamilieParametrePr. trinGPU-niveauMin. episoderDatasæt
ACTChunking-transformer, fra bunden~80 M20 msRTX 4090 / 24 GB50LeRobot v3.0
SmolVLAKompakt VLA~450 M245 msRTX 4090 / 24 GB30LeRobot v3.0
GR00T N1.7VLA-fundament, diffusionshoved~3 B (~40 M trained)152 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
GR00T N1.5VLA-fundament, forgænger~3 B165 msA100 / H100 80 GB50LeRobot v2.0 or v2.1
Pi0.5Flow-matching VLA, se flow matching~3 B, PaliGemma backbone485 msA100 / H100 80 GB50LeRobot v3.0
The AY-Robots policies page showing a comparison table of ACT, SmolVLA, GR00T N1.5, GR00T N1.7 and Pi0.5 with parameter counts, GPU requirements, inference latency and minimum episode counts
The /policies table: ACT has the smallest parameter count and the shortest step time.
Træning af ACT fra bunden
Fordele
  • 20 ms pr. handlingstrin, den hurtigste af de fem, på et 24 GB kort, ikke et A100.
  • 1 til 3 USD pr. kørsel mod 4 til 12 for 3 B-klassen.
  • Præcis ved kontaktintensive opgaver, den har set: 88 og 96 procent på Slide Ziploc og Slot Battery, hvor tidligere metoder aldrig klarede første fase.
Kompromiser
  • Ingen sprogkonditionering: opgavestrengen ignoreres, så ét checkpoint er én opgave.
  • Ingen semantiske forhåndsviden: alt, hvad den ved, kommer fra dine 50 episoder.
  • Smal generalisering: flyt et kamera, og du skal gentræne.
  • Den fejler stille: tabet falder, armen gør intet, loggene siger intet.
  • Hastighedsfordelen hjælper kun, hvis inferens sidder ved siden af servoerne.

Vælg ACT, når opgave og scene er faste, og bevægelsen skal være hurtig og præcis. Vælg en , når ét checkpoint skal dække flere instruktioner. To sider behandler beslutningen direkte: og . For offentliggjorte benchmarks, linker hvert tal til dets kilde.

Hvad du skal bruge, før du starter

Én følgerarm, én lederarm til , mindst ét kamera, en 24 GB GPU. ACT læser kun billeder og ledpositioner. To kameraer er det optimale: et fast frontalt syn for, hvor tingene er, et håndledskamera for, hvad er ved at røre, som på ALOHA.

ArmServoerSpændingDeleprisStatus
SO-100Feetech STS32157.4 V~110 til 150 EURFuld support, referencearm
SO-101Feetech STS32157.4 V~130 til 170 EURFuld support
Koch v1.1Dynamixel XL330 / XL4305 V og 12 V skinner~250 til 350 EURKompatibel
LeKiwiFeetech STS3215 (arm)7.4 V arm, 12 V base~400 til 500 EURKompatibel
7.4 V, ikke 12 V

SO-100 og SO-101 kører Feetech STS3215 servoer på en 7.4 V skinne. At forsyne dem med 12 V ødelægger dem, stille nok til at folk først giver softwaren skylden, og en Koch 12 V strømforsyning passer fysisk til et SO-100 printkort. Tjek mærkaten. Symptomer: servo reagerer ikke, arm rykker og falder derefter sammen. Se også SO-100 vs SO-101.

Fra bar arm til optaget datasæt

Arbejdsgangen nedenfor er lerobot 0.6.x. Spring den over, hvis du har en kalibreret arm og et datasæt. Ellers dækker SO-100 startguide samling, optagelsesgennemgang dækker optagelse og datasætdokumentation formatet.

  1. 1
    Installer lerobot med de rette udvidelser

    Optagelse kræver core_scripts, træning 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
    Find USB-porten for hver arm

    Kør den med begge arme tilsluttet, og tag den ene ud, når du bliver bedt om det. På Linux skal du muligvis åbne node-tilladelserne.

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

    På SO-100 sker dette før samling: i modsætning til SO-101 er stikkene utilgængelige, når den først er bygget. Scriptet gennemgår bussen én motor ad gangen fra gribearmen 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 arme

    Indstil hvert led til midten af dets bevægelsesområde, tryk Enter, og før derefter hvert led gennem dets fulde bevægelsesområde. Kalibrering gør det muligt for en politik trænet på én arm at køre på en anden. Genbrug det 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 kameraerne tændt

    Lerobot-tommelfingerreglen: du skal kunne udføre opgaven ved kun at se på kamerabillederne. Hvis du ikke kan, kan ACT heller ikke. Dette fanger flere dårlige datasæt end senere fejlfinding.

    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
    Optag 50 episoder

    50 er AY-Robots' minimum og hvad ALOHA brugte pr. opgave. lerobot anbefaler 10 pr. objektplacering, faste kameraer, konsistent greb. n afslutter en episode, r genoptager, 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
The AY-Robots recording tutorial page explaining how to capture a LeRobot-format dataset from a teleoperation session
Optagelsesvejledningen. Desktopklienten skriver det samme layout som lerobot-record.
Fælden der æder en dag: et inkonsekvent datasæt

ACT har ingen forudgående viden at falde tilbage på, så enhver inkonsekvens bliver permanent. De tre dyreste: et kamera, der blev skubbet mellem episode 20 og 21, lys, der ændrede sig, fordi du optog halvdelen af sættet om eftermiddagen, et greb udført på to måder. Hver giver en perfekt udseende tabskurve og en arm, der går til det forkerte sted. Se tab falder, politik gør intet, politik virker kun i én opsætning og indsamling af træningsdata af høj kvalitet.

Før træning skal du afspille mindst fem episoder. LeRobot datasætformatet, gemmer kamerastrømme, ledtilstande og handlinger pr. episode, og genafspilning skubber disse handlinger tilbage til armen. Hvis genafspilningen ikke udfører opgaven, indeholder dataene den ikke, og træningen vil ikke opfinde den.

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
Afspiller episode 0. Hvis dette mislykkes, stop og genoptag.

Træning af ACT-politikken

Dette er hele kommandoen. Alt ACT-specifikt er allerede en standard, hvilket er grunden til, at lerobot ACT-siden anbefaler at 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
Træningskommandoen fra lerobot 0.6.x-dokumentationen, på et SO-100 datasæt.

--policy.type=act indlæser ACTConfig, som tilpasser sig det antal motorer og kameraer, dit datasæt har optaget, så du aldrig behøver at deklarere observationsformen. --wandb.enable=true er valgfri og det værd: tabskurven er det eneste billige signal i et 100000-trins kørsel. Skemaet kommer fra lerobot's træningskonfiguration, ikke ACTConfig: 100000 trin, batch 8, seed 1000, et kontrolpunkt hvert 20000. trin, logning hvert 200. trin.

En fuld kørsel efterlader fem kontrolpunktsmapper, 020000 til 100000, plus et last symlink. Behold dem alle: den bedste politik er ofte ikke den sidste.

Indstillinglerobot standardAY-Robots ACT-formularKommentar
batchstørrelse88Sænk den først, hvis du rammer VRAM-grænser.
læringshastighed1e-51e-5Samme som ALOHA-papiret.
maks. trin100000100000Cirka hvor et sæt på 50 episoder holder op med at forbedre sig.
gradientakkumulering11, gælder ikkeSkift batchstørrelse i stedet.
seed1000eksponeretGR00T's tyro-indgangspunkt har ingen seed; ACT-kørsler er de reproducerbare.
chunk_size / n_action_steps100 / 100100 / 100, redigerbarForudsigelses- og udførelseshorisont. Sænk den anden, ikke den første.
kontrolpunktsfrekvens20000ikke eksponeretsaveSteps er en GR00T-knap her.
Hukommelsesmangel er et batchstørrelsesproblem, ikke et kortproblem

ACT ved batchstørrelse 8 med to 640x480 kameraer passer komfortabelt på 24 GB. Det holder op med at passe, når folk øger batchstørrelsen for hastighed, eller fodrer det med 1920x1080 frames, som et lerobot-optagelseseksempel viser. To ResNet-18 backbones ved 1080p er en meget anderledes hukommelsesprofil. Sænk --batch_size til 4, før du lejer et større kort. Se hukommelsesmangel under træning.

Varighed: omkring 5 timer på et 11 GB RTX 2080 Ti i artiklen, et par timer for 100k trin ifølge lerobots ACT-side, 2 til 5 timer på AY-Robots 24 GB-niveau. Afkort det ikke. README'en i reference-repoet angiver, at en hakkende eller pauserende politik typisk blot kræver mere træning, da succes og glathed fortsat forbedres, efter at tabet stabiliseres: for realtidsdata kræver det mindst 5000 epoker, eller 3 til 4 gange længden igen efter stabiliseringen.

bash
lerobot-train \
  --config_path=outputs/train/act_so100_cube/checkpoints/last/pretrained_model/train_config.json \
  --resume=true
Genoptagelse af en afbrudt kørsel fra dens seneste checkpoint.

Kørsel af den trænede politik på armen

Implementering bruger lerobot-rollout. Kameranøgler skal matche de optagede: en politik trænet på front og wrist vil ikke acceptere cam0 og cam1, og rename_map hjælper ikke, da den kræver et fortrænet checkpoint. Opgavestrengen kan udelades; 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 udrulning uden optagelse. Brug --strategy.type=sentry til at optage evalueringsafsnittene.
Denne kommando blev omdøbt for nylig, så gamle tutorials er uenige

Evaluering plejede at køre via lerobot-record --policy.path=.... I 0.6.x er det lerobot-rollout med en --strategy.type vælger: base, sentry (optagelse med auto-upload), highlight (ringbuffer gemt ved tastetryk), dagger (menneske i loopet) og episodic. Pr. 23. august 2026 siger ACT-dokumentationssiden stadig "using the lerobot-record command" direkte over en blok, der kører lerobot-rollout. Følg kommandoen, ikke sætningen.

For at fastgøre et checkpoint i stedet for den endelige model, tilføj --policy.pretrained_revision. Det kræver, at kørslen er startet med --save_checkpoint_to_hub=true, deaktiveret som standard: uden den skubber lerobot den endelige model og intet andet. Med den tagges hvert checkpoint med dets nul-polstrede trin, så --policy.pretrained_revision=060000 genopretter den med 60000 trin. At sammenligne den med 100000 på den rigtige arm er det billigste eksperiment, der er tilgængeligt.

To veje til det samme checkpoint

Alt ovenfor er den manuelle vej, og den virker. Platform-vejen bytter kontrol for ikke at skulle eje en GPU eller et Python-miljø.

  1. Installer lerobot 0.6.x med core_scripts, training, feetech, ffmpeg.
  2. Find porte, indstil motor-ID'er, kalibrer begge arme, optag 50 episoder.
  3. Afspil et par episoder for at bekræfte, at dataene indeholder opgaven.
  4. Lej eller ejer en 24 GB GPU, match CUDA og PyTorch, kør lerobot-train --policy.type=act.
  5. Vent et par timer, kør derefter 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
Hvad denne vej giver dig

Fuld kontrol: rediger configuration_act.py, tilføj et kamera, fork træneren. Til forskning frem for at levere en opgave er en platform en distraktion.

AY-Robots træningsmatrix med fem politikrækker og fire robotarmkolonner, hvor hver celle linker til den specifikke træningsguide for den model- og armkombination
Matricen på /train. ACT-rækken mod SO-100-kolonnen er denne artikels guide.

Hvad der faktisk går galt

Næsten ingen af problemerne ligger i træningskommandoen. De ligger i de ting, der omgiver den, sorteret efter hvor ofte de bider første gang.

SymptomSædvanlig årsagSide
lerobot-find-port viser intetDriver, kabel eller node-tilladelserarm ikke fundet
Kamera mangler ved optagelseIndeks ændret ved genstart, eller to kameraer på én USB-controllerkamera ikke fundet
Træning afviser datasættetACT kræver v3.0, GR00T behøver v2.1datasæt afvist som v3
CUDA løber tør for hukommelseBatchstørrelse øget, eller 1080p billeder i stedet for 480pløber tør for hukommelse under træning
Loss ser fin ud, armen gør intetData mangler opgaven, eller et kamera er flyttetloss falder, policy gør intet
Rykvis bevægelse eller en pause midt i episodenUnder-trænet, et stop ved chunk-grænse, eller et timeoutet inferenskaldpolicy fryser midt i bevægelsen

To rækker fortjener særlig opmærksomhed. ACT træner på LeRobot v3.0, mens GR00T's loader crasher på det og kræver v2.1, så et datasæt, der træner ACT, kan fejle et GR00T-kørsel. Og den sidste række har to løsninger: ACT-forfatterne svarer på rykvis bevægelse med mere træning, mens med n_action_steps på 100 lander et ægte stop ved en chunk-grænse, en synlig pause hvert 3.3 sekund ved 30 fps. Yderligere to at vide: et enkelt dødt led er normalt et servo-id, der aldrig blev skrevet, og en griber, der nærmer sig, men aldrig lukker betyder for lille griberækkevidde i demonstrationerne. Fuld indeks: siderne for fejltilstande.

Hvad en kørsel koster

NiveauModellerKøretidPris pr. timeOmkostning pr. kørsel
RTX 4090 / 24 GBACT, SmolVLA2 til 5 timer0.30 to 0.60 USDca. 1 til 3 USD
A100 80 GB / H100GR00T N1.7, GR00T N1.5, Pi0.53 til 6 timer1.20 to 2.00 USDca. 4 til 12 USD

Dette er argumentet for at starte med ACT, selv hvis du ønsker en VLA senere. En mislykket ACT-kørsel koster prisen for en kop kaffe og fortæller dig inden for timer, om dit datasæt indeholder opgaven. En mislykket GR00T-kørsel koster fire gange så meget for den samme lektion. At opgradere til GR00T N1.7 eller SmolVLA bagefter er en formændring, ikke en genopbygning. Baggrund: vision-sprog-handlingsmodeller, den komplette SO-100 guide, træn din første politik og imitationslæring. Ingen arm? Livesiden streamer en rigtig SO-100, som du kan styre uden at tilmelde dig.

Træn ACT på din SO-100

Guiden til denne præcise kombination: standardindstillinger, GPU-niveau og hvad en kørsel koster. Vælg datasættet, backend lejer kortet og skriver checkpoints.

Åbn træningsguiden
Er der en fortrænet ACT-model, jeg kan finjustere i stedet?

Nej. ACT har ingen grundmodel; den eksisterer kun, efter du har trænet den. Det er ikke et hul i værktøjerne, det er, hvad ACT er: artiklen træner en politik fra bunden pr. opgave. For et leverandør-checkpoint, brug GR00T N1.7 eller Pi0.5.

Hvor mange episoder har jeg virkelig brug for?

50: hvad ALOHA optog pr. opgave (100 for Thread Velcro, dens sværeste) og AY-Robots minimum. lerobot anbefaler omkring 10 pr. objektplacering, faste kameraer, konsistent greb. Halvtreds rene episoder slår hundrede, hvor kameraet bevægede sig.

Skal jeg ændre chunk_size fra 100?

Normalt ikke. Ablationen stiger fra 1 procent ved k = 1 til 44 procent ved k = 100 og aftager derefter, så 100 ligger nær toppen. Hvis armen forpligter sig for længe, sænk n_action_steps i stedet: ved 30 fps, 25 genforespørgsler hvert 0.8 sekund.

Hvor lang tid tager en træningskørsel, og kan jeg stoppe den tidligt?

To til fem timer på et 24 GB kort for 100000 trin. Checkpoints lander hvert 20000 trin, og --resume=true genoptager en kørsel, så det er sikkert at stoppe tidligt. Bare ikke ved den første flade strækning: glatheden forbedres, efter at tabet stabiliserer sig.

Tabet faldt, og armen fejler stadig. Hvad nu?

Næsten altid datasættet. Afspil optagede episoder ved armen: hvis afspilningen ikke udfører opgaven, indeholder dataene den ikke. Kontroller derefter, om noget har flyttet sig, især et kamera. ACT har ingen forudgående viden, så et skub i episode 21 er permanent.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started