AY-Robots eğitim matrisi, satırlar halinde beş politika ve sütunlar halinde dört robot kolu içerir; her hücre belirli bir ince ayar kılavuzuna bağlantıdır.
Pi0.5Akış EşleştirmeVLA EğitimiLeRobotİnce Ayar

Pi0.5'i Kendi Robot Verilerinizle Nasıl Eğitirsiniz

AY-Robots ResearchAugust 23, 202616 dk okuma

Physical Intelligence'ın akış eşleştirmeli VLA'sı Pi0.5'i kendi robot verilerinizle ince ayarlayın. openpi ve lerobot pi05 için gerçek komutlar, veri kümesi format tuzakları, VRAM ve gecikme sınırları.

Pi0.5, bir politikanın daha önce hiç görmediği bir odada çalışması gerektiğinde başvuracağınız modeldir. Aynı zamanda buradaki beş eğitilebilir politikadan elle ince ayar yapmak için en zorlu olanıdır: yukarı akış deposu öncelikle JAX tabanlıdır, LeRobot portu 0.6.0 sürümünde dağıtımı lerobot-record'dan çıkarmış ve temel kurulumu eğitim için çok küçük hale getirmiştir ve tam bir ince ayar 4090'a sığmaz. Aşağıda: akış eşleştirmesinin çıkarım sırasında maliyeti, iki komut yolu ve sonucun kullanılabilir olup olmadığını belirleyen 485 ms'lik sayı yer almaktadır.

Bilmeniz Gerekenler

  • Akış eşleştirmeli bir VLA: 3B PaliGemma VLM artı sürekli eylem parçalarını çözen 300M'lik bir eylem uzmanı. İnce ayar yapmak için iki yol, openpi ve LeRobot pi05, LIBERO ortalamasında 0.65 puan farkla.
  • Tam ince ayar 70 GB'tan fazla VRAM gerektirir. openpi, LoRA'yı yalnızca JAX yolunda 22.5 GB olarak listeler.
  • Veri kümesi, meta/stats.json dosyasında q01 ve q99 nicelikleri bulunan LeRobotDataset v3.0 olmalıdır, aksi takdirde ilk toplu iş hata verir.
  • Önce lerobot sürümünüzü kontrol edin: 0.6.0, temel paketi hafifletti ve dağıtımı lerobot-record'dan çıkardı.
  • Burada eylem adımı başına 485 ms'de çalışır, 50 bölüm ister ve çalıştırma başına yaklaşık 4 ila 12 USD maliyeti vardır.

Pi0.5 Gerçekte Nedir

Physical Intelligence, Ekim 2024'te pi0'ı yayınladı: önceden eğitilmiş bir VLM üzerinde akış eşleştirmeli bir görsel-dil-eylem modeli: 3 milyar parametreli PaliGemma artı sıfırdan başlatılan 300M'lik bir eylem uzmanı, toplamda 3.3 milyar. Makale, 7 robot konfigürasyonu ve 68 görevde 10.000 saatin üzerinde robot verisi üzerinde ön eğitimi rapor etmektedir. Daha fazlası pi0 makalesinde.

Pi0.5 (arXiv 2504.16054, 22 Nisan 2025) bu iskeleti korur ve eğitim diyetini değiştirir: web verileri, nesne algılama, robotu eğiten insanlardan gelen sözlü talimatlar, alt görev etiketleri, birçok evdeki robotlardan gelen çapraz-beden verileri. Sonuç, eğitim setinde olmayan evlerde mutfakları temizleyen bir robottur. openpi README, başlığın içermediği bir ayrıntı ekler: yayınlanan pi0.5, bilgi izolasyonu (arXiv 2505.23705) ile eğitilmiştir.

Özellikpi0pi0.5
VLM omurga varyantıgemma_2b (PaliGemma)gemma_2b (PaliGemma)
Eylem uzmanı varyantıgemma_300mgemma_300m
action_dim3232
action_horizon varsayılan5050
max_token_len48200
discrete_state_inputfalsetrue, durum istemde bölmelere ayrılmıştır
Temel kontrol noktasıgs://openpi-assets/checkpoints/pi0_basegs://openpi-assets/checkpoints/pi05_base
Herkese açık olan, makalenin tamamı değildir

