
Dolaďte Pi0.5, VLA model s párováním toků od Physical Intelligence, na vlastních robotických datech. Skutečné příkazy pro openpi a lerobot pi05, úskalí formátu datové sady, limity VRAM a latence.
Pi0.5 je model, po kterém sáhnete, když má politika fungovat v místnosti, kterou nikdy neviděla. Je to také nejobtížnější z pěti trénovatelných politik zde k jemnému doladění ručně: upstreamový repozitář je primárně JAX, port LeRobot přesunul nasazení mimo lerobot-record v 0.6.0 a zmenšil základní instalaci natolik, že s ní nelze trénovat, a plné jemné doladění se nevejde na 4090. Níže: co párování toků stojí při inferenci, dvě cesty příkazů a číslo 485 ms, které rozhoduje, zda je výsledek použitelný.
Co potřebujete vědět
- •VLA s párováním toků: 3B PaliGemma VLM plus 300M akční expert dekódující souvislé akční bloky. Dvě cesty k jemnému doladění, openpi a LeRobot pi05, s rozdílem 0.65 bodu v průměru LIBERO.
- •Plné jemné doladění vyžaduje více než 70 GB VRAM. openpi uvádí LoRA na 22.5 GB, pouze na své JAX cestě.
- •Datová sada musí být LeRobotDataset v3.0 s kvantily q01 a q99 v meta/stats.json, jinak první dávka selže.
- •Nejprve zkontrolujte svou verzi lerobot: 0.6.0 odlehčila základní balíček a přesunula nasazení mimo lerobot-record.
- •Zde běží na 485 ms na akční krok, vyžaduje 50 epizod a stojí přibližně 4 až 12 USD za spuštění.
Co Pi0.5 skutečně je
Physical Intelligence publikovala pi0 v říjnu 2024: model s párováním toků model vize-jazyk-akce na předtrénovaném VLM: PaliGemma s 3 miliardami parametrů plus 300M akční expert inicializovaný od nuly, celkem 3.3 miliardy. Článek uvádí předtrénování na více než 10 000 hodinách robotických dat napříč 7 konfiguracemi robotů a 68 úkoly. Více v článku o pi0.
Pi0.5 (arXiv 2504.16054, 22. dubna 2025) si zachovává tuto kostru a mění tréninkovou dietu: webová data, detekce objektů, verbální instrukce od lidí koučujících robota, štítky podúkolů, data napříč ztělesněními od robotů v mnoha domácnostech. Výsledkem je robot uklízející kuchyně v domech, které nebyly v tréninkové sadě. openpi README dodává detail, který název neuvádí: vydaný pi0.5 byl trénován s knowledge insulation (arXiv 2505.23705).
| Vlastnost | pi0 | pi0.5 |
|---|---|---|
| Varianta VLM backbone | gemma_2b (PaliGemma) | gemma_2b (PaliGemma) |
| Varianta akčního experta | gemma_300m | gemma_300m |
| action_dim | 32 | 32 |
| výchozí action_horizon | 50 | 50 |
| max_token_len | 48 | 200 |
| discrete_state_input | false | true, state discretized into bins in the prompt |
| Základní checkpoint | gs://openpi-assets/checkpoints/pi0_base | gs://openpi-assets/checkpoints/pi05_base |
openpi README výslovně uvádí: repozitář podporuje pouze flow matching head, a to jak pro trénink, tak pro inferenci pi0.5. Článek popisuje dvě fáze a kód obsahuje pouze druhou: předtrénink reprezentuje každou akci jako diskrétní tokeny prostřednictvím FAST tokenizeru a při nasazení model odvozuje podúkol vysoké úrovně před každým akčním blokem. Ani jedna z těchto fází není v repozitáři. Karta lerobot/pi05_base uvádí stejný seznam a přidává RL, ačkoli článek o pi0.5 vůbec nepopisuje žádnou fázi posilovaného učení. Port LeRobot dědí tento rozsah, a stejně tak každý hostovaný trenér na něm, včetně tohoto zde. Licencování je také rozděleno: stránka pi05 doc uvádí Apache 2.0, karta lerobot/pi05_base je označena license: gemma.
Co flow matching mění na tréninku a inferenci
A politika kterou můžete trénovat na SO-100, buď přímo regresuje akce (ACT) nebo je tokenizuje a dekóduje autoregresivně (pi0-FAST). Flow matching nedělá ani jedno: učí se vektorové pole, které transportuje šum do čistého akčního bloku, a poté jej integruje. Článek o pi0 používá 10 integračních kroků s velikostí kroku 0.1; konfigurace pi05 LeRobota nese stejné num_inference_steps: int = 10.
- Trénink: ztráta regresuje zašuměný akční blok. Žádný tokenizer k ladění, žádná diskretizace vašich kloubních úhlů.
- Inference: jeden blok stojí deset průchodů vpřed akčním expertem. To je strukturální, nikoli problém ladění.
- Výstup: spojité akce dimenze 32, interně vyplněné, ztráta se počítá na dimenzích, které má váš robot. 6-DoF rameno plus chapadlo používá 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 páteř a brána před ní
PaliGemma (arXiv 2407.07726) je SigLIP-So400m vizuální kodér na jazykovém modelu Gemma-2B, s přibližně 3B parametry. Pi0.5 dědí svůj tokenizér, a tento tokenizér se nachází v řízeném repozitáři. Toto je nejčastější způsob, jak první spuštění selže, ještě před prvním tréninkovým krokem.
Dokumentace LeRobot pi05 to jasně uvádí: pi0.5 používá řízený tokenizér google/paligemma-3b-pt-224, takže nejprve přijměte jeho licenci na Hubu a spusťte hf auth login. Přístup je udělován ručně, nikoli okamžitě. Přeskočte to, spusťte placený cloudový běh a zaplatíte za pod, který nemůže stáhnout tokenizér.
Než začnete: formát datové sady, epizody, hardware
Pi0.5 v LeRobotu čte datovou sadu LeRobot v rozložení v3.0, které přišlo s lerobot 0.4.0 v říjnu 2025: mnoho epizod na soubor Parquet a MP4 namísto jednoho souboru na epizodu, s hranicemi v meta/episodes/ namísto názvů souborů. Nahrávejte pomocí desktopového klienta nebo postupujte podle nahrajte svou první datovou sadu a máte to.
| Režim | Požadovaná paměť GPU | Příklad GPU |
|---|---|---|
| Inference | more than 8 GB | RTX 4090 |
| Jemné doladění, LoRA | more than 22.5 GB | RTX 4090 |
| Jemné doladění, plné | more than 70 GB | A100 80 GB or H100 |
Pi0.5 a SmolVLA vyžadují LeRobot v3.0. GR00T N1.7 a GR00T N1.5 vyžadují v2.0 nebo v2.1 a selžou na datové sadě v3.0. Jedna nahrávací relace nemůže oběma poskytnout data bez konverze a chyba neuvádí "špatnou verzi datové sady". Viz datová sada odmítnuta: vyžadována 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 alespoň 50 epizod pro Pi0.5, což je stejný základ jako pro GR00T a ACT. Předtrénink dělá tu nejtěžší práci, takže 50 čistých epizod je lepší než 200 nedbalých. Jste v tom noví? Začněte s průvodcem sběrem dat.

