
Jemne dolaďte Pi0.5, VLA s priraďovaním toku od Physical Intelligence, na vlastných robotických dátach. Skutočné príkazy pre openpi a lerobot pi05, nástrahy formátu dátovej sady, limity VRAM a latencie.
Pi0.5 je model, po ktorom siahnete, keď politika musí fungovať v miestnosti, ktorú nikdy predtým nevidela. Je to tiež najťažkopádnejší z piatich trénovateľných politík tu na jemné doladenie ručne: upstream repozitár je primárne JAX, port LeRobot presunul nasadenie z lerobot-record vo verzii 0.6.0 a základná inštalácia sa stala príliš malou na trénovanie, a úplné jemné doladenie sa nezmestí na 4090. Nižšie: čo párovanie tokov stojí pri inferencii, dve cesty príkazov a číslo 485 ms, ktoré rozhoduje o tom, či je výsledok použiteľný.
Čo potrebujete vedieť
- •VLA s párovaním tokov: 3B PaliGemma VLM plus 300M akčný expert dekódujúci súvislé akčné bloky. Dve cesty na jeho jemné doladenie, openpi a LeRobot pi05, s rozdielom 0.65 bodu v priemere LIBERO.
- •Úplné jemné doladenie vyžaduje viac ako 70 GB VRAM. openpi uvádza LoRA na 22.5 GB, len na svojej JAX ceste.
- •Dátová sada musí byť LeRobotDataset v3.0 s kvantilmi q01 a q99 v meta/stats.json, inak prvá dávka zlyhá.
- •Najprv skontrolujte svoju verziu lerobot: 0.6.0 odľahčila základný balík a presunula nasadenie z lerobot-record.
- •Tu beží pri 485 ms na akčný krok, vyžaduje 50 epizód a stojí približne 4 až 12 USD za spustenie.
Čo je Pi0.5 v skutočnosti
Physical Intelligence publikoval pi0 v októbri 2024: model s párovaním tokov, model vízie-jazyka-akcie založený na predtrénovanom VLM: PaliGemma s 3 miliardami parametrov plus 300M akčný expert inicializovaný od nuly, spolu 3.3 miliardy. Práca uvádza predtrénovanie na viac ako 10 000 hodinách robotických dát naprieč 7 konfiguráciami robotov a 68 úlohami. Viac v článku o pi0.
Pi0.5 (arXiv 2504.16054, 22. apríl 2025) si zachováva túto kostru a mení tréningovú diétu: webové dáta, detekcia objektov, verbálne inštrukcie od ľudí koučujúcich robota, štítky podúloh, dáta z rôznych robotov v mnohých domácnostiach. Výsledkom je robot čistiaci kuchyne v domoch, ktoré neboli v tréningovej sade. Súbor README projektu openpi pridáva detail, ktorý názov neobsahuje: vydaný pi0.5 bol trénovaný s izoláciou vedomostí (arXiv 2505.23705).
| Vlastnosť | pi0 | pi0.5 |
|---|---|---|
| Variant chrbtice VLM | gemma_2b (PaliGemma) | gemma_2b (PaliGemma) |
| Variant akčného experta | gemma_300m | gemma_300m |
| action_dim | 32 | 32 |
| Predvolený akčný horizont | 50 | 50 |
| max_token_len | 48 | 200 |
| discrete_state_input | false | true, stav diskretizovaný do priehradiek vo výzve |
| Základný kontrolný bod | gs://openpi-assets/checkpoints/pi0_base | gs://openpi-assets/checkpoints/pi05_base |
Súbor README projektu openpi je explicitný: úložisko podporuje iba hlavu flow matching, pre tréning a inferenciu pi0.5. Článok popisuje dve fázy a kód obsahuje iba druhú: pre-tréning reprezentuje každú akciu ako diskrétne tokeny prostredníctvom tokenizátora FAST a pri nasadení model odvodzuje podúlohu vysokej úrovne pred každým blokom akcií. Ani jedna z nich nie je v úložisku. Karta lerobot/pi05_base uvádza rovnaký zoznam a pridáva RL, hoci článok o pi0.5 neopisuje žiadnu fázu učenia sa posilňovaním. Port LeRobot dedí tento rozsah, rovnako ako každý hostovaný tréner na ňom, vrátane toho tu. Licencovanie je tiež rozdelené: dokumentačná stránka pi05 uvádza Apache 2.0, karta lerobot/pi05_base je označená license: gemma.
Čo flow matching mení na tréningu a inferencii
Politika ktorú môžete trénovať na SO-100, buď priamo regresuje akcie (ACT) alebo ich tokenizuje a dekóduje autoregresívne (pi0-FAST). Flow matching nerobí ani jedno: učí sa vektorové pole, ktoré prenáša šum do čistého akčného bloku, potom ho integruje. Práca pi0 používa 10 integračných krokov s veľkosťou kroku 0.1; konfigurácia pi05 LeRobotu obsahuje rovnaký num_inference_steps: int = 10.
- Trénovanie: strata regresuje zašumený akčný blok. Žiadny tokenizér na ladenie, žiadna diskretizácia vašich kĺbových uhlov.
- Inferencia: jeden blok stojí desať dopredných prechodov cez akčného experta. To je štrukturálne, nie problém ladenia.
- Výstup: spojité akcie dimenzie 32, interne vyplnené, strata sa berie z dimenzií, ktoré má váš robot. 6-DoF rameno plus uchopovač používa 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 chrbtica a brána pred ňou
PaliGemma (arXiv 2407.07726) je SigLIP-So400m vizuálny enkodér na jazykovom modeli Gemma-2B, s približne 3B parametrami. Pi0.5 dedí svoj tokenizér a tento tokenizér sa nachádza v uzamknutom repozitári. Toto je najčastejší spôsob, ako prvý beh zlyhá, ešte pred prvým tréningovým krokom.
Dokumentácia LeRobot pi05 to jasne uvádza: pi0.5 používa uzamknutý tokenizér google/paligemma-3b-pt-224, takže najprv prijmite jeho licenciu na Hube a spustite hf auth login. Prístup je udelený manuálne, nie okamžite. Ak to preskočíte, spustíte platený cloudový beh a zaplatíte za pod, ktorý si nedokáže stiahnuť tokenizér.
Predtým, ako začnete: formát datasetu, epizódy, hardvér
Pi0.5 v LeRobot číta dataset LeRobot vo formáte v3.0, ktorý bol predstavený s lerobot 0.4.0 v októbri 2025: mnoho epizód na súbor Parquet a MP4 namiesto jedného súboru na epizódu, s hranicami v meta/episodes/ namiesto názvov súborov. Nahrávajte pomocou desktopového klienta alebo postupujte podľa nahrajte svoj prvý dataset a máte to.
| Režim | Požadovaná pamäť GPU | Príklad GPU |
|---|---|---|
| Inferencia | viac ako 8 GB | RTX 4090 |
| Jemné ladenie, LoRA | viac ako 22.5 GB | RTX 4090 |
| Jemné ladenie, plné | viac ako 70 GB | A100 80 GB alebo H100 |
Pi0.5 a SmolVLA vyžadujú LeRobot v3.0. GR00T N1.7 a GR00T N1.5 vyžadujú v2.0 alebo v2.1 a zlyhajú na datasete v3.0. Jedna nahrávacia relácia nemôže napájať obe bez konverzie a chyba neuvádza "nesprávna verzia datasetu". Pozrite dataset odmietnutý: vyžaduje sa 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 vyžaduje aspoň 50 epizód pre Pi0.5, rovnaký minimálny počet ako pre GR00T a ACT. Predtréning robí tú ťažkú prácu, takže 50 čistých epizód je lepších ako 200 nedbalých. Ste v tom noví? Začnite s sprievodcom zberu dát.