openpi README açıkça belirtir: depo, pi0.5 eğitimi ve çıkarımı için yalnızca akış eşleştirme başlığını destekler. Makale iki aşamayı tanımlar ve kod yalnızca ikincisini taşır: ön eğitim, her eylemi FAST belirteci aracılığıyla ayrık belirteçler olarak temsil eder ve dağıtımda model, her eylem öbeğinden önce yüksek seviyeli bir alt görevi çıkarır. Bunların hiçbiri depoda değildir. lerobot/pi05_base kartı aynı listeyi verir ve RL ekler, ancak pi0.5 makalesi hiçbir takviyeli öğrenme aşaması tanımlamaz. LeRobot portu bu kapsamı miras alır ve buradaki dahil olmak üzere üzerindeki her barındırılan eğitmen de öyle. Lisanslama da bölünmüştür: pi05 belge sayfası Apache 2.0 derken, lerobot/pi05_base kartı license: gemma olarak etiketlenmiştir.

Akış eşleştirmenin eğitim ve çıkarım hakkında değiştirdikleri

SO-100 üzerinde eğitebileceğiniz bir ilke eylemleri doğrudan regresyonla (ACT) veya onları tokenize edip otoregresif olarak çözerek (pi0-FAST) gerçekleştirir. Akış eşleştirme ikisini de yapmaz: gürültüyü temiz bir eylem öbeğine taşıyan bir vektör alanı öğrenir, sonra onu entegre eder. pi0 makalesi 0.1 adım boyutunda 10 entegrasyon adımı kullanır; LeRobot'un pi05 yapılandırması aynı num_inference_steps: int = 10 değerini taşır.

  • Eğitim: kayıp, gürültülü bir eylem öbeğini regresyonla işler. Ayarlanacak bir belirteçleyici yok, eklem açılarının ayrıklaştırılması yok.
  • Çıkarım: bir öbek, eylem uzmanı üzerinden on ileri geçişe mal olur. Bu yapısal bir durumdur, bir ayarlama problemi değildir.
  • Çıktı: dahili olarak doldurulmuş, 32 boyutlu sürekli eylemler, robotunuzun sahip olduğu boyutlar üzerinden kayıp alınır. 6-Serbestlik Dereceli bir kol artı tutucu 7 kullanır.
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
openpi ana dalındaki src/openpi/models/pi0_config.py dosyasından okundu, 23 Ağustos 2026.

PaliGemma omurgası ve önündeki geçit

PaliGemma (arXiv 2407.07726), yaklaşık 3B parametreye sahip bir Gemma-2B dil modeli üzerinde SigLIP-So400m bir görüntü kodlayıcıdır. Pi0.5, belirteçleyicisini (tokenizer) ondan miras alır ve bu belirteçleyici, erişimi kısıtlı bir depoda bulunur. İlk çalıştırmanın, ilk eğitim adımı öncesinde başarısız olmasının en yaygın yolu budur.

Bir GPU kiralamadan önce kısıtlı lisansı kabul edin

LeRobot pi05 belgeleri açıkça belirtiyor: pi0.5, erişimi kısıtlı google/paligemma-3b-pt-224 belirteçleyicisini (tokenizer) kullanır, bu nedenle önce Hub'daki lisansını kabul edin ve hf auth login komutunu çalıştırın. Erişim anında değil, manuel olarak verilir. Bunu atlarsanız, ücretli bir bulut çalıştırması başlatırsınız ve bir belirteçleyiciyi indiremeyen bir pod için ödeme yapmış olursunuz.

Başlamadan önce: veri kümesi formatı, bölümler, donanım

