
Fino uglašujte Pi0.5, VLA model z ujemanje tokov podjetja Physical Intelligence, na lastnih robotskih podatkih. Pravi ukazi za openpi in lerobot pi05, pasti formata podatkovnih nizov, omejitve VRAM-a in latence.
Pi0.5 je model, po katerem posežete, ko mora politika delovati v prostoru, ki ga še nikoli ni videla. Je tudi najbolj neroden od petih učljivih politik tukaj za fino uglaševanje ročno: nadrejeno skladišče je najprej JAX, LeRobot prenos je premaknil uvajanje iz lerobot-record v 0.6.0 in naredil osnovno namestitev premajhno za učenje, in popolno fino uglaševanje ne ustreza na 4090. Spodaj: kaj ujemanje toka stane pri sklepanju, dve poti ukazov in številka 485 ms, ki odloča, ali je rezultat uporaben.
Kaj morate vedeti
- •VLA z ujemanje toka: 3B PaliGemma VLM plus 300M strokovnjak za dejanja, ki dekodira neprekinjene dele dejanj. Dve poti za fino uglaševanje, openpi in LeRobot pi05, 0.65 točke narazen na povprečju LIBERO.
- •Popolno fino uglaševanje potrebuje več kot 70 GB VRAM-a. openpi navaja LoRA pri 22.5 GB, samo na svoji JAX poti.
- •Nabor podatkov mora biti LeRobotDataset v3.0 z kvantili q01 in q99 v meta/stats.json, sicer prva serija vrže napako.
- •Najprej preverite svojo lerobot različico: 0.6.0 je osnovni paket naredil lahek in premaknil uvajanje iz lerobot-record.
- •Tukaj deluje pri 485 ms na korak dejanja, potrebuje 50 epizod in stane približno 4 do 12 USD na zagon.
Kaj je Pi0.5 v resnici
Physical Intelligence je oktobra 2024 objavil pi0: model "ujemanja toka" vizualno-jezikovno-akcijski model na vnaprej usposobljenem VLM: PaliGemma s 3 milijardami parametrov plus 300M strokovnjak za dejanja, inicializiran iz nič, skupaj 3.3 milijarde. Članek poroča o predhodnem usposabljanju na več kot 10.000 urah robotskih podatkov v 7 robotskih konfiguracijah in 68 nalogah. Več v članku o pi0.
Pi0.5 (arXiv 2504.16054, 22 April 2025) ohranja to ogrodje in spreminja prehrano za usposabljanje: spletni podatki, zaznavanje objektov, verbalna navodila ljudi, ki usmerjajo robota, oznake podnalog, podatki med različnimi utelešenji robotov v mnogih domovih. Rezultat je robot, ki čisti kuhinje v hišah, ki niso bile v naboru za usposabljanje. Datoteka README projekta openpi dodaja podrobnost, ki je naslov ne omenja: izdani pi0.5 je bil usposobljen z izolacijo znanja (arXiv 2505.23705).
| Lastnost | pi0 | pi0.5 |
|---|---|---|
| Različica VLM hrbtenice | gemma_2b (PaliGemma) | gemma_2b (PaliGemma) |
| Različica strokovnjaka za dejanja | gemma_300m | gemma_300m |
| action_dim | 32 | 32 |
| privzeta vrednost action_horizon | 50 | 50 |
| max_token_len | 48 | 200 |
| discrete_state_input | false | true, state discretized into bins in the prompt |
| Osnovna kontrolna točka | gs://openpi-assets/checkpoints/pi0_base | gs://openpi-assets/checkpoints/pi05_base |
Datoteka README projekta openpi je eksplicitna: repozitorij podpira samo glavo za ujemanje toka (flow matching head), tako za usposabljanje kot za sklepanje modela pi0.5. Članek opisuje dve fazi, koda pa vsebuje le drugo: predusposabljanje predstavlja vsako dejanje kot diskretne žetone prek tokenizatorja FAST, in ob uvedbi model sklepa o podnalogi na visoki ravni pred vsakim delom dejanja. Nobena od teh ni v repozitoriju. Kartica lerobot/pi05_base podaja enak seznam in dodaja RL, čeprav članek o pi0.5 sploh ne opisuje faze učenja z ojačitvijo. Prenos LeRobot podeduje ta obseg, prav tako pa tudi vsak gostujoči trener na njem, vključno s tistim tukaj. Licenciranje je prav tako razdeljeno: dokumentacija pi05 navaja Apache 2.0, kartica lerobot/pi05_base pa je označena z license: gemma.
Kaj flow matching spreminja pri usposabljanju in sklepanju
Politika, ki jo lahko trenirate na SO-100, politiko bodisi neposredno regresira dejanja (ACT) ali jih tokenizira in avtoregresivno dekodira (pi0-FAST). Ujemanje toka ne dela nobenega od teh: nauči se vektorskega polja, ki prenaša šum v čisto kos dejanja, nato pa ga integrira. Članek pi0 uporablja 10 integracijskih korakov z velikostjo koraka 0.1; konfiguracija pi05 LeRobota vsebuje enako num_inference_steps: int = 10.
- Usposabljanje: izguba regresira hrupni del akcije. Brez tokenizatorja za uglaševanje, brez diskretizacije vaših kotov sklepov.
- Inferenca: en del stane deset prehodov naprej skozi strokovnjaka za akcijo. To je strukturno, ne problem uglaševanja.
- Izhod: zvezne akcije dimenzije 32, interno oblazinjene, izguba se izračuna na dimenzijah, ki jih ima vaš robot. Roka s 6 stopinjami svobode plus prijemalo uporablja 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 TrueHrbtenica PaliGemma in vrata pred njo
PaliGemma (arXiv 2407.07726) je vizualni kodirnik SigLIP-So400m na jezikovnem modelu Gemma-2B, z približno 3B parametri. Pi0.5 podeduje svoj tokenizator, in ta tokenizator se nahaja v zaprtem repozitoriju. To je najpogostejši način, kako se prvi zagon ustavi, pred prvim korakom usposabljanja.
Dokumentacija LeRobot pi05 jasno navaja: pi0.5 uporablja zaprti tokenizator google/paligemma-3b-pt-224, zato najprej sprejmite njegovo licenco na Hubu in zaženite hf auth login. Dostop je odobren ročno, ne takoj. Preskočite to, zaženite plačljiv zagon v oblaku in plačali boste za pod, ki ne more prenesti tokenizatorja.
Preden začnete: format podatkovnega nabora, epizode, strojna oprema
Pi0.5 v LeRobotu bere podatkovni nabor LeRobot v postavitvi v3.0, ki je prišla z lerobot 0.4.0 oktobra 2025: veliko epizod na datoteko Parquet in MP4 namesto ene datoteke na epizodo, z mejami v meta/episodes/ namesto v imenih datotek. Posnemite z namiznim odjemalcem ali sledite posnemite svoj prvi podatkovni nabor in ga imate.
| Način | Zahtevani pomnilnik GPU | Primer GPU |
|---|---|---|
| Zaključevanje | more than 8 GB | RTX 4090 |
| Fino uglaševanje, LoRA | more than 22.5 GB | RTX 4090 |
| Fino uglaševanje, polno | more than 70 GB | A100 80 GB or H100 |
Pi0.5 in SmolVLA zahtevata LeRobot v3.0. GR00T N1.7 in GR00T N1.5 zahtevata **v2.0 ali v2.1** in se zrušita na naboru podatkov v3.0. Ena snemalna seja ne more napajati obeh brez pretvorbe, in napaka ne pravi "napačna različica nabora podatkov". Glej nabor podatkov zavrnjen: zahtevana v3.
# 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 offsetsPlatforma zahteva vsaj 50 epizod za Pi0.5, kar je enako kot za GR00T in ACT. Predhodno usposabljanje opravi večino dela, zato je 50 čistih epizod boljših od 200 površnih. Ste novi pri tem? Začnite z vodnikom za zbiranje podatkov.

