Die AY-Robots opleidingsmatriks met vyf beleide as rye en vier robotarms as kolomme, elke sel 'n skakel na 'n spesifieke fyninstelgids
Pi0.5VloeipasVLA OpleidingLeRobotFyninstelling

Hoe om Pi0.5 op Jou Eie Robotdata op te Lei

AY-Robots ResearchAugust 23, 202616 min lees

Stel Pi0.5, die vloeipas-VLA van Physical Intelligence, fyn in op jou eie robotdata. Werklike opdragte vir openpi en lerobot pi05, datastelformaat-valstrikke, VRAM- en latensiebeperkings.

Pi0.5 is die model waarvoor jy kies wanneer 'n beleid moet werk in 'n kamer wat dit nog nooit gesien het nie. Dit is ook die mees ongemaklike van die vyf opleibare beleide hier om fyninstel met die hand: die stroomop-bewaarplek is JAX eerste, die LeRobot-poort het ontplooiing uit lerobot-record in 0.6.0 verskuif en die basisinstallasie te klein gemaak om mee op te lei, en 'n volle fyninstelling pas nie op 'n 4090 nie. Hieronder: wat vloeipaspassing kos by inferensie, die twee opdragroetes, en die 485 ms-getal wat besluit of die resultaat bruikbaar is.

Wat jy moet weet

  • 'n Vloeipaspassing VLA: 'n 3B PaliGemma VLM plus 'n 300M aksie-ekspert wat deurlopende aksiebrokkies dekodeer. Twee roetes om dit fyn in te stel, openpi en LeRobot pi05, 0.65 punte uitmekaar op die LIBERO-gemiddelde.
  • Volle fyninstelling benodig meer as 70 GB VRAM. openpi lys LoRA teen 22.5 GB, slegs op sy JAX-pad.
  • Die datastel moet LeRobotDataset v3.0 wees met q01 en q99 kwantiele in meta/stats.json, anders gooi bondel een foute.
  • Kontroleer eers jou lerobot-weergawe: 0.6.0 het die basispakket liggewig gemaak en ontplooiing uit lerobot-record verskuif.
  • Hier loop dit teen 485 ms per aksiestap, benodig 50 episodes, en kos ongeveer 4 tot 12 USD per lopie.

Wat Pi0.5 werklik is

Physical Intelligence het pi0 in Oktober 2024 gepubliseer: 'n vloeipaspassing visie-taal-aksie-model op 'n vooraf-opgeleide VLM: PaliGemma met 3 miljard parameters plus 'n 300M aksie-ekspert wat van nuuts af geïnisialiseer is, 3.3 miljard in totaal. Die artikel rapporteer vooropleiding op meer as 10,000 uur se robotdata oor 7 robotkonfigurasies en 68 take. Meer in die pi0-artikel.

Pi0.5 (arXiv 2504.16054, 22 April 2025) behou daardie raamwerk en verander die opleidingsdieet: webdata, objekopsporing, verbale instruksies van mense wat die robot afrig, subtaaketikette, kruis-inkarnasie data van robotte in baie huise. Die resultaat is 'n robot wat kombuise skoonmaak in huise wat nie in die opleidingsstel was nie. Die openpi README voeg 'n detail by wat die titel nie doen nie: die vrygestelde pi0.5 is opgelei met kennis-isolasie (arXiv 2505.23705).

Eienskappi0pi0.5
VLM ruggraatvariantgemma_2b (PaliGemma)gemma_2b (PaliGemma)
Aksie-ekspertvariantgemma_300mgemma_300m
action_dim3232
action_horizon default5050
max_token_len48200
discrete_state_inputfalsetrue, toestand gediskretiseer in bakke in die prompt
Basis kontrolepuntgs://openpi-assets/checkpoints/pi0_basegs://openpi-assets/checkpoints/pi05_base
Wat publiek is, is nie die hele referaat nie