LeRobot'taki Pi0.5, lerobot 0.4.0 ile Ekim 2025'te gelen v3.0 düzeninde bir LeRobot veri kümesi okur: sınırlar dosya adlarında değil meta/episodes/ içinde olmak üzere, her bölüm için bir dosya yerine her Parquet ve MP4 dosyası başına birden fazla bölüm bulunur. masaüstü istemcisi ile kaydedin veya ilk veri kümenizi kaydedin adımlarını izleyin, böylece hazır olur.

ModGerekli GPU belleğiÖrnek GPU
Çıkarımmore than 8 GBRTX 4090
İnce ayar, LoRAmore than 22.5 GBRTX 4090
İnce ayar, tammore than 70 GBA100 80 GB or H100
Bir güne mal olan sürüm tuzağı

Pi0.5 ve SmolVLA, LeRobot v3.0 gerektirir. GR00T N1.7 ve GR00T N1.5, v2.0 veya v2.1 gerektirir ve v3.0 veri kümesinde çöker. Tek bir kayıt oturumu, dönüştürme olmadan her ikisini de besleyemez ve hata "yanlış veri kümesi sürümü" demez. veri kümesi reddedildi: v3 gerekli bölümüne bakın.

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

Platform, Pi0.5 için en az 50 bölüm istiyor; bu, GR00T ve ACT ile aynı taban. Ön eğitim asıl işi yapar, bu yüzden 50 temiz bölüm 200 özensiz bölümden daha iyidir. Bu konuda yeni misiniz? Şuradan başlayın: veri toplama kılavuzu.

AY-Robots politikalar sayfası, eğitilebilir beş politikayı parametreler, GPU katmanı, gecikme süresi ve minimum bölüm sayılarına göre karşılaştırıyor
Pi0.5, A100 ve H100 katmanında, eylem adımı başına 485 ms ve minimum 50 bölüm ile yer almaktadır.

Rota A: openpi deposu ile ince ayar yapın

Referans uygulama: Öncelikle JAX, yalnızca Ubuntu 22.04 üzerinde test edildi, bayraklar yerine yapılandırma nesneleri tarafından yönlendiriliyor. Eylül 2025'te bir PyTorch yolu geldi ve LIBERO üzerinde doğrulandı. Üç adım: verilerinizi dönüştürün, bir yapılandırma tanımlayın, eğitin ve sunun.

  1. 1
    Klonlayın ve Kurun

    openpi, uv kullanır. GIT_LFS_SKIP_SMUDGE, LeRobot'un LFS blobları olmadan bir bağımlılık olarak gelmesini sağlar.

    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
    Verilerinizi bir LeRobot veri kümesine dönüştürün

    Yukarı akış, LIBERO ve DROID için dönüştürücüler sağlar ve bunlardan birini uyarlamanızı bekler. İş, anahtar eşlemesidir.

    bash
    uv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data
  3. 3
    Bir eğitim yapılandırması ekleyin

    Yapılandırmalar, src/openpi/training/config.py içindeki TrainConfig girdileridir. Bu, ağırlık yükleyicisi pi05_base'e işaret eden pi05_droid_finetune'u uyarlar.

    python
    TrainConfig(
        name="pi05_so100",
        model=pi0_config.Pi0Config(
            pi05=True,
            action_dim=32,        # pi05 is trained with 32-dim actions
            action_horizon=16,
        ),
        # Copy LeRobotLiberoDataConfig in the same file and rewrite the key
        # mapping for your camera names, then reference your copy here.
        data=LeRobotLiberoDataConfig(
            repo_id="your_hf_username/my_so100_dataset",
            base_config=DataConfig(prompt_from_task=True),
        ),
        weight_loader=weight_loaders.CheckpointWeightLoader(
            "gs://openpi-assets/checkpoints/pi05_base/params"
        ),
        batch_size=32,
        num_train_steps=20_000,
    )
  4. 4
    Norm istatistiklerini hesaplayın

    Veri kümesine değil, yapılandırma adına göre çalışır. Bunu atlamak, buradaki klasik ilk hatadır.

    bash
    uv run scripts/compute_norm_stats.py --config-name pi05_so100
  5. 5
    Eğitin

    Bu değişken, JAX'in varsayılan %75 yerine GPU belleğinin %90'ını kullanmasına olanak tanır. 80 GB'lık bir kartta, bu, çalıştırmanın başarılı olup olmayacağını belirler.

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

    Sunucu 8000 numaralı bağlantı noktasını dinler ve gözlem sorgularını yanıtlar; robot çalışma zamanınız istemcidir.

    bash
    uv run scripts/serve_policy.py policy:checkpoint \
        --policy.config=pi05_so100 \
        --policy.dir=checkpoints/pi05_so100/my_experiment/20000
