Tréninková matice AY-Robots s pěti politikami jako řádky a čtyřmi robotickými rameny jako sloupci, každá buňka odkazem na konkrétního průvodce dolaďováním
Pi0.5Párování tokůTrénink VLALeRobotDolaďování

Jak trénovat Pi0.5 na vlastních robotických datech

AY-Robots ResearchAugust 23, 202616 minut čtení

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).

Vlastnostpi0pi0.5
Varianta VLM backbonegemma_2b (PaliGemma)gemma_2b (PaliGemma)
Varianta akčního expertagemma_300mgemma_300m
action_dim3232
výchozí action_horizon5050
max_token_len48200
discrete_state_inputfalsetrue, state discretized into bins in the prompt
Základní checkpointgs://openpi-assets/checkpoints/pi0_basegs://openpi-assets/checkpoints/pi05_base
Co je veřejné, není celý článek

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.
python
# openpi/src/openpi/models/pi0_config.py - the defaults every pi05 config inherits
@dataclasses.dataclass(frozen=True)
class Pi0Config(_model.BaseModelConfig):
    dtype: str = "bfloat16"
    paligemma_variant: _gemma.Variant = "gemma_2b"
    action_expert_variant: _gemma.Variant = "gemma_300m"

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

    pi05: bool = False             # flips discrete_state_input to True
Přečteno z src/openpi/models/pi0_config.py na hlavní větvi openpi, 23. srpna 2026.

PaliGemma 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.

Přijměte řízenou licenci, než si pronajmete GPU

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žimPožadovaná paměť GPUPříklad GPU
Inferencemore than 8 GBRTX 4090
Jemné doladění, LoRAmore than 22.5 GBRTX 4090
Jemné doladění, plnémore than 70 GBA100 80 GB or H100
Verzní past, která stojí den

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.

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

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

Platforma 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.

Stránka zásad AY-Robots porovnávající pět trénovatelných zásad podle parametrů, úrovně GPU, latence a minimálního počtu epizod
Pi0.5 se nachází v úrovni A100 a H100 s 485 ms na krok akce a minimem 50 epizod.

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.

  1. 1
    Klonování a instalace

    openpi používá uv. GIT_LFS_SKIP_SMUDGE umožňuje, aby LeRobot fungoval jako závislost bez LFS blobů.

    bash
    git clone --recurse-submodules git@github.com:Physical-Intelligence/openpi.git
    cd openpi
    
    GIT_LFS_SKIP_SMUDGE=1 uv sync
    GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .
  2. 2
    Př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íčů.

    bash
    uv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data
  3. 3
    Př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.

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

    Spouští se proti názvu konfigurace, nikoli datové sadě. Přeskočení je zde klasickou první chybou.

    bash
    uv run scripts/compute_norm_stats.py --config-name pi05_so100
  5. 5
    Tré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.

    bash
    XLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_so100 \
        --exp-name=my_experiment \
        --overwrite
  6. 6
    Obsloužit

    Server naslouchá na portu 8000 a odpovídá na dotazy ohledně pozorování; běh vašeho robota je klientem.

    bash
    uv run scripts/serve_policy.py policy:checkpoint \
        --policy.config=pi05_so100 \
        --policy.dir=checkpoints/pi05_so100/my_experiment/20000
Cesta PyTorch není cesta JAX

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.

  1. 1
    Instalace 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]'
  2. 2
    Ověř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í.

    bash
    hf auth login
  3. 3
    Př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.

    bash
    lerobot-edit-dataset \
        --repo_id your_dataset \
        --new_repo_id your_dataset \
        --operation.type recompute_stats \
        --operation.overwrite true
  4. 4
    Jemné 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.

    bash
    lerobot-train \
        --dataset.repo_id=${HF_USER}/my_so100_dataset \
        --policy.type=pi05 \
        --policy.pretrained_path=lerobot/pi05_base \
        --policy.gradient_checkpointing=true \
        --policy.dtype=bfloat16 \
        --policy.device=cuda \
        --policy.push_to_hub=false \
        --output_dir=./outputs/pi05_so100 \
        --job_name=pi05_so100 \
        --batch_size=4 \
        --num_workers=8 \
        --steps=30000 \
        --save_freq=5000 \
        --seed=1000
  5. 5
    Spusť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.

    bash
    lerobot-rollout \
        --strategy.type=base \
        --policy.path=${HF_USER}/my_policy \
        --robot.type=so100_follower \
        --robot.port=/dev/ttyACM1 \
        --robot.cameras="{ up: {type: opencv, index_or_path: /dev/video10, width: 640, height: 480, fps: 30}}" \
        --task="Put lego brick into the transparent box" \
        --duration=60
    
    # same run, recorded into an eval_ dataset
    lerobot-rollout \
        --strategy.type=sentry \
        --policy.path=${HF_USER}/my_policy \
        --robot.type=so100_follower \
        --robot.port=/dev/ttyACM1 \
        --dataset.repo_id=${HF_USER}/eval_so100 \
        --dataset.single_task="Put lego brick into the transparent box" \
        --duration=600
