Az AY-Robots képzési mátrixa öt irányelvvel soronként és négy robotkarral oszloponként, minden cella egy link egy specifikus finomhangolási útmutatóhoz
Pi0.5Áramlás-illesztésVLA képzésLeRobotFinomhangolás

Hogyan képezzük a Pi0.5-öt saját robotadatainkon

AY-Robots ResearchAugust 23, 202616 perc olvasás

Finomhangolja a Pi0.5-öt, a Physical Intelligence áramlás-illesztő VLA-ját, saját robotadataival. Valós parancsok az openpi és lerobot pi05 számára, adathalmaz formátum csapdák, VRAM és késleltetési korlátok.

A Pi0.5 az a modell, amihez akkor nyúlsz, ha egy irányelvnek olyan szobában kell működnie, amit még sosem látott. Ez az öt betanítható irányelv közül a legnehezebben kezelhető itt, ha kézzel finomhangoljuk : az upstream repository JAX-alapú, a LeRobot port a 0.6.0-ás verzióban kivette a telepítést a lerobot-recordból, és az alaptelepítés túl kicsi lett a betanításhoz, ráadásul egy teljes finomhangolás nem fér el egy 4090-esen. Alább: mennyibe kerül a flow matching az inferencia során, a két parancsútvonal, és a 485 ms-os szám, ami eldönti, hogy az eredmény használható-e.

Amit tudnod kell

  • Egy flow-matching VLA: egy 3B PaliGemma VLM, plusz egy 300M-os akció szakértő, amely folyamatos akcióblokkokat dekódol. Két útvonal a finomhangolásához, az openpi és a LeRobot pi05, 0.65 pont különbséggel a LIBERO átlagán.
  • A teljes finomhangoláshoz több mint 70 GB VRAM szükséges. Az openpi a LoRA-t 22.5 GB-nál említi, csak a JAX útvonalán.
  • Az adatkészletnek LeRobotDataset v3.0-nak kell lennie, q01 és q99 kvantilisekkel a meta/stats.json fájlban, különben az első batch hibát dob.
  • Először ellenőrizd a lerobot verziódat: a 0.6.0-ás verzió könnyűvé tette az alapcsomagot, és kivette a telepítést a lerobot-recordból.
  • Itt 485 ms-on fut akció lépésenként, 50 epizódot igényel, és futtatásonként körülbelül 4-12 USD-be kerül.

Mi is valójában a Pi0.5

A Physical Intelligence 2024 októberében publikálta a pi0-t: egy flow matching látás-nyelv-akció modell egy előre betanított VLM-en: PaliGemma 3 milliárd paraméterrel, plusz egy 300M-os akció szakértő, ami a nulláról lett inicializálva, összesen 3.3 milliárd. A tanulmány több mint 10 000 órányi robotadat előzetes betanításáról számol be, 7 robotkonfiguráción és 68 feladaton keresztül. További részletek a pi0 cikkben.

A Pi0.5 (arXiv 2504.16054, 2025. április 22.) megtartja ezt a vázat és megváltoztatja a képzési étrendet: webes adatok, objektumfelismerés, emberi verbális utasítások a robot edzéséhez, alfeladat címkék, kereszt-megtestesülési adatok számos otthonban lévő robotoktól. Az eredmény egy robot, amely olyan házakban takarít konyhákat, amelyek nem szerepeltek a képzési halmazban. Az openpi README hozzátesz egy részletet, amit a cím nem: a kiadott pi0.5 tudásizolációval (arXiv 2505.23705) lett kiképezve.

Tulajdonságpi0pi0.5
VLM backbone variantgemma_2b (PaliGemma)gemma_2b (PaliGemma)
Action expert variantgemma_300mgemma_300m
action_dim3232
action_horizon alapértelmezett5050
max_token_len48200
diszkrét_állapot_bemenetfalsetrue, az állapot diszkretizálva van rekeszekbe a promptban
Alap ellenőrzőpontgs://openpi-assets/checkpoints/pi0_basegs://openpi-assets/checkpoints/pi05_base
Ami nyilvános, az nem a teljes tanulmány