PyTorch yolu JAX yolu değildir

openpi'nin PyTorch uygulaması pi0-FAST, karma hassasiyet, FSDP, LoRA veya EMA ağırlıklarını desteklemez, bu nedenle 22.5 GB'a ulaşan LoRA, yalnızca JAX üzerinden, gemma_2b_lora ve gemma_300m_lora varyantları aracılığıyla kullanılabilir. Daha da kötüsü: kurulum, yama uygulanmış dosyaları kurulu transformers 4.53.2 üzerine kopyalar ve README, uv'nin varsayılan hardlink moduyla bunun uv önbelleğindeki transformers'ı kalıcı olarak değiştirebileceği ve diğer projelere sızabileceği konusunda uyarır. Bunu uv cache clean transformers ile geri alın.

B Rotası: lerobot pi05 ile ince ayar yapın

LeRobot portu, zaten kullandığınız CLI'da aynı ağırlıkları şunlar için sarmalar: ACT ve SmolVLA. Aşağıdaki her şey, 3 Ağustos 2026'dan bu yana çıkan lerobot 0.6.1 sürümü ve 23 Ağustos 2026 tarihli pi05 belgeleriyle kontrol edildi. Sürümler burada önemlidir: v3.0 veri kümeleri Ekim 2025'te 0.4.0 ile geldi, 9 Mart 2026 tarihli 0.5.0 blogu pi0-FAST ve Gerçek Zamanlı Parçalama'yı sunar ve 6 Temmuz 2026'daki 0.6.0 sürümü temel paketi hafifletti ve dağıtımı lerobot-rollout'a taşıdı.

Tek bir şey değişmedi: lerobot-train ve lerobot-record, Ağustos 2025'te 0.3.2'de zaten giriş noktalarıydı. Hala python -m lerobot.scripts.train komutunu çağıran bir eğitim, bir yıllık değişikliklerden öncesine aittir ve geri kalan kısımlarına da güvenilmemelidir.

  1. 1
    Doğru ekstralarla kurun

    0.6.0 sürümünden itibaren temel kurulum yalnızca çekirdek ML bağımlılıklarını içerir ve pi eklentisi hiçbir veri kümesi veya eğitim kodu eklemez, bu nedenle ince ayar için eğitim eklentisi de gereklidir. Daha eski tek satırlık komutlar burada içe aktarma sırasında başarısız olur.

    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
    Kimlik Doğrulama

    Bir tarayıcıda paligemma-3b-pt-224 lisansını kabul edin, ardından eğitim yapan makinede oturum açın.

    bash
    hf auth login
  3. 3
    Kantil İstatistikleri Ekle

    Pi0.5, STATE ve ACTION'ı kantillerle normalleştirir, bu nedenle meta/stats.json'ın q01 ve q99'a ihtiyacı vardır. Daha eski veri kümeleri yalnızca min, max, mean, std içerir.

    bash
    lerobot-edit-dataset \
        --repo_id your_dataset \
        --new_repo_id your_dataset \
        --operation.type recompute_stats \
        --operation.overwrite true
  4. 4
    lerobot/pi05_base'den ince ayar yapın

    Kartınızın kaldırabileceği toplu iş boyutunu ayarlayın; belgeler 80 GB'lık LIBERO'da 64 kullanır. bfloat16'yı açıkça belirtin, yapılandırma varsayılanı float32'dir.

    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
    Kolda çalıştırın

    0.6.x'te bu lerobot-rollout'tur: lerobot-record bir politikayı reddeder ve eval_ veri kümesi adlarını kabul etmez. Base kolu sürer, sentry ise yayılımı kaydeder.

    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