Pot A: natančna nastavitev z repozitorijem openpi
Referenčna implementacija: najprej JAX, testirana samo na Ubuntu 22.04, vodena z objekti konfiguracije namesto z zastavicami. Pot PyTorch je prispela septembra 2025, potrjena na LIBERO. Trije koraki: pretvorite svoje podatke, določite konfiguracijo, usposobite in servirajte.
- 1Kloniraj in namesti
openpi uporablja uv. GIT_LFS_SKIP_SMUDGE omogoča, da LeRobot pride kot odvisnost brez LFS blobov.
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 . - 2Pretvori svoje podatke v nabor podatkov LeRobot
Upstream dobavlja pretvornike za LIBERO in DROID in pričakuje, da boste enega prilagodili. Delo je preslikava ključev.
bashuv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data - 3Dodaj konfiguracijo usposabljanja
Konfiguracije so vnosi TrainConfig v src/openpi/training/config.py. Ta prilagaja pi05_droid_finetune, z nalagalnikom uteži, usmerjenim na pi05_base.
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, ) - 4Izračunaj normativne statistike
Izvaja se glede na ime konfiguracije, ne nabora podatkov. Preskakovanje je tukaj klasična prva napaka.
bashuv run scripts/compute_norm_stats.py --config-name pi05_so100 - 5Usposobi
Spremenljivka omogoča JAX-u, da uporablja 90 odstotkov pomnilnika GPU namesto privzetih 75. Na 80 GB kartici to odloča, ali bo izvajanje preživelo.
bashXLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_so100 \ --exp-name=my_experiment \ --overwrite - 6Serviraj
Strežnik posluša na vratih 8000 in odgovarja na poizvedbe opazovanja; vaše robotsko izvajalno okolje je odjemalec.
bashuv run scripts/serve_policy.py policy:checkpoint \ --policy.config=pi05_so100 \ --policy.dir=checkpoints/pi05_so100/my_experiment/20000
Implementacija PyTorcha v openpi ne podpira uteži pi0-FAST, mešane natančnosti, FSDP, LoRA ali EMA, zato je LoRA, ki doseže 22.5 GB, na voljo samo v JAXu, preko variant gemma_2b_lora in gemma_300m_lora. Še huje: namestitev kopira popravljene datoteke čez vaše nameščene transformers 4.53.2, in README opozarja, da s privzetim načinom trde povezave uv to trajno spremeni transformers v predpomnilniku uv in se lahko razširi na druge projekte. Razveljavite to z uv cache clean transformers.
Pot B: fino uglaševanje z lerobot pi05
Vrata LeRobot ovijejo iste uteži v CLI, ki ga že uporabljate za ACT in SmolVLA. Vse spodaj je bilo preverjeno z lerobot 0.6.1, izdajo od 3. avgusta 2026, in dokumentacijo pi05 z dne 23. avgusta 2026. Različice so tukaj pomembne: nabori podatkov v3.0 so prispeli z 0.4.0 oktobra 2025, blog 0.5.0 z dne 9. marca 2026 predstavlja pi0-FAST in Real-Time Chunking, in 0.6.0 z dne 6. julija 2026 je osnovni paket naredil lahek in premaknil uvajanje na lerobot-rollout.
Ena stvar se ni premaknila: lerobot-train in lerobot-record sta bila že vstopni točki v 0.3.2, avgusta 2025. Vadnica, ki še vedno kliče python -m lerobot.scripts.train, je starejša od enega leta sprememb in ji je vredno ne zaupati tudi glede ostalega.
- 1Namestitev s pravimi dodatki
Od različice 0.6.0 osnovna namestitev vključuje le osnovne odvisnosti ML, dodatek pi pa ne dodaja kode za podatkovne zbirke ali usposabljanje, zato je za fino nastavitev potreben tudi dodatek za usposabljanje. Starejše enovrstične namestitve tukaj odpovejo ob času uvoza.
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]' - 2Avtentikacija
Sprejmite licenco paligemma-3b-pt-224 v brskalniku, nato se prijavite na napravi, ki izvaja usposabljanje.
bashhf auth login - 3Dodajanje kvantilnih statistik
Pi0.5 normalizira STATE in ACTION s kvantili, zato meta/stats.json potrebuje q01 in q99. Starejše podatkovne zbirke vsebujejo le min, max, mean, std.
bashlerobot-edit-dataset \ --repo_id your_dataset \ --new_repo_id your_dataset \ --operation.type recompute_stats \ --operation.overwrite true - 4Fina nastavitev iz lerobot/pi05_base
Nastavite velikost paketa na tisto, kar vaša kartica prenese; dokumentacija uporablja 64 na LIBERO pri 80 GB. Eksplicitno podajte bfloat16, privzeta konfiguracija je 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 - 5Zagon na roki
V 0.6.x je to lerobot-rollout: lerobot-record zavrača politiko in zavrača imena podatkovnih zbirk eval_. Base poganja roko, sentry beleži izvedbo.
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
| Flag | What it does | Note |
|---|---|---|
| --policy.type=pi05 | izbere Pi0.5 | obvezno s pretrained_path, izpustite s --policy.path |
| --policy.pretrained_path | naloži samo uteži | imena značilnosti iz vaše podatkovne zbirke, shranjene nastavitve se ponastavijo |
| --policy.path | uteži in konfiguracija kontrolne točke config.json | shranjene nastavitve, kot je n_action_steps, so podedovane |
| --policy.n_action_steps | koraki porabljeni na kos | privzeto 50, nikoli nad chunk_size (privzeto 50) |
| --policy.train_expert_only | zamrzne VLM, usposablja strokovnjaka | privzeto false, manj pomnilnika, nekaj stroškov pri uspehu |
| --policy.gradient_checkpointing | ponovno izračuna namesto shranjevanja aktivacij | privzeto false, prva možnost, ko se izvedba ne bo prilegala |
| --peft.method_type=LORA | LoRA adapterji namesto polnih uteži | potrebuje dodatek peft, dokumentiran primer je SmolVLA |
| --policy.rtc_training_max_delay | pogoj za predpono dejanja za RTC | samo glavna veja, ni v 0.6.1, mora ostati pod chunk_size |
| --rename_map | preslika stolpce podatkovne zbirke na značilnosti politike | potrebno, ko se ključi vaše kamere razlikujejo |
Brez kvantilov dobite ValueError: QUANTILES normalization mode requires q01 and q99 stats pri prvem paketu. Ponovno izračunajte statistiko, vendar se rezultat shrani v $HF_LEROBOT_HOME/your_dataset, ne v predpomnilnik, ki ga bere --dataset.repo_id, zato usposabljajte z --dataset.root, ki kaže tja, ali potisnite na Hub. Ali pa preskočite kvantile z --policy.normalization_mapping='{"ACTION": "MEAN_STD", "STATE": "MEAN_STD", "VISUAL": "IDENTITY"}', kot to počne referenčni ukaz LIBERO.
Trije nabori privzetih vrednosti in katere dosežejo trenerja
openpi's TrainConfig je referenca, LeRobot's PI05Config je tisto, kar lerobot-train uporablja, ko ne poveste ničesar, in obrazec tukaj pošlje tretji nabor. Presenečenje je stopnja učenja: obe privzeti nastavitvi dosežeta vrh pri 2.5e-5, medtem ko openpi-jeva lastna konfiguracija pi05_libero in ta platforma to dvigneta na 5e-5.
| Nastavitev | openpi TrainConfig | lerobot pi05 in lerobot-train | AY-Robots pošilja |
|---|---|---|---|
| Velikost paketa | 32 | 8 | 1 |
| Najvišja stopnja učenja | 2.5e-5, kosinusni razpad | optimizer_lr 2.5e-5 | 5e-5 |
| Koraki usposabljanja | 30,000 | 100,000 | 30,000 |
| Interval kontrolnih točk | 1,000 korakov | 20,000 korakov | ni v obrazcu |
| Seme | 42 | 1,000 | v obrazcu |
| Akcijski kos | action_horizon 50 | chunk_size 50, n_action_steps 50 | ni v obrazcu |
| Tip podatkov uteži | bfloat16 | float32 until you pass --policy.dtype | ni v obrazcu |
| Akumulacija gradienta | ni takega gumba, namesto tega fsdp_devices | absent from every release so far | 16, in je opuščeno |
Je prenos zvest? Ekipa LeRobot je model LIBERO dodatno natančno umerila za 6 tisoč korakov in ga primerjala z referenčnimi številkami openpi na štirih sklopih: 97.5 odstotka povprečno proti 96.85, prednost pri Libero 10, zaostanek pri Spatial. Pot je izbira orodja, ne kakovosti.
- Za njim je več kot 10,000 ur predhodnega usposabljanja robota, zato je lahko 50 epizod vaše naloge dovolj.
- Neprekinjena dejanja: ni tokenizatorja za umerjanje, ni diskretizacijske meje za vaše kotne položaje sklepov.
- Prenos LeRobot dosega 97.5 odstotka na povprečju LIBERO proti openpi-jevih 96.85, tako da prijaznejši CLI ne stane nič merljivega.
- Parametrično učinkovite poti na obeh straneh: openpi-jeve različice JAX LoRA, LeRobot-ova integracija PEFT.
- Popolno natančno umerjanje potrebuje več kot 70 GB. Podatek 22.5 GB za LoRA je openpi-jeva številka JAX; za pi05 pod PEFT ni objavljena nobena.
- 485 ms na akcijski korak, najpočasnejši od petih tukaj: dvakrat SmolVLA, štiriindvajsetkrat ACT.
- Potreben je LeRobot v3.0, zato je treba nabor podatkov, posnet za zagon GR00T, pretvoriti in obratno.
- Nove možnosti najprej pristanejo na main: RTC in MEM pomnilnik med usposabljanjem nista v 0.6.1, zato lahko najnovejša dokumentacija pomeni namestitev iz gita.
Realnost 485 ms in kje postane neuporabna
To odloča o vašem projektu, zato je pred tabelo stroškov. na korak dejanja, izmerjena tukaj za Pi0.5, je 485 ms. V primerjavi z ostalimi štirimi:
| Politika | Sklepanje na korak dejanja | Parametri | Razred GPU | Minimalno število epizod |
|---|---|---|---|---|
| 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 |