Az openpi README egyértelmű: a tároló csak a flow matching fejet támogatja, a pi0.5 képzéséhez és következtetéséhez egyaránt. A tanulmány két szakaszt ír le, és a kód csak a másodikat tartalmazza: az előképzés minden műveletet diszkrét tokenként reprezentál a FAST tokenizálóval, és telepítéskor a modell minden műveleti blokk előtt egy magas szintű alfeladatot következtet ki. Ezek közül egyik sem található meg a tárolóban. A lerobot/pi05_base kártya ugyanazt a listát adja és hozzáadja az RL-t, bár a pi0.5 tanulmány egyáltalán nem ír le megerősítéses tanulási szakaszt. A LeRobot port örökli ezt a hatókört, és így tesz minden rajta futó hosztolt tréner is, beleértve az itt találhatóat. A licencelés is megosztott: a pi05 dokumentációs oldal Apache 2.0-t mond, a lerobot/pi05_base kártya license: gemma címkével van ellátva.

Amit a flow matching megváltoztat a képzésben és a következtetésben

Egy szabályzat amit egy SO-100-on betaníthat, vagy közvetlenül regresszálja az akciókat (ACT) vagy tokenizálja és autoregresszíven dekódolja azokat (pi0-FAST). Az áramlásegyeztetés egyiket sem teszi: egy olyan vektoros mezőt tanul meg, amely zajt szállít egy tiszta akciócsomag-ba, majd integrálja azt. A pi0 tanulmány 10 integrációs lépést használ 0.1 lépésmérettel; a LeRobot pi05 konfigurációja ugyanazt a `num_inference_steps: int = 10` értéket tartalmazza.

  • Betanítás: a veszteség egy zajos akciócsomagot regresszál. Nincs finomhangolható tokenizáló, nincs az ízületi szögek diszkretizálása.
  • Inferálás: egy csomag tíz előremenő passzt igényel az akció-szakértőn keresztül. Ez strukturális, nem finomhangolási probléma.
  • Kimenet: 32 dimenziós folytonos akciók, belsőleg kitöltve, a veszteség a robotod dimenzióin számítva. Egy 6-szabadságfokú kar plusz gripper 7-et használ.
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
Olvasva a src/openpi/models/pi0_config.py fájlból az openpi fő ágán, 2026. augusztus 23.

A PaliGemma gerinc, és az előtte lévő kapu

PaliGemma (arXiv 2407.07726) egy SigLIP-So400m látáskódoló egy Gemma-2B nyelvi modellen, körülbelül 3B paraméterrel. A Pi0.5 örökli a tokenizálóját, és ez a tokenizáló egy zárt tárolóban található. Ez a leggyakoribb módja annak, hogy egy első futtatás meghaljon, még az első betanítási lépés.

Fogadja el a zárt licencet, mielőtt GPU-t bérel

A LeRobot pi05 dokumentációja világosan kimondja: a pi0.5 a zárt google/paligemma-3b-pt-224 tokenizálót használja, ezért fogadja el a licencét a Hubon, és először futtassa a hf auth login parancsot. A hozzáférés manuálisan, nem azonnal kerül megadásra. Ha kihagyja, elindít egy fizetős felhőalapú futtatást, és fizet egy olyan podért, amely nem tud tokenizálót letölteni.

Mielőtt elkezdené: adathalmaz formátum, epizódok, hardver

A Pi0.5 a LeRobotban egy LeRobot adathalmazt olvas be v3.0 elrendezésben, amely a lerobot 0.4.0-val érkezett 2025 októberében: sok epizód Parquet és MP4 fájlonként egy fájl helyett epizódonként, a határokkal a meta/episodes/ mappában a fájlnevek helyett. Rögzítsen a asztali klienssel vagy kövesse a első adathalmaz rögzítése útmutatót, és máris megvan.

MódSzükséges GPU memóriaPélda GPU
Inferálásmore than 8 GBRTX 4090
Finomhangolás, LoRAmore than 22.5 GBRTX 4090
Finomhangolás, teljesmore than 70 GBA100 80 GB or H100
A verziócsapda, ami egy napba kerül

A Pi0.5 és a SmolVLA a LeRobot v3.0-t igénylik. GR00T N1.7 és GR00T N1.5 a v2.0 vagy v2.1-et igénylik, és összeomlanak egy v3.0 adathalmazon. Egy felvételi munkamenet nem tudja mindkettőt táplálni konverzió nélkül, és a hibaüzenet nem mondja, hogy "wrong dataset version". Lásd: adathalmaz elutasítva: v3 szükséges.

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
A LeRobotDataset v3.0 dokumentációjából.