BayrakNe işe yararNot
--policy.type=pi05Pi0.5'i seçerpretrained_path ile zorunlu, --policy.path ile atlanabilir
--policy.pretrained_pathyalnızca ağırlıkları yüklerveri kümenizdeki özellik adları, depolanan ayarlar sıfırlanır
--policy.pathağırlıklar artı kontrol noktası config.jsonn_action_steps gibi depolanan ayarlar devralınır
--policy.n_action_stepsparça başına tüketilen adımlar50'ye geri döner, chunk_size'ın (varsayılan 50) üzerine çıkmaz
--policy.train_expert_onlyVLM'yi dondurur, uzmanı eğitirvarsayılan false, daha az bellek, başarıda bir miktar maliyet
--policy.gradient_checkpointingaktivasyonları depolamak yerine yeniden hesaplarvarsayılan false, bir çalıştırma sığmadığında ilk kaldıraç
--peft.method_type=LORAtam ağırlıklar yerine LoRA adaptörleripeft eklentisine ihtiyaç duyar, belgelenmiş örnek SmolVLA'dır
--policy.rtc_training_max_delayRTC için eylem ön eki koşullandırmasıyalnızca ana dalda, 0.6.1'de yok, chunk_size'ın altında kalmalı
--rename_mapveri kümesi sütunlarını politika özelliklerine eşlerkamera anahtarlarınız farklı olduğunda gereklidir
Çoğu ilk çalıştırmanın karşılaştığı hata

Kantiller olmadan, ilk toplu işte ValueError: QUANTILES normalization mode requires q01 and q99 stats hatasını alırsınız. İstatistikleri yeniden hesaplayın, ancak sonuç $HF_LEROBOT_HOME/your_dataset konumuna değil, --dataset.repo_id'in okuduğu önbelleğe düşer, bu nedenle --dataset.root'u oraya işaret ederek eğitin veya Hub'a gönderin. Ya da LIBERO referans komutunun yaptığı gibi --policy.normalization_mapping='{"ACTION": "MEAN_STD", "STATE": "MEAN_STD", "VISUAL": "IDENTITY"}' ile kantilleri atlayın.

Üç varsayılan kümesi ve hangilerinin eğiticilere ulaştığı

openpi's TrainConfig referanstır, LeRobot'ın PI05Config'i, siz hiçbir şey söylemediğinizde lerobot-train'in kullandığıdır ve buradaki form üçüncü bir set gönderir. Şaşırtıcı olan öğrenme oranıdır: hem yukarı akış varsayılanları 2.5e-5'te zirve yaparken, openpi'nin kendi pi05_libero yapılandırması ve bu platform bunu 5e-5'e çıkarır.

Ayaropenpi TrainConfiglerobot pi05 ve lerobot-trainAY-Robots gönderir
Yığın boyutu3281
En yüksek öğrenme oranı2.5e-5, kosinüs bozunumuoptimizer_lr 2.5e-55e-5
Eğitim adımları30,000100,00030,000
Kontrol noktası aralığı1,000 adım20,000 adımformda yok
Tohum421,000formda
Eylem öbeğiaction_horizon 50chunk_size 50, n_action_steps 50formda yok
Ağırlık veri tipibfloat16float32 until you pass --policy.dtypeformda yok
Gradyan birikimiböyle bir ayar yok, yerine fsdp_devicesşimdiye kadarki her sürümde yok16, ve düşürüldü

Port sadık mı? LeRobot ekibi, LIBERO temel modelini 6 bin adım daha ince ayarladı ve openpi'nin dört süitteki referans sayılarıyla karşılaştırdı: %96.85'e karşı %97.5 ortalama, Libero 10'da önde, Spatial'da geride. Bu yol, bir kalite seçimi değil, bir araç seçimidir.

