Matrica e trajnimit AY-Robots me pesë politika si rreshta dhe katër krahë robotikë si kolona, çdo qelizë një lidhje drejt një udhëzuesi specifik të rregullimit të imët
Pi0.5Përputhja e FluksitTrajnimi i VLA-sëLeRobotRregullimi i imët

Si të trajnoni Pi0.5 në të dhënat tuaja të robotit

AY-Robots ResearchAugust 23, 202616 min lexim

Rregulloni imët Pi0.5, VLA-në e përputhjes së fluksit nga Physical Intelligence, në të dhënat tuaja të robotit. Komanda reale për openpi dhe lerobot pi05, kurthe të formatit të grupit të të dhënave, kufizime të VRAM-it dhe vonesës.

Pi0.5 është modeli që zgjidhni kur një politikë duhet të funksionojë në një dhomë që nuk e ka parë kurrë. Është gjithashtu më i vështiri nga pesë politikat e trajnueshme këtu për të akorduar imët me dorë: depoja upstream është JAX së pari, porti LeRobot e zhvendosi vendosjen jashtë lerobot-record në 0.6.0 dhe e bëri instalimin bazë shumë të vogël për t'u trajnuar, dhe një akordim i plotë nuk përshtatet në një 4090. Më poshtë: çfarë përputhja e fluksit kushton në inferencë, dy rrugët e komandës, dhe numri 485 ms që vendos nëse rezultati është i përdorshëm.

Çfarë duhet të dini

  • Një VLA me përputhje fluksi: një VLM PaliGemma 3B plus një ekspert veprimi 300M që dekodon pjesë veprimi të vazhdueshme. Dy rrugë për ta akorduar imët, openpi dhe LeRobot pi05, 0.65 pikë larg në mesataren LIBERO.
  • Akordimi i plotë kërkon më shumë se 70 GB VRAM. openpi liston LoRA në 22.5 GB, vetëm në rrugën e tij JAX.
  • Seti i të dhënave duhet të jetë LeRobotDataset v3.0 me kuantilet q01 dhe q99 në meta/stats.json, ose batch one do të dështojë.
  • Kontrolloni versionin tuaj të lerobot së pari: 0.6.0 e bëri paketën bazë të lehtë dhe e zhvendosi vendosjen jashtë lerobot-record.
  • Këtu funksionon në 485 ms për hap veprimi, kërkon 50 episode, dhe kushton rreth 4 deri në 12 USD për ekzekutim.

Çfarë është në të vërtetë Pi0.5

Physical Intelligence publikoi pi0 në tetor 2024: një model vizion-gjuhë-veprim me përputhje fluksi në një VLM të paratrajnuar: PaliGemma me 3 miliardë parametra plus një ekspert veprimi 300M i inicializuar nga e para, 3.3 miliardë në total. Punimi raporton paratrajnimin në mbi 10,000 orë të dhëna robotike në 7 konfigurime robotike dhe 68 detyra. Më shumë në artikullin pi0.

Pi0.5 (arXiv 2504.16054, 22 Prill 2025) ruan atë skelet dhe ndryshon dietën e trajnimit: të dhëna nga uebi, zbulimi i objekteve, udhëzime verbale nga njerëzit që udhëzojnë robotin, etiketat e nën-detyrave, të dhëna ndër-trupi nga robotë në shumë shtëpi. Rezultati është një robot që pastron kuzhinat në shtëpi që nuk ishin në grupin e trajnimit. README i openpi shton një detaj që titulli nuk e bën: pi0.5 i lëshuar u trajnua me izolim të njohurive (arXiv 2505.23705).

Vetiapi0pi0.5
Varianti i shtyllës kurrizore VLMgemma_2b (PaliGemma)gemma_2b (PaliGemma)
Varianti i ekspertit të veprimitgemma_300mgemma_300m
action_dim3232
horizonti i veprimit parazgjedhur5050
max_token_len48200
hyrja e gjendjes diskretefalsetrue, gjendja e diskretizuar në kosha në prompt
Pika bazë e kontrollitgs://openpi-assets/checkpoints/pi0_basegs://openpi-assets/checkpoints/pi05_base
Ajo që është publike nuk është i gjithë punimi