A platform legalább 50 epizódot igényel a Pi0.5-höz, ugyanazt a minimumot, mint a GR00T és az ACT. Az előképzés végzi a nehéz munkát, így 50 tiszta epizód jobb, mint 200 hanyag. Új vagy ebben? Kezdd a adatgyűjtési útmutatóval.

Az AY-Robots irányelvek oldala, amely összehasonlítja az öt betanítható irányelvet paraméterek, GPU szint, késleltetés és minimális epizódok alapján
A Pi0.5 az A100 és H100 szinten helyezkedik el, 485 ms/akciólépés sebességgel, minimum 50 epizóddal.

A útvonal: finomhangolás az openpi tárolóval

A referencia implementáció: először JAX, csak Ubuntu 22.04-en tesztelve, konfigurációs objektumok vezérlik, nem pedig flagek. Egy PyTorch útvonal 2025 szeptemberében érkezett, LIBERO-n validálva. Három lépés: adatok konvertálása, konfiguráció definiálása, betanítás és kiszolgálás.

  1. 1
    Klónozás és telepítés

    Az openpi uv-t használ. A GIT_LFS_SKIP_SMUDGE teszi lehetővé, hogy a LeRobot függőségként bekerüljön LFS blobok nélkül.

    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
    Adatok konvertálása LeRobot adatkészletté

    Az upstream LIBERO és DROID konvertereket szállít, és elvárja, hogy adaptáljon egyet. A munka a kulcsleképezés.

    bash
    uv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data
  3. 3
    Edzési konfiguráció hozzáadása

    A konfigurációk TrainConfig bejegyzések a src/openpi/training/config.py fájlban. Ez a pi05_droid_finetune-t adaptálja, a súlybetöltő a pi05_base-re mutat.

    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
    Normál statisztikák számítása

    A konfiguráció neve ellen fut, nem az adatkészlet ellen. Ennek kihagyása a klasszikus első hiba itt.

    bash
    uv run scripts/compute_norm_stats.py --config-name pi05_so100
  5. 5
    Betanítás

    A változó lehetővé teszi a JAX számára, hogy a GPU memória 90 százalékát használja az alapértelmezett 75 helyett. Egy 80 GB-os kártyán ez dönti el, hogy a futtatás sikeres lesz-e.

    bash
    XLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_so100 \
        --exp-name=my_experiment \
        --overwrite
  6. 6
    Kiszolgálás

    A szerver a 8000-es porton figyel, és válaszol a megfigyelési lekérdezésekre; a robot futásideje az ügyfél.

    bash
    uv run scripts/serve_policy.py policy:checkpoint \
        --policy.config=pi05_so100 \
        --policy.dir=checkpoints/pi05_so100/my_experiment/20000
A PyTorch út nem a JAX út

Az openpi PyTorch implementációja nem támogatja a pi0-FAST, vegyes precíziós, FSDP, LoRA vagy EMA súlyokat, így a 22.5 GB-ot elérő LoRA csak JAX-ban érhető el, a gemma_2b_lora és gemma_300m_lora variánsokon keresztül. Ráadásul: a beállítás felülírja a telepített transformers 4.53.2 fájljait javított fájlokkal, és a README figyelmeztet, hogy az uv alapértelmezett hardlink módjával ez tartósan módosítja a transformereket az uv gyorsítótárában, és más projektekbe is beszivároghat. Ezt a uv cache clean transformers paranccsal lehet visszavonni.

B útvonal: finomhangolás lerobot pi05-tel

A LeRobot port ugyanazokat a súlyokat foglalja magába abban a CLI-ben, amit már használsz a ACT és SmolVLA. Az alábbiak mindegyike a lerobot 0.6.1-gyel, a 2026. augusztus 3. óta megjelent kiadással, és a pi05 dokumentációjával lett ellenőrizve 2026. augusztus 23-án. A verziók itt számítanak: a v3.0 adatkészletek 2025 októberében érkeztek a 0.4.0-val, a 2026. március 9-i 0.5.0 blog bemutatja a pi0-FAST-ot és a Real-Time Chunkingot, a 2026. július 6-i 0.6.0 pedig könnyűvé tette az alapcsomagot, és a telepítést a lerobot-rollout-ra helyezte át.