Krmilna zanka pri teh petih modelih traja od 20 do 485 ms na korak dejanja. Povratna pot prek javnega interneta, dodana k 485 ms, spremeni delujočo politiko v neodločno. Oddaljena inferenca je izvedljiva za počasno pobiranje in odlaganje, ne pa za hitro reaktivno gibanje. Raje povemo to, kot da prodajamo demo, ki deluje samo v lokalnem omrežju. Če se vaša roka ustavi med bloki, začnite pri politika zamrzne sredi gibanja.
Upstream ima odgovor, in polovica ga je že v izdaji, ki jo lahko namestite. Razdeljevanje v realnem času (Real-Time Chunking) generira naslednji blok, medtem ko roka še vedno izvaja trenutnega, nato pa vodi prekrivajoče se korake novega bloka, da ostanejo blizu že izvedenega dela, tako da se roka ne ustavi ali zatrese na spoju. Oblika za čas inference je bila poslana v dnevniku sprememb 0.4.2 za Pi0, Pi0.5 in SmolVLA in je zastavica za uvedbo, ne za ponovno učenje:
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=60Ne pospeši modela. Skrije vrzel: 485 ms je še vedno porabljenih, vendar izven kritične poti, tako da se čakalna vrsta med bloki ne izprazni. Različica za čas učenja iz arXiv 2512.05964 gre še dlje: model se nauči pogojevati s čistim predpono dejanja, tako da se pri inferenci prekrivanje trdo vriše z časovnimi koraki toka za posamezno dejanje namesto vodenja, in povratni prehod vodenja izgine. Med učenjem vzorči dolžino predpone za vsak primer in izračuna izgubo toka na preostalem priponi. Ta zastavica je na voljo samo v glavni veji, ne v 0.6.1, in zamuda, za katero trenirate, mora ostati pod chunk_size.
Dva načina za pridobitev kontrolne točke Pi0.5
Najamete ali imate v lasti 80 GB kartico, namestite enega od zgornjih skladov, pretvorite svoj nabor podatkov in nadzorujete izvajanje. Obdržite vsako nastavitev: JAX LoRA od openpi, PEFT adapterje od LeRobot, relativna dejanja, prilagojene preslikave tipk. Obdržite tudi vsako napako.
- Strojna oprema: A100 80 GB ali H100, ali 24 GB kartica na poti JAX LoRA od openpi.
- Nastavitev: popoldne za prvi zagon, večinoma preslikava tipk in zaprti tokenizator.
- Ni na gostovani obliki: PEFT adapterji, relativna dejanja, RTC med usposabljanjem, pomnilnik MEM.
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=1000Model in nabor podatkov izberete v obrazcu za usposabljanje, zaledje najame GPU na spot trgu glede na zahtevani VRAM, zažene trenerja in zapiše kontrolne točke v objektni pomnilnik. Pi0.5 je tukaj samo v oblaku. Vodniki obstajajo za SO-100, SO-101, Koch v1.1 in LeKiwi.
| Nastavitev | Kaj platforma pošlje za Pi0.5 |
|---|---|
| Osnovna kontrolna točka | lerobot/pi05_base |
| Vrsta politike | pi05 |
| Velikost paketa | 1 |
| Stopnja učenja | 5e-5 |
| Največ korakov | 30000 |
| Akumulacija gradienta | 16, but see the warning below |
| Dodatne nastavitve v obrazcu | seed, logFreq |
| Format nabora podatkov | LeRobot v3.0 |
| Razred GPU | A100 80 GB or H100 80 GB |
Trener pošlje vrednost akumulacije gradienta 16, lerobot 0.5.1 pa nima zastavice za sprejem, zato se ta opusti. Noben izdan lerobot je nima: nastavitev obstaja samo na glavni veji, kot --accelerator.gradient_accumulation.steps. Efektivna velikost paketa je tukaj 1, v primerjavi z 256, ki jih uporablja konfiguracija pi05_libero od openpi. To je vredno vedeti, preden preberete krivuljo izgube. Nastavitev se uporablja pri zagonih GR00T N1.7 in GR00T N1.5.
Inferenca deluje enako: pod je pripravljen za izvajanje politike in vaš lokalni odjemalec komunicira z njim. Pod ima nadzornika mirovanja in se uniči, tako da pozabljen zavihek ne zaračunava tiho. Velja opozorilo glede latence, zato ACT pri 20 ms pogosto zmaga pri hitri nalogi.
Ko ne deluje
| Simptom | Najverjetnejši vzrok |
|---|---|
| Zagon zavrnjen, preden se začne | Nabor podatkov v2.1, vendar Pi0.5 želi v3.0, ali obratno za GR00T |
| ImportError, manjka paket datasets | lerobot 0.6.x brez dodatka za usposabljanje |
| ValueError glede q01 in q99 pri prvem paketu | Ni kvantilov v meta/stats.json; ponovno izračunajte ali uporabite MEAN_STD |
| CUDA zmanjka pomnilnika pri koraku 0 | Popolna natančna nastavitev pod 70 GB; poskusite s kontrolnimi točkami ali train_expert_only |
| Napaka 401 ali napaka zaprtega repozitorija | Licenca tokenizatorja PaliGemma ni sprejeta |
| Izguba pade, robot ne dela nič | Neujemanje normalizacije ali politika kopira stanje |
| Roka se ustavi med kosi | Latenca na korak plus povratno potovanje; čakalna vrsta kosov se izprazni |
| Deluje v eni nastavitvi, ne deluje v drugi | Preveč malo epizod ali vse v eni konfiguraciji |
- Zbirka podatkov zavrnjena: potrebna je v3
- Pomanjkanje pomnilnika med usposabljanjem
- Izguba pada, vendar politika ne stori ničesar
- Politika zamrzne sredi gibanja
- Politika deluje samo v eni nastavitvi
- Naloga usposabljanja obtičala v čakalni vrsti
Koliko stane en zagon
Pi0.5 spada v drag cenovni razred, ker potrebuje 80 GB kartico, in ker se cene na trgu spreminjajo, je podatek razpon in ne fiksna cena. Za številne naloge SO-100 najprej usposobite SmolVLA ali ACT na 24 GB razredu, potrdite, da je naloga sploh učljiva, nato pa zanjo porabite ure A100. Usposobite svojo prvo politiko opisuje ta cenejši postopek, in cene vsebuje trenutne cenovne razrede.
| Razred | Politike | Tipičen zagon | Cena na uro | Stroški na zagon |
|---|---|---|---|---|
| A100 80 GB ali H100 | Pi0.5, GR00T N1.7, GR00T N1.5 | 3 do 6 ur | 1.20 do 2.00 USD | približno 4 do 12 USD |
| RTX 4090 ali katera koli 24 GB kartica | SmolVLA, ACT | 2 do 5 ur | 0.30 do 0.60 USD | približno 1 do 3 USD |