Die openpi README is eksplisiet: die bewaarplek ondersteun slegs die 'flow matching head', vir pi0.5 opleiding en inferensie. Die referaat beskryf twee fases en die kode bevat slegs die tweede: vooropleiding verteenwoordig elke aksie as diskrete tokens deur die FAST-tokeniseerder, en by ontplooiing lei die model 'n hoëvlak subtaak af voor elke aksie-stuk. Nie een van daardie is in die bewaarplek nie. Die lerobot/pi05_base kaart gee dieselfde lys en voeg RL by, alhoewel die pi0.5 referaat glad geen versterkingsleerfase beskryf nie. Die LeRobot-poort erf daardie omvang, en so ook elke gehuisvesde opleier daarop, insluitend die een hier. Lisensiëring is ook verdeel: die pi05-dokumentbladsy sê Apache 2.0, die lerobot/pi05_base kaart is gemerk license: gemma.

Wat 'flow matching' verander aan opleiding en inferensie

'n beleid wat jy op 'n SO-100 kan oplei, regresseer aksies direk (ACT) of tokeniseer dit en dekodeer outoregressief (pi0-FAST). Vloeipaspassing doen nie een van die twee nie: dit leer 'n vektorveld wat geraas na 'n skoon aksiebrok, en integreer dit dan. Die pi0-artikel gebruik 10 integrasiestappe teen 'n stapgrootte van 0.1; LeRobot se pi05-konfigurasie dra dieselfde `num_inference_steps: int = 10`.

  • Opleiding: die verlies regresseer 'n geraasde aksiebrok. Geen tokeniseerder om in te stel nie, geen diskretisering van jou gewrigshoeke nie.
  • Inferensie: een brok kos tien vorentoe-passe deur die aksie-ekspert. Dit is struktureel, nie 'n instellingsprobleem nie.
  • Uitvoer: kontinue aksies van dimensie 32, intern opgevul, verlies geneem op die dimensies wat jou robot het. 'n 6-DoF arm plus gryper gebruik 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
Gelees vanaf src/openpi/models/pi0_config.py op die openpi hoofvertakking, 23 Augustus 2026.

Die PaliGemma-ruggraat, en die hek daarvoor

PaliGemma (arXiv 2407.07726) is 'n SigLIP-So400m visie-enkodeerder op 'n Gemma-2B taalmodel, ongeveer 3B parameters. Pi0.5 erf sy tokeniseerder, en daardie tokeniseerder is in 'n omheinde bewaarplek. Dit is die mees algemene manier waarop 'n eerste lopie misluk, voor die eerste opleidingstap.

Aanvaar die omheinde lisensie voordat jy 'n GPU huur

Die LeRobot pi05-dokumentasie stel dit duidelik: pi0.5 gebruik die omheinde `google/paligemma-3b-pt-224` tokeniseerder, so aanvaar eers die lisensie op die Hub en voer `hf auth login` uit. Toegang word handmatig verleen, nie onmiddellik nie. Slaan dit oor, begin 'n betaalde wolk-lopie, en jy betaal vir 'n pod wat nie 'n tokeniseerder kan aflaai nie.

Voordat jy begin: datastelformaat, episodes, hardeware

Pi0.5 in LeRobot lees 'n LeRobot-datastel in v3.0-uitleg, wat met lerobot 0.4.0 in Oktober 2025 vrygestel is: baie episodes per Parquet- en MP4-lêer in plaas van een lêer per episode, met grense in meta/episodes/ eerder as lêername. Neem op met die rekenaarkliënt of volg neem jou eerste datastel op en jy het dit.

ModusBenodigde GPU-geheueVoorbeeld GPU
Afleidingmore than 8 GBRTX 4090
Fyninstelling, LoRAmore than 22.5 GBRTX 4090
Fyninstelling, volmore than 70 GBA100 80 GB or H100
Die weergaweval wat 'n dag kos

Pi0.5 en SmolVLA benodig LeRobot v3.0. GR00T N1.7 en GR00T N1.5 benodig v2.0 of v2.1 en stort ineen op 'n v3.0 datastel. 'n Enkele opnamesessie kan nie albei voed sonder 'n omskakeling nie, en die fout sê nie "wrong dataset version" nie. Sien datastel verwerp: v3 benodig.

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
Uit die LeRobotDataset v3.0 dokumentasie.

