AY-Robotsin koulutusmatriisi viidellä toimintamallilla riveinä ja neljällä robottivarrella sarakkeina, jokainen solu linkkinä tiettyyn hienosäätöoppaaseen
Pi0.5VirtaussovitusVLA-koulutusLeRobotHienosäätö

Miten kouluttaa Pi0.5 omalla robottidatallasi

AY-Robots ResearchAugust 23, 202616 minuutin luku

Hienosäädä Pi0.5, Physical Intelligencen virtaussovitus-VLA, omalla robottidatallasi. Todellisia komentoja openpi:lle ja lerobot pi05:lle, aineiston muotoilun sudenkuopat, VRAM- ja viivelimitit.

Pi0.5 on malli, johon turvaudutaan, kun toimintaperiaatteen on toimittava huoneessa, jota se ei ole koskaan nähnyt. Se on myös hankalin viidestä koulutettavasta toimintaperiaatteesta täällä hienosäätää käsin: ylävirran repositoriossa JAX on ensisijainen, LeRobot-portti siirsi käyttöönoton pois lerobot-recordista versiossa 0.6.0 ja teki perusasennuksesta liian pienen koulutukseen, eikä täysi hienosäätö mahdu 4090:lle. Alla: mitä virtauksen sovitus maksaa päättelyssä, kaksi komentoreittiä ja 485 ms:n luku, joka päättää, onko tulos käyttökelpoinen.

Mitä sinun tulee tietää

  • Virtauksen sovitukseen perustuva VLA: 3B PaliGemma VLM sekä 300M toiminta-asiantuntija, joka dekoodaa jatkuvia toimintapaloja. Kaksi reittiä sen hienosäätöön, openpi ja LeRobot pi05, 0.65 pistettä eroa LIBERO-keskiarvossa.
  • Täysi hienosäätö vaatii yli 70 GB VRAM-muistia. openpi listaa LoRA:n 22.5 GB:nä, vain JAX-polullaan.
  • Tietoaineiston on oltava LeRobotDataset v3.0, jossa on q01- ja q99-kvantiilit tiedostossa meta/stats.json, tai ensimmäinen erä epäonnistuu.
  • Tarkista ensin lerobot-versiosi: 0.6.0 teki peruspaketista kevyen ja siirsi käyttöönoton pois lerobot-recordista.
  • Tässä se toimii 485 ms per toiminta-askel, vaatii 50 jaksoa ja maksaa noin 4–12 USD per ajo.

Mitä Pi0.5 todella on

Physical Intelligence julkaisi pi0:n lokakuussa 2024: virtauksen sovitukseen perustuvan näkö-kieli-toimintamallin esikoulutetun VLM:n päälle: PaliGemma 3 miljardilla parametrilla ja 300M toiminta-asiantuntija, joka on alustettu tyhjästä, yhteensä 3.3 miljardia. Artikkelissa raportoidaan esikoulutuksesta yli 10 000 tunnin robotin datalla 7 robottikonfiguraatiossa ja 68 tehtävässä. Lisää pi0-artikkelissa.

Pi0.5 (arXiv 2504.16054, 22. huhtikuuta 2025) säilyttää tuon rungon ja muuttaa koulutusruokavaliota: verkkodataa, objektintunnistusta, ihmisten antamia suullisia ohjeita robotin valmentamiseen, alitehtävien tunnisteita, eri ruumiillistumien dataa monien kotien roboteista. Tuloksena on robotti, joka siivoaa keittiöitä taloissa, jotka eivät olleet koulutusjoukossa. openpi README lisää yksityiskohdan, jota otsikko ei sisällä: julkaistu pi0.5 koulutettiin tietämyksen eristyksellä (arXiv 2505.23705).

Ominaisuuspi0pi0.5
VLM-runkoverkon varianttigemma_2b (PaliGemma)gemma_2b (PaliGemma)
Toiminta-asiantuntijan varianttigemma_300mgemma_300m
action_dim3232
action_horizon oletus5050
max_token_len48200
discrete_state_inputfalsetrue, tila diskretoitu lokeroihin kehotteessa
Perustarkistuspistegs://openpi-assets/checkpoints/pi0_basegs://openpi-assets/checkpoints/pi05_base
Mitä on julkista, ei ole koko paperi

