Matriks latihan AY-Robots dengan lima polisi sebagai baris dan empat lengan robot sebagai lajur, setiap sel adalah pautan ke panduan penalaan halus tertentu
Pi0.5Padanan AliranLatihan VLALeRobotPenalaan Halus

Cara Melatih Pi0.5 Menggunakan Data Robot Anda Sendiri

AY-Robots ResearchAugust 23, 202616 min baca

Lakukan penalaan halus Pi0.5, VLA padanan aliran dari Physical Intelligence, menggunakan data robot anda sendiri. Perintah sebenar untuk openpi dan lerobot pi05, perangkap format set data, had VRAM dan kependaman.

Pi0.5 ialah model yang anda gunakan apabila sesuatu polisi perlu berfungsi dalam bilik yang belum pernah dilihatnya. Ia juga yang paling rumit antara lima polisi boleh latih di sini untuk penalaan halus secara manual: repositori huluan adalah JAX dahulu, port LeRobot memindahkan penggunaan keluar dari lerobot-record dalam 0.6.0 dan menjadikan pemasangan asas terlalu kecil untuk dilatih, dan penalaan halus penuh tidak muat pada 4090. Di bawah: apa yang padanan aliran kos pada inferens, dua laluan arahan, dan nombor 485 ms yang menentukan sama ada hasilnya boleh digunakan.

Apa yang perlu anda tahu

  • VLA padanan aliran: VLM PaliGemma 3B ditambah pakar tindakan 300M yang menyahkod cebisan tindakan berterusan. Dua laluan untuk menala halusnya, openpi dan LeRobot pi05, 0.65 mata berbeza pada purata LIBERO.
  • Penalaan halus penuh memerlukan lebih daripada 70 GB VRAM. openpi menyenaraikan LoRA pada 22.5 GB, hanya pada laluan JAXnya.
  • Set data mestilah LeRobotDataset v3.0 dengan kuantil q01 dan q99 dalam meta/stats.json, atau kelompok pertama akan gagal.
  • Semak versi lerobot anda dahulu: 0.6.0 menjadikan pakej asas ringan dan memindahkan penggunaan keluar dari lerobot-record.
  • Di sini ia berjalan pada 485 ms setiap langkah tindakan, memerlukan 50 episod, dan berharga kira-kira 4 hingga 12 USD setiap larian.

Apa sebenarnya Pi0.5

Physical Intelligence menerbitkan pi0 pada Oktober 2024: sebuah padanan aliran model tindakan bahasa-penglihatan pada VLM pra-latih: PaliGemma pada 3 bilion parameter ditambah pakar tindakan 300M yang dimulakan dari awal, 3.3 bilion secara keseluruhan. Kertas kerja itu melaporkan pra-latihan selama lebih 10,000 jam data robot merentasi 7 konfigurasi robot dan 68 tugas. Lebih lanjut dalam artikel pi0.

Pi0.5 (arXiv 2504.16054, 22 April 2025) mengekalkan rangka tersebut dan mengubah diet latihan: data web, pengesanan objek, arahan lisan daripada manusia yang melatih robot, label subtugas, data rentas-embodimen daripada robot di banyak rumah. Hasilnya ialah robot yang membersihkan dapur di rumah-rumah yang tidak termasuk dalam set latihan. README openpi menambah butiran yang tiada pada tajuk: pi0.5 yang dikeluarkan dilatih dengan penebat pengetahuan (arXiv 2505.23705).

Ciripi0pi0.5
Varian tulang belakang VLMgemma_2b (PaliGemma)gemma_2b (PaliGemma)
Varian pakar tindakangemma_300mgemma_300m
action_dim3232
action_horizon lalai5050
max_token_len48200
input keadaan diskretfalsetrue, keadaan didiskretkan ke dalam tong dalam gesaan
Titik semak asasgs://openpi-assets/checkpoints/pi0_basegs://openpi-assets/checkpoints/pi05_base
Apa yang umum bukanlah keseluruhan kertas kerja