Die platform benodig ten minste 50 episodes vir Pi0.5, dieselfde minimum as GR00T en ACT. Vooropleiding doen die swaar werk, so 50 skoon episodes is beter as 200 slordige episodes. Nuut hiermee? Begin met die data-insamelingsgids.

Die AY-Robots beleidsbladsy wat die vyf opleibare beleide vergelyk volgens parameters, GPU-vlak, latensie en minimum episodes
Pi0.5 is in die A100- en H100-vlak teen 485 ms per aksiestap, met 'n minimum van 50 episodes.

Roete A: fyninstel met die openpi-bewaarplek

Die verwysingsimplementering: JAX eerste, slegs op Ubuntu 22.04 getoets, gedryf deur konfigurasie-objekte eerder as vlae. 'n PyTorch-pad het in September 2025 aangekom, gevalideer op LIBERO. Drie stappe: skakel jou data om, definieer 'n konfigurasie, lei op en bedien.

  1. 1
    Kloon en installeer

    openpi gebruik uv. GIT_LFS_SKIP_SMUDGE is wat LeRobot as 'n afhanklikheid toelaat sonder LFS-blobs.

    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
    Skakel jou data om na 'n LeRobot-datastel

    Stroomop lewer omsetters vir LIBERO en DROID en verwag dat jy een sal aanpas. Die werk is die sleutelmapping.

    bash
    uv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data
  3. 3
    Voeg 'n opleidingskonfigurasie by

    Konfigurasies is TrainConfig-inskrywings in src/openpi/training/config.py. Hierdie een pas pi05_droid_finetune aan, met die gewiglaaier wat na pi05_base wys.

    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
    Bereken normstatistieke

    Loop teen die konfigurasienaam, nie die datastel nie. Om dit oor te slaan is die klassieke eerste mislukking hier.

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

    Die veranderlike laat JAX 90 persent van GPU-geheue gebruik in plaas van die verstek 75. Op 'n 80 GB-kaart besluit dit of die uitvoering oorleef.

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

    Die bediener luister op poort 8000 en beantwoord waarnemingsnavrae; jou robot-looptyd is die kliënt.

    bash
    uv run scripts/serve_policy.py policy:checkpoint \
        --policy.config=pi05_so100 \
        --policy.dir=checkpoints/pi05_so100/my_experiment/20000
Die PyTorch-pad is nie die JAX-pad nie

openpi se PyTorch-implementering ondersteun nie pi0-FAST, gemengde presisie, FSDP, LoRA of EMA-gewigte nie, so die LoRA wat 22.5 GB bereik, is slegs JAX, deur die gemma_2b_lora en gemma_300m_lora variante. Erger nog: die opstelling kopieer gepatchte lêers oor jou geïnstalleerde transformers 4.53.2, en die README waarsku dat met uv se verstek hardlink-modus dit transformers permanent in die uv-kas wysig en in ander projekte kan insypel. Maak dit ongedaan met uv cache clean transformers.

Roete B: fyninstel met lerobot pi05

Die LeRobot-poort omsluit dieselfde gewigte in die CLI wat jy reeds gebruik vir ACT en SmolVLA. Alles hieronder is nagegaan teen lerobot 0.6.1, die vrystelling sedert 3 Augustus 2026, en die pi05-dokumente op 23 Augustus 2026. Weergawes is hier belangrik: v3.0 datastelle het met 0.4.0 in Oktober 2025 aangekom, die 0.5.0 blog van 9 Maart 2026 stel pi0-FAST en Real-Time Chunking bekend, en 0.6.0 op 6 Julie 2026 het die basispakket liggewig gemaak en ontplooiing na lerobot-rollout verskuif.