README i openpi është i qartë: depoja mbështet vetëm kokën e përputhjes së fluksit, si për trajnimin ashtu edhe për inferencën e pi0.5. Punimi përshkruan dy faza dhe kodi përmban vetëm të dytën: para-trajnimi paraqet çdo veprim si shenja diskrete përmes tokenizuesit FAST, dhe në vendosje modeli inferon një nën-detyrë të nivelit të lartë para çdo blloku veprimi. Asnjëra prej tyre nuk është në depo. Karta lerobot/pi05_base jep të njëjtën listë dhe shton RL, megjithëse punimi pi0.5 nuk përshkruan fare asnjë fazë të mësimit me përforcim. Porti LeRobot trashëgon atë fushëveprim, dhe po ashtu çdo trajner i hostuar në të, duke përfshirë atë këtu. Licencimi është gjithashtu i ndarë: faqja e dokumentacionit pi05 thotë Apache 2.0, karta lerobot/pi05_base është etiketuar license: gemma.

Çfarë ndryshon përputhja e fluksit në lidhje me trajnimin dhe inferencën

Një politikë që mund të trajnohet në një SO-100 ose regreson veprimet direkt (ACT) ose i tokenizon ato dhe i dekodon autoregresivisht (pi0-FAST). Përputhja e fluksit nuk bën asnjërën: ajo mëson një fushë vektoriale që transporton zhurmën në një copë veprimi, pastaj e integron atë. Punimi pi0 përdor 10 hapa integrimi me madhësi hapi 0.1; konfigurimi pi05 i LeRobot ka të njëjtën num_inference_steps: int = 10.

  • Trajnimi: humbja regreson një copë veprimi të zhurmuar. Asnjë tokenizues për t'u akorduar, asnjë diskretizim i këndeve tuaja të nyjeve.
  • Inferenca: një copë kushton dhjetë kalime përpara përmes ekspertit të veprimit. Kjo është strukturore, jo një problem akordimi.
  • Dalja: veprime të vazhdueshme të dimensionit 32, të mbushura brenda, humbja merret në dimensionet që ka roboti juaj. Një krah 6-DoF plus kapëse përdor 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
Lexuar nga src/openpi/models/pi0_config.py në degën kryesore openpi, 23 Gusht 2026.

Shtylla kurrizore PaliGemma, dhe porta para saj

PaliGemma (arXiv 2407.07726) është një enkoder vizual SigLIP-So400m në një model gjuhe Gemma-2B, rreth 3B parametra. Pi0.5 trashëgon tokenizuesin e tij, dhe ai tokenizues ndodhet në një depozitë të mbyllur. Kjo është mënyra më e zakonshme që një ekzekutim i parë dështon, para hapi i trajnimit.

Pranoni licencën e mbyllur para se të merrni me qira një GPU

Dokumentet e LeRobot pi05 e thonë qartë: pi0.5 përdor tokenizuesin e mbyllur google/paligemma-3b-pt-224, prandaj pranoni licencën e tij në Hub dhe ekzekutoni hf auth login së pari. Qasja jepet manualisht, jo menjëherë. Anashkalojeni, filloni një ekzekutim të paguar në cloud, dhe do të paguani për një pod që nuk mund të shkarkojë një tokenizues.

Para se të filloni: formati i grupit të të dhënave, episodet, hardueri

Pi0.5 në LeRobot lexon një grup të dhënash LeRobot në formatin v3.0, i cili erdhi me lerobot 0.4.0 në tetor 2025: shumë episode për skedar Parquet dhe MP4 në vend të një skedari për episod, me kufij në meta/episodes/ në vend të emrave të skedarëve. Regjistroni me klientin e desktopit ose ndiqni regjistroni grupin tuaj të parë të të dhënave dhe e keni.

MënyraMemoria GPU e kërkuarShembull GPU
Inferencamë shumë se 8 GBRTX 4090
Fine-tuning, LoRAmë shumë se 22.5 GBRTX 4090
Fine-tuning, i plotëmë shumë se 70 GBA100 80 GB ose H100
Kurthi i versionit që kushton një ditë

Pi0.5 dhe SmolVLA kërkojnë LeRobot v3.0. GR00T N1.7 dhe GR00T N1.5 kërkojnë v2.0 ose v2.1 dhe bien në gabim me një dataset v3.0. Një sesion regjistrimi nuk mund t'i ushqejë të dyja pa një konvertim, dhe gabimi nuk thotë "version i gabuar i dataset-it". Shih dataset i refuzuar: kërkohet 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
Nga dokumentacioni i LeRobotDataset v3.0.

