
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).
| Eienskap | pi0 | pi0.5 |
|---|---|---|
| VLM ruggraatvariant | gemma_2b (PaliGemma) | gemma_2b (PaliGemma) |
| Aksie-ekspertvariant | gemma_300m | gemma_300m |
| action_dim | 32 | 32 |
| action_horizon default | 50 | 50 |
| max_token_len | 48 | 200 |
| discrete_state_input | false | true, toestand gediskretiseer in bakke in die prompt |
| Basis kontrolepunt | gs://openpi-assets/checkpoints/pi0_base | gs://openpi-assets/checkpoints/pi05_base |
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.
# 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 TrueDie 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.
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.
| Modus | Benodigde GPU-geheue | Voorbeeld GPU |
|---|---|---|
| Afleiding | more than 8 GB | RTX 4090 |
| Fyninstelling, LoRA | more than 22.5 GB | RTX 4090 |
| Fyninstelling, vol | more than 70 GB | A100 80 GB or H100 |
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.
# 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 offsetsDie 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.

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.
- 1Kloon en installeer
openpi gebruik uv. GIT_LFS_SKIP_SMUDGE is wat LeRobot as 'n afhanklikheid toelaat sonder LFS-blobs.
bashgit 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 . - 2Skakel 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.
bashuv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data - 3Voeg '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.
pythonTrainConfig( 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, ) - 4Bereken normstatistieke
Loop teen die konfigurasienaam, nie die datastel nie. Om dit oor te slaan is die klassieke eerste mislukking hier.
bashuv run scripts/compute_norm_stats.py --config-name pi05_so100 - 5Lei 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.
bashXLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_so100 \ --exp-name=my_experiment \ --overwrite - 6Bedien dit
Die bediener luister op poort 8000 en beantwoord waarnemingsnavrae; jou robot-looptyd is die kliënt.
bashuv run scripts/serve_policy.py policy:checkpoint \ --policy.config=pi05_so100 \ --policy.dir=checkpoints/pi05_so100/my_experiment/20000
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.
- 1Installeer 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]' - 2Verifieer
Aanvaar die paligemma-3b-pt-224 lisensie in 'n blaaier, meld dan aan op die masjien wat oplei.
bashhf auth login - 3Voeg 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.
bashlerobot-edit-dataset \ --repo_id your_dataset \ --new_repo_id your_dataset \ --operation.type recompute_stats \ --operation.overwrite true - 4Fyninstelling 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.
bashlerobot-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 - 5Loop 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.
bashlerobot-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
| Vlag | Wat dit doen | Nota |
|---|---|---|
| --policy.type=pi05 | kies Pi0.5 | vereis met pretrained_path, weglat met --policy.path |
| --policy.pretrained_path | laai slegs gewigte | kenmerkname van jou datastel, gestoorde instellings teruggestel |
| --policy.path | gewigte plus die kontrolepunt config.json | gestoorde instellings soos n_action_steps word geërf |
| --policy.n_action_steps | stappe verbruik per stuk | val terug na 50, nooit bo chunk_size (verstek 50) |
| --policy.train_expert_only | vries die VLM, lei die deskundige op | verstek vals, minder geheue, 'n mate van koste in sukses |
| --policy.gradient_checkpointing | herbereken in plaas van aktiverings stoor | verstek vals, die eerste hefboom wanneer 'n loop nie sal pas nie |
| --peft.method_type=LORA | LoRA adapters in plaas van volle gewigte | benodig die peft ekstra, gedokumenteerde voorbeeld is SmolVLA |
| --policy.rtc_training_max_delay | aksie-voorvoegsel kondisionering vir RTC | slegs hoofvertakking, nie in 0.6.1 nie, moet onder chunk_size bly |
| --rename_map | karteer datastelkolomme na beleidskenmerke | benodig wanneer jou kamera sleutels verskil |
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.
| Instelling | openpi TrainConfig | lerobot pi05 en lerobot-train | AY-Robots stuur |
|---|---|---|---|
| Batchgrootte | 32 | 8 | 1 |
| Piekleertempo | 2.5e-5, kosinusverval | optimizer_lr 2.5e-5 | 5e-5 |
| Opleidingstappe | 30,000 | 100,000 | 30,000 |
| Kontrolepuntinterval | 1,000 stappe | 20,000 stappe | nie in die vorm nie |
| Saad | 42 | 1,000 | in die vorm |
| Aksiebrok | action_horizon 50 | chunk_size 50, n_action_steps 50 | nie in die vorm nie |
| Gewig dtype | bfloat16 | float32 totdat jy --policy.dtype deurgee | nie in die vorm nie |
| Gradiëntakkumulasie | geen so 'n knop nie, fsdp_devices in plaas daarvan | afwesig van elke vrystelling tot dusver | 16, 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.
- 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.
- 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:
| Beleid | Inferensie per aksiestap | Parameters | GPU-vlak | Minimum episodes |
|---|---|---|---|---|
| ACT | 20 ms | ~80 M | RTX 4090 of enige 24 GB kaart | 50 |
| GR00T N1.7 | 152 ms | ~3 B | A100 80 GB of H100 80 GB | 50 |
| GR00T N1.5 | 165 ms | ~3 B | A100 80 GB of H100 80 GB | 50 |
| SmolVLA | 245 ms | ~450 M | RTX 4090 of enige 24 GB kaart | 30 |
| Pi0.5 | 485 ms | ~3 B | A100 80 GB of H100 80 GB | 50 |

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:
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=60Dit 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.
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=1000Jy kies model en datastel in die opleidingsvorm, die agterkant huur 'n GPU op 'n spotmark volgens vereiste VRAM, voer die opleier uit en skryf kontrolepunte na objekberging. Pi0.5 is hier slegs wolkgebaseerd. Gidse bestaan vir SO-100, SO-101, Koch v1.1 en LeKiwi.
| Instelling | Wat die platform vir Pi0.5 stuur |
|---|---|
| Basis kontrolepunt | lerobot/pi05_base |
| Beleidstipe | pi05 |
| Bondelgrootte | 1 |
| Leertempo | 5e-5 |
| Maksimum stappe | 30000 |
| Gradiëntakkumulasie | 16, maar sien die waarskuwing hieronder |
| Ekstra instellings in die vorm | seed, logFreq |
| Datastelformaat | LeRobot v3.0 |
| GPU-vlak | A100 80 GB of H100 80 GB |
Die opleier stuur 'n gradiëntakkumulasiewaarde van 16 en lerobot 0.5.1 het geen vlag om dit te ontvang nie, dus word dit weggelaat. Geen vrygestelde lerobot het een nie: die instelling bestaan slegs op die hoofvertakking, as --accelerator.gradient_accumulation.steps. Effektiewe bondelgrootte hier is 1, teenoor die 256 wat openpi se pi05_libero-konfigurasie gebruik. Dit is die moeite werd om te weet voordat jy 'n verlieskurwe lees. Die instelling is wel van toepassing op GR00T N1.7 en GR00T N1.5 lopies.
Afleiding werk op dieselfde manier: 'n pod word voorsien om die beleid te bedien en jou plaaslike kliënt kommunikeer daarmee. Die pod het 'n ledige waghond en vernietig homself, sodat 'n vergete oortjie nie stilweg faktureer nie. Die latensie-voorbehoud is van toepassing, en daarom wen ACT teen 20 ms dikwels 'n vinnige taak.
Wanneer dit nie werk nie
| Simptoom | Mees waarskynlike oorsaak |
|---|---|
| Loop verwerp voordat dit begin | Datastel v2.1 maar Pi0.5 wil v3.0 hê, of omgekeerd vir GR00T |
| ImportError, datastelle-pakket ontbreek | lerobot 0.6.x sonder die opleidingsekstra |
| ValueError oor q01 en q99 op bondel een | Geen kwantiele in meta/stats.json; herbereken of gebruik MEAN_STD |
| CUDA buite geheue by stap 0 | Volle fyninstelling onder 70 GB; probeer kontrolepunt of train_expert_only |
| 401 of geslote repo-fout | PaliGemma tokeniseerderlisensie nie aanvaar nie |
| Verlies daal, robot doen niks | Normaliseringswanverhouding, of die beleid kopieer die toestand |
| Arm pouseer tussen brokkies | Latensie per stap plus heen-en-weer; die brokkie-ry raak leeg |
| Werk in een opstelling, misluk in 'n ander | Te min episodes, of almal in een konfigurasie |
- Datastel verwerp: v3 benodig
- Onvoldoende geheue tydens opleiding
- Verlies daal, maar die beleid doen niks
- Beleid vries in die middel van beweging
- Beleid werk slegs in een opstelling
- Opleidingswerk sit vas in tou
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.
| Vlak | Beleide | Tipiese lopie | Prys per uur | Koste per lopie |
|---|---|---|---|---|
| A100 80 GB of H100 | Pi0.5, GR00T N1.7, GR00T N1.5 | 3 tot 6 ure | 1.20 tot 2.00 USD | ongeveer 4 tot 12 USD |
| RTX 4090 of enige 24 GB kaart | SmolVLA, ACT | 2 tot 5 ure | 0.30 tot 0.60 USD | ongeveer 1 tot 3 USD |

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 oopKan 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.
Sources
- Physical-Intelligence/openpi: open-source models and packages for robotics
- openpi training configs, including pi05_libero and pi05_droid_finetune
- pi0: A Vision-Language-Action Flow Model for General Robot Control
- pi0.5: a Vision-Language-Action Model with Open-World Generalization
- Knowledge Insulating Vision-Language-Action Models: Train Fast, Run Fast, Generalize Better
- PaliGemma: A versatile 3B VLM for transfer
- Training-Time Action Conditioning for Efficient Real-Time Chunking
- LeRobot pi05 documentation on the main branch, including training-time RTC
- LeRobot documentation: parameter efficient fine-tuning with PEFT
- LeRobotDataset v3.0 format documentation
- LeRobot release notes: v0.3.2 through v0.6.1, with the v0.6.0 breaking changes
- LeRobot v0.5.0: Scaling Every Dimension
- lerobot/pi05_base model card
- LeRobot documentation: Real-Time Chunking (RTC)
- openpi Pi0Config: the model defaults pi0 and pi05 inherit
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started