Cesta A: jemné doladění s repozitářem openpi
Referenční implementace: nejprve JAX, testováno pouze na Ubuntu 22.04, řízeno konfiguračními objekty spíše než příznaky. Cesta PyTorch dorazila v září 2025, ověřeno na LIBERO. Tři kroky: konverze dat, definice konfigurace, trénování a obsluha.
- 1Klonování a instalace
openpi používá uv. GIT_LFS_SKIP_SMUDGE umožňuje, aby LeRobot fungoval jako závislost bez LFS blobů.
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 . - 2Převeďte svá data na datovou sadu LeRobot
Upstream dodává konvertory pro LIBERO a DROID a očekává, že si jeden přizpůsobíte. Práce spočívá v mapování klíčů.
bashuv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data - 3Přidat tréninkovou konfiguraci
Konfigurace jsou položky TrainConfig v src/openpi/training/config.py. Tato adaptuje pi05_droid_finetune, s načítáním vah směřujícím 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čítat normální statistiky
Spouští se proti názvu konfigurace, nikoli datové sadě. Přeskočení je zde klasickou první chybou.
bashuv run scripts/compute_norm_stats.py --config-name pi05_so100 - 5Trénovat
Proměnná umožňuje JAXu použít 90 procent paměti GPU namísto výchozích 75. Na 80 GB kartě to rozhoduje o tom, zda běh přežije.
bashXLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_so100 \ --exp-name=my_experiment \ --overwrite - 6Obsloužit
Server naslouchá na portu 8000 a odpovídá na dotazy ohledně pozorování; běh vašeho robota je klientem.
bashuv run scripts/serve_policy.py policy:checkpoint \ --policy.config=pi05_so100 \ --policy.dir=checkpoints/pi05_so100/my_experiment/20000
Implementace PyTorch od openpi nepodporuje pi0-FAST, smíšenou přesnost, FSDP, LoRA ani váhy EMA, takže LoRA, která dosahuje 22.5 GB, je pouze pro JAX, prostřednictvím variant gemma_2b_lora a gemma_300m_lora. Horší je: nastavení kopíruje opravené soubory přes vaše nainstalované transformers 4.53.2 a README varuje, že s výchozím režimem hardlinku uv to trvale modifikuje transformers v uv cache a může prosakovat do jiných projektů. Zrušte to pomocí uv cache clean transformers.
Cesta B: jemné ladění s lerobot pi05
Port LeRobot obaluje stejné váhy v CLI, které již používáte pro ACT a SmolVLA. Vše níže bylo zkontrolováno proti lerobot 0.6.1, vydání od 3. srpna 2026, a dokumentaci pi05 z 23. srpna 2026. Verze jsou zde důležité: datové sady v3.0 dorazily s 0.4.0 v říjnu 2025, blog 0.5.0 z 9. března 2026 představuje pi0-FAST a Real-Time Chunking, a 0.6.0 ze 6. července 2026 odlehčilo základní balíček a přesunulo nasazení na lerobot-rollout.
Jedna věc se nezměnila: lerobot-train a lerobot-record byly již vstupními body v 0.3.2, srpen 2025. Tutoriál, který stále volá python -m lerobot.scripts.train, předchází rok změn a je nedůvěryhodný i v ostatních ohledech.
- 1Instalace se správnými doplňky
Od verze 0.6.0 základní instalace obsahuje pouze základní ML závislosti a doplněk pi nepřidává žádný kód pro datovou sadu ani trénování, takže pro jemné doladění je potřeba i doplněk pro trénování. Starší jednořádkové příkazy zde selžou při importu.
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]' - 2Ověření
Přijměte licenci paligemma-3b-pt-224 v prohlížeči a poté se přihlaste na stroji, který provádí trénování.
bashhf auth login - 3Přidat kvantilové statistiky
Pi0.5 normalizuje STATE a ACTION pomocí kvantilů, takže meta/stats.json potřebuje q01 a q99. Starší datové sady obsahují pouze min, max, mean, std.
bashlerobot-edit-dataset \ --repo_id your_dataset \ --new_repo_id your_dataset \ --operation.type recompute_stats \ --operation.overwrite true - 4Jemné doladění z lerobot/pi05_base
Nastavte velikost dávky tak, aby ji vaše karta zvládla; dokumentace používá 64 na LIBERO s 80 GB. Explicitně předejte bfloat16, výchozí hodnota konfigurace 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 - 5Spusťte to na rameni
Ve verzi 0.6.x je to lerobot-rollout: lerobot-record odmítá politiku a zamítá názvy datových sad eval_. Base řídí rameno, sentry zaznamenává průběh.
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
| Příznak | Co dělá | Poznámka |
|---|---|---|
| --policy.type=pi05 | vybere Pi0.5 | vyžadováno s pretrained_path, vynechejte s --policy.path |
| --policy.pretrained_path | načítá pouze váhy | názvy prvků z vaší datové sady, uložená nastavení se resetují |
| --policy.path | váhy plus konfigurační soubor checkpoint config.json | uložená nastavení, jako je n_action_steps, jsou zděděna |
| --policy.n_action_steps | kroky spotřebované na blok | vrací se na 50, nikdy nad chunk_size (výchozí 50) |
| --policy.train_expert_only | zmrazí VLM, trénuje experta | výchozí false, méně paměti, určitá cena za úspěch |
| --policy.gradient_checkpointing | přepočítá místo ukládání aktivací | výchozí false, první páka, když se běh nevejde |
| --peft.method_type=LORA | LoRA adaptéry místo plných vah | potřebuje doplněk peft, zdokumentovaný příklad je SmolVLA |
| --policy.rtc_training_max_delay | podmínění akčního prefixu pro RTC | pouze hlavní větev, není ve verzi 0.6.1, musí zůstat pod chunk_size |
| --rename_map | mapuje sloupce datové sady na prvky politiky | potřebné, když se vaše klíče kamery liší |
Bez kvantilů dostanete ValueError: QUANTILES normalization mode requires q01 and q99 stats v první dávce. Přepočtěte statistiky, ale výsledek se uloží do $HF_LEROBOT_HOME/your_dataset, nikoli do mezipaměti, kterou čte --dataset.repo_id, takže trénujte s --dataset.root ukazujícím tam, nebo nahrajte na Hub. Nebo přeskočte kvantily s --policy.normalization_mapping='{"ACTION": "MEAN_STD", "STATE": "MEAN_STD", "VISUAL": "IDENTITY"}', jak to dělá referenční příkaz LIBERO.
Tři sady výchozích nastavení a které z nich se dostanou k trénovacímu modulu
TrainConfig od openpi je referencí, PI05Config od LeRobot je to, co lerobot-train používá, když nic neřeknete, a formulář zde odesílá třetí sadu. Překvapením je rychlost učení: oba výchozí upstreamové hodnoty dosahují vrcholu 2.5e-5, zatímco vlastní konfigurace pi05_libero od openpi a tato platforma ji zvyšují na 5e-5.
| Nastavení | openpi TrainConfig | lerobot pi05 a lerobot-train | AY-Robots odesílá |
|---|---|---|---|
| Velikost dávky | 32 | 8 | 1 |
| Maximální rychlost učení | 2.5e-5, kosinusový útlum | optimizer_lr 2.5e-5 | 5e-5 |
| Tréninkové kroky | 30,000 | 100,000 | 30,000 |
| Interval kontrolních bodů | 1,000 kroků | 20,000 kroků | není ve formuláři |
| Seed | 42 | 1,000 | ve formuláři |
| Akční blok | action_horizon 50 | chunk_size 50, n_action_steps 50 | není ve formuláři |
| Datový typ vah | bfloat16 | float32 until you pass --policy.dtype | není ve formuláři |
| Akumulace gradientu | žádný takový ovladač, místo toho fsdp_devices | absent from every release so far | 16, a je vynechána |
Je port věrný? Tým LeRobot doladil základní model LIBERO o dalších 6k kroků a porovnal ho s referenčními čísly openpi na čtyřech sadách: průměr 97.5 procenta oproti 96.85, lepší na Libero 10, horší na Spatial. Tato cesta je volbou nástrojů, nikoli volbou kvality.
- Více než 10,000 hodin předtréninku robota za sebou, takže 50 epizod vašeho úkolu může stačit.
- Spojité akce: žádný tokenizér k ladění, žádné diskretizační omezení na úhly vašich kloubů.
- Port LeRobot dosahuje 97.5 procenta v průměru LIBERO oproti 96.85 od openpi, takže přívětivější CLI nestojí nic měřitelného.
- Parametricky efektivní cesty na obou stranách: varianty JAX LoRA od openpi, integrace PEFT od LeRobot.
- Plné jemné doladění vyžaduje více než 70 GB. Údaj 22.5 GB pro LoRA je číslo JAX od openpi; pro pi05 pod PEFT není žádné publikováno.
- 485 ms na akční krok, nejpomalejší z pěti zde: dvakrát SmolVLA, čtyřiadvacetkrát ACT.
- Je vyžadován LeRobot v3.0, takže datová sada zaznamenaná pro běh GR00T potřebuje konverzi a naopak.
- Nové možnosti se nejprve objevují na main větvi: paměť RTC a MEM během tréninku nejsou ve verzi 0.6.1, takže nejnovější dokumentace může znamenat instalaci z gitu.
Realita 485 ms a kde přestává být použitelná
To rozhoduje o vašem projektu, takže to přichází před tabulkou nákladů. na krok akce naměřená zde pro Pi0.5 je 485 ms. Proti ostatním čtyřem:
| Politika | Inference na krok akce | Parametry | Úroveň GPU | Minimální počet 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 |