Een ding het nie verskuif nie: lerobot-train en lerobot-record was reeds toegangspunte in 0.3.2, Augustus 2025. 'n Tutoriaal wat steeds python -m lerobot.scripts.train aanroep, dateer 'n jaar van veranderinge voor en is ook die res daarvan onbetroubaar.

  1. 1
    Installeer met die regte ekstras

    Sedert 0.6.0 dra die basisinstallasie slegs kern ML-afhanklikhede, en die pi-ekstra voeg geen datastel- of opleidingskode by nie, so 'n fyninstelling benodig ook die opleidingsekstra. Ouer eenlyners misluk hier by invoertyd.

    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
    Verifieer

    Aanvaar die paligemma-3b-pt-224 lisensie in 'n blaaier, meld dan aan op die masjien wat oplei.

    bash
    hf auth login
  3. 3
    Voeg kwantielstatistieke by

    Pi0.5 normaliseer STATE en ACTION met kwantiele, so meta/stats.json benodig q01 en q99. Ouer datastelle bevat slegs min, maks, gemiddeld, std.

    bash
    lerobot-edit-dataset \
        --repo_id your_dataset \
        --new_repo_id your_dataset \
        --operation.type recompute_stats \
        --operation.overwrite true
  4. 4
    Fyninstelling vanaf lerobot/pi05_base

    Stel bondelgrootte in op wat jou kaart kan hanteer; die dokumente gebruik 64 op LIBERO teen 80 GB. Gee bfloat16 eksplisiet deur, die konfigurasie se verstek is 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
    Loop dit op die arm

    In 0.6.x is dit lerobot-rollout: lerobot-record weier 'n beleid en verwerp eval_ datastelname. Basis dryf die arm, sentry teken die uitrol aan.

    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
VlagWat dit doenNota
--policy.type=pi05kies Pi0.5vereis met pretrained_path, weglat met --policy.path
--policy.pretrained_pathlaai slegs gewigtekenmerkname van jou datastel, gestoorde instellings teruggestel
--policy.pathgewigte plus die kontrolepunt config.jsongestoorde instellings soos n_action_steps word geërf
--policy.n_action_stepsstappe verbruik per stukval terug na 50, nooit bo chunk_size (verstek 50)
--policy.train_expert_onlyvries die VLM, lei die deskundige opverstek vals, minder geheue, 'n mate van koste in sukses
--policy.gradient_checkpointingherbereken in plaas van aktiverings stoorverstek vals, die eerste hefboom wanneer 'n loop nie sal pas nie
--peft.method_type=LORALoRA adapters in plaas van volle gewigtebenodig die peft ekstra, gedokumenteerde voorbeeld is SmolVLA
--policy.rtc_training_max_delayaksie-voorvoegsel kondisionering vir RTCslegs hoofvertakking, nie in 0.6.1 nie, moet onder chunk_size bly
--rename_mapkarteer datastelkolomme na beleidskenmerkebenodig wanneer jou kamera sleutels verskil
Die fout wat die meeste eerste lopies tref

Sonder kwantiele kry jy ValueError: QUANTILES normalization mode requires q01 and q99 stats op bondel een. Herbereken die statistieke, maar die resultaat beland in $HF_LEROBOT_HOME/your_dataset, nie die kas wat --dataset.repo_id lees nie, so lei op met --dataset.root wat daarheen wys of stoot na die Hub. Of slaan kwantiele oor met --policy.normalization_mapping='{"ACTION": "MEAN_STD", "STATE": "MEAN_STD", "VISUAL": "IDENTITY"}', soos die LIBERO verwysingsbevel doen.

Drie stelle verstekwaardes, en watter die opleier bereik

openpi se TrainConfig is die verwysing, LeRobot se PI05Config is wat lerobot-train gebruik as jy niks sê nie, en die vorm hier stuur 'n derde stel. Die verrassing is die leertempo: beide stroomop verstekwaardes bereik 'n hoogtepunt van 2.5e-5, terwyl openpi se eie pi05_libero konfigurasie en hierdie platform dit verhoog na 5e-5.