openpi README on selkeä: arkisto tukee vain virtaussovituspäätä, sekä pi0.5-koulutukseen että päättelyyn. Paperi kuvaa kaksi vaihetta, ja koodi sisältää vain toisen: esikoulutus esittää jokaisen toiminnon diskreetteinä tunnuksina FAST-tokenisoijan kautta, ja käyttöönotossa malli päättelee korkean tason alitehtävän ennen jokaista toimintalohkoa. Kumpikaan näistä ei ole arkistossa. The lerobot/pi05_base card antaa saman luettelon ja lisää RL:n, vaikka pi0.5-paperi ei kuvaa lainkaan vahvistusoppimisvaihetta. LeRobot-portti perii tämän laajuuden, ja niin tekee jokainen sen isännöimä kouluttaja, mukaan lukien tämä tässä. Lisensointi on myös jaettu: pi05-dokumenttisivu sanoo Apache 2.0, the lerobot/pi05_base card on merkitty license: gemma.

Mitä virtaussovitus muuttaa koulutuksessa ja päättelyssä

Politiikka, jonka voi kouluttaa SO-100:lla, joko regressioi toimintoja suoraan (ACT) tai tokenisoi ne ja dekoodaa autoregressiivisesti (pi0-FAST). Virtaussovitus ei tee kumpaakaan: se oppii vektorikentän, joka kuljettaa kohinaa puhtaaseen toimintalohkoon, ja integroi sen sitten. pi0-julkaisu käyttää 10 integrointivaihetta askelkoon ollessa 0.1; LeRobotin pi05-konfiguraatio sisältää saman num_inference_steps: int = 10.

  • Koulutus: häviö regressioi kohinallisen toimintalohkon. Ei tokenisoijaa viritettäväksi, ei nivelkulmien diskretisointia.
  • Päättely: yksi lohko maksaa kymmenen eteenpäinsyöttöä toimintaekspertin läpi. Tämä on rakenteellista, ei viritysongelma.
  • Tuloste: jatkuvia toimintoja, joiden dimensio on 32, sisäisesti täytettynä, häviö lasketaan robotin dimensioiden perusteella. 6-vapausastetta käsivarsi ja tarttuja käyttävät 7.
python
# openpi/src/openpi/models/pi0_config.py - the defaults every pi05 config inherits
@dataclasses.dataclass(frozen=True)
class Pi0Config(_model.BaseModelConfig):
    dtype: str = "bfloat16"
    paligemma_variant: _gemma.Variant = "gemma_2b"
    action_expert_variant: _gemma.Variant = "gemma_300m"

    action_dim: int = 32
    action_horizon: int = 50
    max_token_len: int = None      # 200 if pi05 else 48

    pi05: bool = False             # flips discrete_state_input to True
Luettu kohteesta src/openpi/models/pi0_config.py openpi main -haarasta, 23. elokuuta 2026.

PaliGemma-runkoverkko ja sen edessä oleva portti

PaliGemma (arXiv 2407.07726) on SigLIP-So400m-kuvakooderi Gemma-2B-kielimallissa, noin 3B parametria. Pi0.5 perii sen tokenisoijan, ja tämä tokenisoija sijaitsee portitetussa repositoriossa. Tämä on yleisin tapa, jolla ensimmäinen ajo epäonnistuu, ennen ensimmäistä harjoitusaskelta.

Hyväksy portitettu lisenssi ennen kuin vuokraat GPU:n

LeRobotin pi05-dokumentaatio toteaa sen selvästi: pi0.5 käyttää portitettua google/paligemma-3b-pt-224-tokenisoijaa, joten hyväksy sen lisenssi Hubissa ja suorita hf auth login ensin. Pääsy myönnetään manuaalisesti, ei välittömästi. Ohita tämä, aloita maksullinen pilviajo, ja maksat podista, joka ei voi ladata tokenisoijaa.

Ennen aloittamista: aineiston muoto, episodit, laitteisto

Pi0.5 LeRobotissa lukee LeRobot-aineiston v3.0-asettelussa, joka julkaistiin lerobot 0.4.0:n kanssa lokakuussa 2025: monta episodin Parquet- ja MP4-tiedostoa yhden tiedoston sijaan per episodi, rajojen ollessa meta/episodes/-hakemistossa tiedostonimien sijaan. Tallenna työpöytäasiakasohjelmalla tai seuraa ensimmäisen aineistosi tallentamista ja sinulla on se.

TilaVaadittu GPU-muistiEsimerkki-GPU
Päättelymore than 8 GBRTX 4090
Hienosäätö, LoRAmore than 22.5 GBRTX 4090
Hienosäätö, täysimore than 70 GBA100 80 GB or H100
Versioansat, jotka maksavat päivän