Trasa A: doladenie s repozitárom openpi
Referenčná implementácia: najprv JAX, testovaná iba na Ubuntu 22.04, riadená konfiguračnými objektmi namiesto príznakov. Cesta pre PyTorch dorazila v septembri 2025, validovaná na LIBERO. Tri kroky: konvertujte svoje dáta, definujte konfiguráciu, trénujte a servírujte.
- 1Klonovanie a inštalácia
openpi používa uv. GIT_LFS_SKIP_SMUDGE umožňuje, aby LeRobot prišiel ako závislosť bez 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 . - 2Konvertujte svoje dáta na dataset LeRobot
Upstream dodáva konvertory pre LIBERO a DROID a očakáva, že si jeden prispôsobíte. Práca spočíva v mapovaní kľúčov.
bashuv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data - 3Pridajte tréningovú konfiguráciu
Konfigurácie sú záznamy TrainConfig v src/openpi/training/config.py. Táto prispôsobuje pi05_droid_finetune, s načítavačom váh smerujúcim 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, ) - 4Vypočítajte normálne štatistiky
Spúšťa sa proti názvu konfigurácie, nie datasetu. Preskočenie je tu klasickou prvou chybou.
bashuv run scripts/compute_norm_stats.py --config-name pi05_so100 - 5Trénujte
Premenná umožňuje JAXu použiť 90 percent pamäte GPU namiesto predvolených 75. Na 80 GB karte to rozhoduje o tom, či beh prežije.
bashXLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_so100 \ --exp-name=my_experiment \ --overwrite - 6Servírujte to
Server počúva na porte 8000 a odpovedá na dopyty pozorovania; váš robotický runtime je klient.
bashuv run scripts/serve_policy.py policy:checkpoint \ --policy.config=pi05_so100 \ --policy.dir=checkpoints/pi05_so100/my_experiment/20000
Implementácia PyTorch od openpi nepodporuje pi0-FAST, zmiešanú presnosť, FSDP, LoRA ani váhy EMA, takže LoRA, ktorá dosahuje 22.5 GB, je len pre JAX, prostredníctvom variantov gemma_2b_lora a gemma_300m_lora. Horšie: nastavenie kopíruje opravené súbory cez vaše nainštalované transformers 4.53.2 a README varuje, že s predvoleným režimom hardlink uv to trvalo modifikuje transformers v uv cache a môže preniknúť do iných projektov. Zrušte to pomocou uv cache clean transformers.
Cesta B: dolaďovanie s lerobot pi05
Port LeRobot obaluje rovnaké váhy v CLI, ktoré už používate pre ACT a SmolVLA. Všetko nižšie bolo skontrolované s lerobot 0.6.1, vydaním od 3. augusta 2026, a dokumentáciou pi05 z 23. augusta 2026. Verzie sú tu dôležité: datasety v3.0 prišli s 0.4.0 v októbri 2025, blog 0.5.0 z 9. marca 2026 predstavuje pi0-FAST a Real-Time Chunking, a 0.6.0 zo 6. júla 2026 odľahčil základný balík a presunul nasadenie na lerobot-rollout.
Jedna vec sa nezmenila: lerobot-train a lerobot-record už boli vstupné body vo verzii 0.3.2, august 2025. Návod, ktorý stále volá python -m lerobot.scripts.train, predchádza rok zmien a je hodný nedôvery aj v ostatných veciach.
- 1Inštalácia so správnymi doplnkami
Od verzie 0.6.0 základná inštalácia obsahuje iba základné ML závislosti a doplnok pi nepridáva žiadny kód pre dáta ani trénovanie, takže jemné doladenie si vyžaduje aj doplnok pre trénovanie. Staršie jedno-riadkové príkazy tu zlyhajú pri importe.
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]' - 2Autentifikácia
Prijmite licenciu paligemma-3b-pt-224 v prehliadači a potom sa prihláste na stroji, ktorý trénuje.
bashhf auth login - 3Pridanie kvantilových štatistík
Pi0.5 normalizuje STATE a ACTION pomocou kvantilov, takže meta/stats.json potrebuje q01 a q99. Staršie datasety obsahujú iba min, max, mean, std.
bashlerobot-edit-dataset \ --repo_id your_dataset \ --new_repo_id your_dataset \ --operation.type recompute_stats \ --operation.overwrite true - 4Jemné doladenie z lerobot/pi05_base
Nastavte veľkosť dávky tak, aby ju vaša karta zvládla; dokumentácia používa 64 na LIBERO pri 80 GB. Explicitne uveďte bfloat16, predvolená konfigurácia 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 - 5Spustite to na ramene
Vo verzii 0.6.x je to lerobot-rollout: lerobot-record odmieta politiku a odmieta názvy datasetov eval_. Base riadi rameno, sentry zaznamenáva rollout.
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 | vyberá Pi0.5 | vyžadované s pretrained_path, vynechajte s --policy.path |
| --policy.pretrained_path | načítava iba váhy | názvy funkcií z vášho datasetu, uložené nastavenia sa resetujú |
| --policy.path | váhy plus konfiguračný súbor checkpoint config.json | uložené nastavenia ako n_action_steps sú zdedené |
| --policy.n_action_steps | kroky spotrebované na jeden chunk | predvolene 50, nikdy nad chunk_size (predvolene 50) |
| --policy.train_expert_only | zmrazí VLM, trénuje experta | predvolene false, menej pamäte, určitá cena za úspech |
| --policy.gradient_checkpointing | prepočítať namiesto ukladania aktivácií | predvolene false, prvá páka, keď sa beh nezmestí |
| --peft.method_type=LORA | LoRA adaptéry namiesto plných váh | potrebuje doplnok peft, zdokumentovaný príklad je SmolVLA |
| --policy.rtc_training_max_delay | podmieňovanie prefixom akcie pre RTC | iba hlavná vetva, nie vo verzii 0.6.1, musí zostať pod chunk_size |
| --rename_map | mapuje stĺpce datasetu na funkcie politiky | potrebné, keď sa vaše kľúče kamery líšia |
Bez kvantilov dostanete ValueError: QUANTILES normalization mode requires q01 and q99 stats pri prvej dávke. Prepočítajte štatistiky, ale výsledok sa uloží do $HF_LEROBOT_HOME/your_dataset, nie do vyrovnávacej pamäte, ktorú číta --dataset.repo_id, takže trénujte s --dataset.root ukazujúcim tam alebo nahrajte na Hub. Alebo preskočte kvantily s --policy.normalization_mapping='{"ACTION": "MEAN_STD", "STATE": "MEAN_STD", "VISUAL": "IDENTITY"}', ako to robí referenčný príkaz LIBERO.
Tri sady predvolených nastavení a ktoré z nich sa dostanú k trénerovi
TrainConfig od openpi je referenciou, PI05Config od LeRobot je to, čo lerobot-train používa, keď nič nepoviete, a formulár tu posiela tretiu sadu. Prekvapením je rýchlosť učenia: obe predvolené hodnoty upstreamu dosahujú maximum 2.5e-5, zatiaľ čo vlastná konfigurácia pi05_libero od openpi a táto platforma ju zvyšujú na 5e-5.
| Nastavenie | openpi TrainConfig | lerobot pi05 and lerobot-train | AY-Robots posiela |
|---|---|---|---|
| Veľkosť dávky | 32 | 8 | 1 |
| Maximálna rýchlosť učenia | 2.5e-5, kosínusový pokles | optimizer_lr 2.5e-5 | 5e-5 |
| Tréningové kroky | 30,000 | 100,000 | 30,000 |
| Interval kontrolných bodov | 1,000 steps | 20,000 steps | nie je vo formulári |
| Seed | 42 | 1,000 | vo formulári |
| Akčný blok | action_horizon 50 | chunk_size 50, n_action_steps 50 | nie je vo formulári |
| Dátový typ váh | bfloat16 | float32 until you pass --policy.dtype | nie je vo formulári |
| Akumulácia gradientu | žiadny takýto ovládač, namiesto toho fsdp_devices | absent from every release so far | 16, a je vynechaná |
Je port verný? Tím LeRobot doladil základný model LIBERO o ďalších 6 tisíc krokov a porovnal ho s referenčnými číslami openpi na štyroch sadách: 97.5 percenta priemeru oproti 96.85, vpredu na Libero 10, pozadu na Spatial. Táto cesta je voľbou nástrojov, nie voľbou kvality.
- Za týmto stojí viac ako 10,000 hodín predtréningu robota, takže 50 epizód vašej úlohy môže byť dostatočných.
- Kontinuálne akcie: žiadny tokenizér na ladenie, žiadne diskretizačné obmedzenie na vaše uhly kĺbov.
- Port LeRobot dosahuje 97.5 percenta v priemere LIBERO oproti 96.85 od openpi, takže priateľskejšie CLI nestojí nič merateľné.
- Parametrovo efektívne cesty na oboch stranách: varianty JAX LoRA od openpi, integrácia PEFT od LeRobot.
- Úplné jemné ladenie vyžaduje viac ako 70 GB. Údaj 22.5 GB pre LoRA je číslo JAX od openpi; pre pi05 pod PEFT nie je žiadne publikované.
- 485 ms na akčný krok, najpomalší z piatich tu: dvakrát SmolVLA, dvadsaťštyrikrát ACT.
- Vyžaduje sa LeRobot v3.0, takže súbor dát zaznamenaný pre spustenie GR00T je potrebné konvertovať a naopak.
- Nové možnosti sa najprv objavia v main: pamäť RTC a MEM počas tréningu nie sú vo verzii 0.6.1, takže najnovšia dokumentácia môže znamenať inštaláciu z gitu.
Realita 485 ms a kde prestáva byť použiteľná
Toto rozhoduje o vašom projekte, takže to prichádza pred tabuľkou nákladov. na krok akcie meraná tu pre Pi0.5 je 485 ms. V porovnaní s ostatnými štyrmi:
| Politika | Inferencia na krok akcie | Parametre | Úroveň GPU | Minimálny počet epizód |
|---|---|---|---|---|
| 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 |