Kendi verilerinizle Pi0.5'i ince ayar yapmak
Avantajlar
  • Arkasında 10.000 saatten fazla robot ön eğitimi var, bu nedenle görevinizin 50 bölümü yeterli olabilir.
  • Sürekli eylemler: ayarlanacak bir belirteçleyici yok, eklem açılarınızda ayrıklaştırma tabanı yok.
  • LeRobot portu, openpi'nin %96.85'ine karşı LIBERO ortalamasında %97.5 puan alıyor, bu nedenle daha kullanıcı dostu CLI ölçülebilir hiçbir maliyet getirmiyor.
  • Her iki tarafta da parametre açısından verimli yollar: openpi'nin JAX LoRA varyantları, LeRobot'ın PEFT entegrasyonu.
Dezavantajlar
  • Tam ince ayar 70 GB'tan fazla alan gerektirir. 22.5 GB LoRA rakamı openpi'nin JAX sayısıdır; PEFT altında pi05 için hiçbiri yayınlanmamıştır.
  • Eylem adımı başına 485 ms, buradaki beş taneden en yavaşı: SmolVLA'nın iki katı, ACT'nin yirmi dört katı.
  • LeRobot v3.0 gereklidir, bu nedenle bir GR00T çalıştırması için kaydedilen bir veri setinin dönüştürülmesi gerekir ve bunun tersi de geçerlidir.
  • Yeni seçenekler önce ana dala gelir: eğitim zamanı RTC ve MEM belleği 0.6.1'de yoktur, bu nedenle en yeni belgeler git'ten yüklemeyi gerektirebilir.

485 ms gerçeği ve nerede kullanılamaz hale geldiği

Bu, projenizi belirler, bu yüzden maliyet tablosundan önce gelir. Pi0.5 için burada ölçülen eylem adımı başına 485 ms'dir. Diğer dördüne karşı:

PolitikaEylem adımı başına çıkarımParametrelerGPU seviyesiMinimum bölüm sayısı
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
AY-Robots'un GR00T N1.7 ile Pi0.5'i karşılaştıran, parametreler, GPU seviyesi, gecikme ve veri kümesi formatı içeren karşılaştırma sayfası
Aynı GPU seviyesi, aynı bölüm tabanı, farklı veri kümesi sürümü, üç kat gecikme farkı.
Çıkarım (Inference) Servoların Yanında Olmalı

Bu beş modeldeki kontrol döngüsü, eylem adımı başına 20 ila 485 ms arasında çalışır. 485 ms'nin üzerine eklenen genel internet gidiş-dönüş süreleri, çalışan bir politikayı tereddütlü bir hale getirir. Uzaktan çıkarım, yavaş toplama ve yerleştirme işlemleri için uygunken, hızlı reaktif hareketler için uygun değildir. Yalnızca bir LAN'da çalışan bir demo satmaktansa bunu söylemeyi tercih ederiz. Kolunuz parçalar arasında duraklıyorsa, hareket ortasında politika donmaları bölümünden başlayın.

Yukarı akışın bir cevabı var ve bunun yarısı zaten yükleyebileceğiniz sürümde mevcut. Gerçek Zamanlı Parçalama (Real-Time Chunking), kol mevcut parçayı yürütürken bir sonraki parçayı oluşturur, ardından yeni parçanın çakışan adımlarını zaten yürütülmüş kısma yakın kalacak şekilde yönlendirir, böylece kol ek yerinde duraksamaz veya sarsılmaz. Pi0, Pi0.5 ve SmolVLA için 0.4.2 değişiklik günlüğünde yer alan çıkarım zamanı formu bir dağıtım bayrağıdır, yeniden eğitim gerektirmez:

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, yeni parçanın önceki parçanın kaç adımıyla uyumlu olması gerektiğini belirtir; RTC belgeleri, olağan aralık olarak 8 ila 12'yi verir. Varsayılan çıkarım arka ucu --inference.type=sync'dir.

