Matrika usposabljanja AY-Robots s petimi politikami kot vrsticami in štirimi robotskimi rokami kot stolpci, vsaka celica je povezava do specifičnega vodnika za fino uglaševanje
Pi0.5Ujemanje TokovUsposabljanje VLALeRobotFino Uglaševanje

Kako trenirati Pi0.5 na lastnih robotskih podatkih

AY-Robots ResearchAugust 23, 202616 min branja

Fino uglašujte Pi0.5, VLA model z ujemanje tokov podjetja Physical Intelligence, na lastnih robotskih podatkih. Pravi ukazi za openpi in lerobot pi05, pasti formata podatkovnih nizov, omejitve VRAM-a in latence.

Pi0.5 je model, po katerem posežete, ko mora politika delovati v prostoru, ki ga še nikoli ni videla. Je tudi najbolj neroden od petih učljivih politik tukaj za fino uglaševanje ročno: nadrejeno skladišče je najprej JAX, LeRobot prenos je premaknil uvajanje iz lerobot-record v 0.6.0 in naredil osnovno namestitev premajhno za učenje, in popolno fino uglaševanje ne ustreza na 4090. Spodaj: kaj ujemanje toka stane pri sklepanju, dve poti ukazov in številka 485 ms, ki odloča, ali je rezultat uporaben.

Kaj morate vedeti

  • VLA z ujemanje toka: 3B PaliGemma VLM plus 300M strokovnjak za dejanja, ki dekodira neprekinjene dele dejanj. Dve poti za fino uglaševanje, openpi in LeRobot pi05, 0.65 točke narazen na povprečju LIBERO.
  • Popolno fino uglaševanje potrebuje več kot 70 GB VRAM-a. openpi navaja LoRA pri 22.5 GB, samo na svoji JAX poti.
  • Nabor podatkov mora biti LeRobotDataset v3.0 z kvantili q01 in q99 v meta/stats.json, sicer prva serija vrže napako.
  • Najprej preverite svojo lerobot različico: 0.6.0 je osnovni paket naredil lahek in premaknil uvajanje iz lerobot-record.
  • Tukaj deluje pri 485 ms na korak dejanja, potrebuje 50 epizod in stane približno 4 do 12 USD na zagon.

Kaj je Pi0.5 v resnici

Physical Intelligence je oktobra 2024 objavil pi0: model "ujemanja toka" vizualno-jezikovno-akcijski model na vnaprej usposobljenem VLM: PaliGemma s 3 milijardami parametrov plus 300M strokovnjak za dejanja, inicializiran iz nič, skupaj 3.3 milijarde. Članek poroča o predhodnem usposabljanju na več kot 10.000 urah robotskih podatkov v 7 robotskih konfiguracijah in 68 nalogah. Več v članku o pi0.

Pi0.5 (arXiv 2504.16054, 22 April 2025) ohranja to ogrodje in spreminja prehrano za usposabljanje: spletni podatki, zaznavanje objektov, verbalna navodila ljudi, ki usmerjajo robota, oznake podnalog, podatki med različnimi utelešenji robotov v mnogih domovih. Rezultat je robot, ki čisti kuhinje v hišah, ki niso bile v naboru za usposabljanje. Datoteka README projekta openpi dodaja podrobnost, ki je naslov ne omenja: izdani pi0.5 je bil usposobljen z izolacijo znanja (arXiv 2505.23705).

Lastnostpi0pi0.5
Različica VLM hrbtenicegemma_2b (PaliGemma)gemma_2b (PaliGemma)
Različica strokovnjaka za dejanjagemma_300mgemma_300m
action_dim3232
privzeta vrednost action_horizon5050
max_token_len48200
discrete_state_inputfalsetrue, state discretized into bins in the prompt
Osnovna kontrolna točkags://openpi-assets/checkpoints/pi0_basegs://openpi-assets/checkpoints/pi05_base
Kar je javno, ni celoten članek