Instellingopenpi TrainConfiglerobot pi05 en lerobot-trainAY-Robots stuur
Batchgrootte3281
Piekleertempo2.5e-5, kosinusvervaloptimizer_lr 2.5e-55e-5
Opleidingstappe30,000100,00030,000
Kontrolepuntinterval1,000 stappe20,000 stappenie in die vorm nie
Saad421,000in die vorm
Aksiebrokaction_horizon 50chunk_size 50, n_action_steps 50nie in die vorm nie
Gewig dtypebfloat16float32 totdat jy --policy.dtype deurgeenie in die vorm nie
Gradiëntakkumulasiegeen so 'n knop nie, fsdp_devices in plaas daarvanafwesig van elke vrystelling tot dusver16, en dit word weggelaat

Is die poort getrou? Die LeRobot-span het die LIBERO-basismodel vir 'n verdere 6k stappe verfyn en vergelyk met openpi se verwysingsgetalle op vier suites: 97.5 persent gemiddeld teenoor 96.85, voor op Libero 10, agter op Spatial. Die roete is 'n gereedskapkeuse, nie 'n kwaliteitkeuse nie.

Verfyning van Pi0.5 op jou eie data
Voordele
  • Meer as 10,000 uur se robotvooropleiding daaragter, so 50 episodes van jou taak kan genoeg wees.
  • Deurlopende aksies: geen tokeniseerder om in te stel nie, geen diskretiseringsvloer op jou gewrigshoeke nie.
  • Die LeRobot-poort behaal 97.5 persent op die LIBERO-gemiddelde teenoor openpi se 96.85, so die vriendeliker CLI kos niks meetbaars nie.
  • Parameter-doeltreffende paaie aan beide kante: openpi se JAX LoRA-variante, LeRobot se PEFT-integrasie.
Afwegings
  • Volledige verfyning benodig meer as 70 GB. Die 22.5 GB LoRA-syfer is openpi se JAX-getal; niks is gepubliseer vir pi05 onder PEFT nie.
  • 485 ms per aksiestap, die stadigste van die vyf hier: twee keer SmolVLA, vier-en-twintig keer ACT.
  • LeRobot v3.0 word benodig, so 'n datastel wat vir 'n GR00T-lopie opgeneem is, moet omgeskakel word, en omgekeerd.
  • Nuwe opsies land eers op main: opleidingstyd RTC en MEM geheue is nie in 0.6.1 nie, so die nuutste dokumente kan beteken om vanaf git te installeer.

Die 485 ms realiteit, en waar dit ophou bruikbaar wees

Dit besluit jou projek, so dit kom voor die kostetabel. Die per aksiestap wat hier vir Pi0.5 gemeet is, is 485 ms. Teenoor die ander vier:

BeleidInferensie per aksiestapParametersGPU-vlakMinimum episodes
ACT20 ms~80 MRTX 4090 of enige 24 GB kaart50
GR00T N1.7152 ms~3 BA100 80 GB of H100 80 GB50
GR00T N1.5165 ms~3 BA100 80 GB of H100 80 GB50
SmolVLA245 ms~450 MRTX 4090 of enige 24 GB kaart30
Pi0.5485 ms~3 BA100 80 GB of H100 80 GB50
Die AY-Robots kop-aan-kop bladsy vir GR00T N1.7 teen Pi0.5, met parameters, GPU-vlak, latensie en datastelformaat
Dieselfde GPU-vlak, dieselfde episode-vloer, verskillende datastelweergawe, drievoudige latensiegaping.
Afleiding moet langs die servos sit

Die beheerlus oor hierdie vyf modelle loop 20 tot 485 ms per aksiestap. Publieke-internet heen-en-weer reise bo-op 485 ms verander 'n werkende beleid in 'n huiwerige een. Afgeleë afleiding is lewensvatbaar vir stadige optel-en-plaas, nie vir vinnige reaktiewe beweging nie. Ons sou dit eerder sê as om 'n demo te verkoop wat net op 'n LAN werk. As jou arm tussen brokke pouseer, begin by beleid vries in die middel van beweging.