Platforma kërkon të paktën 50 episode për Pi0.5, i njëjti prag si GR00T dhe ACT. Para-trajnimi bën punën e rëndë, kështu që 50 episode të pastra janë më të mira se 200 të çrregullta. I ri në këtë? Filloni me udhëzuesin e mbledhjes së të dhënave.

Faqja e politikave të AY-Robots që krahason pesë politikat e trajnueshme sipas parametrave, nivelit të GPU-së, latencës dhe numrit minimal të episodeve.
Pi0.5 ndodhet në nivelin A100 dhe H100 me 485 ms për hap veprimi, me një minimum prej 50 episodesh.

Rruga A: rregullim i imët me depozitën openpi

Implementimi i referencës: JAX së pari, i testuar vetëm në Ubuntu 22.04, i drejtuar nga objekte konfigurimi dhe jo nga flamuj. Një rrugë PyTorch mbërriti në shtator 2025, e vërtetuar në LIBERO. Tre hapa: konvertoni të dhënat tuaja, përcaktoni një konfigurim, trajnoni dhe shërbeni.

  1. 1
    Klononi dhe instaloni

    openpi përdor uv. GIT_LFS_SKIP_SMUDGE është ajo që lejon LeRobot të vijë si një varësi pa blob-e LFS.

    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
    Konvertoni të dhënat tuaja në një dataset LeRobot

    Upstream ofron konvertues për LIBERO dhe DROID dhe pret që ju të përshtatni njërin. Puna është hartimi i çelësave.

    bash
    uv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data
  3. 3
    Shtoni një konfigurim trajnimi

    Konfigurimet janë hyrje TrainConfig në src/openpi/training/config.py. Ky përshtat pi05_droid_finetune, me ngarkuesin e peshës të drejtuar te 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
    Llogaritni statistikat e normës

    Ekzekutohet kundrejt emrit të konfigurimit, jo dataset-it. Anashkalimi i tij është dështimi klasik i parë këtu.

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

    Variabli lejon JAX të përdorë 90 për qind të memories së GPU-së në vend të 75-ës së paracaktuar. Në një kartë 80 GB kjo vendos nëse ekzekutimi mbijeton.

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

    Serveri dëgjon në portën 8000 dhe u përgjigjet kërkesave të vëzhgimit; runtime-i i robotit tuaj është klienti.

    bash
    uv run scripts/serve_policy.py policy:checkpoint \
        --policy.config=pi05_so100 \
        --policy.dir=checkpoints/pi05_so100/my_experiment/20000
Rruga e PyTorch nuk është rruga e JAX

Implementimi i PyTorch i openpi nuk mbështet peshat pi0-FAST, precizion të përzier, FSDP, LoRA ose EMA, kështu që LoRA që arrin 22.5 GB është vetëm JAX, nëpërmjet varianteve gemma_2b_lora dhe gemma_300m_lora. Më keq: konfigurimi kopjon skedarët e patch-uar mbi transformers 4.53.2 të instaluar, dhe README paralajmëron se me modalitetin e parazgjedhur të hardlink-ut të uv, kjo modifikon përgjithmonë transformers në cache-in e uv dhe mund të ndikojë në projekte të tjera. Anulojeni me uv cache clean transformers.

Rruga B: rregullim i imët me lerobot pi05

Porta LeRobot përfshin të njëjtat pesha në CLI që tashmë përdorni për ACT dhe SmolVLA. Gjithçka më poshtë u kontrollua kundrejt lerobot 0.6.1, versionit që nga 3 gusht 2026, dhe dokumentacionit të pi05 më 23 gusht 2026. Versionet kanë rëndësi këtu: grupet e të dhënave v3.0 mbërritën me 0.4.0 në tetor 2025, blogu 0.5.0 i 9 marsit 2026 prezanton pi0-FAST dhe Real-Time Chunking, dhe 0.6.0 më 6 korrik 2026 e bëri paketën bazë të lehtë dhe e zhvendosi vendosjen në lerobot-rollout.