Datoteka README projekta openpi je eksplicitna: repozitorij podpira samo glavo za ujemanje toka (flow matching head), tako za usposabljanje kot za sklepanje modela pi0.5. Članek opisuje dve fazi, koda pa vsebuje le drugo: predusposabljanje predstavlja vsako dejanje kot diskretne žetone prek tokenizatorja FAST, in ob uvedbi model sklepa o podnalogi na visoki ravni pred vsakim delom dejanja. Nobena od teh ni v repozitoriju. Kartica lerobot/pi05_base podaja enak seznam in dodaja RL, čeprav članek o pi0.5 sploh ne opisuje faze učenja z ojačitvijo. Prenos LeRobot podeduje ta obseg, prav tako pa tudi vsak gostujoči trener na njem, vključno s tistim tukaj. Licenciranje je prav tako razdeljeno: dokumentacija pi05 navaja Apache 2.0, kartica lerobot/pi05_base pa je označena z license: gemma.

Kaj flow matching spreminja pri usposabljanju in sklepanju

Politika, ki jo lahko trenirate na SO-100, politiko bodisi neposredno regresira dejanja (ACT) ali jih tokenizira in avtoregresivno dekodira (pi0-FAST). Ujemanje toka ne dela nobenega od teh: nauči se vektorskega polja, ki prenaša šum v čisto kos dejanja, nato pa ga integrira. Članek pi0 uporablja 10 integracijskih korakov z velikostjo koraka 0.1; konfiguracija pi05 LeRobota vsebuje enako num_inference_steps: int = 10.

  • Usposabljanje: izguba regresira hrupni del akcije. Brez tokenizatorja za uglaševanje, brez diskretizacije vaših kotov sklepov.
  • Inferenca: en del stane deset prehodov naprej skozi strokovnjaka za akcijo. To je strukturno, ne problem uglaševanja.
  • Izhod: zvezne akcije dimenzije 32, interno oblazinjene, izguba se izračuna na dimenzijah, ki jih ima vaš robot. Roka s 6 stopinjami svobode plus prijemalo uporablja 7.
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
Prebrano iz src/openpi/models/pi0_config.py na glavni veji openpi, 23. avgust 2026.

Hrbtenica PaliGemma in vrata pred njo

PaliGemma (arXiv 2407.07726) je vizualni kodirnik SigLIP-So400m na jezikovnem modelu Gemma-2B, z približno 3B parametri. Pi0.5 podeduje svoj tokenizator, in ta tokenizator se nahaja v zaprtem repozitoriju. To je najpogostejši način, kako se prvi zagon ustavi, pred prvim korakom usposabljanja.

Sprejmite zaprto licenco, preden najamete GPE

Dokumentacija LeRobot pi05 jasno navaja: pi0.5 uporablja zaprti tokenizator google/paligemma-3b-pt-224, zato najprej sprejmite njegovo licenco na Hubu in zaženite hf auth login. Dostop je odobren ročno, ne takoj. Preskočite to, zaženite plačljiv zagon v oblaku in plačali boste za pod, ki ne more prenesti tokenizatorja.

Preden začnete: format podatkovnega nabora, epizode, strojna oprema

Pi0.5 v LeRobotu bere podatkovni nabor LeRobot v postavitvi v3.0, ki je prišla z lerobot 0.4.0 oktobra 2025: veliko epizod na datoteko Parquet in MP4 namesto ene datoteke na epizodo, z mejami v meta/episodes/ namesto v imenih datotek. Posnemite z namiznim odjemalcem ali sledite posnemite svoj prvi podatkovni nabor in ga imate.

NačinZahtevani pomnilnik GPUPrimer GPU
Zaključevanjemore than 8 GBRTX 4090
Fino uglaševanje, LoRAmore than 22.5 GBRTX 4090
Fino uglaševanje, polnomore than 70 GBA100 80 GB or H100
Past različic, ki stane dan

Pi0.5 in SmolVLA zahtevata LeRobot v3.0. GR00T N1.7 in GR00T N1.5 zahtevata **v2.0 ali v2.1** in se zrušita na naboru podatkov v3.0. Ena snemalna seja ne more napajati obeh brez pretvorbe, in napaka ne pravi "napačna različica nabora podatkov". Glej nabor podatkov zavrnjen: zahtevana v3.

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
Iz dokumentacije LeRobotDataset v3.0.