PříznakCo děláPoznámka
--policy.type=pi05vybere Pi0.5vyžadováno s pretrained_path, vynechejte s --policy.path
--policy.pretrained_pathnačítá pouze váhynázvy prvků z vaší datové sady, uložená nastavení se resetují
--policy.pathváhy plus konfigurační soubor checkpoint config.jsonuložená nastavení, jako je n_action_steps, jsou zděděna
--policy.n_action_stepskroky spotřebované na blokvrací se na 50, nikdy nad chunk_size (výchozí 50)
--policy.train_expert_onlyzmrazí VLM, trénuje expertavýchozí false, méně paměti, určitá cena za úspěch
--policy.gradient_checkpointingpřepočítá místo ukládání aktivacívýchozí false, první páka, když se běh nevejde
--peft.method_type=LORALoRA adaptéry místo plných vahpotřebuje doplněk peft, zdokumentovaný příklad je SmolVLA
--policy.rtc_training_max_delaypodmínění akčního prefixu pro RTCpouze hlavní větev, není ve verzi 0.6.1, musí zůstat pod chunk_size
--rename_mapmapuje sloupce datové sady na prvky politikypotřebné, když se vaše klíče kamery liší
Chyba, se kterou se většina prvních spuštění setká

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 TrainConfiglerobot pi05 a lerobot-trainAY-Robots odesílá
Velikost dávky3281
Maximální rychlost učení2.5e-5, kosinusový útlumoptimizer_lr 2.5e-55e-5
Tréninkové kroky30,000100,00030,000
Interval kontrolních bodů1,000 kroků20,000 krokůnení ve formuláři
Seed421,000ve formuláři
Akční blokaction_horizon 50chunk_size 50, n_action_steps 50není ve formuláři
Datový typ vahbfloat16float32 until you pass --policy.dtypenení ve formuláři
Akumulace gradientužádný takový ovladač, místo toho fsdp_devicesabsent from every release so far16, 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.

Jemné doladění Pi0.5 na vlastních datech
Výhody
  • 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.
Kompromisy
  • 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:

PolitikaInference na krok akceParametryÚroveň GPUMinimální počet epizod
ACT20 ms~80 MRTX 4090 or any 24 GB card50
GR00T N1.7152 ms~3 BA100 80 GB or H100 80 GB50
GR00T N1.5165 ms~3 BA100 80 GB or H100 80 GB50
SmolVLA245 ms~450 MRTX 4090 or any 24 GB card30
Pi0.5485 ms~3 BA100 80 GB or H100 80 GB50
Stránka AY-Robots s přímým srovnáním GR00T N1.7 proti Pi0.5, s parametry, úrovní GPU, latencí a formátem datové sady
Stejná úroveň GPU, stejný minimální počet epizod, jiná verze datové sady, trojnásobný rozdíl v latenci.
Inference musí být umístěna vedle servomotorů

Ří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í:

bash
lerobot-rollout \
    --strategy.type=base \
    --policy.path=${HF_USER}/my_policy \
    --inference.type=rtc \
    --inference.rtc.execution_horizon=10 \
    --inference.rtc.max_guidance_weight=10.0 \
    --robot.type=so100_follower \
    --robot.port=/dev/ttyACM1 \
    --robot.cameras="{ up: {type: opencv, index_or_path: /dev/video10, width: 640, height: 480, fps: 30}}" \
    --task="Put lego brick into the transparent box" \
    --duration=60
execution_horizon udává, s kolika kroky předchozího bloku musí nový blok souhlasit; dokumentace RTC uvádí 8 až 12 jako obvyklý rozsah. Výchozí backend pro inferenci je --inference.type=sync.

Nezrychluje 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ěť.
bash
lerobot-train \
    --dataset.repo_id=${HF_USER}/my_so100_dataset \
    --policy.type=pi05 \
    --policy.pretrained_path=lerobot/pi05_base \
    --policy.rtc_training_max_delay=10 \
    --policy.gradient_checkpointing=true \
    --policy.dtype=bfloat16 \
    --batch_size=4 --steps=30000 --seed=1000
Příkaz, který žádná hostovaná forma nespouští a pip nemůže nainstalovat: RTC v době tréninku je flag hlavní větve.

Když to nefunguje

PříznakNejpravděpodobnější příčina
Spuštění zamítnuto před startemDataset v2.1, ale Pi0.5 chce v3.0, nebo naopak pro GR00T
ImportError, chybí balíček datasetslerobot 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 0Plné doladění pod 70 GB; zkuste checkpointing nebo train_expert_only
Chyba 401 nebo gated repoLicence tokenizeru PaliGemma nebyla přijata
Ztráta klesá, robot nic neděláNesoulad normalizace, nebo politika kopíruje stav
Rameno se zastavuje mezi blokyLatence na krok plus zpáteční cesta; fronta bloků vysychá
Funguje v jednom nastavení, selže v jinémPříliš málo epizod, nebo všechny v jedné konfiguraci

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ňPolitikyTypický běhCena za hodinuCena za běh
A100 80 GB or H100Pi0.5, GR00T N1.7, GR00T N1.53 to 6 hours1.20 to 2.00 USDabout 4 to 12 USD
RTX 4090 or any 24 GB cardSmolVLA, ACT2 to 5 hours0.30 to 0.60 USDabout 1 to 3 USD
Tabulka nákladů AY-Robots ukazující, jakou GPU každá politika potřebuje, typickou dobu běhu a cenu a kolik epizod je potřeba, než je politika užitečná
Stejné dvě úrovně na stránce produktu: Pi0.5 si pronajímá 80 GB kartu, SmolVLA a ACT se vejdou na 4090.

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éninkem
Mohu 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.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started