README openpi adalah jelas: repositori ini hanya menyokong kepala padanan aliran (flow matching head), untuk latihan dan inferens pi0.5. Kertas kerja ini menerangkan dua peringkat dan kod hanya membawa yang kedua: pra-latihan mewakili setiap tindakan sebagai token diskret melalui tokenizer FAST, dan semasa penggunaan model menyimpulkan subtugas peringkat tinggi sebelum setiap cebisan tindakan. Tiada satu pun daripada itu dalam repositori. Kad lerobot/pi05_base memberikan senarai yang sama dan menambah RL, walaupun kertas pi0.5 tidak menerangkan sebarang peringkat pembelajaran pengukuhan sama sekali. Port LeRobot mewarisi skop itu, begitu juga setiap pelatih yang dihoskan di atasnya, termasuk yang di sini. Pelesenan juga terbahagi: halaman dokumen pi05 menyatakan Apache 2.0, kad lerobot/pi05_base ditandakan license: gemma.

Apa yang diubah oleh padanan aliran mengenai latihan dan inferens

Satu polisi yang boleh anda latih pada SO-100 sama ada meregres tindakan secara langsung (ACT) atau menokenkannya dan menyahkod secara autoregresif (pi0-FAST). Padanan aliran tidak melakukan kedua-duanya: ia mempelajari medan vektor yang mengangkut hingar kepada ketulan tindakan yang bersih, kemudian mengintegrasikannya. Kertas kerja pi0 menggunakan 10 langkah integrasi pada saiz langkah 0.1; konfigurasi pi05 LeRobot membawa num_inference_steps: int = 10 yang sama.

  • Latihan: kerugian meregres ketulan tindakan yang bising. Tiada tokenizer untuk ditala, tiada diskretisasi sudut sendi anda.
  • Inferens: satu ketulan memerlukan sepuluh laluan ke hadapan melalui pakar tindakan. Itu adalah struktur, bukan masalah penalaan.
  • Output: tindakan berterusan berdimensi 32, dipadatkan secara dalaman, kerugian diambil pada dimensi yang dimiliki robot anda. Lengan 6-DoF ditambah pengepit menggunakan 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
Dibaca dari src/openpi/models/pi0_config.py pada cawangan utama openpi, 23 Ogos 2026.

Tulang belakang PaliGemma, dan gerbang di hadapannya

PaliGemma (arXiv 2407.07726) ialah pengekod penglihatan SigLIP-So400m pada model bahasa Gemma-2B, kira-kira 3B parameter. Pi0.5 mewarisi tokenizernya, dan tokenizer itu berada dalam repositori berpagar. Ini adalah cara paling biasa larian pertama gagal, sebelum langkah latihan.

Terima lesen berpagar sebelum anda menyewa GPU

Dokumen LeRobot pi05 menyatakan dengan jelas: pi0.5 menggunakan tokenizer google/paligemma-3b-pt-224 yang berpagar, jadi terima lesennya di Hub dan jalankan hf auth login terlebih dahulu. Akses diberikan secara manual, bukan serta-merta. Langkaukannya, mulakan larian awan berbayar, dan anda membayar untuk pod yang tidak dapat memuat turun tokenizer.

Sebelum anda bermula: format set data, episod, perkakasan

Pi0.5 dalam LeRobot membaca set data LeRobot dalam susun atur v3.0, yang disertakan dengan lerobot 0.4.0 pada Oktober 2025: banyak episod setiap fail Parquet dan MP4 dan bukannya satu fail setiap episod, dengan sempadan dalam meta/episodes/ dan bukannya nama fail. Rekod dengan klien desktop atau ikuti rekod set data pertama anda dan anda memilikinya.

ModMemori GPU diperlukanContoh GPU
Inferensmore than 8 GBRTX 4090
Penalaan halus, LoRAmore than 22.5 GBRTX 4090
Penalaan halus, penuhmore than 70 GBA100 80 GB or H100
Perangkap versi yang merugikan sehari

Pi0.5 dan SmolVLA memerlukan LeRobot v3.0. GR00T N1.7 dan GR00T N1.5 memerlukan v2.0 atau v2.1 dan akan ranap pada set data v3.0. Satu sesi rakaman tidak boleh menyuap kedua-duanya tanpa penukaran, dan ralat tidak menyatakan "wrong dataset version". Lihat set data ditolak: v3 diperlukan.

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
Daripada dokumentasi LeRobotDataset v3.0.