Pi0.5 ja SmolVLA vaativat LeRobot v3.0:n. GR00T N1.7 ja GR00T N1.5 vaativat v2.0 tai v2.1 ja kaatuvat v3.0-aineistolla. Yksi tallennussessio ei voi syöttää molempia ilman muunnosta, eikä virhe ilmoita "väärä aineistoversio". Katso aineisto hylätty: v3 vaaditaan.

bash
# v2.1 -> v3.0, run against a dataset already on the Hub
python -m lerobot.scripts.convert_dataset_v21_to_v30 --repo-id=<HF_USER/DATASET_ID>

# aggregates episode-0000.parquet, episode-0001.parquet, ... -> file-0000.parquet
# aggregates episode-0000.mp4, episode-0001.mp4, ...         -> file-0000.mp4
# rewrites meta/episodes/* with per-episode lengths, tasks and offsets
LeRobotDataset v3.0 -dokumentaatiosta.

Alusta vaatii vähintään 50 jaksoa Pi0.5:lle, sama raja kuin GR00T:lle ja ACT:lle. Esikoulutus tekee raskaan työn, joten 50 puhdasta jaksoa voittaa 200 huolimatonta. Uusi asia? Aloita tiedonkeruuoppaasta.

AY-Robotsin käytäntösivu, joka vertaa viittä koulutettavaa käytäntöä parametrien, GPU-tason, viiveen ja vähimmäisepisodien perusteella
Pi0.5 sijoittuu A100- ja H100-tasolle 485 ms per toimintavaihe, vähintään 50 episodilla.

Reitti A: hienosäädä openpi-repositorion avulla

Viiteimplementaatio: ensin JAX, testattu vain Ubuntu 22.04:ssä, ohjattu konfiguraatioobjekteilla lippujen sijaan. PyTorch-polku saapui syyskuussa 2025, validoitu LIBEROssa. Kolme vaihetta: muunna tietosi, määritä konfiguraatio, kouluta ja tarjoile.

  1. 1
    Kloonaa ja asenna

    openpi käyttää uv:tä. GIT_LFS_SKIP_SMUDGE antaa LeRobotin tulla riippuvuudeksi ilman LFS-blobeja.

    bash
    git clone --recurse-submodules git@github.com:Physical-Intelligence/openpi.git
    cd openpi
    
    GIT_LFS_SKIP_SMUDGE=1 uv sync
    GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .
  2. 2
    Muunna tietosi LeRobot-aineistoksi

    Ylävirta toimittaa muuntimia LIBEROlle ja DROIDille ja odottaa sinun mukauttavan yhden. Työ on avainten kartoitus.

    bash
    uv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data
  3. 3
    Lisää koulutuskonfiguraatio

    Konfiguraatiot ovat TrainConfig-merkintöjä tiedostossa src/openpi/training/config.py. Tämä mukauttaa pi05_droid_finetunea, painolaturin osoittaessa pi05_baseen.

    python
    TrainConfig(
        name="pi05_so100",
        model=pi0_config.Pi0Config(
            pi05=True,
            action_dim=32,        # pi05 is trained with 32-dim actions
            action_horizon=16,
        ),
        # Copy LeRobotLiberoDataConfig in the same file and rewrite the key
        # mapping for your camera names, then reference your copy here.
        data=LeRobotLiberoDataConfig(
            repo_id="your_hf_username/my_so100_dataset",
            base_config=DataConfig(prompt_from_task=True),
        ),
        weight_loader=weight_loaders.CheckpointWeightLoader(
            "gs://openpi-assets/checkpoints/pi05_base/params"
        ),
        batch_size=32,
        num_train_steps=20_000,
    )
  4. 4
    Laske normitilastot

    Suoritetaan konfiguraation nimeä vastaan, ei aineistoa. Sen ohittaminen on klassinen ensimmäinen virhe tässä.

    bash
    uv run scripts/compute_norm_stats.py --config-name pi05_so100
  5. 5
    Kouluta

    Muuttuja antaa JAXin käyttää 90 prosenttia GPU-muistista oletusarvoisen 75 prosentin sijaan. 80 GB:n kortilla se ratkaisee, selviääkö ajo.

    bash
    XLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_so100 \
        --exp-name=my_experiment \
        --overwrite
  6. 6
    Tarjoile se

    Palvelin kuuntelee porttia 8000 ja vastaa havaintokyselyihin; robottisi ajonaikainen ympäristö on asiakas.

    bash
    uv run scripts/serve_policy.py policy:checkpoint \
        --policy.config=pi05_so100 \
        --policy.dir=checkpoints/pi05_so100/my_experiment/20000