Stroomop het 'n antwoord, en die helfte daarvan is reeds in die vrystelling wat jy kan installeer. Intydse Brokking genereer die volgende brok terwyl die arm nog die huidige een uitvoer, en lei dan die oorvleuelende stappe van die nuwe brok om naby die reeds uitgevoerde deel te bly, sodat die arm nie stilstaan of ruk by die naat nie. Die afleidingstyd-vorm is in die 0.4.2 veranderingslogboek vir Pi0, Pi0.5 en SmolVLA verskeep en is 'n uitrolvlag, nie 'n heropleiding nie:

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 is hoeveel stappe van die vorige brok waarmee die nuwe een moet ooreenstem; die RTC-dokumente gee 8 tot 12 as die gewone reeks. Standaard afleiding-agterkant is --inference.type=sync.

Dit maak die model nie vinniger nie. Dit verberg die gaping: die 485 ms word steeds spandeer, maar buite die kritieke pad, sodat die tou nie tussen brokke opdroog nie. Die opleidingstyd-variant van arXiv 2512.05964 gaan verder: die model leer om te kondisioneer op 'n skoon aksievoorvoegsel, so by afleiding word die oorvleueling hard-ingeverf met per-aksie vloeitydstappe in plaas van gelei, en die leiding se terugwaartse pas verdwyn. Tydens opleiding monster dit 'n voorvoegsellengte per voorbeeld en neem die vloeiverlies op die oorblywende agtervoegsel. Daardie vlag is slegs op hoof, nie in 0.6.1 nie, en die vertraging waarvoor jy oplei, moet onder chunk_size bly.

Twee maniere om 'n Pi0.5-kontrolepunt te kry

Jy huur of besit 'n 80 GB-kaart, installeer een van die bogenoemde stapels, skakel jou datastel om en hou die loop dop. Jy behou elke instelling: openpi se JAX LoRA, LeRobot se PEFT-adapters, relatiewe aksies, pasgemaakte sleuteltoewysings. Jy behou ook elke mislukking.

  • Hardeware: A100 80 GB of H100, of 'n 24 GB-kaart op openpi se JAX LoRA-pad.
  • Opstelling: 'n middag vir die eerste loop, meestal sleuteltoewysing en die geslote tokeniseerder.
  • Nie op die gasheerplatform nie: PEFT-adapters, relatiewe aksies, opleidingstyd RTC, MEM-geheue.
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
Die opdrag wat geen gasheerplatform uitvoer nie, en pip kan nie installeer nie: opleidingstyd RTC is 'n hoofvertakking-vlag.

Wanneer dit nie werk nie

SimptoomMees waarskynlike oorsaak
Loop verwerp voordat dit beginDatastel v2.1 maar Pi0.5 wil v3.0 hê, of omgekeerd vir GR00T
ImportError, datastelle-pakket ontbreeklerobot 0.6.x sonder die opleidingsekstra
ValueError oor q01 en q99 op bondel eenGeen kwantiele in meta/stats.json; herbereken of gebruik MEAN_STD
CUDA buite geheue by stap 0Volle fyninstelling onder 70 GB; probeer kontrolepunt of train_expert_only
401 of geslote repo-foutPaliGemma tokeniseerderlisensie nie aanvaar nie
Verlies daal, robot doen niksNormaliseringswanverhouding, of die beleid kopieer die toestand
Arm pouseer tussen brokkiesLatensie per stap plus heen-en-weer; die brokkie-ry raak leeg
Werk in een opstelling, misluk in 'n anderTe min episodes, of almal in een konfigurasie

Wat een lopie kos

Pi0.5 is in die duur vlak omdat dit 'n 80 GB kaart benodig, en spotpryse beweeg, so die syfer is 'n reeks eerder as 'n prys. Vir baie SO-100 take, oefen SmolVLA of ACT op die 24 GB vlak eers, bevestig dat die taak hoegenaamd aanleerbaar is, spandeer dan A100 ure daaraan. Oefen jou eerste beleid loop daardie goedkoper lus, en pryse dra die huidige vlakke.