Platform ini memerlukan sekurang-kurangnya 50 episod untuk Pi0.5, had yang sama seperti GR00T dan ACT. Pra-latihan melakukan kerja berat, jadi 50 episod bersih lebih baik daripada 200 episod yang tidak kemas. Baru dalam hal ini? Mulakan dengan panduan pengumpulan data.

Halaman dasar AY-Robots membandingkan lima dasar yang boleh dilatih mengikut parameter, peringkat GPU, kependaman dan episod minimum
Pi0.5 berada dalam peringkat A100 dan H100 pada 485 ms setiap langkah tindakan, dengan had minimum 50 episod.

Laluan A: penalaan halus dengan repositori openpi

Pelaksanaan rujukan: JAX dahulu, diuji pada Ubuntu 22.04 sahaja, didorong oleh objek konfigurasi dan bukannya bendera. Laluan PyTorch tiba pada September 2025, disahkan pada LIBERO. Tiga langkah: tukar data anda, takrifkan konfigurasi, latih dan hidangkan.

  1. 1
    Klon dan pasang

    openpi menggunakan uv. GIT_LFS_SKIP_SMUDGE membolehkan LeRobot menjadi kebergantungan tanpa blob 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
    Tukar data anda kepada set data LeRobot

    Upstream menghantar penukar untuk LIBERO dan DROID dan menjangkakan anda untuk menyesuaikan salah satu daripadanya. Kerjanya adalah pemetaan kunci.

    bash
    uv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data
  3. 3
    Tambah konfigurasi latihan

    Konfigurasi adalah entri TrainConfig dalam src/openpi/training/config.py. Yang ini menyesuaikan pi05_droid_finetune, dengan pemuat berat menunjuk kepada 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
    Kira statistik norma

    Berjalan terhadap nama konfigurasi, bukan set data. Melangkauinya adalah kegagalan pertama yang klasik di sini.

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

    Pemboleh ubah membolehkan JAX menggunakan 90 peratus memori GPU dan bukannya 75 peratus lalai. Pada kad 80 GB, ini menentukan sama ada larian itu berjaya.

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

    Pelayan mendengar pada port 8000 dan menjawab pertanyaan pemerhatian; runtime robot anda adalah klien.

    bash
    uv run scripts/serve_policy.py policy:checkpoint \
        --policy.config=pi05_so100 \
        --policy.dir=checkpoints/pi05_so100/my_experiment/20000
Laluan PyTorch bukan laluan JAX

Implementasi PyTorch openpi tidak menyokong pi0-FAST, ketepatan campuran, FSDP, LoRA atau pemberat EMA, jadi LoRA yang mencapai 22.5 GB adalah JAX sahaja, melalui varian gemma_2b_lora dan gemma_300m_lora. Lebih teruk: persediaan ini menyalin fail yang ditampal ke atas transformers 4.53.2 yang anda pasang, dan README memberi amaran bahawa dengan mod hardlink lalai uv, ini secara kekal mengubah transformers dalam cache uv dan boleh bocor ke projek lain. Batalkannya dengan uv cache clean transformers.

Laluan B: penalaan halus dengan lerobot pi05

Port LeRobot membalut pemberat yang sama dalam CLI yang sudah anda gunakan untuk ACT dan SmolVLA. Semua yang di bawah telah disemak terhadap lerobot 0.6.1, keluaran sejak 3 Ogos 2026, dan dokumen pi05 pada 23 Ogos 2026. Versi adalah penting di sini: set data v3.0 tiba dengan 0.4.0 pada Oktober 2025, blog 0.5.0 pada 9 Mac 2026 membentangkan pi0-FAST dan Real-Time Chunking, dan 0.6.0 pada 6 Julai 2026 menjadikan pakej asas ringan dan memindahkan penggunaan ke lerobot-rollout.