Një gjë nuk ndryshoi: lerobot-train dhe lerobot-record ishin tashmë pika hyrëse në 0.3.2, gusht 2025. Një tutorial që ende thërret python -m lerobot.scripts.train i paraprin një viti ndryshimesh dhe nuk është i besueshëm as për pjesën tjetër.

  1. 1
    Instaloni me shtesat e duhura

    Që nga versioni 0.6.0, instalimi bazë përmban vetëm varësitë thelbësore të ML-së, dhe shtesa pi nuk shton asnjë kod të të dhënave apo trajnimit, kështu që një fine-tune kërkon edhe shtesën e trajnimit. Komandat e vjetra me një rresht dështojnë këtu gjatë importimit.

    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
    Autentifikohuni

    Pranoni licencën paligemma-3b-pt-224 në një shfletues, pastaj kyçuni në makinën që kryen trajnimin.

    bash
    hf auth login
  3. 3
    Shtoni statistikat e kuantileve

    Pi0.5 normalizon STATE dhe ACTION me kuantile, kështu që meta/stats.json ka nevojë për q01 dhe q99. Setet e të dhënave të vjetra përmbajnë vetëm 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
    Fine-tune nga lerobot/pi05_base

    Vendosni madhësinë e batch-it sipas asaj që karta juaj mund të përballojë; dokumentacioni përdor 64 në LIBERO me 80 GB. Kaloni bfloat16 në mënyrë eksplicite, parazgjedhja e konfigurimit është 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
    Ekzekutojeni në krah

    Në 0.6.x kjo është lerobot-rollout: lerobot-record refuzon një policy dhe refuzon emrat e seteve të të dhënave eval_. Base drejton krahun, sentry regjistron rollout-in.

    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
FlamuriÇfarë bënShënim
--policy.type=pi05zgjedh Pi0.5e kërkuar me pretrained_path, lëreni jashtë me --policy.path
--policy.pretrained_pathngarkon vetëm peshatemrat e veçorive nga seti juaj i të dhënave, cilësimet e ruajtura rivendosen
--policy.pathpeshat plus config.json e checkpoint-itcilësimet e ruajtura si n_action_steps trashëgohen
--policy.n_action_stepshapat e konsumuar për chunkkthehet në 50, asnjëherë mbi chunk_size (parazgjedhja 50)
--policy.train_expert_onlyngrin VLM-në, trajnon ekspertinparazgjedhja false, më pak memorie, njëfarë kostoje në sukses
--policy.gradient_checkpointingrikalkulon në vend që të ruajë aktivizimetparazgjedhja false, leva e parë kur një ekzekutim nuk do të përshtatet
--peft.method_type=LORAadapterët LoRA në vend të peshave të plotakërkon shtesën peft, shembulli i dokumentuar është SmolVLA
--policy.rtc_training_max_delaykondicionimi i prefiksit të veprimit për RTCvetëm në degën kryesore, jo në 0.6.1, duhet të mbetet nën chunk_size
--rename_mapharton kolonat e setit të të dhënave në veçoritë e policy-te nevojshme kur çelësat e kamerës suaj ndryshojnë
Gabimi që hasin shumica e ekzekutimeve të para

Pa kuantile do të merrni ValueError: QUANTILES normalization mode requires q01 and q99 stats në batch-in e parë. Rikalkuloni statistikat, por rezultati përfundon në $HF_LEROBOT_HOME/your_dataset, jo në cache-in që lexon --dataset.repo_id, kështu që trajnoni me --dataset.root që tregon atje ose shtyjeni në Hub. Ose anashkaloni kuantilet me --policy.normalization_mapping='{"ACTION": "MEAN_STD", "STATE": "MEAN_STD", "VISUAL": "IDENTITY"}', siç bën komanda referencë e LIBERO-s.

Tre grupe parazgjedhjesh, dhe cilat prej tyre arrijnë te trajnuesi

TrainConfig i openpi është referenca, PI05Config i LeRobot është ajo që lerobot-train përdor kur nuk thoni asgjë, dhe formulari këtu dërgon një grup të tretë. Surpriza është shkalla e të mësuarit: të dy parazgjedhjet e sipërme arrijnë kulmin në 2.5e-5, ndërsa konfigurimi pi05_libero i openpi dhe kjo platformë e rrisin atë në 5e-5.