VlakBeleideTipiese lopiePrys per uurKoste per lopie
A100 80 GB of H100Pi0.5, GR00T N1.7, GR00T N1.53 tot 6 ure1.20 tot 2.00 USDongeveer 4 tot 12 USD
RTX 4090 of enige 24 GB kaartSmolVLA, ACT2 tot 5 ure0.30 tot 0.60 USDongeveer 1 tot 3 USD
Die AY-Robots kostetabel wat wys watter GPU elke beleid benodig, die tipiese looptyd en prys, en hoeveel episodes benodig word voordat 'n beleid nuttig is
Dieselfde twee vlakke op die produkbladsy: Pi0.5 huur die 80 GB kaart, SmolVLA en ACT pas op 'n 4090.

Voordat jy 'n aand daaraan wy: en lê dieselfde syfers kop aan kop uit. Die bevat 85 VLA-modelle met 332 maatstafresultate, elk gekoppel aan sy bron, en agtergrond oor die familie is in .

Lei Pi0.5 op sonder om die stapel te bou

Kies die datastel en die hiperparameters in 'n vorm. Die agterkant huur 'n 80 GB kaart op die spotmark, voer die opleier uit en skryf die kontrolepunte na objekberging. Gidse vir SO-100, SO-101, Koch v1.1 en LeKiwi.

Maak die opleidingsgidse oop
Kan ek Pi0.5 op 'n RTX 4090 fyninstel?

Nie 'n volle fyninstelling nie: openpi lys meer as 70 GB daarvoor, dus 'n A100 80 GB of 'n H100. Sy 22.5 GB LoRA-syfer behoort aan die JAX-pad; die PyTorch-implementering het geen LoRA nie. LeRobot se PEFT-integrasie bestaan, maar sy gedokumenteerde voorbeeld is SmolVLA en geen VRAM-syfer word vir pi05 gepubliseer nie.

Hoeveel episodes het ek nodig?

Vyftig, dieselfde minimum as GR00T en ACT; slegs SmolVLA gaan laer, op 30. Die basiskontrolepunt dra meer as 10,000 ure se vooropleiding, so die fyninstelling pas aan eerder as om van nuuts af te leer: 50 skoon, gevarieerde episodes is beter as tweehonderd van een konfigurasie.

Wat is die verskil tussen --policy.path en --policy.pretrained_path?

--policy.path laai gewigte en die kontrolepunt se config.json, so gestoorde instellings soos n_action_steps word geërf en --policy.type moet weggelaat word. --policy.pretrained_path laai slegs gewigte: kenmerkname kom van jou datastel, gestoorde instellings word teruggestel, --policy.type word vereis. Dit is hoekom die LIBERO-opdrag n_action_steps=10 en empty_cameras=1 eksplisiet deurgee; anders val hulle terug na 50 en 0.

Gee die oop weergawe my die volle Pi0.5 uit die referaat?

Nee. Beide ondersteun slegs die vloeipas-aksiekop. Die diskrete-token vooropleidingstadium met die FAST-aksietokenizer en die hoëvlak-subtaakvoorspelling is nie vrygestel nie, en die lerobot/pi05_base-kaart voeg RL by daardie lys alhoewel die pi0.5-referaat geen versterkingsleer-stadium beskryf nie. Jy lei 'n laevlak-beleid op wat gekondisioneer is op 'n taalstring wat jy verskaf, nie 'n model wat self 'n lang taak ontbind nie.

Teen watter weergawes is hierdie gids geskryf?

openpi op main en lerobot 0.6.1, die vrystelling sedert 3 Augustus 2026, beide gelees op 23 Augustus 2026. v3.0 datastelle het met 0.4.0 in Oktober 2025 aangekom. 0.6.0 het die basispakket liggewig gemaak, so lerobot[pi] alleen installeer nie meer 'n opleidingsstapel nie, en het ontplooiing na lerobot-rollout verskuif. Opleidingstyd RTC is slegs op main; die gasheer-opleier hier loop 0.5.1.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started