Satu perkara tidak berubah: lerobot-train dan lerobot-record sudah menjadi titik masuk dalam 0.3.2, Ogos 2025. Tutorial yang masih memanggil python -m lerobot.scripts.train mendahului perubahan setahun dan patut diragui untuk selebihnya juga.

  1. 1
    Pasang dengan tambahan yang betul

    Sejak 0.6.0, pemasangan asas hanya membawa kebergantungan ML teras, dan tambahan pi tidak menambah kod set data atau latihan, jadi penalaan halus memerlukan tambahan latihan juga. Baris tunggal yang lebih lama gagal di sini pada masa import.

    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
    Sahkan

    Terima lesen paligemma-3b-pt-224 dalam pelayar, kemudian log masuk pada mesin yang melatih.

    bash
    hf auth login
  3. 3
    Tambah statistik kuantil

    Pi0.5 menormalkan STATE dan ACTION dengan kuantil, jadi meta/stats.json memerlukan q01 dan q99. Set data yang lebih lama hanya mengandungi min, maks, purata, std.

    bash
    lerobot-edit-dataset \
        --repo_id your_dataset \
        --new_repo_id your_dataset \
        --operation.type recompute_stats \
        --operation.overwrite true
  4. 4
    Penalaan halus dari lerobot/pi05_base

    Tetapkan saiz kelompok kepada apa yang kad anda mampu; dokumen menggunakan 64 pada LIBERO pada 80 GB. Lulus bfloat16 secara eksplisit, lalai konfigurasi adalah 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
    Jalankannya pada lengan robot

    Dalam 0.6.x ini adalah lerobot-rollout: lerobot-record menolak polisi dan menolak nama set data eval_. Base menggerakkan lengan, sentry merekodkan pelancaran.

    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
BenderaFungsinyaNota
--policy.type=pi05memilih Pi0.5diperlukan dengan pretrained_path, abaikan dengan --policy.path
--policy.pretrained_pathmemuatkan berat sahajanama ciri dari set data anda, tetapan tersimpan ditetapkan semula
--policy.pathberat serta config.json titik semaktetapan tersimpan seperti n_action_steps diwarisi
--policy.n_action_stepslangkah yang digunakan setiap cebisankembali kepada 50, tidak pernah melebihi chunk_size (lalai 50)
--policy.train_expert_onlymembekukan VLM, melatih pakarlalai false, kurang memori, sedikit kos dalam kejayaan
--policy.gradient_checkpointingmengira semula dan bukannya menyimpan pengaktifanlalai false, tuil pertama apabila larian tidak muat
--peft.method_type=LORApenyesuai LoRA dan bukannya berat penuhmemerlukan tambahan peft, contoh yang didokumenkan ialah SmolVLA
--policy.rtc_training_max_delaypenyediaan awalan tindakan untuk RTCcawangan utama sahaja, bukan dalam 0.6.1, mesti kekal di bawah chunk_size
--rename_mapmemetakan lajur set data kepada ciri polisidiperlukan apabila kunci kamera anda berbeza
Ralat yang sering dihadapi oleh kebanyakan larian pertama

Tanpa kuantil anda akan mendapat ValueError: QUANTILES normalization mode requires q01 and q99 stats pada kelompok pertama. Kira semula statistik, tetapi hasilnya akan berada di $HF_LEROBOT_HOME/your_dataset, bukan cache yang dibaca oleh --dataset.repo_id, jadi latih dengan --dataset.root menunjuk ke sana atau tolak ke Hub. Atau langkau kuantil dengan --policy.normalization_mapping='{"ACTION": "MEAN_STD", "STATE": "MEAN_STD", "VISUAL": "IDENTITY"}', seperti yang dilakukan oleh arahan rujukan LIBERO.

Tiga set lalai, dan yang mana sampai kepada pelatih

TrainConfig openpi adalah rujukan, PI05Config LeRobot adalah apa yang digunakan oleh lerobot-train apabila anda tidak menyatakan apa-apa, dan borang di sini menghantar set ketiga. Yang mengejutkan ialah kadar pembelajaran: kedua-dua lalai hulu memuncak pada 2.5e-5, manakala konfigurasi pi05_libero openpi sendiri dan platform ini meningkatkannya kepada 5e-5.