Egy dolog nem változott: a lerobot-train és a lerobot-record már 2025 augusztusában, a 0.3.2-ben is belépési pontok voltak. Egy olyan oktatóanyag, amely még mindig a python -m lerobot.scripts.train parancsot hívja, egy évnyi változás előtt készült, és a többi részét is érdemes fenntartásokkal kezelni.

  1. 1
    Telepítés a megfelelő extrákkal

    A 0.6.0-s verzió óta az alaptelepítés csak az alapvető ML függőségeket tartalmazza, és a pi extra nem ad hozzá adatkészletet vagy képzési kódot, így a finomhangoláshoz a training extra is szükséges. Régebbi egysoros parancsok itt importáláskor hibát jeleznek.

    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
    Hitelesítés

    Fogadja el a paligemma-3b-pt-224 licencet egy böngészőben, majd jelentkezzen be a képzést végző gépen.

    bash
    hf auth login
  3. 3
    Kvantilis statisztikák hozzáadása

    A Pi0.5 kvantilisekkel normalizálja a STATE és ACTION értékeket, így a meta/stats.json-nak szüksége van q01 és q99 értékekre. Régebbi adatkészletek csak min, max, mean, std értékeket tartalmaznak.

    bash
    lerobot-edit-dataset \
        --repo_id your_dataset \
        --new_repo_id your_dataset \
        --operation.type recompute_stats \
        --operation.overwrite true
  4. 4
    Finomhangolás a lerobot/pi05_base-ből

    Állítsa be a kötegméretet (batch size) úgy, hogy a kártyája elbírja; a dokumentáció 64-et használ LIBERO-n 80 GB-nál. Adja meg a bfloat16-ot expliciten, a konfiguráció alapértelmezettje 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
    Futtatás a karon

    A 0.6.x verzióban ez a lerobot-rollout: a lerobot-record elutasítja a policy-t és az eval_ adatkészlet neveket. A Base vezérli a kart, a sentry rögzíti a rolloutot.

    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
ZászlóMit csinálMegjegyzés
--policy.type=pi05kiválasztja a Pi0.5-ötkötelező a pretrained_path-tal, hagyja el a --policy.path-tal
--policy.pretrained_pathcsak a súlyokat tölti bea funkciónevek az adatkészletéből származnak, a tárolt beállítások visszaállnak
--policy.pathsúlyok plusz a checkpoint config.jsona tárolt beállítások, mint például az n_action_steps, öröklődnek
--policy.n_action_stepsdarabonként felhasznált lépésekvisszaáll 50-re, soha nem haladja meg a chunk_size-t (alapértelmezett 50)
--policy.train_expert_onlybefagyasztja a VLM-et, képzi a szakértőtalapértelmezett hamis, kevesebb memória, némi költség a sikerben
--policy.gradient_checkpointingújraszámolja az aktivációkat a tárolás helyettalapértelmezett hamis, az első kar, ha egy futás nem fér el
--peft.method_type=LORALoRA adapterek a teljes súlyok helyettszükséges a peft extra, dokumentált példa a SmolVLA
--policy.rtc_training_max_delayakció-előtag kondicionálás az RTC-hezcsak a fő ágon, nincs benne a 0.6.1-ben, a chunk_size alatt kell maradnia
--rename_mapadatkészlet oszlopokat képez le a policy funkciókraszükséges, ha a kamera kulcsai eltérnek
A hiba, amibe a legtöbb első futás belefut

Kvantilisek nélkül ValueError: QUANTILES normalization mode requires q01 and q99 stats hibát kap az első kötegnél. Számolja újra a statisztikákat, de az eredmény a $HF_LEROBOT_HOME/your_dataset mappába kerül, nem a --dataset.repo_id által olvasott gyorsítótárba, ezért képezzen a --dataset.root oda mutatóval, vagy töltse fel a Hubra. Vagy hagyja ki a kvantiliseket a --policy.normalization_mapping='{"ACTION": "MEAN_STD", "STATE": "MEAN_STD", "VISUAL": "IDENTITY"}' paranccsal, ahogy a LIBERO referencia parancs is teszi.

Három alapértelmezett készlet, és melyek jutnak el a képzőhöz