Cilësimiopenpi TrainConfiglerobot pi05 dhe lerobot-trainAY-Robots dërgon
Madhësia e grupit3281
Shkalla maksimale e të mësuarit2.5e-5, zbritje kosinusioptimizer_lr 2.5e-55e-5
Hapat e trajnimit30,000100,00030,000
Intervali i pikës së kontrollit1,000 hapa20,000 hapanuk është në formular
Fara421,000në formular
Blloku i veprimitaction_horizon 50chunk_size 50, n_action_steps 50nuk është në formular
Tipi i të dhënave të peshësbfloat16float32 derisa të kaloni --policy.dtypenuk është në formular
Akumulimi i gradientitnuk ka një rregullator të tillë, fsdp_devices në vend të kësajmungon në çdo version deri më tani16, dhe është hequr

A është i besueshëm porti? Ekipi i LeRobot rregulloi modelin bazë LIBERO për 6 mijë hapa të tjerë dhe e krahasoi me numrat referencë të openpi në katër suita: 97.5 për qind mesatarisht kundrejt 96.85, përpara në Libero 10, prapa në Spatial. Rruga është një zgjedhje mjetesh, jo cilësie.

Rregullimi i imët i Pi0.5 në të dhënat tuaja
Avantazhe
  • Më shumë se 10,000 orë para-trajnimi robotik pas tij, kështu që 50 episode të detyrës suaj mund të jenë të mjaftueshme.
  • Veprime të vazhdueshme: asnjë tokenizues për të rregulluar, asnjë kufi diskretizimi në këndet tuaja të kyçeve.
  • Porti LeRobot shënon 97.5 për qind në mesataren LIBERO kundrejt 96.85 të openpi, kështu që CLI më miqësor nuk kushton asgjë të matshme.
  • Shtigje efikase në parametra në të dy anët: variantet JAX LoRA të openpi, integrimi PEFT i LeRobot.
Kompromise
  • Rregullimi i plotë i imët kërkon më shumë se 70 GB. Shifra 22.5 GB LoRA është numri JAX i openpi; asnjë nuk është publikuar për pi05 nën PEFT.
  • 485 ms për hap veprimi, më i ngadalti nga pesë këtu: dy herë SmolVLA, njëzet e katër herë ACT.
  • Kërkohet LeRobot v3.0, kështu që një grup të dhënash i regjistruar për një ekzekutim GR00T duhet të konvertohet, dhe anasjelltas.
  • Opsionet e reja shfaqen së pari në main: RTC dhe memoria MEM gjatë trajnimit nuk janë në 0.6.1, kështu që dokumentet më të reja mund të nënkuptojnë instalimin nga git.

Realiteti i 485 ms, dhe ku pushon të jetë i përdorshëm

Kjo vendos për projektin tuaj, prandaj vjen para tabelës së kostos. për hap veprimi e matur këtu për Pi0.5 është 485 ms. Kundrejt katër të tjerave:

PolitikaInferenca për hap veprimiParametratNiveli i GPU-sëEpizodat minimale
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
Faqja krahasuese e AY-Robots për GR00T N1.7 kundrejt Pi0.5, me parametra, nivel GPU, vonesë dhe format të grupit të të dhënave
I njëjti nivel GPU, i njëjti prag epizodash, version i ndryshëm i grupit të të dhënave, hendek trefish i vonesës.
Inferenca duhet të jetë pranë servove

Cikli i kontrollit në këto pesë modele zgjat 20 deri në 485 ms për hap veprimi. Udhëtimet vajtje-ardhje në internetin publik, mbi 485 ms, e kthejnë një politikë funksionale në një të hezituar. Inferenca në distancë është e realizueshme për marrje-vendosje të ngadaltë, jo për lëvizje të shpejtë reaktive. Më mirë ta themi këtë sesa të shesim një demo që funksionon vetëm në një LAN. Nëse krahu juaj ndalon midis copave, filloni te politika ngrin në mes të lëvizjes.