Riadiaca slučka naprieč týmito piatimi modelmi beží 20 až 485 ms na krok akcie. Cesty po verejnom internete navyše k 485 ms menia funkčnú politiku na váhavú. Vzdialená inferencia je životaschopná pre pomalé uchopovanie a umiestňovanie, nie pre rýchly reaktívny pohyb. Radšej by sme povedali toto, než predávali demo, ktoré funguje len na LAN. Ak sa vaše rameno pozastaví medzi chunkmi, začnite pri zaseknutí politiky uprostred pohybu.
Upstream má odpoveď a polovica z nej je už v vydaní, ktoré si môžete nainštalovať. Real-Time Chunking generuje ďalší chunk, zatiaľ čo rameno stále vykonáva ten aktuálny, a potom vedie prekrývajúce sa kroky nového chunku, aby zostali blízko už vykonanej časti, takže rameno sa nezastaví ani netrhne na spoji. Forma pre čas inferencie bola dodaná v changelogu 0.4.2 pre Pi0, Pi0.5 a SmolVLA a je to príznak pre nasadenie, nie pre preškolenie:
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=60Nezrýchľuje to model. Skrýva to medzeru: 485 ms sa stále spotrebuje, ale mimo kritickej cesty, takže fronta nevyschne medzi chunkmi. Variant pre čas trénovania z arXiv 2512.05964 ide ďalej: model sa učí podmieňovať sa na čistom prefixe akcie, takže pri inferencii je prekrytie pevne vyplnené časovými krokmi toku pre každú akciu namiesto vedenia, a spätný prechod vedenia zmizne. Počas trénovania vzorkuje dĺžku prefixu pre každý príklad a berie stratu toku na zostávajúcom postfixe. Tento príznak je len na main, nie vo verzii 0.6.1, a oneskorenie, pre ktoré trénujete, musí zostať pod chunk_size.
Dva spôsoby, ako získať checkpoint Pi0.5
Prenajmete si alebo vlastníte 80 GB kartu, nainštalujete jeden z vyššie uvedených stackov, skonvertujete svoj dataset a dohliadate na beh. Zachováte si každé nastavenie: JAX LoRA od openpi, PEFT adaptéry od LeRobot, relatívne akcie, vlastné mapovanie kláves. Zachováte si aj každé zlyhanie.
- Hardware: A100 80 GB alebo H100, alebo 24 GB karta na ceste JAX LoRA od openpi.
- Nastavenie: jedno popoludnie na prvý beh, väčšinou mapovanie kláves a gated tokenizer.
- Nie je na hostovanom formulári: PEFT adaptéry, relatívne akcie, RTC počas trénovania, pamäť 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 a dataset si vyberiete vo formulári trénovania, backend si prenajme GPU na spotovom trhu podľa požadovanej VRAM, spustí tréner a zapíše checkpoints do objektového úložiska. Pi0.5 je tu len pre cloud. Existujú príručky pre SO-100, SO-101, Koch v1.1 a LeKiwi.
| Nastavenie | Čo platforma posiela pre Pi0.5 |
|---|---|
| Základný checkpoint | lerobot/pi05_base |
| Typ politiky | pi05 |
| Veľkosť dávky | 1 |
| Miera učenia | 5e-5 |
| Maximálny počet krokov | 30000 |
| Akumulácia gradientu | 16, ale pozrite si upozornenie nižšie |
| Extra nastavenia vo formulári | seed, logFreq |
| Formát datasetu | LeRobot v3.0 |
| Úroveň GPU | A100 80 GB alebo H100 80 GB |
Tréner posiela hodnotu akumulácie gradientu 16 a lerobot 0.5.1 nemá príznak na jej prijatie, takže je ignorovaná. Žiadny vydaný lerobot ho nemá: nastavenie existuje iba na main, ako --accelerator.gradient_accumulation.steps. Efektívna veľkosť dávky je tu 1, oproti 256, ktoré používa konfigurácia pi05_libero od openpi. Je dobré to vedieť predtým, ako si prečítate krivku straty. Nastavenie sa uplatňuje pri behoch GR00T N1.7 a GR00T N1.5.
Inferencia funguje rovnako: pod je pripravený na obsluhu politiky a váš lokálny klient s ním komunikuje. Pod má idle watchdog a sám sa zničí, takže zabudnutá záložka nebude ticho účtovať. Platí upozornenie na latenciu, preto ACT s 20 ms často vyhráva rýchlu úlohu.
Keď to nefunguje
| Symptóm | Najpravdepodobnejšia príčina |
|---|---|
| Beh zamietnutý pred spustením | Dataset v2.1, ale Pi0.5 chce v3.0, alebo naopak pre GR00T |
| ImportError, chýba balík datasets | lerobot 0.6.x without the training extra |
| ValueError o q01 a q99 na dávke jedna | No quantiles in meta/stats.json; recompute or use MEAN_STD |
| CUDA nedostatok pamäte v kroku 0 | Full fine-tune below 70 GB; try checkpointing or train_expert_only |
| Chyba 401 alebo gated repo | PaliGemma tokenizer license not accepted |
| Strata klesá, robot nič nerobí | Nezhoda normalizácie, alebo politika kopíruje stav |
| Rameno sa zastaví medzi chunkmi | Per-step latency plus round trip; the chunk queue runs dry |
| Funguje v jednom nastavení, zlyhá v inom | Príliš málo epizód, alebo všetky v jednej konfigurácii |
- Dátová sada zamietnutá: vyžaduje sa v3
- Nedostatok pamäte počas tréningu
- Strata klesá, ale politika nič nerobí
- Politika zamrzne uprostred pohybu
- Politika funguje len v jednom nastavení
- Tréningová úloha uviaznutá vo fronte
Čo stojí jedno spustenie
Pi0.5 sa nachádza v drahej úrovni, pretože potrebuje 80 GB kartu a spotové ceny sa menia, takže údaj je skôr rozsahom než pevnou cenou. Pre mnohé úlohy SO-100 trénujte SmolVLA alebo ACT na 24 GB úrovni najprv, potvrďte, že úloha je vôbec naučiteľná, a potom na ňu strávte hodiny A100. Trénujte svoju prvú politiku prechádza týmto lacnejším cyklom a ceny obsahuje aktuálne úrovne.
| Úroveň | Politiky | Typické spustenie | Cena za hodinu | Náklady na spustenie |
|---|---|---|---|---|
| A100 80 GB or H100 | Pi0.5, GR00T N1.7, GR00T N1.5 | 3 to 6 hours | 1.20 to 2.00 USD | about 4 to 12 USD |
| RTX 4090 alebo akákoľvek 24 GB karta | SmolVLA, ACT | 2 to 5 hours | 0.30 to 0.60 USD | about 1 to 3 USD |