Bu, modeli daha hızlı yapmaz. Boşluğu gizler: 485 ms hala harcanır, ancak kritik yolun dışında olduğu için parçalar arasında kuyruk boşalmaz. arXiv 2512.05964'teki eğitim zamanı varyantı daha da ileri gider: model, temiz bir eylem öneki üzerinde koşullandırmayı öğrenir, böylece çıkarım sırasında çakışma, yönlendirilmek yerine eylem başına akış zaman adımlarıyla sert bir şekilde doldurulur ve yönlendirme geri geçişi ortadan kalkar. Eğitim sırasında, örnek başına bir önek uzunluğu örnekler ve kalan sonek üzerindeki akış kaybını alır. Bu bayrak yalnızca ana dalda bulunur, 0.6.1'de değil ve eğitim yaptığınız gecikme chunk_size'ın altında kalmalıdır.

Pi0.5 kontrol noktası edinmenin iki yolu

80 GB'lık bir kart kiralarsınız veya sahip olursunuz, yukarıdaki yığınlardan birini kurarsınız, veri kümenizi dönüştürür ve çalıştırmayı denetlersiniz. Her ayarı kontrol edersiniz: openpi'nin JAX LoRA'sı, LeRobot'un PEFT adaptörleri, göreceli eylemler, özel anahtar eşlemeleri. Ayrıca her hatayı da siz üstlenirsiniz.

  • Donanım: A100 80 GB veya H100, ya da openpi'nin JAX LoRA yolu üzerinde 24 GB'lık bir kart.
  • Kurulum: İlk çalıştırma için bir öğleden sonrası, çoğunlukla anahtar eşleme ve geçitli belirteçleyici.
  • Barındırılan formda olmayanlar: PEFT adaptörleri, göreceli eylemler, eğitim zamanı RTC, MEM belleği.
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
Hiçbir barındırılan formun çalıştırmadığı ve pip'in kuramadığı komut: eğitim zamanı RTC, ana dal bayrağıdır.

Çalışmadığında

BelirtiEn olası neden
Çalıştırma başlamadan reddedildiVeri kümesi v2.1 ama Pi0.5 v3.0 istiyor, veya GR00T için tersi
ImportError, datasets paketi eksikEğitim eklentisi olmayan lerobot 0.6.x
q01 ve q99 hakkında ValueError, ilk yığındameta/stats.json'da çeyreklikler yok; yeniden hesaplayın veya MEAN_STD kullanın
Adım 0'da CUDA bellek yetersizliği70 GB'ın altında tam ince ayar; kontrol noktası kullanmayı veya train_expert_only'yi deneyin
401 veya geçitli depo hatasıPaliGemma belirteçleyici lisansı kabul edilmedi
Kayıp düşüyor, robot hiçbir şey yapmıyorNormalleştirme uyumsuzluğu veya politika durumu kopyalıyor
Kol parçalar arasında duraklıyorAdım başına gecikme artı gidiş-dönüş; parça kuyruğu boşalıyor
Bir kurulumda çalışıyor, diğerinde başarısız oluyorÇok az bölüm veya hepsi tek bir yapılandırmada

Tek bir çalıştırmanın maliyeti

Pi0.5, 80 GB'lık bir karta ihtiyaç duyduğu ve spot fiyatlar değiştiği için pahalı seviyede yer almaktadır, bu nedenle rakam bir fiyattan ziyade bir aralıktır. Birçok SO-100 görevi için, önce SmolVLA veya ACT'yi 24 GB seviyesinde eğitin, görevin öğrenilebilir olup olmadığını doğrulayın, ardından A100 saatlerini buna harcayın. İlk politikanızı eğitin bu daha ucuz döngüyü anlatır ve fiyatlandırma mevcut seviyeleri içerir.

SeviyePolitikalarTipik çalıştırmaSaatlik fiyatÇalıştırma başına maliyet
A100 80 GB or H100Pi0.5, GR00T N1.7, GR00T N1.53 to 6 hours1.20 to 2.00 USDabout 4 to 12 USD
RTX 4090 or any 24 GB cardSmolVLA, ACT2 to 5 hours0.30 to 0.60 USDabout 1 to 3 USD
AY-Robots maliyet tablosu, her politikanın hangi GPU'ya ihtiyaç duyduğunu, tipik çalışma süresini ve fiyatını ve bir politikanın faydalı hale gelmesi için kaç bölüm gerektiğini gösteriyor.
Ürün sayfasındaki aynı iki katman: Pi0.5 80 GB kartı kiralarken, SmolVLA ve ACT bir 4090'a sığar.