PyTorch-polku ei ole JAX-polku

openpi:n PyTorch-toteutus ei tue pi0-FASTia, sekoitettua tarkkuutta, FSDP:tä, LoRAa tai EMA-painoja, joten 22.5 GB:n LoRA on saatavilla vain JAX:lle, gemma_2b_lora- ja gemma_300m_lora-varianttien kautta. Pahinta: asennus kopioi paikattuja tiedostoja asennettujen transformers 4.53.2 -tiedostojesi päälle, ja README varoittaa, että uv:n oletusarvoisella hardlink-tilalla tämä muokkaa pysyvästi transformereita uv-välimuistissa ja voi vuotaa muihin projekteihin. Kumoa se komennolla uv cache clean transformers.

Reitti B: hienosäädä lerobot pi05:llä

LeRobotin portti käärii samat painot CLI:hin, jota käytät jo ACT ja SmolVLA. Kaikki alla oleva tarkistettiin lerobot 0.6.1:tä, 3. elokuuta 2026 julkaistua versiota, ja pi05-dokumentaatiota vastaan 23. elokuuta 2026. Versioilla on tässä merkitystä: v3.0-tietoaineistot saapuivat 0.4.0:n mukana lokakuussa 2025, 9. maaliskuuta 2026 julkaistu 0.5.0-blogi esittelee pi0-FASTin ja Real-Time Chunkingin, ja 6. heinäkuuta 2026 julkaistu 0.6.0 teki peruspaketista kevyen ja siirsi käyttöönoton lerobot-rolloutiin.

Yksi asia ei muuttunut: lerobot-train ja lerobot-record olivat jo sisääntulopisteitä versiossa 0.3.2, elokuussa 2025. Ohje, joka edelleen kutsuu komentoa python -m lerobot.scripts.train, on vuotta vanhempi kuin muutokset ja siihen kannattaa suhtautua epäluuloisesti myös muilta osin.

  1. 1
    Asenna oikeilla lisäosilla

    Versiosta 0.6.0 alkaen perusasennus sisältää vain ML-ydinriippuvuudet, eikä pi-lisäosa lisää data- tai koulutuskoodia, joten hienosäätö vaatii myös koulutuslisäosan. Vanhemmat yksiriviset komennot epäonnistuvat tässä tuontivaiheessa.

    bash
    # policy dependencies plus the training stack
    pip install 'lerobot[pi,training]'
    
    # from a source checkout
    pip install -e ".[pi,training]"
    
    # driving an SO-100 afterwards needs the robot extras too
    pip install 'lerobot[core_scripts,feetech]'
  2. 2
    Todennus

    Hyväksy paligemma-3b-pt-224-lisenssi selaimessa ja kirjaudu sitten sisään koulutuskoneella.

    bash
    hf auth login
  3. 3
    Lisää kvantiilitilastot

    Pi0.5 normalisoi STATE- ja ACTION-arvot kvantiileilla, joten meta/stats.json tarvitsee q01:n ja q99:n. Vanhemmat datasettit sisältävät vain min-, max-, mean- ja std-arvot.

    bash
    lerobot-edit-dataset \
        --repo_id your_dataset \
        --new_repo_id your_dataset \
        --operation.type recompute_stats \
        --operation.overwrite true
  4. 4
    Hienosäädä lerobot/pi05_base-mallista

    Aseta eräkoko sellaiseksi, jonka näytönohjaimesi kestää; dokumentaatio käyttää 64:ää LIBEROssa 80 GB:n muistilla. Anna bfloat16 eksplisiittisesti, kokoonpanon oletusarvo on float32.

    bash
    lerobot-train \
        --dataset.repo_id=${HF_USER}/my_so100_dataset \
        --policy.type=pi05 \
        --policy.pretrained_path=lerobot/pi05_base \
        --policy.gradient_checkpointing=true \
        --policy.dtype=bfloat16 \
        --policy.device=cuda \
        --policy.push_to_hub=false \
        --output_dir=./outputs/pi05_so100 \
        --job_name=pi05_so100 \
        --batch_size=4 \
        --num_workers=8 \
        --steps=30000 \
        --save_freq=5000 \
        --seed=1000
  5. 5
    Aja se robottikädellä

    Versiossa 0.6.x tämä on lerobot-rollout: lerobot-record kieltäytyy käytännöstä ja hylkää eval_-datasettien nimet. Base ohjaa kättä, sentry tallentaa rullauksen.

    bash
    lerobot-rollout \
        --strategy.type=base \
        --policy.path=${HF_USER}/my_policy \
        --robot.type=so100_follower \
        --robot.port=/dev/ttyACM1 \
        --robot.cameras="{ up: {type: opencv, index_or_path: /dev/video10, width: 640, height: 480, fps: 30}}" \
        --task="Put lego brick into the transparent box" \
        --duration=60
    
    # same run, recorded into an eval_ dataset
    lerobot-rollout \
        --strategy.type=sentry \
        --policy.path=${HF_USER}/my_policy \
        --robot.type=so100_follower \
        --robot.port=/dev/ttyACM1 \
        --dataset.repo_id=${HF_USER}/eval_so100 \
        --dataset.single_task="Put lego brick into the transparent box" \
        --duration=600