Predtým, než strávite večer: GR00T N1.7 proti Pi0.5 a Pi0.5 proti SmolVLA porovnávajú rovnaké čísla priamo. Aréna obsahuje 85 VLA modelov s 332 výsledkami benchmarkov, každý prepojený so svojím zdrojom, a pozadie o rodine nájdete v našom prehľade VLA.
Trénujte Pi0.5 bez budovania zásobníka
Vyberte dátovú sadu a hyperparametre vo formulári. Backend prenajme 80 GB kartu na spotovom trhu, spustí tréner a zapíše kontrolné body do objektového úložiska. Sprievodcovia pre SO-100, SO-101, Koch v1.1 a LeKiwi.
Otvoriť sprievodcov tréningomMôžem doladiť Pi0.5 na RTX 4090?▾
Nie úplné doladenie: openpi uvádza viac ako 70 GB na to, takže A100 80 GB alebo H100. Jeho údaj 22.5 GB pre LoRA patrí k ceste JAX; implementácia PyTorch nemá LoRA. Integrácia PEFT v LeRobot existuje, ale jej zdokumentovaný príklad je SmolVLA a pre pi05 nie je zverejnený žiadny údaj o VRAM.
Koľko epizód potrebujem?▾
Päťdesiat, rovnaký spodný limit ako GR00T a ACT; iba SmolVLA ide nižšie, na 30. Základný kontrolný bod obsahuje viac ako 10 000 hodín predtréningu, takže doladenie sa prispôsobuje, namiesto toho, aby sa učilo od nuly: 50 čistých, rôznorodých epizód prekoná dvesto z jednej konfigurácie.
Aký je rozdiel medzi --policy.path a --policy.pretrained_path?▾
--policy.path načíta váhy a config.json kontrolného bodu, takže uložené nastavenia ako n_action_steps sú zdedené a --policy.type musí byť vynechané. --policy.pretrained_path načíta iba váhy: názvy funkcií pochádzajú z vašej dátovej sady, uložené nastavenia sa resetujú, --policy.type je povinné. Preto príkaz LIBERO explicitne odovzdáva n_action_steps=10 a empty_cameras=1; inak sa vrátia na 50 a 0.
Poskytuje mi otvorená verzia plný Pi0.5 z článku?▾
Nie. Obidva podporujú iba akčnú hlavu s priraďovaním toku. Fáza predtréningu s diskrétnymi tokenmi s FAST akčným tokenizérom a predikcia subúloh na vysokej úrovni neboli vydané, a karta lerobot/pi05_base pridáva RL do tohto zoznamu, aj keď článok pi0.5 neopisuje žiadnu fázu učenia posilňovaním. Trénujete nízkourovňovú politiku podmienenú jazykovým reťazcom, ktorý dodáte, nie model, ktorý sám rozkladá dlhú úlohu.
Proti ktorým verziám je tento sprievodca napísaný?▾
openpi na main a lerobot 0.6.1, vydanie od 3. augusta 2026, obidva čítané 23. augusta 2026. Dátové sady v3.0 prišli s 0.4.0 v októbri 2025. Verzia 0.6.0 odľahčila základný balík, takže samotný lerobot[pi] už neinštaluje tréningový zásobník a presunula nasadenie na lerobot-rollout. RTC v čase tréningu je iba na main; hostovaný tréner tu beží na verzii 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