Řídicí smyčka napříč těmito pěti modely běží 20 až 485 ms na jeden akční krok. Zpáteční cesty přes veřejný internet navíc k 485 ms promění funkční politiku v váhavou. Vzdálená inference je životaschopná pro pomalé operace typu pick-and-place, nikoli pro rychlý reaktivní pohyb. Raději to řekneme, než abychom prodávali demo, které funguje pouze na LAN. Pokud se vaše rameno mezi bloky zastaví, začněte u zastavení politiky uprostřed pohybu.
Upstream má odpověď a polovina z ní je již v vydání, které si můžete nainstalovat. Real-Time Chunking generuje další blok, zatímco rameno stále provádí ten aktuální, a poté navádí překrývající se kroky nového bloku, aby zůstaly blízko již provedené části, takže se rameno nezastaví ani necukne ve spoji. Forma pro dobu inference byla dodána v changelogu 0.4.2 pro Pi0, Pi0.5 a SmolVLA a je to příznak pro nasazení, nikoli pro přeškolení:
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=60Nezrychluje to model. Skrývá to mezeru: 485 ms je stále spotřebováno, ale mimo kritickou cestu, takže fronta mezi bloky nevyschne. Varianta z doby tréninku z arXiv 2512.05964 jde dál: model se učí podmiňovat se na čistý akční prefix, takže při inferenci je překrytí pevně 'inpainted' s časovými kroky toku pro každou akci namísto navádění, a zpětný průchod navádění zmizí. Během tréninku vzorkuje délku prefixu pro každý příklad a počítá ztrátu toku na zbývajícím postfixu. Tento příznak je pouze v hlavní větvi, nikoli ve verzi 0.6.1, a zpoždění, pro které trénujete, musí zůstat pod chunk_size.
Dva způsoby, jak získat checkpoint Pi0.5
Pronajmete si nebo vlastníte 80 GB kartu, nainstalujete jeden z výše uvedených stacků, převedete svůj dataset a dohlížíte na běh. Zachováte si každé nastavení: JAX LoRA od openpi, PEFT adaptéry od LeRobot, relativní akce, vlastní mapování klíčů. Zachováte si také každé selhání.
- Hardware: A100 80 GB nebo H100, nebo 24 GB karta na cestě JAX LoRA od openpi.
- Nastavení: odpoledne pro první spuštění, převážně mapování klíčů a gated tokenizer.
- Není k dispozici ve hostované formě: PEFT adaptéry, relativní akce, RTC v době tréninku, MEM paměť.
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 vyberete ve tréninkovém formuláři, backend pronajme GPU na spotovém trhu podle požadované VRAM, spustí trénink a zapíše checkpointy do objektového úložiště. Pi0.5 je zde pouze cloudový. Průvodci existují pro SO-100, SO-101, Koch v1.1 a LeKiwi.
| Nastavení | Co platforma posílá pro Pi0.5 |
|---|---|
| Základní checkpoint | lerobot/pi05_base |
| Typ politiky | pi05 |
| Velikost dávky | 1 |
| Učící rychlost | 5e-5 |
| Maximální kroky | 30000 |
| Akumulace gradientu | 16, ale viz upozornění níže |
| Další nastavení ve formuláři | seed, logFreq |
| Formát datasetu | LeRobot v3.0 |
| Úroveň GPU | A100 80 GB nebo H100 80 GB |
Tréninkový program posílá hodnotu akumulace gradientu 16 a lerobot 0.5.1 nemá flag pro její příjem, takže je ignorována. Žádný vydaný lerobot ji nemá: toto nastavení existuje pouze na main větvi, jako --accelerator.gradient_accumulation.steps. Efektivní velikost dávky je zde 1, oproti 256, které používá konfigurace pi05_libero od openpi. Stojí za to vědět, než budete číst křivku ztráty. Toto nastavení se uplatňuje u běhů GR00T N1.7 a GR00T N1.5.
Inference funguje stejně: pod je zřízen k obsluze politiky a váš lokální klient s ním komunikuje. Pod má idle watchdog a sám se zničí, takže zapomenutá záložka nebude tiše účtovat. Platí upozornění na latenci, a proto ACT s 20 ms často vyhrává rychlý úkol.
Když to nefunguje
| Příznak | Nejpravděpodobnější příčina |
|---|---|
| Spuštění zamítnuto před startem | Dataset v2.1, ale Pi0.5 chce v3.0, nebo naopak pro GR00T |
| ImportError, chybí balíček datasets | lerobot 0.6.x bez tréninkového extra |
| ValueError ohledně q01 a q99 na dávce jedna | Žádné kvantily v meta/stats.json; přepočítat nebo použít MEAN_STD |
| CUDA nedostatek paměti v kroku 0 | Plné doladění pod 70 GB; zkuste checkpointing nebo train_expert_only |
| Chyba 401 nebo gated repo | Licence tokenizeru PaliGemma nebyla přijata |
| Ztráta klesá, robot nic nedělá | Nesoulad normalizace, nebo politika kopíruje stav |
| Rameno se zastavuje mezi bloky | Latence na krok plus zpáteční cesta; fronta bloků vysychá |
| Funguje v jednom nastavení, selže v jiném | Příliš málo epizod, nebo všechny v jedné konfiguraci |
- Datová sada zamítnuta: vyžadována v3
- Nedostatek paměti během tréninku
- Ztráta klesá, ale politika nic nedělá
- Politika zamrzá uprostřed pohybu
- Politika funguje pouze v jednom nastavení
- Tréninková úloha uvízla ve frontě
Co stojí jeden běh
Pi0.5 spadá do drahé úrovně, protože potřebuje 80 GB kartu a spotové ceny se mění, takže údaj je spíše rozsah než pevná cena. Pro mnoho úloh SO-100 trénujte SmolVLA nebo ACT nejprve na 24 GB úrovni, ověřte, zda je úloha vůbec naučitelná, a teprve poté na ni vynaložte hodiny A100. Trénujte svou první politiku popisuje tento levnější cyklus, a ceník obsahuje aktuální úrovně.
| Úroveň | Politiky | Typický běh | Cena za hodinu | Cena za běh |
|---|---|---|---|---|
| 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 or any 24 GB card | SmolVLA, ACT | 2 to 5 hours | 0.30 to 0.60 USD | about 1 to 3 USD |