LippuMitä se tekeeHuomautus
--policy.type=pi05valitsee Pi0.5:npakollinen pretrained_pathin kanssa, jätä pois --policy.pathin kanssa
--policy.pretrained_pathlataa vain painotominaisuuksien nimet datasettistäsi, tallennetut asetukset nollataan
--policy.pathpainot sekä tarkistuspisteen config.jsontallennetut asetukset, kuten n_action_steps, periytyvät
--policy.n_action_stepsaskeleet, jotka kulutetaan per lohkopalautuu 50:een, ei koskaan yli chunk_size:n (oletus 50)
--policy.train_expert_onlyjäädyttää VLM:n, kouluttaa asiantuntijanoletusarvo false, vähemmän muistia, jonkin verran kustannuksia onnistumisessa
--policy.gradient_checkpointinglaskee uudelleen aktivoinnit tallentamisen sijaanoletusarvo false, ensimmäinen vipu, kun ajo ei mahdu muistiin
--peft.method_type=LORALoRA-adapterit täysien painojen sijaantarvitsee peft-lisäosan, dokumentoitu esimerkki on SmolVLA
--policy.rtc_training_max_delaytoimintaprefiksin ehdollistaminen RTC:llevain päähaarassa, ei versiossa 0.6.1, on pysyttävä alle chunk_size:n
--rename_mapkuvaa datasettisarakkeet käytännön ominaisuuksiintarvitaan, kun kameran avaimet eroavat
Virhe, johon useimmat ensimmäiset ajot törmäävät

Ilman kvantiileja saat ValueError: QUANTILES normalization mode requires q01 and q99 stats ensimmäisessä erässä. Laske tilastot uudelleen, mutta tulos päätyy hakemistoon $HF_LEROBOT_HOME/your_dataset, ei välimuistiin, josta --dataset.repo_id lukee, joten kouluta siten, että --dataset.root osoittaa sinne tai työnnä Hubiin. Tai ohita kvantiilit komennolla --policy.normalization_mapping='{"ACTION": "MEAN_STD", "STATE": "MEAN_STD", "VISUAL": "IDENTITY"}', kuten LIBERO-viitekomento tekee.

Kolme oletusarvosarjaa ja mitkä niistä saavuttavat kouluttajan

openpi:n TrainConfig on referenssi, LeRobotin PI05Config on se, mitä lerobot-train käyttää, kun et sano mitään, ja lomake tässä lähettää kolmannen joukon. Yllätys on oppimisnopeus: molemmat ylävirran oletusarvot ovat korkeimmillaan 2.5e-5, kun taas openpi:n oma pi05_libero-konfiguraatio ja tämä alusta nostavat sen 5e-5:een.

Asetusopenpi TrainConfiglerobot pi05 ja lerobot-trainAY-Robots lähettää
Eräkoko3281
Oppimisnopeuden huippu2.5e-5, cosine decayoptimizer_lr 2.5e-55e-5
Koulutusvaiheet30,000100,00030,000
Tarkistuspisteen väli1,000 steps20,000 stepsei lomakkeessa
Siementä421,000lomakkeessa
Toimintalohkoaction_horizon 50chunk_size 50, n_action_steps 50ei lomakkeessa
Painon tietotyyppibfloat16float32 until you pass --policy.dtypeei lomakkeessa
Gradientin kumulaationo such knob, fsdp_devices insteadabsent from every release so far16, ja se pudotetaan