Az openpi TrainConfig a referencia, a LeRobot PI05Config az, amit a lerobot-train használ, ha nem ad meg semmit, és az itt található űrlap egy harmadik készletet küld. A meglepetés a tanulási ráta: mindkét upstream alapértelmezett érték 2.5e-5-nél tetőzik, míg az openpi saját pi05_libero konfigurációja és ez a platform 5e-5-re emeli.

Beállításopenpi TrainConfiglerobot pi05 and lerobot-trainAY-Robots küld
Kötegelt méret3281
Csúcs tanulási ráta2.5e-5, koszinuszos lecsengésoptimizer_lr 2.5e-55e-5
Képzési lépések30,000100,00030,000
Ellenőrzőpont intervallum1,000 lépés20,000 lépésnincs az űrlapon
Mag421,000az űrlapon
Akció darabaction_horizon 50chunk_size 50, n_action_steps 50nincs az űrlapon
Súly adattípusbfloat16float32, amíg nem adja át a --policy.dtype paramétertnincs az űrlapon
Gradiens akkumulációnincs ilyen beállítás, helyette fsdp_deviceseddig minden kiadásból hiányzik16, és elvetésre kerül

Hű a port? A LeRobot csapat további 6k lépésen keresztül finomhangolta a LIBERO alapmodellt, és összehasonlította az openpi referenciaértékeivel négy tesztcsomagban: 97,5 százalékos átlag a 96,85 ellenében, a Libero 10-en előrébb, a Spatial-on hátrébb. Az útvonal egy eszközválasztás, nem minőségi döntés.

Pi0.5 finomhangolása saját adatokon
Előnyök
  • Több mint 10 000 órányi robot előképzés áll mögötte, így 50 epizód a feladatából elegendő lehet.
  • Folyamatos akciók: nincs tokenizáló, amit hangolni kellene, nincs diszkretizációs korlát az ízületi szögeken.
  • A LeRobot port 97,5 százalékot ér el a LIBERO átlagán az openpi 96,85-ével szemben, így a barátságosabb CLI mérhetően semmibe sem kerül.
  • Paraméter-hatékony útvonalak mindkét oldalon: az openpi JAX LoRA variánsai, a LeRobot PEFT integrációja.
Kompromisszumok
  • A teljes finomhangoláshoz több mint 70 GB szükséges. A 22,5 GB-os LoRA adat az openpi JAX száma; a pi05-höz PEFT alatt nem publikáltak adatot.
  • 485 ms akció lépésenként, a leglassabb az itt lévő ötből: kétszer SmolVLA, huszonnégy-szer ACT.
  • LeRobot v3.0 szükséges, így egy GR00T futtatáshoz rögzített adatkészletet konvertálni kell, és fordítva.
  • Az új opciók először a main ágon jelennek meg: a képzési idejű RTC és MEM memória nincs benne a 0.6.1-ben, így a legújabb dokumentációk a git-ből való telepítést jelenthetik.

A 485 ms valóság, és hol válik használhatatlanná

Ez dönti el a projektjét, ezért a költségtáblázat előtt szerepel. A műveleti lépésenként, amelyet itt a Pi0.5-nél mértek, 485 ms. A másik négyhez képest:

SzabályzatKövetkeztetés műveleti lépésenkéntParaméterekGPU szintMinimális epizódok száma
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
Az AY-Robots összehasonlító oldala a GR00T N1.7 és a Pi0.5 között, paraméterekkel, GPU szinttel, késleltetéssel és adathalmaz formátummal
Azonos GPU szint, azonos epizód alsó határ, eltérő adathalmaz verzió, háromszoros késleltetési különbség.
Az inferenciának a szervók mellett kell lennie

Az öt modell vezérlőhurka 20-485 ms-ot fut egy akció lépésenként. A nyilvános interneten keresztüli oda-vissza utak a 485 ms-on felül egy működő irányelvet bizonytalanná tesznek. A távoli inferencia lassú pick-and-place feladatokhoz életképes, de gyors reaktív mozgáshoz nem. Inkább ezt mondanánk, mintsem egy olyan demót adnánk el, ami csak LAN-on működik. Ha a karja megáll a darabok között, kezdje a politika megfagy a mozgás közepén résznél.