Tetapanopenpi TrainConfiglerobot pi05 dan lerobot-trainAY-Robots hantar
Saiz kelompok3281
Kadar pembelajaran puncak2.5e-5, susutan kosinusoptimizer_lr 2.5e-55e-5
Langkah latihan30,000100,00030,000
Selang titik semak1,000 langkah20,000 langkahtiada dalam borang
Benih421,000dalam borang
Cebisan tindakanaction_horizon 50chunk_size 50, n_action_steps 50tiada dalam borang
Jenis data beratbfloat16float32 sehingga anda lulus --policy.dtypetiada dalam borang
Pengumpulan kecerunantiada tombol sedemikian, fsdp_devices sebaliknyatiada dalam setiap keluaran setakat ini16, dan ia digugurkan

Adakah port itu setia? Pasukan LeRobot menala halus model asas LIBERO untuk 6k langkah lagi dan membandingkan dengan nombor rujukan openpi pada empat suite: purata 97.5 peratus berbanding 96.85, mendahului pada Libero 10, ketinggalan pada Spatial. Laluan ini adalah pilihan perkakas, bukan pilihan kualiti.

Penalaan halus Pi0.5 pada data anda sendiri
Kelebihan
  • Lebih daripada 10,000 jam pra-latihan robot di belakangnya, jadi 50 episod tugas anda mungkin mencukupi.
  • Tindakan berterusan: tiada tokeniser untuk ditala, tiada lantai diskretisasi pada sudut sendi anda.
  • Port LeRobot mencatat 97.5 peratus pada purata LIBERO berbanding 96.85 openpi, jadi CLI yang lebih mesra tidak menelan kos yang boleh diukur.
  • Laluan cekap parameter pada kedua-dua belah: varian JAX LoRA openpi, integrasi PEFT LeRobot.
Pertukaran
  • Penalaan halus penuh memerlukan lebih daripada 70 GB. Angka LoRA 22.5 GB adalah nombor JAX openpi; tiada yang diterbitkan untuk pi05 di bawah PEFT.
  • 485 ms setiap langkah tindakan, paling perlahan antara lima di sini: dua kali SmolVLA, dua puluh empat kali ACT.
  • LeRobot v3.0 diperlukan, jadi set data yang direkodkan untuk larian GR00T perlu ditukar, dan sebaliknya.
  • Pilihan baharu mendarat di utama dahulu: memori RTC dan MEM masa latihan tiada dalam 0.6.1, jadi dokumen terbaharu boleh bermakna pemasangan dari git.

Realiti 485 ms, dan di mana ia berhenti menjadi boleh digunakan

Ini menentukan projek anda, jadi ia datang sebelum jadual kos. per langkah tindakan yang diukur di sini untuk Pi0.5 ialah 485 ms. Berbanding dengan empat yang lain:

DasarInferens per langkah tindakanParameterTahap GPUEpisod minimum
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
Halaman perbandingan AY-Robots untuk GR00T N1.7 berbanding Pi0.5, dengan parameter, tahap GPU, latensi dan format set data
Tahap GPU yang sama, lantai episod yang sama, versi set data yang berbeza, jurang latensi tiga kali ganda.
Inferens perlu berada di sebelah servo

Gelung kawalan merentasi lima model ini berjalan 20 hingga 485 ms setiap langkah tindakan. Perjalanan pergi balik internet awam di atas 485 ms menjadikan polisi yang berfungsi menjadi ragu-ragu. Inferens jauh boleh dilaksanakan untuk pilih-dan-letak yang perlahan, bukan untuk gerakan reaktif yang pantas. Kami lebih suka menyatakan demikian daripada menjual demo yang hanya berfungsi pada LAN. Jika lengan anda berhenti seketika antara cebisan, mulakan pada polisi terhenti di tengah-tengah gerakan.