Onko portti uskollinen? LeRobot-tiimi hienosääti LIBERO-perusmallia vielä 6k vaiheen ajan ja vertasi openpi:n referenssilukuihin neljässä sarjassa: 97.5 prosentin keskiarvo verrattuna 96.85:een, edellä Libero 10:ssä, jäljessä Spatialissa. Reitti on työkalun valinta, ei laadun.

Pi0.5:n hienosäätö omalla datallasi
Edut
  • Yli 10 000 tuntia robotin esikoulutusta takana, joten 50 tehtäväsi jaksoa voi riittää.
  • Jatkuvat toiminnot: ei tokenisoijaa viritettäväksi, ei diskretisointirajaa nivelkulmillesi.
  • LeRobot-portti saa 97.5 prosenttia LIBERO-keskiarvosta verrattuna openpi:n 96.85:een, joten ystävällisempi CLI ei maksa mitään mitattavaa.
  • Parametritehokkaat polut molemmilla puolilla: openpi:n JAX LoRA -variantit, LeRobotin PEFT-integraatio.
Haasteet
  • Täysi hienosäätö vaatii yli 70 GB. 22.5 GB:n LoRA-luku on openpi:n JAX-luku; pi05:lle PEFT:n alla ei ole julkaistu mitään.
  • 485 ms per toimintavaihe, hitain viidestä tässä: kaksi kertaa SmolVLA, kaksikymmentäneljä kertaa ACT.
  • LeRobot v3.0 vaaditaan, joten GR00T-ajoon tallennettu data-aineisto on muunnettava ja päinvastoin.
  • Uudet vaihtoehdot ilmestyvät ensin main-haaraan: koulutusaikainen RTC- ja MEM-muisti eivät ole versiossa 0.6.1, joten uusimmat dokumentit voivat tarkoittaa asennusta gitistä.

485 ms:n todellisuus ja missä se lakkaa olemasta käyttökelpoinen

Tämä ratkaisee projektisi, joten se tulee ennen kustannustaulukkoa. per toimintavaihe, joka mitattiin tässä Pi0.5:lle, on 485 ms. Verrattuna neljään muuhun:

PolitiikkaPäätelmä per toimintavaiheParametritGPU-tasoMinimijaksot
ACT20 ms~80 MRTX 4090 or any 24 GB card50
GR00T N1.7152 ms~3 BA100 80 GB or H100 80 GB50
GR00T N1.5165 ms~3 BA100 80 GB or H100 80 GB50
SmolVLA245 ms~450 MRTX 4090 or any 24 GB card30
Pi0.5485 ms~3 BA100 80 GB or H100 80 GB50
AY-Robotsin vertailusivu GR00T N1.7:lle Pi0.5:tä vastaan, sisältäen parametrit, GPU-tason, latenssin ja aineiston muodon
Sama GPU-taso, sama jaksojen alaraja, eri aineistoversio, kolminkertainen latenssiero.
Päättelyn on oltava servojen vieressä

Näiden viiden mallin ohjaussilmukka suorittaa 20–485 ms per toimintavaihe. Julkisen internetin edestakaiset matkat 485 ms:n lisäksi muuttavat toimivan käytännön epäröiväksi. Etäpäättely soveltuu hitaaseen poimintaan ja sijoitteluun, ei nopeaan reaktiiviseen liikkeeseen. Sanoisimme mieluummin tämän kuin myisimme demon, joka toimii vain lähiverkossa. Jos robottikätesi pysähtyy palojen välillä, aloita kohdasta käytäntö jäätyy kesken liikkeen.

Ylävirralla on vastaus, ja puolet siitä on jo asennettavissa olevassa julkaisussa. Reaaliaikainen paloittelu (Real-Time Chunking) luo seuraavan palan samalla kun robottikäsi suorittaa edellistä, ja ohjaa sitten uuden palan päällekkäisiä vaiheita pysymään lähellä jo suoritettua osaa, jotta robottikäsi ei pysähdy tai nyi saumakohdassa. Päättelyajan muoto toimitettiin 0.4.2-muutoslokissa Pi0:lle, Pi0.5:lle ja SmolVLA:lle, ja se on käyttöönotto-lippu, ei uudelleenkoulutus:

bash
lerobot-rollout \
    --strategy.type=base \
    --policy.path=${HF_USER}/my_policy \
    --inference.type=rtc \
    --inference.rtc.execution_horizon=10 \
    --inference.rtc.max_guidance_weight=10.0 \
    --robot.type=so100_follower \
    --robot.port=/dev/ttyACM1 \
    --robot.cameras="{ up: {type: opencv, index_or_path: /dev/video10, width: 640, height: 480, fps: 30}}" \
    --task="Put lego brick into the transparent box" \
    --duration=60