Az upstreamnek van válasza, és a fele már benne van a telepíthető kiadásban. A valós idejű darabolás (Real-Time Chunking) generálja a következő darabot, miközben a kar még az aktuálisat hajtja végre, majd irányítja az új darab átfedő lépéseit, hogy közel maradjanak a már végrehajtott részhez, így a kar nem áll le vagy rángatózik az illesztésnél. Az inferencia-idejű forma a 0.4.2-es változásnaplóban került kiadásra a Pi0, Pi0.5 és SmolVLA modellekhez, és egy bevezetési (rollout) flag, nem pedig újratanítás:

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
Az execution_horizon azt jelenti, hogy az új darabnak hány lépésben kell egyeznie az előző darabbal; az RTC dokumentációja szerint a szokásos tartomány 8-12. Az alapértelmezett inferencia backend a --inference.type=sync.

Ez nem gyorsítja fel a modellt. Elrejti a rést: a 485 ms továbbra is eltelik, de nem a kritikus útvonalon, így a sor nem ürül ki a darabok között. Az arXiv 2512.05964-ből származó képzési idejű változat tovább megy: a modell megtanul egy tiszta akció-előtagra kondicionálni, így az inferencia során az átfedés keményen be van festve akciónkénti áramlási időlépésekkel a vezetés helyett, és a vezetés visszamenőleges passza eltűnik. A képzés során mintavételez egy előtaghosszt példánként, és az áramlási veszteséget a fennmaradó utótagra alkalmazza. Ez a flag csak a main ágon él, nem a 0.6.1-ben, és a késleltetés, amire tanít, a chunk_size alatt kell maradjon.

Két módja a Pi0.5 ellenőrzőpont megszerzésének

Bérelsz vagy birtokolsz egy 80 GB-os kártyát, telepíted a fenti stackek egyikét, konvertálod az adatkészletedet és felügyeled a futtatást. Minden beállítást megtartasz: az openpi JAX LoRA-ját, a LeRobot PEFT adaptereit, a relatív műveleteket, az egyedi billentyűkiosztásokat. Minden hibát is megtartasz.

  • Hardver: A100 80 GB vagy H100, vagy egy 24 GB-os kártya az openpi JAX LoRA útvonalán.
  • Beállítás: egy délután az első futtatáshoz, főleg billentyűkiosztás és a zárt tokenizáló.
  • Nem elérhető a hosztolt űrlapon: PEFT adapterek, relatív műveletek, edzési idejű RTC, MEM memória.
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
Ez a parancs nem fut hosztolt űrlapon, és a pip sem tudja telepíteni: az edzési idejű RTC egy fő ági flag.

Amikor nem működik

TünetLegvalószínűbb ok
A futtatás elutasítva az indulás előttAdatkészlet v2.1, de a Pi0.5 v3.0-t akar, vagy fordítva a GR00T esetében
ImportError, hiányzik a datasets csomaglerobot 0.6.x a training extra nélkül
ValueError a q01 és q99-ről az első batch-enNincsenek kvantilisek a meta/stats.json-ban; számolja újra vagy használja a MEAN_STD-t
CUDA memória kifogyott a 0. lépésnélTeljes finomhangolás 70 GB alatt; próbálja meg az ellenőrzőpontozást vagy a train_expert_only-t
401-es vagy zárt repo hibaPaliGemma tokenizáló licenc nem elfogadva
A veszteség csökken, a robot nem csinál semmitNormalizációs eltérés, vagy a szabályzat másolja az állapotot
A kar szünetel a darabok közöttLépésenkénti késleltetés plusz oda-vissza út; a darabok sora kiürül
Egy beállításban működik, egy másikban hibázikTúl kevés epizód, vagy mind egy konfigurációban

Mennyibe kerül egy futtatás

A Pi0.5 a drága kategóriába tartozik, mert egy 80 GB-os kártyát igényel, és a spot árak ingadoznak, így az adat inkább egy tartomány, mint egy fix ár. Számos SO-100 feladathoz először tanítsa be a SmolVLA vagy az ACT-t a 24 GB-os kategóriában, győződjön meg róla, hogy a feladat egyáltalán megtanulható, majd fordítson rá A100 órákat. A Tanítsa be első szabályzatát végigvezeti ezen az olcsóbb cikluson, és az árazás tartalmazza az aktuális kategóriákat.