Bir akşamınızı ayırmadan önce: GR00T N1.7 ile Pi0.5 karşılaştırması ve Pi0.5 ile SmolVLA karşılaştırması aynı sayıları karşılaştırır. Arena 332 kıyaslama sonucuyla 85 VLA modelini barındırır, her biri kaynağına bağlıdır ve aile hakkında arka plan bilgisi şurada bulunmaktadır: VLA genel bakışımız.

Yığını kurmadan Pi0.5'i eğitin

Bir formda veri kümesini ve hiperparametreleri seçin. Arka uç, spot piyasadan 80 GB'lık bir kart kiralar, eğiticiyi çalıştırır ve kontrol noktalarını nesne depolamaya yazar. SO-100, SO-101, Koch v1.1 ve LeKiwi için kılavuzlar.

Eğitim kılavuzlarını açın
Pi0.5'i bir RTX 4090 üzerinde ince ayar yapabilir miyim?

Tam bir ince ayar değil: openpi bunun için 70 GB'tan fazla listeliyor, bu yüzden bir A100 80 GB veya bir H100 gerekir. 22.5 GB'lık LoRA değeri JAX yoluna aittir; PyTorch uygulamasında LoRA yoktur. LeRobot'un PEFT entegrasyonu mevcut, ancak belgelenmiş örneği SmolVLA'dır ve pi05 için VRAM değeri yayınlanmamıştır.

Kaç bölüme ihtiyacım var?

Elli, GR00T ve ACT ile aynı taban; sadece SmolVLA 30 ile daha düşüktür. Temel kontrol noktası 10.000 saatten fazla ön eğitim taşır, bu nedenle ince ayar sıfırdan öğrenmek yerine adapte olur: 50 temiz, çeşitli bölüm, tek bir yapılandırmadan gelen iki yüz bölümden daha iyidir.

--policy.path ve --policy.pretrained_path arasındaki fark nedir?

--policy.path ağırlıkları ve kontrol noktasının config.json dosyasını yükler, bu nedenle n_action_steps gibi depolanmış ayarlar devralınır ve --policy.type atlanmalıdır. --policy.pretrained_path yalnızca ağırlıkları yükler: özellik adları veri kümenizden gelir, depolanmış ayarlar sıfırlanır, --policy.type gereklidir. Bu nedenle LIBERO komutu n_action_steps=10 ve empty_cameras=1'i açıkça geçirir; aksi takdirde 50 ve 0'a geri dönerler.

Açık sürüm bana makaledeki tam Pi0.5'i veriyor mu?

Hayır. Her ikisi de yalnızca akış eşleştirme eylem başlığını destekler. FAST eylem belirteci ile ayrık belirteç ön eğitim aşaması ve yüksek seviyeli alt görev tahmini yayınlanmadı ve lerobot/pi05_base kartı, pi0.5 makalesi herhangi bir pekiştirmeli öğrenme aşaması tanımlamasa bile bu listeye RL ekler. Uzun bir görevi kendi başına ayrıştıran bir model değil, sağladığınız bir dil dizisine koşullandırılmış düşük seviyeli bir politika eğitirsiniz.

Bu kılavuz hangi sürümlere göre yazılmıştır?

Ana daldaki openpi ve 3 Ağustos 2026'dan bu yana yayınlanan lerobot 0.6.1, her ikisi de 23 Ağustos 2026'da okunmuştur. v3.0 veri kümeleri Ekim 2025'te 0.4.0 ile geldi. 0.6.0 temel paketi hafifletti, böylece tek başına lerobot[pi] artık bir eğitim yığını kurmuyor ve dağıtımı lerobot-rollout'a taşıdı. Eğitim zamanı RTC yalnızca ana daldadır; buradaki barındırılan eğitici 0.5.1 sürümünü çalıştırır.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started