Upstream ka një përgjigje, dhe gjysma e saj është tashmë në versionin që mund të instaloni. Chunking në Kohë Reale gjeneron copën tjetër ndërsa krahu është ende duke ekzekutuar atë aktualen, pastaj udhëzon hapat mbivendosës të copës së re të qëndrojnë afër pjesës së ekzekutuar tashmë, në mënyrë që krahu të mos ngecë ose të dridhet në bashkim. Forma e kohës së inferencës u dërgua në changelog-un 0.4.2 për Pi0, Pi0.5 dhe SmolVLA dhe është një flamur shpërndarjeje, jo një ritrajnim:

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 është numri i hapave të copës së mëparshme me të cilat duhet të pajtohet e reja; dokumentet e RTC japin 8 deri në 12 si diapazonin e zakonshëm. Backend-i i inferencës i parazgjedhur është --inference.type=sync.

Nuk e bën modelin më të shpejtë. Ajo fsheh boshllëkun: 485 ms ende shpenzohen, por jashtë rrugës kritike, kështu që radha nuk thahet midis copave. Varianti i kohës së trajnimit nga arXiv 2512.05964 shkon më tej: modeli mëson të kushtëzohet nga një prefiks veprimi i pastër, kështu që në inferencë mbivendosja është e pikturuar fort me hapa kohorë të rrjedhës për veprim në vend të udhëzuar, dhe kalimi i pasmë i udhëzimit zhduket. Gjatë trajnimit, ai merr një gjatësi prefiksi për shembull dhe merr humbjen e rrjedhës në prapashtesën e mbetur. Ai flamur ekziston vetëm në main, jo në 0.6.1, dhe vonesa për të cilën trajnoni duhet të mbetet nën chunk_size.

Dy mënyra për të marrë një pikë kontrolli Pi0.5

Ju merrni me qira ose zotëroni një kartë 80 GB, instaloni një nga stack-et e mësipërme, konvertoni setin tuaj të të dhënave dhe mbikëqyrni ekzekutimin. Ju mbani çdo kontroll: JAX LoRA e openpi, adapterët PEFT të LeRobot, veprimet relative, hartimet e personalizuara të çelësave. Ju gjithashtu mbani çdo dështim.

  • Hardware: A100 80 GB ose H100, ose një kartë 24 GB në rrugën JAX LoRA të openpi.
  • Konfigurimi: një pasdite për ekzekutimin e parë, kryesisht hartimi i çelësave dhe tokenizuesi i mbyllur.
  • Jo në formën e hostuar: adapterët PEFT, veprimet relative, RTC gjatë trajnimit, memoria 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
Komanda që asnjë formë e hostuar nuk e ekzekuton, dhe pip nuk mund ta instalojë: RTC gjatë trajnimit është një flamur i degës kryesore.

Kur nuk funksionon

SimptomaShkaku më i mundshëm
Ekzekutimi u refuzua para se të fillonteSeti i të dhënave v2.1 por Pi0.5 kërkon v3.0, ose e kundërta për GR00T
ImportError, paketa e seteve të të dhënave mungonlerobot 0.6.x pa shtesën e trajnimit
ValueError rreth q01 dhe q99 në batch-in e parëNuk ka kuantile në meta/stats.json; rikomputoni ose përdorni MEAN_STD
CUDA pa memorie në hapin 0Fine-tune i plotë nën 70 GB; provoni checkpointing ose train_expert_only
Gabim 401 ose gabim i depozitës së mbyllurLicenca e tokenizuesit PaliGemma nuk është pranuar
Humbja bie, roboti nuk bën asgjëMospërputhje normalizimi, ose politika kopjon gjendjen
Krahu ndalon midis copaveLatencë për hap plus udhëtim vajtje-ardhje; radha e copave thahet
Funksionon në një konfigurim, dështon në një tjetërShumë pak episode, ose të gjitha në një konfigurim

Sa kushton një ekzekutim

Pi0.5 ndodhet në nivelin e shtrenjtë sepse kërkon një kartë 80 GB, dhe çmimet spot lëvizin, kështu që shifra është një interval dhe jo një çmim. Për shumë detyra SO-100, trajnoni SmolVLA ose ACT në nivelin 24 GB fillimisht, konfirmoni që detyra është e mësimshme, pastaj shpenzoni orë A100 për të. Trajnoni politikën tuaj të parë përshkruan atë cikël më të lirë, dhe çmimet përmban nivelet aktuale.

