LeRobot documentation
π₀ (Pi0)
π₀ (Pi0)
π₀, Physical Intelligence tarafından geliştirilen genel robot kontrolü için bir Görsel-Dil-Eylem modelidir. LeRobot uygulaması, açık kaynaklı OpenPI deposundan uyarlanmıştır.
Model Genel Bakış
π₀, Physical Intelligence tarafından geliştirilen ilk genel amaçlı robot temel modeli olarak robotikte bir atılımı temsil etmektedir. Tekrarlayan hareketler için programlanmış dar uzmanlar olan geleneksel robot programlarının aksine π₀, görsel girdileri anlayabilen, doğal dil talimatlarını yorumlayabilen ve çeşitli görevlerde farklı robotları kontrol edebilen genel bir politika olarak tasarlanmıştır.
Fiziksel Zekâ Vizyonu
Physical Intelligence tarafından belirtildiği üzere, yapay zeka satranç oynamaktan ilaç keşfine kadar dijital alanlarda olağanüstü bir başarıya ulaşmış olsa da, fiziksel dünyada insan zekası yapay zekayı hâlâ büyük ölçüde geride bırakmaktadır. Moravec paradoksunu yeniden ifade edecek olursak, satranç oynamak yapay zeka için “kolay” bir problemken, bir gömleği katlamak veya bir masayı toplamak, bugüne kadar düşünülmüş en zor mühendislik problemlerinden bazılarını çözmeyi gerektirmektedir. π₀, kullanıcıların büyük dil modelleriyle yapabildikleri gibi robotlardan istedikleri herhangi bir görevi yerine getirmelerini talep edebilmelerini sağlayan yapay fiziksel zekânın geliştirilmesine yönelik ilk adımı temsil etmektedir.
Mimari ve Yaklaşım
π₀ birkaç temel yenilik bir araya getirir:
- Flow Matching: Akış eşleştirme (difüzyon modellerinin bir varyantı) aracılığıyla önceden eğitilmiş VLM'leri sürekli eylem çıktılarıyla geliştirmek için yenilikçi bir yöntem kullanır
- Çapraz Vücut Eğitimi: UR5e, Bimanual UR5e, Franka, Bimanual Trossen, Bimanual ARX, Mobile Trossen ve Mobile Fibocom dahil olmak üzere 8 farklı robot platformundan gelen verilerle eğitildi
- İnternet Ölçeğinde Ön Eğitim: Ön eğitilmiş 3B parametreli Görsel-Dil Modelinden semantik bilgi devralır
- Yüksek Frekanslı Kontrol: Gerçek zamanlı çevik manipülasyon için en fazla 50 Hz'de motor komutları üretir
Kurulum Gereksinimleri
LeRobot'u Yükleme Kılavuzumuz’u takip ederek yükleyin.
Pi0 bağımlılıklarını yüklemek için şunu çalıştırın:
pip install -e ".[pi]"
Eğitim Verisi ve Yetenekler
π₀, bugüne kadar derlenen en büyük robot etkileşim veri seti üzerinde eğitilmiştir ve üç temel veri kaynağını birleştirir:
- İnternet Ölçeğinde Ön Eğitim: Anlamsal anlama için webden gelen görsel-dil verisi
- Open X-Embodiment Veri Seti: Açık kaynak robot manipülasyon veri setleri
- Physical Intelligence Veri Seti: 8 farklı robot üzerinde çevik görevlere ait büyük ve çeşitli veri seti
Kullanım
LeRobot'ta π₀'yu kullanmak için politika türünü şu şekilde belirtin:
policy.type=pi0Eğitim
π₀ eğitiminde, uygun yapılandırmayla standart LeRobot eğitim betiğini kullanabilirsiniz:
lerobot-train \
--dataset.repo_id=your_dataset \
--policy.type=pi0 \
--output_dir=./outputs/pi0_training \
--job_name=pi0_training \
--policy.pretrained_path=lerobot/pi0_base \
--policy.repo_id=your_repo_id \
--policy.compile_model=true \
--policy.gradient_checkpointing=true \
--policy.dtype=bfloat16 \
--policy.freeze_vision_encoder=false \
--policy.train_expert_only=false \
--steps=3000 \
--policy.device=cuda \
--batch_size=32Temel Eğitim Parametreleri
--policy.compile_model=true: Daha hızlı eğitim için model derlemesini etkinleştirir--policy.gradient_checkpointing=true: Eğitim sırasında bellek kullanımını önemli ölçüde azaltır--policy.dtype=bfloat16: Verimlilik için karma hassasiyetli eğitim kullanın--batch_size=32: Eğitim için batch boyutu, bunu GPU belleğinize göre ayarlayın--policy.pretrained_path=lerobot/pi0_base: İnce ayar yapmak istediğiniz temel π₀ modeli, seçenekler şunlardır:- lerobot/pi0_base
- lerobot/pi0_libero (özellikle Libero veri setinde eğitildi)
--policy.optimizer_fused=true: Daha hızlı optimizasyon adımları için birleşik AdamW kullanır; bu bayrak, bir çalışmayı sürdürürken yoksayılır
Eğitim Parametreleri Açıklaması
| Parametre | Varsayılan | Açıklama |
|---|---|---|
freeze_vision_encoder | false | Görüntü kodlayıcısını dondurmayın |
train_expert_only | false | VLM'yi dondurmayın, tüm parametreleri eğitin |
💡 İpucu: train_expert_only=true ayarlandığında VLM dondurulur ve yalnızca eylem uzmanı ile projeksiyonlar eğitilir; bu da azaltılmış bellek kullanımıyla ince ayar yapılmasına olanak tanır.
Göreceli Eylemler
Varsayılan olarak π₀ mutlak eylemleri tahmin eder. Modelin mevcut robot durumuna göre ofsetleri tahmin etmesi için göreli eylemleri etkinleştirebilirsiniz. Bu, belirli kurulumlarda eğitim kararlılığını iyileştirebilir.
Göreceli eylemleri kullanmak için, önce veri seti istatistiklerinizi CLI aracılığıyla göreceli uzayda yeniden hesaplayın:
lerobot-edit-dataset \
--repo_id your_dataset \
--new_repo_id your_dataset \
--operation.type recompute_stats \
--operation.overwrite true \
--operation.relative_action true \
--operation.chunk_size 50 \
--operation.relative_exclude_joints "['gripper']" \
--push_to_hub trueVeya eşdeğer olarak Python'da:
from lerobot.datasets import LeRobotDataset, recompute_stats
dataset = LeRobotDataset("your_dataset")
recompute_stats(dataset, relative_action=True, chunk_size=50, relative_exclude_joints=["gripper"])
dataset.push_to_hub()chunk_size, politikanızın chunk_size değeriyle (π₀ için varsayılan 50) eşleşmelidir. relative_exclude_joints, mutlak uzayda kalması gereken eklem adlarını (ör. kavrama komutları) listeler. Güncellenen istatistikleri Hub'a yüklemek için --push_to_hub true kullanın.
Ardından göreli eylemler etkinleştirilerek eğitim yapın:
lerobot-train \
--dataset.repo_id=your_dataset \
--policy.type=pi0 \
--policy.use_relative_actions=true \
--policy.relative_exclude_joints='["gripper"]' \
...Lisans
Bu model, orijinal OpenPI deposu ile tutarlı olarak Apache 2.0 Lisansı'na uyar.
Update on GitHub