Upstream mempunyai jawapan, dan separuh daripadanya sudah ada dalam keluaran yang boleh anda pasang. Pencungkilan Masa Nyata (Real-Time Chunking) menjana cebisan seterusnya semasa lengan masih melaksanakan cebisan semasa, kemudian membimbing langkah-langkah bertindih cebisan baharu untuk kekal dekat dengan bahagian yang telah dilaksanakan, supaya lengan tidak terhenti atau tersentak pada sambungan. Bentuk masa inferens yang dihantar dalam changelog 0.4.2 untuk Pi0, Pi0.5 dan SmolVLA adalah bendera pelancaran, bukan latihan semula:

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 adalah berapa banyak langkah cebisan sebelumnya yang perlu dipersetujui oleh cebisan baharu; dokumen RTC memberikan 8 hingga 12 sebagai julat biasa. Backend inferens lalai ialah --inference.type=sync.

Ia tidak menjadikan model lebih pantas. Ia menyembunyikan jurang: 485 ms masih dibelanjakan, tetapi di luar laluan kritikal, jadi barisan tidak kering antara cebisan. Varian masa latihan dari arXiv 2512.05964 melangkah lebih jauh: model belajar untuk mengkondisikan awalan tindakan yang bersih, jadi pada inferens pertindihan diwarnakan secara keras dengan langkah masa aliran setiap tindakan dan bukannya dibimbing, dan laluan belakang bimbingan hilang. Semasa latihan, ia mengambil sampel panjang awalan setiap contoh dan mengambil kerugian aliran pada postfix yang tinggal. Bendera itu hanya terdapat pada main, bukan dalam 0.6.1, dan kelewatan yang anda latih perlu kekal di bawah chunk_size.

Dua cara untuk mendapatkan checkpoint Pi0.5

Anda menyewa atau memiliki kad 80 GB, memasang salah satu tumpukan di atas, menukar set data anda dan memantau jalannya. Anda mengekalkan setiap kawalan: JAX LoRA openpi, penyesuai PEFT LeRobot, tindakan relatif, pemetaan kunci tersuai. Anda juga mengekalkan setiap kegagalan.

  • Perkakasan: A100 80 GB atau H100, atau kad 24 GB pada laluan JAX LoRA openpi.
  • Persediaan: satu petang untuk larian pertama, kebanyakannya pemetaan kunci dan tokenizer berpagar.
  • Tidak terdapat pada borang hos: penyesuai PEFT, tindakan relatif, RTC masa latihan, memori 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
Perintah yang tidak dijalankan oleh borang hos, dan pip tidak boleh memasang: RTC masa latihan adalah bendera cawangan utama.

Apabila ia tidak berfungsi

SimptomPunca paling mungkin
Larian ditolak sebelum bermulaSet data v2.1 tetapi Pi0.5 mahukan v3.0, atau sebaliknya untuk GR00T
ImportError, pakej set data tiadalerobot 0.6.x tanpa tambahan latihan
ValueError mengenai q01 dan q99 pada kelompok satuTiada kuantil dalam meta/stats.json; kira semula atau gunakan MEAN_STD
CUDA kehabisan memori pada langkah 0Penalaan halus penuh di bawah 70 GB; cuba checkpointing atau train_expert_only
Ralat 401 atau repo berpagarLesen tokenizer PaliGemma tidak diterima
Kerugian menurun, robot tidak melakukan apa-apaKetidakpadanan normalisasi, atau polisi menyalin keadaan
Lengan berhenti seketika antara cebisanLatensi setiap langkah ditambah perjalanan pergi balik; barisan cebisan kering
Berfungsi dalam satu persediaan, gagal dalam yang lainTerlalu sedikit episod, atau semuanya dalam satu konfigurasi

Berapa kos satu larian

Pi0.5 berada dalam peringkat mahal kerana ia memerlukan kad 80 GB, dan harga spot berubah, jadi angka tersebut adalah julat dan bukannya harga. Untuk banyak tugas SO-100, latih SmolVLA atau ACT pada peringkat 24 GB terlebih dahulu, sahkan tugas itu boleh dipelajari sama sekali, kemudian luangkan jam A100 untuknya. Latih polisi pertama anda menerangkan gelung yang lebih murah itu, dan harga membawa peringkat semasa.