Platforma zahteva vsaj 50 epizod za Pi0.5, kar je enako kot za GR00T in ACT. Predhodno usposabljanje opravi večino dela, zato je 50 čistih epizod boljših od 200 površnih. Ste novi pri tem? Začnite z vodnikom za zbiranje podatkov.

Stran s politikami AY-Robots, ki primerja pet politik, ki jih je mogoče usposobiti, po parametrih, ravni GPU, zakasnitvi in minimalnem številu epizod.
Pi0.5 se uvršča v razred A100 in H100 s 485 ms na korak dejanja in minimalno 50 epizodami.

Pot A: natančna nastavitev z repozitorijem openpi

Referenčna implementacija: najprej JAX, testirana samo na Ubuntu 22.04, vodena z objekti konfiguracije namesto z zastavicami. Pot PyTorch je prispela septembra 2025, potrjena na LIBERO. Trije koraki: pretvorite svoje podatke, določite konfiguracijo, usposobite in servirajte.

  1. 1
    Kloniraj in namesti

    openpi uporablja uv. GIT_LFS_SKIP_SMUDGE omogoča, da LeRobot pride kot odvisnost brez 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
    Pretvori svoje podatke v nabor podatkov LeRobot

    Upstream dobavlja pretvornike za LIBERO in DROID in pričakuje, da boste enega prilagodili. Delo je preslikava ključev.

    bash
    uv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data
  3. 3
    Dodaj konfiguracijo usposabljanja

    Konfiguracije so vnosi TrainConfig v src/openpi/training/config.py. Ta prilagaja pi05_droid_finetune, z nalagalnikom uteži, usmerjenim na pi05_base.

    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
    Izračunaj normativne statistike

    Izvaja se glede na ime konfiguracije, ne nabora podatkov. Preskakovanje je tukaj klasična prva napaka.

    bash
    uv run scripts/compute_norm_stats.py --config-name pi05_so100
  5. 5
    Usposobi

    Spremenljivka omogoča JAX-u, da uporablja 90 odstotkov pomnilnika GPU namesto privzetih 75. Na 80 GB kartici to odloča, ali bo izvajanje preživelo.

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

    Strežnik posluša na vratih 8000 in odgovarja na poizvedbe opazovanja; vaše robotsko izvajalno okolje je odjemalec.

    bash
    uv run scripts/serve_policy.py policy:checkpoint \
        --policy.config=pi05_so100 \
        --policy.dir=checkpoints/pi05_so100/my_experiment/20000
Pot PyTorcha ni pot JAXa

Implementacija PyTorcha v openpi ne podpira uteži pi0-FAST, mešane natančnosti, FSDP, LoRA ali EMA, zato je LoRA, ki doseže 22.5 GB, na voljo samo v JAXu, preko variant gemma_2b_lora in gemma_300m_lora. Še huje: namestitev kopira popravljene datoteke čez vaše nameščene transformers 4.53.2, in README opozarja, da s privzetim načinom trde povezave uv to trajno spremeni transformers v predpomnilniku uv in se lahko razširi na druge projekte. Razveljavite to z uv cache clean transformers.

Pot B: fino uglaševanje z lerobot pi05

Vrata LeRobot ovijejo iste uteži v CLI, ki ga že uporabljate za ACT in SmolVLA. Vse spodaj je bilo preverjeno z lerobot 0.6.1, izdajo od 3. avgusta 2026, in dokumentacijo pi05 z dne 23. avgusta 2026. Različice so tukaj pomembne: nabori podatkov v3.0 so prispeli z 0.4.0 oktobra 2025, blog 0.5.0 z dne 9. marca 2026 predstavlja pi0-FAST in Real-Time Chunking, in 0.6.0 z dne 6. julija 2026 je osnovni paket naredil lahek in premaknil uvajanje na lerobot-rollout.

