Tréningová matica AY-Robots s piatimi politikami ako riadkami a štyrmi robotickými ramenami ako stĺpcami, pričom každá bunka je odkazom na konkrétneho sprievodcu jemným ladením
Pi0.5Priraďovanie tokuTréning VLALeRobotJemné ladenie

Ako trénovať Pi0.5 na vlastných robotických dátach

AY-Robots ResearchAugust 23, 202616 min čítania

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ťpi0pi0.5
Variant chrbtice VLMgemma_2b (PaliGemma)gemma_2b (PaliGemma)
Variant akčného expertagemma_300mgemma_300m
action_dim3232
Predvolený akčný horizont5050
max_token_len48200
discrete_state_inputfalsetrue, stav diskretizovaný do priehradiek vo výzve
Základný kontrolný bodgs://openpi-assets/checkpoints/pi0_basegs://openpi-assets/checkpoints/pi05_base
Čo je verejné, nie je celý článok

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.
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
Prečítané z src/openpi/models/pi0_config.py na hlavnej vetve openpi, 23. augusta 2026.

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

Prijmite uzamknutú licenciu predtým, ako si prenajmete GPU

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žimPožadovaná pamäť GPUPríklad GPU
Inferenciaviac ako 8 GBRTX 4090
Jemné ladenie, LoRAviac ako 22.5 GBRTX 4090
Jemné ladenie, plnéviac ako 70 GBA100 80 GB alebo H100
Verziová pasca, ktorá stojí deň

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.

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 dokumentácie LeRobotDataset v3.0.

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

Stránka zásad AY-Robots porovnávajúca päť trénovateľných zásad podľa parametrov, úrovne GPU, latencie a minimálneho počtu epizód
Pi0.5 sa nachádza v úrovni A100 a H100 s 485 ms na krok akcie, s minimom 50 epizód.

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.

  1. 1
    Klonovanie a inštalácia

    openpi používa uv. GIT_LFS_SKIP_SMUDGE umožňuje, aby LeRobot prišiel ako závislosť bez LFS blobov.

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

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

    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čítajte normálne štatistiky

    Spúšťa sa proti názvu konfigurácie, nie datasetu. Preskočenie je tu klasickou prvou chybou.

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

    bash
    XLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_so100 \
        --exp-name=my_experiment \
        --overwrite
  6. 6
    Servírujte to

    Server počúva na porte 8000 a odpovedá na dopyty pozorovania; váš robotický runtime je klient.

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

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.

  1. 1
    Inš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]'
  2. 2
    Autentifikácia

    Prijmite licenciu paligemma-3b-pt-224 v prehliadači a potom sa prihláste na stroji, ktorý trénuje.

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

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

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

    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
FlagWhat it doesNote
--policy.type=pi05vyberá Pi0.5vyžadované s pretrained_path, vynechajte s --policy.path
--policy.pretrained_pathnačítava iba váhynázvy funkcií z vášho datasetu, uložené nastavenia sa resetujú
--policy.pathváhy plus konfiguračný súbor checkpoint config.jsonuložené nastavenia ako n_action_steps sú zdedené
--policy.n_action_stepskroky spotrebované na jeden chunkpredvolene 50, nikdy nad chunk_size (predvolene 50)
--policy.train_expert_onlyzmrazí VLM, trénuje expertapredvolene false, menej pamäte, určitá cena za úspech
--policy.gradient_checkpointingprepočítať namiesto ukladania aktiváciípredvolene false, prvá páka, keď sa beh nezmestí
--peft.method_type=LORALoRA adaptéry namiesto plných váhpotrebuje doplnok peft, zdokumentovaný príklad je SmolVLA
--policy.rtc_training_max_delaypodmieňovanie prefixom akcie pre RTCiba hlavná vetva, nie vo verzii 0.6.1, musí zostať pod chunk_size
--rename_mapmapuje stĺpce datasetu na funkcie politikypotrebné, keď sa vaše kľúče kamery líšia
Chyba, s ktorou sa stretáva väčšina prvých spustení

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.

Nastavenieopenpi TrainConfiglerobot pi05 and lerobot-trainAY-Robots posiela
Veľkosť dávky3281
Maximálna rýchlosť učenia2.5e-5, kosínusový poklesoptimizer_lr 2.5e-55e-5
Tréningové kroky30,000100,00030,000
Interval kontrolných bodov1,000 steps20,000 stepsnie je vo formulári
Seed421,000vo formulári
Akčný blokaction_horizon 50chunk_size 50, n_action_steps 50nie je vo formulári
Dátový typ váhbfloat16float32 until you pass --policy.dtypenie je vo formulári
Akumulácia gradientužiadny takýto ovládač, namiesto toho fsdp_devicesabsent from every release so far16, 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.

Jemné ladenie Pi0.5 na vlastných dátach
Výhody
  • 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.
Kompromisy
  • Ú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:

PolitikaInferencia na krok akcieParametreÚroveň GPUMinimálny počet epizód
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 porovnávajúca GR00T N1.7 s Pi0.5, s parametrami, úrovňou GPU, latenciou a formátom datasetu
Rovnaká úroveň GPU, rovnaký minimálny počet epizód, iná verzia datasetu, trojnásobný rozdiel v latencii.
Inferencia musí byť umiestnená vedľa servomotorov

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:

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 je počet krokov predchádzajúceho chunku, s ktorými musí nový súhlasiť; dokumentácia RTC uvádza 8 až 12 ako bežný rozsah. Predvolený backend inferencie je --inference.type=sync.

Nezrý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.
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
The command no hosted form runs, and pip cannot install: training-time RTC is a main branch flag.

Keď to nefunguje

SymptómNajpravdepodobnejšia príčina
Beh zamietnutý pred spustenímDataset v2.1, ale Pi0.5 chce v3.0, alebo naopak pre GR00T
ImportError, chýba balík datasetslerobot 0.6.x without the training extra
ValueError o q01 a q99 na dávke jednaNo quantiles in meta/stats.json; recompute or use MEAN_STD
CUDA nedostatok pamäte v kroku 0Full fine-tune below 70 GB; try checkpointing or train_expert_only
Chyba 401 alebo gated repoPaliGemma tokenizer license not accepted
Strata klesá, robot nič nerobíNezhoda normalizácie, alebo politika kopíruje stav
Rameno sa zastaví medzi chunkmiPer-step latency plus round trip; the chunk queue runs dry
Funguje v jednom nastavení, zlyhá v inomPríliš málo epizód, alebo všetky v jednej konfigurácii

Č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ňPolitikyTypické spustenieCena za hodinuNáklady na spustenie
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 alebo akákoľvek 24 GB kartaSmolVLA, ACT2 to 5 hours0.30 to 0.60 USDabout 1 to 3 USD
Tabuľka nákladov AY-Robots zobrazujúca, ktorú GPU potrebuje každá politika, typický čas behu a cenu, a koľko epizód je potrebných, kým je politika užitočná
Rovnaké dve úrovne na stránke produktu: Pi0.5 si prenajíma 80 GB kartu, SmolVLA a ACT sa zmestia na 4090.

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éningom
Môž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.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started