execution_horizon kertoo, kuinka monen edellisen palan vaiheen kanssa uuden palan on oltava yhtä mieltä; RTC-dokumentaatio antaa 8–12 tavallisena alueena. Oletuspäättelyn taustaohjelma on --inference.type=sync.

Se ei nopeuta mallia. Se piilottaa aukon: 485 ms kuluu edelleen, mutta kriittisen polun ulkopuolella, joten jono ei tyhjene palojen välillä. arXiv 2512.05964:n koulutusajan variantti menee pidemmälle: malli oppii ehdollistamaan puhtaan toimintaetuliitteen perusteella, joten päättelyssä päällekkäisyys maalataan kovasti toimintakohtaisilla virtausajan askelilla ohjauksen sijaan, ja ohjauksen takaisinpäin kulkeva vaihe katoaa. Koulutuksen aikana se ottaa näytteen etuliitteen pituudesta per esimerkki ja laskee virtaushäviön jäljellä olevalle jälkiliitteelle. Tämä lippu on vain päähaarassa, ei versiossa 0.6.1, ja koulutettavan viiveen on pysyttävä chunk_size-arvon alapuolella.

Kaksi tapaa saada Pi0.5-tarkistuspiste

Vuokraat tai omistat 80 GB:n kortin, asennat jonkin yllä olevista pinoista, muunnat tietokokonaisuutesi ja valvot ajoa. Pidät kaikki säädöt: openpi:n JAX LoRA, LeRobotin PEFT-adapterit, suhteelliset toiminnot, mukautetut näppäinkartoitukset. Pidät myös kaikki epäonnistumiset.

  • Laitteisto: A100 80 GB tai H100, tai 24 GB:n kortti openpi:n JAX LoRA -polulla.
  • Asennus: iltapäivä ensimmäiseen ajoon, pääasiassa näppäinkartoitus ja gated tokenizer.
  • Ei isännöidyssä lomakkeessa: PEFT-adapterit, suhteelliset toiminnot, koulutusajan RTC, MEM-muisti.
bash
lerobot-train \
    --dataset.repo_id=${HF_USER}/my_so100_dataset \
    --policy.type=pi05 \
    --policy.pretrained_path=lerobot/pi05_base \
    --policy.rtc_training_max_delay=10 \
    --policy.gradient_checkpointing=true \
    --policy.dtype=bfloat16 \
    --batch_size=4 --steps=30000 --seed=1000
Komento, jota isännöity lomake ei aja, eikä pip voi asentaa: koulutusajan RTC on päähaaran lippu.

Kun se ei toimi

OireTodennäköisin syy
Ajo hylätty ennen alkuaTietokokonaisuus v2.1, mutta Pi0.5 haluaa v3.0, tai päinvastoin GR00T:lle
ImportError, datasets-paketti puuttuulerobot 0.6.x ilman training extraa
ValueError q01:stä ja q99:stä ensimmäisessä erässäEi kvantiileja meta/stats.json-tiedostossa; laske uudelleen tai käytä MEAN_STD:tä
CUDA muisti loppui vaiheessa 0Täysi hienosäätö alle 70 GB; kokeile tarkistuspisteiden käyttöä tai train_expert_only
401 tai gated repo -virhePaliGemma tokenizer -lisenssiä ei hyväksytty
Häviö laskee, robotti ei tee mitäänNormalisointivirhe tai politiikka kopioi tilan
Käsi pysähtyy palojen välilläVaihekohtainen viive plus edestakainen matka; palajono kuivuu
Toimii yhdessä asetelmassa, epäonnistuu toisessaLiian vähän episodeja, tai kaikki yhdessä konfiguraatiossa

Mitä yksi ajo maksaa

Pi0.5 kuuluu kalliiseen tasoon, koska se tarvitsee 80 GB:n kortin, ja spot-hinnat vaihtelevat, joten luku on pikemminkin vaihteluväli kuin tarkka hinta. Monissa SO-100-tehtävissä kouluta ensin SmolVLA tai ACT 24 GB:n tasolla, varmista ensin, että tehtävä on ylipäätään opittavissa, ja käytä sitten A100-tunteja siihen. Kouluta ensimmäinen toimintamallisi käy läpi tämän edullisemman kierroksen, ja hinnoittelu sisältää nykyiset tasot.