Ena stvar se ni premaknila: lerobot-train in lerobot-record sta bila že vstopni točki v 0.3.2, avgusta 2025. Vadnica, ki še vedno kliče python -m lerobot.scripts.train, je starejša od enega leta sprememb in ji je vredno ne zaupati tudi glede ostalega.

  1. 1
    Namestitev s pravimi dodatki

    Od različice 0.6.0 osnovna namestitev vključuje le osnovne odvisnosti ML, dodatek pi pa ne dodaja kode za podatkovne zbirke ali usposabljanje, zato je za fino nastavitev potreben tudi dodatek za usposabljanje. Starejše enovrstične namestitve tukaj odpovejo ob času uvoza.

    bash
    # policy dependencies plus the training stack
    pip install 'lerobot[pi,training]'
    
    # from a source checkout
    pip install -e ".[pi,training]"
    
    # driving an SO-100 afterwards needs the robot extras too
    pip install 'lerobot[core_scripts,feetech]'
  2. 2
    Avtentikacija

    Sprejmite licenco paligemma-3b-pt-224 v brskalniku, nato se prijavite na napravi, ki izvaja usposabljanje.

    bash
    hf auth login
  3. 3
    Dodajanje kvantilnih statistik

    Pi0.5 normalizira STATE in ACTION s kvantili, zato meta/stats.json potrebuje q01 in q99. Starejše podatkovne zbirke vsebujejo le min, max, mean, std.

    bash
    lerobot-edit-dataset \
        --repo_id your_dataset \
        --new_repo_id your_dataset \
        --operation.type recompute_stats \
        --operation.overwrite true
  4. 4
    Fina nastavitev iz lerobot/pi05_base

    Nastavite velikost paketa na tisto, kar vaša kartica prenese; dokumentacija uporablja 64 na LIBERO pri 80 GB. Eksplicitno podajte bfloat16, privzeta konfiguracija je float32.

    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
    Zagon na roki

    V 0.6.x je to lerobot-rollout: lerobot-record zavrača politiko in zavrača imena podatkovnih zbirk eval_. Base poganja roko, sentry beleži izvedbo.

    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=pi05izbere Pi0.5obvezno s pretrained_path, izpustite s --policy.path
--policy.pretrained_pathnaloži samo utežiimena značilnosti iz vaše podatkovne zbirke, shranjene nastavitve se ponastavijo
--policy.pathuteži in konfiguracija kontrolne točke config.jsonshranjene nastavitve, kot je n_action_steps, so podedovane
--policy.n_action_stepskoraki porabljeni na kosprivzeto 50, nikoli nad chunk_size (privzeto 50)
--policy.train_expert_onlyzamrzne VLM, usposablja strokovnjakaprivzeto false, manj pomnilnika, nekaj stroškov pri uspehu
--policy.gradient_checkpointingponovno izračuna namesto shranjevanja aktivacijprivzeto false, prva možnost, ko se izvedba ne bo prilegala
--peft.method_type=LORALoRA adapterji namesto polnih utežipotrebuje dodatek peft, dokumentiran primer je SmolVLA
--policy.rtc_training_max_delaypogoj za predpono dejanja za RTCsamo glavna veja, ni v 0.6.1, mora ostati pod chunk_size
--rename_mappreslika stolpce podatkovne zbirke na značilnosti politikepotrebno, ko se ključi vaše kamere razlikujejo
Napaka, ki jo večina prvih zagonov naleti

Brez kvantilov dobite ValueError: QUANTILES normalization mode requires q01 and q99 stats pri prvem paketu. Ponovno izračunajte statistiko, vendar se rezultat shrani v $HF_LEROBOT_HOME/your_dataset, ne v predpomnilnik, ki ga bere --dataset.repo_id, zato usposabljajte z --dataset.root, ki kaže tja, ali potisnite na Hub. Ali pa preskočite kvantile z --policy.normalization_mapping='{"ACTION": "MEAN_STD", "STATE": "MEAN_STD", "VISUAL": "IDENTITY"}', kot to počne referenčni ukaz LIBERO.