NiveliPolitikatEkzekutim tipikÇmimi për orëKostoja për ekzekutim
A100 80 GB ose H100Pi0.5, GR00T N1.7, GR00T N1.53 deri në 6 orë1.20 deri në 2.00 USDrreth 4 deri në 12 USD
RTX 4090 ose çdo kartë 24 GBSmolVLA, ACT2 deri në 5 orë0.30 deri në 0.60 USDrreth 1 deri në 3 USD
Tabela e kostove të AY-Robots që tregon se cilën GPU kërkon çdo politikë, kohën tipike të ekzekutimit dhe çmimin, dhe sa episode nevojiten para se një politikë të jetë e dobishme
Të njëjtat dy nivele në faqen e produktit: Pi0.5 merr me qira kartën 80 GB, SmolVLA dhe ACT përshtaten në një 4090.

Para se të angazhoheni për një mbrëmje: dhe paraqesin të njëjtat numra kokë më kokë. përmban 85 modele VLA me 332 rezultate benchmark, secila e lidhur me burimin e saj, dhe informacione rreth familjes gjenden në .

Trajnoni Pi0.5 pa ndërtuar stack-un

Zgjidhni grupin e të dhënave dhe hiperparametrat në një formular. Backend-i merr me qira një kartë 80 GB në tregun spot, ekzekuton trajnerin dhe shkruan pikat e kontrollit në ruajtjen e objekteve. Udhëzues për SO-100, SO-101, Koch v1.1 dhe LeKiwi.

Hapni udhëzuesit e trajnimit
A mund ta rregulloj Pi0.5 në një RTX 4090?

Jo një rregullim i plotë: openpi liston më shumë se 70 GB për këtë, pra një A100 80 GB ose një H100. Shifra e tij 22.5 GB LoRA i përket shtegut JAX; implementimi PyTorch nuk ka LoRA. Integrimi PEFT i LeRobot ekziston, por shembulli i tij i dokumentuar është SmolVLA dhe nuk është publikuar asnjë shifër VRAM për pi05.

Sa episode më duhen?

Pesëdhjetë, i njëjti nivel si GR00T dhe ACT; vetëm SmolVLA shkon më poshtë, në 30. Pika e kontrollit bazë mbart më shumë se 10,000 orë para-trajnimi, kështu që rregullimi përshtatet në vend që të mësojë nga asgjëja: 50 episode të pastra, të ndryshme mundin dyqind nga një konfigurim.

Cili është ndryshimi midis --policy.path dhe --policy.pretrained_path?

--policy.path ngarkon peshat dhe config.json e pikës së kontrollit, kështu që cilësimet e ruajtura si n_action_steps trashëgohen dhe --policy.type duhet të hiqet. --policy.pretrained_path ngarkon vetëm peshat: emrat e veçorive vijnë nga grupi juaj i të dhënave, cilësimet e ruajtura rivendosen, --policy.type kërkohet. Kjo është arsyeja pse komanda LIBERO kalon n_action_steps=10 dhe empty_cameras=1 në mënyrë eksplicite; përndryshe ato kthehen në 50 dhe 0.

A më jep versioni i hapur Pi0.5 të plotë nga punimi?

Jo. Të dyja mbështesin vetëm kokën e veprimit të përputhjes së fluksit. Faza e para-trajnimit me token diskret me tokenizuesin e veprimit FAST dhe parashikimi i nën-detyrave të nivelit të lartë nuk u lëshuan, dhe karta lerobot/pi05_base shton RL në atë listë edhe pse punimi pi0.5 nuk përshkruan asnjë fazë të mësimit përforcues. Ju trajnoni një politikë të nivelit të ulët të kushtëzuar nga një varg gjuhe që ju ofroni, jo një model që dekompozon vetë një detyrë të gjatë.

Kundër cilave versione është shkruar ky udhëzues?

openpi në main dhe lerobot 0.6.1, versioni që nga 3 gusht 2026, të dyja të lexuara më 23 gusht 2026. Grupet e të dhënave v3.0 mbërritën me 0.4.0 në tetor 2025. 0.6.0 e bëri paketën bazë të lehtë, kështu që lerobot[pi] vetëm nuk instalon më një stack trajnimi, dhe zhvendosi vendosjen në lerobot-rollout. RTC në kohë trajnimi është vetëm në main; trajneri i hostuar këtu ekzekuton 0.5.1.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started