Topla, eğit, dene, başarısızlıktan öğren.
Physical Intelligence'ın Pi API'si de, senin so101-flywheel projen de aynı döngüyü kuruyor. Fark şurada: onlar döngünün ortasını (eğitim, çıkarım) satıyor, sen döngünün tamamını kendin kuruyorsun. Bu sayfa ikisini yan yana koyuyor: ne okumalı, ne denemeli.
↺ Değerlendir, yeni veri topla, tekrarla: robottaki başarısızlıklar bir sonraki veri toplamayı yönlendirir.
Senin döngün: so101-flywheel
Görev: hat sonu kalite kontrol. Üst kamera tepsideki jant, dişli, balata ve braketleri bir kez görür; kol “N. cepteki parçayı X kutusuna koy” komutuyla sağlamları OK, kusurluları ret kutusuna atar.
Denenecekler
ACT ile π0.5 kafa kafaya
Aynı veri, aynı 30 deneme. Büyük önceden eğitilmiş model küçük veriyle gerçekten daha mı iyi, ve bunun bedeli (GPU, gecikme) ne?
- Veri setini q01/q99 istatistikleriyle güncelle
- Kiralık GPU'da π0.5'i donuk VLM ile eğit
- Mac'te çalıştıramazsın: politikayı GPU makinede sun, kol Mac'e bağlı kalsın (openpi'nin sunucu-istemci yapısı ya da LeRobot async inference)
- ACT v0 ile aynı değerlendirme planı: başarı oranı + Wilson güven aralığı
# π0.5'i kendi SO-101 verinle ince ayarla (LeRobot). NVIDIA GPU'lu bir Linux makinede.
pip install 'lerobot[pi]'
hf auth login # önce google/paligemma-3b-pt-224 lisansını Hub'da kabul et
# π0.5 durum/eylem için çeyreklik (q01/q99) istatistik ister; eski veri setinde yeniden hesapla:
lerobot-edit-dataset --repo_id fport/so101-qc --new_repo_id fport/so101-qc \
--operation.type recompute_stats --operation.overwrite true
# Az bellek: VLM donuk, yalnız eylem uzmanı eğitilir (24–48 GB GPU'da dene)
lerobot-train \
--dataset.repo_id=fport/so101-qc \
--policy.type=pi05 \
--policy.pretrained_path=lerobot/pi05_base \
--policy.freeze_vision_encoder=true \
--policy.train_expert_only=true \
--policy.gradient_checkpointing=true \
--policy.dtype=bfloat16 \
--policy.device=cuda \
--policy.n_action_steps=10 \
--batch_size=16 --steps=20000 --save_freq=5000 \
--output_dir=outputs/train/pi05-v0 --job_name=pi05-v0 \
--policy.repo_id=fport/so101-qc-pi05-v0 --policy.private=true
# Sonra: ACT v0 ile aynı 30 denemelik değerlendirme planında karşılaştır.
# Kamera adların farklıysa --rename_map; bayraklar LeRobot sürümüne göre değişebilir (lerobot-train --help).Gecikme deneyi
Bulutta çıkarım ya da yavaş GPU ile kol neden titrer? Real-time chunking yazısını deneyle anlamak.
- Değerlendirme döngüsüne yapay gecikme ekle
- 0 / 50 / 150 / 300 ms için başarı ve titreme tablosu
- Eylem parçası uzunluğunu değiştir, tabloyu tekrarla
# real-time chunking'i hisset: politikaya yapay gecikme ekle, başarıyı ölç
# flywheel-robot'un değerlendirme döngüsünde, her çıkarımdan önce:
import time, random
def infer_with_latency(policy, obs, ms):
time.sleep(ms / 1000 * random.uniform(0.8, 1.2)) # bulut / yavaş GPU taklidi
return policy.select_action(obs)
# 0, 50, 150, 300 ms için 30'ar deneme: başarı oranı ve titreme (eylem farkı) tablosu.
# Sonra: n_action_steps'i büyüt (daha uzun parça yürüt) ve aynı tabloyu tekrar çıkar.Doğrulayıcı = Pi API'nin "evaluate" kutusu
Pi API döngüsünde "değerlendir, veri topla, tekrarla" insanın işi. Senin flywheel'inde bunu Claude ile otomatikleştiriyorsun: bu, projenin en özgün parçası.
- 100+ bölümü elle etiketle (doğrulayıcıdan bağımsız)
- Claude doğrulayıcı: son kare + kutu bölgeleri + kavrama anı
- Uyum, karışıklık matrisi, yanlış pozitif oranı
- "Emin değilim" bandını ayarla: o bölümler insana gitsin
Porti'ye ajan
Araba bitince: "mutfağa git" diyen bir LLM ajanı, ama motorla ajan arasında deterministik bir güvenlik kapısı.
- Önce kapı: hız sınırı, taze durum, acil stop
- Sonra ajan: yalnız yüksek seviyeli araçlar
- Kasıtlı tehlikeli komutların reddedildiği bir test
π okuma sırası
Tarih sırası değil, birbirinin üstüne kurulan sıra. Her yazıdan sonra sağdaki soruyu kendi kolunda düşün.
| Tarih | Yazı ve fikir | Senin için |
|---|---|---|
| Eki 2024 | π0: Our First Generalist Policy ↗ Bir görüntü-dil modelinin (VLM) üstüne eylem üreten bir "action expert": birçok robottan, birçok görevden gelen veriyle tek politika. Eylemler tek tek değil, parça parça (action chunk) üretilir. | ACT'de gördüğün "action chunking" fikrinin büyük modelli hali. Flywheel'inde ACT'nin yerine bunu koyunca ne değişir, buradan başla. |
| Oca 2025 | FAST: Efficient Robot Action Tokenization ↗ Robot eylemlerini dil modelinin anlayacağı token'lara sıkıştırma: eğitim yaklaşık 5 kat hızlanıyor. | Eylem gösterimi (sürekli vektör mü, token mı) model seçiminin en sık atlanan sorusu. |
| Şub 2025 | Open Sourcing π0 (openpi) ↗ π0 ve π0-FAST ağırlıkları ve kodu açık: kendi LeRobot verinle ince ayar yapabilirsin. | Pratik giriş kapın. LeRobot da π0 ve π0.5'i doğrudan destekliyor. |
| Nis 2025 | π0.5: a VLA with Open-World Generalization ↗ Hiç görmediği evlerde, mutfaklarda iş yapabilen model: farklı kaynaklardan gelen verilerle birlikte eğitim. | Genelleme sorusu: kalite kontrol hücrende tepsinin yeri, ışık, parça rengi değişince politikan dayanır mı? |
| May 2025 | VLAs that Train Fast, Run Fast, and Generalize Better ↗ Eylem eğitimi VLM'in internetten öğrendiklerini bozmasın diye ikisini yalıtma (knowledge insulation). | İnce ayarda "train_expert_only" gibi seçeneklerin neden var olduğunu anlarsın. |
| Haz 2025 | Real-Time Action Chunking with Large Models ↗ Büyük model yavaş düşünürken robot durmasın: yeni eylem parçası hesaplanırken öncekiyle düzgünce birleştirme. | Bulutta çıkarım (Pi API) ya da yavaş bir GPU kullanırsan gecikme yaşayacaksın. Porti'deki 100 Hz döngü ile aynı soru. |
| Kas 2025 | π*0.6: a VLA that Learns from Experience ↗ Gösterimle öğrenmiş politikayı kendi denemeleri ve insan düzeltmeleriyle pekiştirmeli öğrenme (RL) ile iyileştirmek. | Flywheel'inin "başarısız → düzelt → tekrar eğit" döngüsünün bir sonraki adımı. |
| Ara 2025 | Moravec's Paradox and the Robot Olympics ↗ İnce ayar yapılmış en yeni modelle zor manipülasyon görevleri. | Görev seçimi: hangi görevler insan için kolay ama robot için zor, neden. |
| Ara 2025 | Emergence of Human to Robot Transfer in VLAs ↗ Model büyüdükçe insan videolarından öğrenilenin robota aktarılması. | Veri toplamanın en pahalı kısmı teleop; insan videosu ne kadar yerini tutar? |
| Mar 2026 | VLAs with Long and Short-Term Memory ↗ On dakikayı aşan görevler için kısa ve uzun süreli bellek. | Tepsideki 6 parçayı sırayla ayıklamak bir bellek problemi: hangisini yaptım? |
| Mar 2026 | Precise Manipulation with Efficient Online RL ↗ VLA'dan bir "RL token" çıkarıp birkaç saatlik veriyle hassas görevlerde çevrimiçi RL. | Hassas yerleştirme (dar bir cebe parça bırakmak) için ileri seviye yön. |
| Nis 2026 | π0.7: a Steerable Model with Emergent Capabilities ↗ Yönlendirilebilir, genellemesi belirgin şekilde artmış yeni nesil model. | Alanın bugün nerede olduğunu görmek için. |
| Eki 2026 | Frontier Models for Every Robot (Pi API) ↗ Verini yükle, π modelini onların altyapısında ince ayarla, bulutta çalıştır; robottaki değerlendirmeyle bir sonraki veriyi seç. Şimdilik bekleme listesiyle beta. | Senin flywheel'inin ticari hali. Kayıt → doğrula → yeniden eğit → değerlendir döngüsünü kendin kurduğun için ne sattıklarını tam anlarsın. |
Derinleşmek için
- Physical AI Engineering from Scratch ↗ · 44 ders: simülasyon → kinematik → kontrol → algı → taklit öğrenme → RL → sim-to-real → temel modeller
- LeRobot ↗ · SO-101, ACT, SmolVLA, π0, π0.5
- ETH Robot Learning (video) ↗ · ders
- Strands Robots: Learn ↗ · ajan + robot
- roadmap.sh: Robotics Software Engineer ↗ · konu haritası