Trije nabori privzetih vrednosti in katere dosežejo trenerja

openpi's TrainConfig je referenca, LeRobot's PI05Config je tisto, kar lerobot-train uporablja, ko ne poveste ničesar, in obrazec tukaj pošlje tretji nabor. Presenečenje je stopnja učenja: obe privzeti nastavitvi dosežeta vrh pri 2.5e-5, medtem ko openpi-jeva lastna konfiguracija pi05_libero in ta platforma to dvigneta na 5e-5.

Nastavitevopenpi TrainConfiglerobot pi05 in lerobot-trainAY-Robots pošilja
Velikost paketa3281
Najvišja stopnja učenja2.5e-5, kosinusni razpadoptimizer_lr 2.5e-55e-5
Koraki usposabljanja30,000100,00030,000
Interval kontrolnih točk1,000 korakov20,000 korakovni v obrazcu
Seme421,000v obrazcu
Akcijski kosaction_horizon 50chunk_size 50, n_action_steps 50ni v obrazcu
Tip podatkov utežibfloat16float32 until you pass --policy.dtypeni v obrazcu
Akumulacija gradientani takega gumba, namesto tega fsdp_devicesabsent from every release so far16, in je opuščeno

Je prenos zvest? Ekipa LeRobot je model LIBERO dodatno natančno umerila za 6 tisoč korakov in ga primerjala z referenčnimi številkami openpi na štirih sklopih: 97.5 odstotka povprečno proti 96.85, prednost pri Libero 10, zaostanek pri Spatial. Pot je izbira orodja, ne kakovosti.

Natančno umerjanje Pi0.5 na lastnih podatkih
Prednosti
  • Za njim je več kot 10,000 ur predhodnega usposabljanja robota, zato je lahko 50 epizod vaše naloge dovolj.
  • Neprekinjena dejanja: ni tokenizatorja za umerjanje, ni diskretizacijske meje za vaše kotne položaje sklepov.
  • Prenos LeRobot dosega 97.5 odstotka na povprečju LIBERO proti openpi-jevih 96.85, tako da prijaznejši CLI ne stane nič merljivega.
  • Parametrično učinkovite poti na obeh straneh: openpi-jeve različice JAX LoRA, LeRobot-ova integracija PEFT.
Kompromisi
  • Popolno natančno umerjanje potrebuje več kot 70 GB. Podatek 22.5 GB za LoRA je openpi-jeva številka JAX; za pi05 pod PEFT ni objavljena nobena.
  • 485 ms na akcijski korak, najpočasnejši od petih tukaj: dvakrat SmolVLA, štiriindvajsetkrat ACT.
  • Potreben je LeRobot v3.0, zato je treba nabor podatkov, posnet za zagon GR00T, pretvoriti in obratno.
  • Nove možnosti najprej pristanejo na main: RTC in MEM pomnilnik med usposabljanjem nista v 0.6.1, zato lahko najnovejša dokumentacija pomeni namestitev iz gita.

Realnost 485 ms in kje postane neuporabna

To odloča o vašem projektu, zato je pred tabelo stroškov. na korak dejanja, izmerjena tukaj za Pi0.5, je 485 ms. V primerjavi z ostalimi štirimi:

PolitikaSklepanje na korak dejanjaParametriRazred GPUMinimalno število 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
Stran AY-Robots primerjave med GR00T N1.7 in Pi0.5, s parametri, razredom GPU, zakasnitvijo in formatom nabora podatkov
Isti razred GPU, isto spodnje število epizod, drugačna različica nabora podatkov, trikratna razlika v zakasnitvi.
Inferenca mora biti ob servomotorjih

Krmilna zanka pri teh petih modelih traja od 20 do 485 ms na korak dejanja. Povratna pot prek javnega interneta, dodana k 485 ms, spremeni delujočo politiko v neodločno. Oddaljena inferenca je izvedljiva za počasno pobiranje in odlaganje, ne pa za hitro reaktivno gibanje. Raje povemo to, kot da prodajamo demo, ki deluje samo v lokalnem omrežju. Če se vaša roka ustavi med bloki, začnite pri politika zamrzne sredi gibanja.