TasoToimintamallitTyypillinen ajoHinta tunniltaKustannus per ajo
A100 80 GB tai H100Pi0.5, GR00T N1.7, GR00T N1.53–6 tuntia1.20–2.00 USDnoin 4–12 USD
RTX 4090 tai mikä tahansa 24 GB:n korttiSmolVLA, ACT2–5 tuntia0.30–0.60 USDnoin 1–3 USD
AY-Robotsin kustannustaulukko, joka näyttää, minkä GPU:n kukin käytäntö tarvitsee, tyypillisen ajoajan ja hinnan sekä kuinka monta jaksoa tarvitaan ennen kuin käytäntö on hyödyllinen
Samana kaksi tasoa tuotesivulla: Pi0.5 vuokraa 80 GB kortin, SmolVLA ja ACT sopivat 4090:een.

Ennen illan sitouttamista: GR00T N1.7 vastaan Pi0.5 ja Pi0.5 vastaan SmolVLA asettavat samat luvut vastakkain. Arena sisältää 85 VLA-mallia 332 vertailutuloksella, joista jokainen on linkitetty lähteeseensä, ja taustatietoa perheestä löytyy VLA-yleiskatsauksestamme.

Kouluta Pi0.5 ilman pinon rakentamista

Valitse datasetti ja hyperparametrit lomakkeella. Taustaohjelma vuokraa 80 GB kortin spot-markkinoilta, ajaa kouluttajan ja kirjoittaa tarkistuspisteet objektitallennustilaan. Oppaat SO-100:lle, SO-101:lle, Koch v1.1:lle ja LeKiwi:lle.

Avaa koulutusoppaat
Voinko hienosäätää Pi0.5:tä RTX 4090:llä?

Ei täyttä hienosäätöä: openpi listaa siihen yli 70 GB, joten A100 80 GB tai H100. Sen 22.5 GB LoRA-luku kuuluu JAX-polkuun; PyTorch-toteutuksessa ei ole LoRAa. LeRobotin PEFT-integraatio on olemassa, mutta sen dokumentoitu esimerkki on SmolVLA, eikä pi05:lle ole julkaistu VRAM-lukua.

Kuinka monta jaksoa tarvitsen?

Viisikymmentä, sama alaraja kuin GR00T:llä ja ACT:llä; vain SmolVLA menee alemmas, 30:een. Perustarkistuspiste sisältää yli 10,000 tuntia esikoulutusta, joten hienosäätö mukautuu sen sijaan, että oppisi tyhjästä: 50 puhdasta, vaihtelevaa jaksoa voittaa kaksisataa yhdestä kokoonpanosta.

Mitä eroa on --policy.pathilla ja --policy.pretrained_pathilla?

--policy.path lataa painot ja tarkistuspisteen config.jsonin, joten tallennetut asetukset, kuten n_action_steps, periytyvät ja --policy.type on jätettävä pois. --policy.pretrained_path lataa vain painot: ominaisuuksien nimet tulevat datasetistäsi, tallennetut asetukset nollataan, --policy.type vaaditaan. Siksi LIBERO-komento välittää n_action_steps=10 ja empty_cameras=1 eksplisiittisesti; muuten ne palautuvat arvoihin 50 ja 0.

Antaako avoin versio minulle paperissa kuvatun täyden Pi0.5:n?

Ei. Molemmat tukevat vain virtaussovituksen toimintapäätä. Diskreettien tokenien esikoulutusvaihe FAST-toimintatokenisoijalla ja korkean tason alitehtävän ennustus eivät julkaistu, ja lerobot/pi05_base-kortti lisää RL:n tähän luetteloon, vaikka pi0.5-paperi ei kuvaa vahvistusoppimisvaihetta. Koulutat matalan tason käytännön, joka on ehdollistettu antamaasi kielimerkkijonoon, et mallia, joka hajottaa pitkän tehtävän itse.

Mitä versioita vastaan tämä opas on kirjoitettu?

openpi main-haarassa ja lerobot 0.6.1, julkaisu 3. elokuuta 2026 lähtien, molemmat luettu 23. elokuuta 2026. v3.0-datasetit saapuivat 0.4.0:n kanssa lokakuussa 2025. 0.6.0 teki peruspaketista kevyen, joten lerobot[pi] yksinään ei enää asenna koulutuspinota, ja siirsi käyttöönoton lerobot-rolloutiin. Koulutusaikainen RTC on vain main-haarassa; tässä isännöity kouluttaja käyttää versiota 0.5.1.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started