Než se zavážete na celý večer: GR00T N1.7 proti Pi0.5 a Pi0.5 proti SmolVLA porovnávají stejná čísla přímo. Aréna obsahuje 85 VLA modelů s 332 výsledky benchmarků, každý s odkazem na svůj zdroj, a pozadí rodiny je v našem přehledu VLA.
Trénujte Pi0.5 bez sestavování zásobníku
Vyberte datovou sadu a hyperparametry ve formuláři. Backend si pronajme 80 GB kartu na spotovém trhu, spustí trénink a zapíše kontrolní body do objektového úložiště. Průvodci pro SO-100, SO-101, Koch v1.1 a LeKiwi.
Otevřít průvodce tréninkemMohu doladit Pi0.5 na RTX 4090?▾
Ne plné doladění: openpi pro to uvádí více než 70 GB, takže A100 80 GB nebo H100. Jeho hodnota 22.5 GB LoRA patří k cestě JAX; implementace PyTorch nemá LoRA. Integrace PEFT od LeRobot existuje, ale jejím zdokumentovaným příkladem je SmolVLA a pro pi05 není zveřejněna žádná hodnota VRAM.
Kolik epizod potřebuji?▾
Padesát, stejný základ jako GR00T a ACT; pouze SmolVLA jde níže, na 30. Základní kontrolní bod nese více než 10 000 hodin předtréninku, takže doladění se spíše adaptuje, než aby se učilo od nuly: 50 čistých, rozmanitých epizod porazí dvě stě z jedné konfigurace.
Jaký je rozdíl mezi --policy.path a --policy.pretrained_path?▾
--policy.path načítá váhy a config.json kontrolního bodu, takže uložená nastavení jako n_action_steps jsou zděděna a --policy.type musí být vynecháno. --policy.pretrained_path načítá pouze váhy: názvy funkcí pocházejí z vaší datové sady, uložená nastavení se resetují, --policy.type je vyžadováno. Proto příkaz LIBERO explicitně předává n_action_steps=10 a empty_cameras=1; jinak se vrátí na 50 a 0.
Poskytuje mi otevřená verze plný Pi0.5 z článku?▾
Ne. Oba podporují pouze akční hlavu pro shodu toku. Fáze předtréninku s diskrétními tokeny s FAST akčním tokenizérem a predikce subúkolů na vysoké úrovni nebyly vydány, a karta lerobot/pi05_base přidává RL do tohoto seznamu, i když článek pi0.5 nepopisuje žádnou fázi učení s posilováním. Trénujete nízkoúrovňovou politiku podmíněnou jazykovým řetězcem, který dodáte, nikoli model, který sám dekomponuje dlouhý úkol.
Proti kterým verzím je tento průvodce napsán?▾
openpi na main a lerobot 0.6.1, vydání od 3. srpna 2026, obojí čteno 23. srpna 2026. Datové sady v3.0 dorazily s 0.4.0 v říjnu 2025. Verze 0.6.0 odlehčila základní balíček, takže samotný lerobot[pi] již neinstaluje tréninkový zásobník a přesunula nasazení na lerobot-rollout. RTC v době tréninku je pouze na main; hostovaný trénink zde běží na 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