Upstream ima odgovor, in polovica ga je že v izdaji, ki jo lahko namestite. Razdeljevanje v realnem času (Real-Time Chunking) generira naslednji blok, medtem ko roka še vedno izvaja trenutnega, nato pa vodi prekrivajoče se korake novega bloka, da ostanejo blizu že izvedenega dela, tako da se roka ne ustavi ali zatrese na spoju. Oblika za čas inference je bila poslana v dnevniku sprememb 0.4.2 za Pi0, Pi0.5 in SmolVLA in je zastavica za uvedbo, ne za ponovno učenje:

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 določa, s koliko koraki prejšnjega bloka se mora strinjati novi; dokumentacija RTC navaja 8 do 12 kot običajen razpon. Privzeti inferenčni zaledni sistem je --inference.type=sync.

Ne pospeši modela. Skrije vrzel: 485 ms je še vedno porabljenih, vendar izven kritične poti, tako da se čakalna vrsta med bloki ne izprazni. Različica za čas učenja iz arXiv 2512.05964 gre še dlje: model se nauči pogojevati s čistim predpono dejanja, tako da se pri inferenci prekrivanje trdo vriše z časovnimi koraki toka za posamezno dejanje namesto vodenja, in povratni prehod vodenja izgine. Med učenjem vzorči dolžino predpone za vsak primer in izračuna izgubo toka na preostalem priponi. Ta zastavica je na voljo samo v glavni veji, ne v 0.6.1, in zamuda, za katero trenirate, mora ostati pod chunk_size.

Dva načina za pridobitev kontrolne točke Pi0.5

Najamete ali imate v lasti 80 GB kartico, namestite enega od zgornjih skladov, pretvorite svoj nabor podatkov in nadzorujete izvajanje. Obdržite vsako nastavitev: JAX LoRA od openpi, PEFT adapterje od LeRobot, relativna dejanja, prilagojene preslikave tipk. Obdržite tudi vsako napako.

  • Strojna oprema: A100 80 GB ali H100, ali 24 GB kartica na poti JAX LoRA od openpi.
  • Nastavitev: popoldne za prvi zagon, večinoma preslikava tipk in zaprti tokenizator.
  • Ni na gostovani obliki: PEFT adapterji, relativna dejanja, RTC med usposabljanjem, pomnilnik MEM.
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
Ukaz, ki ga ne izvaja nobena gostovana oblika in ga pip ne more namestiti: RTC med usposabljanjem je zastavica glavne veje.

Ko ne deluje

SimptomNajverjetnejši vzrok
Zagon zavrnjen, preden se začneNabor podatkov v2.1, vendar Pi0.5 želi v3.0, ali obratno za GR00T
ImportError, manjka paket datasetslerobot 0.6.x brez dodatka za usposabljanje
ValueError glede q01 in q99 pri prvem paketuNi kvantilov v meta/stats.json; ponovno izračunajte ali uporabite MEAN_STD
CUDA zmanjka pomnilnika pri koraku 0Popolna natančna nastavitev pod 70 GB; poskusite s kontrolnimi točkami ali train_expert_only
Napaka 401 ali napaka zaprtega repozitorijaLicenca tokenizatorja PaliGemma ni sprejeta
Izguba pade, robot ne dela ničNeujemanje normalizacije ali politika kopira stanje
Roka se ustavi med kosiLatenca na korak plus povratno potovanje; čakalna vrsta kosov se izprazni
Deluje v eni nastavitvi, ne deluje v drugiPreveč malo epizod ali vse v eni konfiguraciji

Koliko stane en zagon

Pi0.5 spada v drag cenovni razred, ker potrebuje 80 GB kartico, in ker se cene na trgu spreminjajo, je podatek razpon in ne fiksna cena. Za številne naloge SO-100 najprej usposobite SmolVLA ali ACT na 24 GB razredu, potrdite, da je naloga sploh učljiva, nato pa zanjo porabite ure A100. Usposobite svojo prvo politiko opisuje ta cenejši postopek, in cene vsebuje trenutne cenovne razrede.