KategóriaSzabályzatokTipikus futtatásÁr óránkéntKöltség futtatásonként
A100 80 GB vagy H100Pi0.5, GR00T N1.7, GR00T N1.53-6 óra1.20-2.00 USDkörülbelül 4-12 USD
RTX 4090 vagy bármely 24 GB-os kártyaSmolVLA, ACT2-5 óra0.30-0.60 USDkörülbelül 1-3 USD
Az AY-Robots költségtáblázata, amely megmutatja, hogy melyik GPU-ra van szüksége az egyes irányelveknek, a tipikus futási időt és árat, valamint azt, hogy hány epizódra van szükség, mielőtt egy irányelv hasznos lenne
Ugyanaz a két szint a termékoldalon: a Pi0.5 a 80 GB-os kártyát bérli, a SmolVLA és az ACT elfér egy 4090-esen.

Mielőtt elkötelezne egy estét: GR00T N1.7 a Pi0.5 ellen és Pi0.5 a SmolVLA ellen ugyanazokat a számokat mutatják be egymás ellen. Az Aréna 85 VLA modellt tartalmaz 332 benchmark eredménnyel, mindegyik a forrásához kapcsolódik, és a család háttere megtalálható VLA áttekintésünkben.

Pi0.5 betanítása a stack felépítése nélkül

Válassza ki az adatkészletet és a hiperparamétereket egy űrlapon. A backend bérel egy 80 GB-os kártyát a spot piacon, futtatja a trénert, és a checkpointokat objektumtárolóba írja. Útmutatók az SO-100, SO-101, Koch v1.1 és LeKiwi számára.

Nyissa meg a betanítási útmutatókat
Finomhangolhatom a Pi0.5-öt egy RTX 4090-en?

Nem teljes finomhangolás: az openpi több mint 70 GB-ot sorol fel ehhez, tehát egy A100 80 GB-os vagy egy H100-as kártya szükséges. A 22.5 GB-os LoRA adat a JAX útvonalhoz tartozik; a PyTorch implementáció nem tartalmaz LoRA-t. A LeRobot PEFT integrációja létezik, de dokumentált példája a SmolVLA, és nincs közzétéve VRAM adat a pi05-höz.

Hány epizódra van szükségem?

Ötven, ugyanaz a minimum, mint a GR00T és az ACT esetében; csak a SmolVLA megy alacsonyabbra, 30-ra. Az alap checkpoint több mint 10 000 órányi előzetes betanítást tartalmaz, így a finomhangolás inkább alkalmazkodik, mintsem a semmiből tanul: 50 tiszta, változatos epizód jobb, mint kétszáz egyetlen konfigurációból.

Mi a különbség a --policy.path és a --policy.pretrained_path között?

--policy.path betölti a súlyokat és a checkpoint config.json fájlját, így az olyan tárolt beállítások, mint az n_action_steps, öröklődnek, és a --policy.type-ot el kell hagyni. A --policy.pretrained_path csak a súlyokat tölti be: a funkciónevek az adatkészletből származnak, a tárolt beállítások visszaállnak, a --policy.type kötelező. Ezért adja át a LIBERO parancs az n_action_steps=10 és empty_cameras=1 paramétereket explicit módon; különben visszaállnak 50-re és 0-ra.

Az nyílt verzió a teljes Pi0.5-öt adja a tanulmányból?

Nem. Mindkettő csak a flow matching action head-et támogatja. A diszkrét tokenes előzetes betanítási szakasz a FAST action tokenizerrel és a magas szintű alfeladat-előrejelzéssel nem került kiadásra, és a lerobot/pi05_base kártya RL-t is hozzáad ehhez a listához, annak ellenére, hogy a pi0.5 tanulmány nem ír le megerősítő tanulási szakaszt. Ön egy alacsony szintű irányelvet tanít be egy Ön által megadott nyelvi stringre kondicionálva, nem pedig egy olyan modellt, amely maga bontja fel a hosszú feladatot.

Mely verziókhoz készült ez az útmutató?

Az openpi a main ágon és a lerobot 0.6.1, a 2026. augusztus 3. óta kiadott verzió, mindkettő 2026. augusztus 23-án lett olvasva. A v3.0 adatkészletek 0.4.0-val érkeztek 2025 októberében. A 0.6.0 könnyűvé tette az alapcsomagot, így a lerobot[pi] önmagában már nem telepít betanítási stack-et, és a telepítést a lerobot-rollout-ra helyezte át. A betanítási idejű RTC csak a main ágon érhető el; az itt üzemeltetett tréner 0.5.1-et futtat.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started