PeringkatPolisiLarian biasaHarga per jamKos per larian
A100 80 GB atau H100Pi0.5, GR00T N1.7, GR00T N1.53 hingga 6 jam1.20 to 2.00 USDkira-kira 4 hingga 12 USD
RTX 4090 atau mana-mana kad 24 GBSmolVLA, ACT2 hingga 5 jam0.30 to 0.60 USDkira-kira 1 hingga 3 USD
Jadual kos AY-Robots menunjukkan GPU yang diperlukan oleh setiap polisi, masa jalan dan harga biasa, serta berapa banyak episod yang diperlukan sebelum polisi itu berguna
Dua peringkat yang sama pada halaman produk: Pi0.5 menyewa kad 80 GB, SmolVLA dan ACT muat pada 4090.

Sebelum meluangkan masa petang: dan membentangkan nombor yang sama secara berhadapan. mengandungi 85 model VLA dengan 332 hasil penanda aras, setiap satu dipautkan kepada sumbernya, dan latar belakang mengenai keluarga tersebut terdapat dalam .

Latih Pi0.5 tanpa membina timbunan

Pilih set data dan hiperparameter dalam borang. Bahagian belakang menyewa kad 80 GB di pasaran spot, menjalankan pelatih dan menulis titik semak ke storan objek. Panduan untuk SO-100, SO-101, Koch v1.1 dan LeKiwi.

Buka panduan latihan
Bolehkah saya menala halus Pi0.5 pada RTX 4090?

Bukan penalaan halus penuh: openpi menyenaraikan lebih daripada 70 GB untuk itu, jadi A100 80 GB atau H100. Angka LoRA 22.5 GBnya adalah untuk laluan JAX; pelaksanaan PyTorch tidak mempunyai LoRA. Integrasi PEFT LeRobot wujud, tetapi contoh yang didokumenkan adalah SmolVLA dan tiada angka VRAM diterbitkan untuk pi05.

Berapa banyak episod yang saya perlukan?

Lima puluh, had yang sama seperti GR00T dan ACT; hanya SmolVLA yang lebih rendah, pada 30. Titik semak asas membawa lebih daripada 10,000 jam pra-latihan, jadi penalaan halus menyesuaikan diri daripada belajar dari kosong: 50 episod yang bersih dan pelbagai mengalahkan dua ratus dari satu konfigurasi.

Apakah perbezaan antara --policy.path dan --policy.pretrained_path?

--policy.path memuatkan pemberat dan config.json titik semak, jadi tetapan yang disimpan seperti n_action_steps diwarisi dan --policy.type mesti diabaikan. --policy.pretrained_path memuatkan pemberat sahaja: nama ciri datang dari set data anda, tetapan yang disimpan diset semula, --policy.type diperlukan. Itulah sebabnya arahan LIBERO meluluskan n_action_steps=10 dan empty_cameras=1 secara eksplisit; jika tidak, ia akan kembali kepada 50 dan 0.

Adakah versi terbuka memberikan saya Pi0.5 penuh dari kertas kerja?

Tidak. Kedua-duanya hanya menyokong kepala tindakan padanan aliran. Peringkat pra-latihan token diskret dengan tokenisasi tindakan FAST dan ramalan subtugas peringkat tinggi tidak dikeluarkan, dan kad lerobot/pi05_base menambah RL ke senarai itu walaupun kertas pi0.5 tidak menerangkan peringkat pembelajaran pengukuhan. Anda melatih polisi peringkat rendah yang dikondisikan pada rentetan bahasa yang anda berikan, bukan model yang menguraikan tugas panjang itu sendiri.

Panduan ini ditulis berdasarkan versi yang mana?

openpi on main and lerobot 0.6.1, keluaran sejak 3 Ogos 2026, kedua-duanya dibaca pada 23 Ogos 2026. Set data v3.0 tiba dengan 0.4.0 pada Oktober 2025. 0.6.0 menjadikan pakej asas ringan, jadi lerobot[pi] sahaja tidak lagi memasang timbunan latihan, dan memindahkan penggunaan ke lerobot-rollout. RTC masa latihan hanya pada main; pelatih yang dihoskan di sini menjalankan 0.5.1.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started