Preden se posvetite večeru: in primerjata iste številke. vsebuje 85 modelov VLA s 332 rezultati meritev, vsak povezan s svojim virom, ozadje o družini pa je v .
Usposobite Pi0.5 brez gradnje sklada
Izberite nabor podatkov in hiperparametre v obrazcu. Zaledje najame 80 GB kartico na promptnem trgu, zažene trenerja in zapiše kontrolne točke v objektno shrambo. Vodniki za SO-100, SO-101, Koch v1.1 in LeKiwi.
Odpri vodnike za usposabljanjeAli lahko fino nastavim Pi0.5 na RTX 4090?▾
Ne gre za popolno fino nastavitev: openpi za to navaja več kot 70 GB, torej A100 80 GB ali H100. Njegova številka LoRA 22.5 GB pripada poti JAX; implementacija PyTorch nima LoRA. Integracija PEFT v LeRobotu obstaja, vendar je dokumentiran primer SmolVLA in za pi05 ni objavljena nobena številka VRAM.
Koliko epizod potrebujem?▾
Petdeset, enako kot GR00T in ACT; le SmolVLA gre nižje, pri 30. Osnovna kontrolna točka vsebuje več kot 10.000 ur predhodnega usposabljanja, zato se fina nastavitev prilagaja, namesto da bi se učila iz nič: 50 čistih, raznolikih epizod premaga dvesto iz ene konfiguracije.
Kakšna je razlika med --policy.path in --policy.pretrained_path?▾
--policy.path naloži uteži in config.json kontrolne točke, zato se podedujejo shranjene nastavitve, kot je n_action_steps, in --policy.type mora biti izpuščen. --policy.pretrained_path naloži samo uteži: imena funkcij prihajajo iz vašega nabora podatkov, shranjene nastavitve se ponastavijo, --policy.type je obvezen. Zato ukaz LIBERO eksplicitno posreduje n_action_steps=10 in empty_cameras=1; sicer se vrnejo na 50 in 0.
Ali mi odprta različica ponuja celoten Pi0.5 iz članka?▾
Ne. Oba podpirata samo glavo dejanja ujemanja toka. Faza predhodnega usposabljanja z diskretnimi žetoni z žetonizatorjem dejanja FAST in napovedovanje podnalog na visoki ravni nista bila objavljena, kartica lerobot/pi05_base pa dodaja RL na ta seznam, čeprav članek pi0.5 ne opisuje nobene faze učenja z ojačitvijo. Usposabljate politiko nizke ravni, pogojeno z jezikovnim nizom, ki ga posredujete, ne modela, ki sam razgradi dolgo nalogo.
Proti katerim različicam je napisan ta vodnik?▾
openpi na main in lerobot 0.6.1, izdaja od 3. avgusta 2026, sta bila prebrana 23. avgusta 2026. Nabori podatkov v3.0 so prispeli z 0.4.0 oktobra 2025. 0.6.0 je osnovni paket naredil lahek, tako da lerobot[pi] sam ne namešča več sklada za usposabljanje in je premaknil uvajanje na lerobot-rollout. RTC v času usposabljanja je samo na main; gostujoči trener tukaj poganja 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