RazredPolitikeTipičen zagonCena na uroStroški na zagon
A100 80 GB ali H100Pi0.5, GR00T N1.7, GR00T N1.53 do 6 ur1.20 do 2.00 USDpribližno 4 do 12 USD
RTX 4090 ali katera koli 24 GB karticaSmolVLA, ACT2 do 5 ur0.30 do 0.60 USDpribližno 1 do 3 USD
Tabela stroškov AY-Robots, ki prikazuje, kateri GPU potrebuje posamezna politika, tipičen čas izvajanja in ceno ter koliko epizod je potrebnih, preden je politika uporabna
Ista dva nivoja na strani izdelka: Pi0.5 najame 80 GB kartico, SmolVLA in ACT se prilegata na 4090.

Preden se posvetite večeru: in primerjata iste številke. vsebuje 85 modelov VLA s 332 rezultati meritev, vsak povezan s svojim virom, ozadje o družini pa je v .

Usposobite Pi0.5 brez gradnje sklada

Izberite nabor podatkov in hiperparametre v obrazcu. Zaledje najame 80 GB kartico na promptnem trgu, zažene trenerja in zapiše kontrolne točke v objektno shrambo. Vodniki za SO-100, SO-101, Koch v1.1 in LeKiwi.

Odpri vodnike za usposabljanje
Ali lahko fino nastavim Pi0.5 na RTX 4090?

Ne gre za popolno fino nastavitev: openpi za to navaja več kot 70 GB, torej A100 80 GB ali H100. Njegova številka LoRA 22.5 GB pripada poti JAX; implementacija PyTorch nima LoRA. Integracija PEFT v LeRobotu obstaja, vendar je dokumentiran primer SmolVLA in za pi05 ni objavljena nobena številka VRAM.

Koliko epizod potrebujem?

Petdeset, enako kot GR00T in ACT; le SmolVLA gre nižje, pri 30. Osnovna kontrolna točka vsebuje več kot 10.000 ur predhodnega usposabljanja, zato se fina nastavitev prilagaja, namesto da bi se učila iz nič: 50 čistih, raznolikih epizod premaga dvesto iz ene konfiguracije.

Kakšna je razlika med --policy.path in --policy.pretrained_path?

--policy.path naloži uteži in config.json kontrolne točke, zato se podedujejo shranjene nastavitve, kot je n_action_steps, in --policy.type mora biti izpuščen. --policy.pretrained_path naloži samo uteži: imena funkcij prihajajo iz vašega nabora podatkov, shranjene nastavitve se ponastavijo, --policy.type je obvezen. Zato ukaz LIBERO eksplicitno posreduje n_action_steps=10 in empty_cameras=1; sicer se vrnejo na 50 in 0.

Ali mi odprta različica ponuja celoten Pi0.5 iz članka?

Ne. Oba podpirata samo glavo dejanja ujemanja toka. Faza predhodnega usposabljanja z diskretnimi žetoni z žetonizatorjem dejanja FAST in napovedovanje podnalog na visoki ravni nista bila objavljena, kartica lerobot/pi05_base pa dodaja RL na ta seznam, čeprav članek pi0.5 ne opisuje nobene faze učenja z ojačitvijo. Usposabljate politiko nizke ravni, pogojeno z jezikovnim nizom, ki ga posredujete, ne modela, ki sam razgradi dolgo nalogo.

Proti katerim različicam je napisan ta vodnik?

openpi na main in lerobot 0.6.1, izdaja od 3. avgusta 2026, sta bila prebrana 23. avgusta 2026. Nabori podatkov v3.0 so prispeli z 0.4.0 oktobra 2025. 0.6.0 je osnovni paket naredil lahek, tako da lerobot[pi] sam ne namešča več sklada za usposabljanje in je premaknil uvajanje na lerobot-rollout. RTC v času usposabljanja je samo na main; gostujoči trener tukaj poganja 0.5.1.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started