
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).
| Ominaisuus | pi0 | pi0.5 |
|---|---|---|
| VLM-runkoverkon variantti | gemma_2b (PaliGemma) | gemma_2b (PaliGemma) |
| Toiminta-asiantuntijan variantti | gemma_300m | gemma_300m |
| action_dim | 32 | 32 |
| action_horizon oletus | 50 | 50 |
| max_token_len | 48 | 200 |
| discrete_state_input | false | true, tila diskretoitu lokeroihin kehotteessa |
| Perustarkistuspiste | gs://openpi-assets/checkpoints/pi0_base | gs://openpi-assets/checkpoints/pi05_base |
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.
# 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 TruePaliGemma-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.
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.
| Tila | Vaadittu GPU-muisti | Esimerkki-GPU |
|---|---|---|
| Päättely | more than 8 GB | RTX 4090 |
| Hienosäätö, LoRA | more than 22.5 GB | RTX 4090 |
| Hienosäätö, täysi | more than 70 GB | A100 80 GB or H100 |
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.
# 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 offsetsAlusta 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.

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.
- 1Kloonaa ja asenna
openpi käyttää uv:tä. GIT_LFS_SKIP_SMUDGE antaa LeRobotin tulla riippuvuudeksi ilman LFS-blobeja.
bashgit 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 . - 2Muunna tietosi LeRobot-aineistoksi
Ylävirta toimittaa muuntimia LIBEROlle ja DROIDille ja odottaa sinun mukauttavan yhden. Työ on avainten kartoitus.
bashuv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data - 3Lisää koulutuskonfiguraatio
Konfiguraatiot ovat TrainConfig-merkintöjä tiedostossa src/openpi/training/config.py. Tämä mukauttaa pi05_droid_finetunea, painolaturin osoittaessa pi05_baseen.
pythonTrainConfig( 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, ) - 4Laske normitilastot
Suoritetaan konfiguraation nimeä vastaan, ei aineistoa. Sen ohittaminen on klassinen ensimmäinen virhe tässä.
bashuv run scripts/compute_norm_stats.py --config-name pi05_so100 - 5Kouluta
Muuttuja antaa JAXin käyttää 90 prosenttia GPU-muistista oletusarvoisen 75 prosentin sijaan. 80 GB:n kortilla se ratkaisee, selviääkö ajo.
bashXLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_so100 \ --exp-name=my_experiment \ --overwrite - 6Tarjoile se
Palvelin kuuntelee porttia 8000 ja vastaa havaintokyselyihin; robottisi ajonaikainen ympäristö on asiakas.
bashuv run scripts/serve_policy.py policy:checkpoint \ --policy.config=pi05_so100 \ --policy.dir=checkpoints/pi05_so100/my_experiment/20000
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.
- 1Asenna 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]' - 2Todennus
Hyväksy paligemma-3b-pt-224-lisenssi selaimessa ja kirjaudu sitten sisään koulutuskoneella.
bashhf auth login - 3Lisää 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.
bashlerobot-edit-dataset \ --repo_id your_dataset \ --new_repo_id your_dataset \ --operation.type recompute_stats \ --operation.overwrite true - 4Hienosää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.
bashlerobot-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 - 5Aja 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.
bashlerobot-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
| Lippu | Mitä se tekee | Huomautus |
|---|---|---|
| --policy.type=pi05 | valitsee Pi0.5:n | pakollinen pretrained_pathin kanssa, jätä pois --policy.pathin kanssa |
| --policy.pretrained_path | lataa vain painot | ominaisuuksien nimet datasettistäsi, tallennetut asetukset nollataan |
| --policy.path | painot sekä tarkistuspisteen config.json | tallennetut asetukset, kuten n_action_steps, periytyvät |
| --policy.n_action_steps | askeleet, jotka kulutetaan per lohko | palautuu 50:een, ei koskaan yli chunk_size:n (oletus 50) |
| --policy.train_expert_only | jäädyttää VLM:n, kouluttaa asiantuntijan | oletusarvo false, vähemmän muistia, jonkin verran kustannuksia onnistumisessa |
| --policy.gradient_checkpointing | laskee uudelleen aktivoinnit tallentamisen sijaan | oletusarvo false, ensimmäinen vipu, kun ajo ei mahdu muistiin |
| --peft.method_type=LORA | LoRA-adapterit täysien painojen sijaan | tarvitsee peft-lisäosan, dokumentoitu esimerkki on SmolVLA |
| --policy.rtc_training_max_delay | toimintaprefiksin ehdollistaminen RTC:lle | vain päähaarassa, ei versiossa 0.6.1, on pysyttävä alle chunk_size:n |
| --rename_map | kuvaa datasettisarakkeet käytännön ominaisuuksiin | tarvitaan, kun kameran avaimet eroavat |
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.
| Asetus | openpi TrainConfig | lerobot pi05 ja lerobot-train | AY-Robots lähettää |
|---|---|---|---|
| Eräkoko | 32 | 8 | 1 |
| Oppimisnopeuden huippu | 2.5e-5, cosine decay | optimizer_lr 2.5e-5 | 5e-5 |
| Koulutusvaiheet | 30,000 | 100,000 | 30,000 |
| Tarkistuspisteen väli | 1,000 steps | 20,000 steps | ei lomakkeessa |
| Siementä | 42 | 1,000 | lomakkeessa |
| Toimintalohko | action_horizon 50 | chunk_size 50, n_action_steps 50 | ei lomakkeessa |
| Painon tietotyyppi | bfloat16 | float32 until you pass --policy.dtype | ei lomakkeessa |
| Gradientin kumulaatio | no such knob, fsdp_devices instead | absent from every release so far | 16, 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.
- 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.
- 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:
| Politiikka | Päätelmä per toimintavaihe | Parametrit | GPU-taso | Minimijaksot |
|---|---|---|---|---|
| ACT | 20 ms | ~80 M | RTX 4090 or any 24 GB card | 50 |
| GR00T N1.7 | 152 ms | ~3 B | A100 80 GB or H100 80 GB | 50 |
| GR00T N1.5 | 165 ms | ~3 B | A100 80 GB or H100 80 GB | 50 |
| SmolVLA | 245 ms | ~450 M | RTX 4090 or any 24 GB card | 30 |
| Pi0.5 | 485 ms | ~3 B | A100 80 GB or H100 80 GB | 50 |

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:
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=60Se 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.
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=1000Valitset mallin ja tietokokonaisuuden koulutuslomakkeessa, taustaohjelma vuokraa GPU:n spot-markkinoilta tarvittavan VRAMin mukaan, ajaa kouluttajan ja kirjoittaa tarkistuspisteet objektitallennustilaan. Pi0.5 on täällä vain pilvipohjainen. Oppaita on saatavilla SO-100, SO-101, Koch v1.1 ja LeKiwi.
| Asetus | Mitä alusta lähettää Pi0.5:lle |
|---|---|
| Perustarkistuspiste | lerobot/pi05_base |
| Politiikkatyyppi | pi05 |
| Eräkoko | 1 |
| Oppimisnopeus | 5e-5 |
| Maksimivaiheet | 30000 |
| Gradientin akkumulaatio | 16, mutta katso alla oleva varoitus |
| Lisäsäädöt lomakkeessa | seed, logFreq |
| Tietokokonaisuuden muoto | LeRobot v3.0 |
| GPU-taso | A100 80 GB tai H100 80 GB |
Kouluttaja lähettää gradientin akkumulaatioarvon 16, eikä lerobot 0.5.1:ssä ole lippua sen vastaanottamiseen, joten se pudotetaan. Yksikään julkaistu lerobot ei sisällä sitä: säätö on olemassa vain päähaarassa, nimellä --accelerator.gradient_accumulation.steps. Tehollinen eräkoko on tässä 1, verrattuna 256:een, jota openpi:n pi05_libero-konfiguraatio käyttää. Tämä on hyvä tietää ennen kuin luet häviökäyrää. Säätö soveltuu GR00T N1.7- ja GR00T N1.5 -ajoihin.
Päättely toimii samalla tavalla: pod varataan palvelemaan politiikkaa ja paikallinen asiakkaasi keskustelee sen kanssa. Podissa on joutokäynnin valvonta ja se tuhoaa itsensä, joten unohdettu välilehti ei laskuta hiljaa. Viivevaraus pätee, minkä vuoksi ACT 20 ms:n viiveellä usein voittaa nopean tehtävän.
Kun se ei toimi
| Oire | Todennäköisin syy |
|---|---|
| Ajo hylätty ennen alkua | Tietokokonaisuus v2.1, mutta Pi0.5 haluaa v3.0, tai päinvastoin GR00T:lle |
| ImportError, datasets-paketti puuttuu | lerobot 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 0 | Täysi hienosäätö alle 70 GB; kokeile tarkistuspisteiden käyttöä tai train_expert_only |
| 401 tai gated repo -virhe | PaliGemma tokenizer -lisenssiä ei hyväksytty |
| Häviö laskee, robotti ei tee mitään | Normalisointivirhe tai politiikka kopioi tilan |
| Käsi pysähtyy palojen välillä | Vaihekohtainen viive plus edestakainen matka; palajono kuivuu |
| Toimii yhdessä asetelmassa, epäonnistuu toisessa | Liian vähän episodeja, tai kaikki yhdessä konfiguraatiossa |
- Tietoaineisto hylätty: v3 vaaditaan
- Muisti loppui koulutuksen aikana
- Häviö laskee, mutta toimintamalli ei tee mitään
- Toimintamalli jumiutuu liikkeen puolivälissä
- Toimintamalli toimii vain yhdessä kokoonpanossa
- Koulutustyö jumissa jonossa
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.
| Taso | Toimintamallit | Tyypillinen ajo | Hinta tunnilta | Kustannus per ajo |
|---|---|---|---|---|
| A100 80 GB tai H100 | Pi0.5, GR00T N1.7, GR00T N1.5 | 3–6 tuntia | 1.20–2.00 USD | noin 4–12 USD |
| RTX 4090 tai mikä tahansa 24 GB:n kortti | SmolVLA, ACT | 2–5 tuntia | 0.30–0.60 USD | noin 1–3 USD |

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 koulutusoppaatVoinko 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.
Sources
- Physical-Intelligence/openpi: open-source models and packages for robotics
- openpi training configs, including pi05_libero and pi05_droid_finetune
- pi0: A Vision-Language-Action Flow Model for General Robot Control
- pi0.5: a Vision-Language-Action Model with Open-World Generalization
- Knowledge Insulating Vision-Language-Action Models: Train Fast, Run Fast, Generalize Better
- PaliGemma: A versatile 3B VLM for transfer
- Training-Time Action Conditioning for Efficient Real-Time Chunking
- LeRobot pi05 documentation on the main branch, including training-time RTC
- LeRobot documentation: parameter efficient fine-tuning with PEFT
- LeRobotDataset v3.0 format documentation
- LeRobot release notes: v0.3.2 through v0.6.1, with the v0.6.0 breaking changes
- LeRobot v0.5.0: Scaling Every Dimension
- lerobot/pi05_base model card
- LeRobot documentation: Real-Time Chunking (RTC)
- openpi Pi0Config: the model defaults pi0 and pi05 inherit
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started