
Robot makinenizin GPU'su yok. GR00T politika sunucusunu kiralanmış bir bulut GPU'suna yerleştirin, eylem parçacıklarını kola aktarın ve ağın size tam olarak ne kadara mal olduğunu öğrenin.
Bir Raspberry Pi, bir seri veri yolu üzerinden sürmek ve iki USB kameradan kareler çekmek için yeterlidir. Üç milyar parametreli bir çalıştırmak için yeterli değildir: NVIDIA'nın README'si, GR00T N1.7 çıkarımını 16 GB veya daha fazla VRAM'e sahip tek bir GPU'da gösterir. İnce ayarlı kontrol noktanızın kol üzerinde bir kart satın almadan ne yaptığını görmek için, politikayı kiralanmış bir bulut GPU'ya yerleştirin, robot döngüsünü USB bağlantı noktalarına sahip makinede tutun ve gözlemleri ve eylem parçalarını ağ üzerinden gönderin.
Çalışıyor, ücretsiz değil ve fiyat görevler arasında eşit dağılmıyor. Aşağıda: NVIDIA'nın kendi politika sunucusu, lerobot'un eşzamansız yığını, uplink'inizin yeterince hızlı olup olmadığını önceden söyleyen aritmetik ve platform rotası. Tüm bunlar 23 Ağustos 2026 tarihinde Isaac-GR00T ana dalı (N1.7 GA) ve lerobot 0.6.1'e göre kontrol edildi.
Bilmeniz Gerekenler
- •GR00T N1.7, GR00T N1.5 ve Pi0.5 yaklaşık 3 milyar parametreli modellerdir. Hiçbiri ayrı bir GPU olmadan bir robot kontrolcüsüne sığmaz.
- •Isaac-GR00T ve lerobot, her ikisi de bir istemci-sunucu ayrımı ile gelir. Aktarımı siz yazmazsınız.
- •Gözlemler kablo maliyetine hakimdir, eylemler değil: iki sıkıştırılmamış 640x480 RGB kare 1.843.200 bayt, çağrı başına yaklaşık 14.7 Mbit'tir ve yığınların hiçbiri bunları sıkıştırmaz.
- •AY-Robots, modele göre eylem adımı başına 20 ila 485 ms listeler. İnternet gidiş-dönüş süreleri bunun üzerine eklenir.
- •Uzaktan çıkarım, yavaş alma-yerleştirme için uygundur, hızlı reaktif hareket için değil. Daha uzun bir yürütme ufku zaman kazandırır ve gözlem tazeliğinden ödün verir.
- •Sunucuların hiçbiri sevk edildiği haliyle genel bir IP üzerinde güvenli değildir ve lerobot'un sunucusu yamalanmamış bir RCE taşır. Tünelleyin.
Politika neden robot makinesine sığmaz
AY-Robots'un eğitebildiği beş politikadan ikisi iş istasyonu kartında çalışır, üçü çalışmaz. Aşağıdaki sütunu eylem adımı başına olup, ağınızın gidiş-dönüş süresiyle rekabet eden sayıdır.
| Politika | Parametreler | Eylem adımı başına çıkarım | Eğitim için GPU seviyesi | Minimum bölüm sayısı | Veri kümesi formatı |
|---|---|---|---|---|---|
| GR00T N1.7 | ~3 B, ince ayar sırasında eğitilmiş ~40 M | 152 ms | A100 80 GB or H100 80 GB | 50 | LeRobot v2.0 or v2.1 |
| GR00T N1.5 | ~3 B | 165 ms | A100 80 GB or H100 80 GB | 50 | LeRobot v2.0 or v2.1 |
| Pi0.5 | ~3 B, PaliGemma omurgası | 485 ms | A100 80 GB or H100 80 GB | 50 | LeRobot v3.0 |
| SmolVLA | ~450 M | 245 ms | RTX 4090 veya herhangi bir 24 GB kart | 30 | LeRobot v3.0 |
| ACT | ~80 M | 20 ms | RTX 4090 veya herhangi bir 24 GB kart | 50 | LeRobot v3.0 |

Bunu bir karar olarak okuyun, önemsiz bir bilgi olarak değil. ACT adım başına 20 ms ile robot makinesinde çalışır ve bir daha asla düşünmenize gerek kalmaz. Pi0.5 485 ms'de, bir paket binanızdan ayrılmadan önce saniyenin üçte birini harcamış olur. politika karşılaştırması ve GR00T N1.7 vs Pi0.5 doğruluk tarafını ekler.
GR00T N1.7, GR00T N1.5 ve Pi0.5, bir satıcı kontrol noktasından başlar (nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B, lerobot/pi05_base). ACT, kendi görevinizde eğitene kadar mevcut değildir, bu nedenle bir eğitim işi çalışana kadar uzaktan sunulacak hiçbir şey yoktur. Bkz. ACT on SO-100.
Mevcut iki istemci-sunucu yığını
Isaac-GR00T bir ZeroMQ istek-yanıt sunucusu gönderir; lerobot, eşzamansız çıkarım etrafında inşa edilmiş bir gRPC sunucusu gönderir. Her ikisi de bir GR00T kontrol noktası. lerobot'un desteklenen politika listesi async_inference/constants.py şunlardır: act, smolvla, diffusion, tdmpc, vqbet, pi0, pi05 ve groot; robot listesi ise so100_follower, so101_follower, bi_so_follower ve omx_follower'dır.
| Isaac-GR00T PolicyServer | lerobot async inference | |
|---|---|---|
| Giriş noktası | gr00t/eval/run_gr00t_server.py | python -m lerobot.async_inference.policy_server |
| Taşıma | ZeroMQ REQ/REP | gRPC, add_insecure_port / insecure_channel |
| Serileştirme | msgpack + msgpack_numpy, allow_pickle=False enforced | pickle.dumps / pickle.loads, marked # nosec |
| Varsayılan bağlantı noktası | 5555 | 8080 |
| Varsayılan bağlama | 0.0.0.0, tüm arayüzler | localhost |
| Kimlik Doğrulama | Sınıf tarafından desteklenen, CLI tarafından geçilmeyen api_token | yok |
| İstemci zaman aşımı | 15000 ms (PolicyClient timeout_ms) | 2 s gözlem kuyruğu zaman aşımı |
| Yürütme modeli | eşzamanlı: bloğu engelle, sonra parçayı yürüt | eşzamansız: bir sonraki parça hesaplanırken yürüt |
Serileştirme satırı göründüğünden daha önemlidir. GR00T'nin MsgSerializer nesne-dtype ndarray yüklerini her iki yönde de reddeder, çünkü msgpack_numpy aksi takdirde bunları pickle'a devrederdi. lerobot bunun yerine pickle kullanır: policy_server.py istek verileri üzerinde pickle.loads çağırır, robot_client.py gönderdiği gözlemi pickle'lar. Güvenilir bir LAN'da savunulabilir, ancak bağlantı noktası internetten erişilebilir olduğunda savunulamaz.
Yol A: NVIDIA'nın kendi GR00T politika sunucusu
Bu, NVIDIA'nın SO-100 ve SO-101 donanımı için belgelediği yoldur ve kontrol noktanız examples/finetune.sh dosyasından --embodiment-tag NEW_EMBODIMENT ile çıktıysa kullanılacak yoldur. Adımlar, yukarı akış README'sinin eksik bıraktığı şeyi ekler: bağlantı noktasını başkalarına açmadan robota ulaştırmak.
- 1Kiralanan GPU kutusuna GR00T'yi kurun
Alt modüller gereklidir ve git-lfs'nin klonlamadan önce mevcut olması gerekir, aksi takdirde
demo_dataiçindeki parquet dosyaları işaretçi olarak gelir. flash-attn ve TensorRT varsayılan kurulumla birlikte gelir. Yeni bir pod görüntüsündeki tuzak:torchcodec0.8.0, desteklenen tek video arka ucudur ve yalnızca FFmpeg 4 ila 7'yi yükler. Ubuntu 25.10 ve 26.04, FFmpeg 8 ile birlikte gelir, bu nedenle GR00T,Could not load libtorchcodechatasıyla başarısız olur. FFmpeg 8'in altında bir sürüm yükleyin ve kütüphaneleriniLD_LIBRARY_PATHüzerine koyun.bashsudo apt install git-lfs && git lfs install curl -LsSf https://astral.sh/uv/install.sh | sh sudo apt-get update && sudo apt-get install -y ffmpeg git clone --recurse-submodules https://github.com/NVIDIA/Isaac-GR00T cd Isaac-GR00T uv sync --python 3.12 uv run python -c "import gr00t; print('GR00T installed successfully')" - 2Kilitli omurgaya karşı kimlik doğrulama
Kendi ince ayarınız da dahil olmak üzere her GR00T N1.7 kontrol noktası, ilk kullanımda kilitli
nvidia/Cosmos-Reason2-2Bmodelini yükler. Model sayfasından erişim isteyin ve pod'a giriş yapın, aksi takdirde yükleme birGatedRepoErrorhatasıyla başarısız olur.bashuv run huggingface-cli login # or: export HF_TOKEN=<your_token> - 3Politika sunucusunu başlatın
--model-path'i kontrol noktası dizininize yönlendirin; bu yolda sunucu, yalnızca tekrar oynatma yolunda okunan--modality-config-path'i yok sayar. Kablolamanın çalıştığını kanıtlamanın en ucuz yolu olan kaydedilmiş eylemleri tekrar oynatan bir ReplayPolicy için--model-path'i atlayın ve bunun yerine--dataset-pathartı--execution-horizon'ı geçirin.bashuv run python gr00t/eval/run_gr00t_server.py \ --model-path /workspace/so100_finetune/checkpoint-10000 \ --embodiment-tag NEW_EMBODIMENT \ --device cuda:0 \ --host 127.0.0.1 --port 5555 - 45555 numaralı bağlantı noktasını robot makinesine tünelleyin
Yukarıdaki gibi loopback'e bağlayın ve bağlantı noktasını SSH veya WireGuard tarzı bir ağ üzerinden taşıyın. Bu, ZeroMQ soketinin sağlamadığı şifreleme ve kimlik doğrulamayı yaklaşık bir milisaniye içinde sağlar.
bash# on the robot machine ssh -N -L 5555:127.0.0.1:5555 root@<pod-host> -p <pod-ssh-port> # sanity check that something answers nc -vz 127.0.0.1 5555 - 5Robot istemcisini servoların yanında çalıştırın
İstemcinin kendi uv ortamına ihtiyacı vardır: eğitim yığını değil, lerobot'un robot sürücülerini ister.
eval_so100.py, so100_follower, so101_follower ve koch_follower'ı içe aktarır, bu nedenle kolunuza uygun--robot.type'ı geçirin (yukarı akış README'si so101_follower kullanır). Kamera anahtarları eğitimle eşleşmelidir: adaptör tam olarakfrontvewrist'i okur ve bunları değiştirmek politikaya yanlış görünümü gösterir.bashcd gr00t/eval/real_robot/SO100 uv sync uv pip install --no-deps -e ../../../../ uv run --no-sync python eval_so100.py \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 \ --robot.id=orange_follower \ --robot.cameras="{ front: {type: opencv, index_or_path: 6, width: 640, height: 480, fps: 30}, wrist: {type: opencv, index_or_path: 2, width: 640, height: 480, fps: 30}}" \ --policy_host=127.0.0.1 \ --policy_port=5555 \ --lang_instruction="pick up the red block and put it in the bin"
run_gr00t_server.py varsayılan olarak --host 0.0.0.0 kullanır ve her arayüze bağlanır: genel IP'ye sahip bir pod üzerinde bu, açık bir çıkarım uç noktasıdır. Ve PolicyServer sınıfı bir api_token kabul eder ve her istek için doğrular, ancak run_gr00t_server.py hiçbir zaman bir tane geçirmez, bu nedenle CLI sunucusu ne yapılandırırsanız yapılandırın kimlik doğrulaması yapılmamıştır. 127.0.0.1 adresine bağlayın ve tünelleyin. Bir ZMQError: Address already in use hatası, 5555 numaralı bağlantı noktasının dolu olduğu anlamına gelir; --port parametresini geçirin.
B Rotası: lerobot eşzamansız çıkarım
lerobot farklı bir sorunu çözer. Model düşünürken robotu engellemek yerine, sunucu bir sonraki parçayı hesaplarken istemci zaten sahip olduğu kuyrukta ilerlemeye devam eder. Bu, SmolVLA ile tanıtılan eşzamansız yığının daha da ileri götürülmüş bir eylem parçalama yöntemidir. Bir GR00T kontrol noktasıyla da çalışır.
# GPU machine
pip install -e ".[async]"
python -m lerobot.async_inference.policy_server \
--host=127.0.0.1 \
--port=8080
# robot machine, after tunnelling 8080
python -m lerobot.async_inference.robot_client \
--server_address=127.0.0.1:8080 \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=follower_so100 \
--robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, wrist: {type: opencv, index_or_path: 1, width: 640, height: 480, fps: 30}}" \
--task="pick up the red block and put it in the bin" \
--policy_type=groot \
--pretrained_name_or_path=<user>/my_groot_finetune \
--policy_device=cuda \
--actions_per_chunk=50 \
--chunk_size_threshold=0.5 \
--debug_visualize_queue_size=TrueSunucu boş başlar: kiralanmış bir pod üzerinde kullanışlı olan, istemcinin ilk el sıkışması ona söyleyene kadar hangi politikayı sunduğunu bilmez. Kolun sorunsuz hareket edip etmeyeceğine karar veren iki ayar actions_per_chunk ve chunk_size_threshold (lerobot belgeleri ikincisine SmolVLA makalesinden sonra g der), ve belgelenmiş değerler ile gönderilen değerler uyuşmuyor.
| Parametre | lerobot 0.6.1 kodundaki değer | Ne işe yarar | Not |
|---|---|---|---|
| actions_per_chunk | varsayılan yok, gerekli | Çağrı başına döndürülen eylemler | Belgeler tablosu 50 olarak listeler; veri sınıfı alanının varsayılanı yoktur, bu nedenle CLI bir değer talep eder |
| chunk_size_threshold | 0.5 | İstemcinin yeni bir gözlem gönderdiği kuyruk doluluk oranı (bu değer veya altı) | Belgeler tablosu 0.7 der; kod ve belgelerin kendi örneği 0.5 der |
| fps | 30 | İstemci kontrol hızı, environment_dt = 1/fps olarak ayarlar | Kuyruk boşalmaya devam ediyorsa düşürün |
| inference_latency | 1/30 s (33.3 ms) | Sunucudaki hedef çıkarım gecikmesi | Bir hedef, bir ölçüm değil |
| obs_queue_timeout | 2 s | Sunucunun gözlem kuyruğunda ne kadar bekleyeceği | Yavaş bir uplink ilk burada kendini gösterir |
| aggregate_fn_name | weighted_average | Çakışan öbek bölgelerinin nasıl harmanlandığı | 0.3 old + 0.7 new; latest_only, average ve conservative de gönderilir. Kayıt defteri, belgelerin iddia ettiği gibi robot_client.py'de değil, configs.py'deki AGGREGATE_FUNCTIONS'dır |
CVE-2026-25874, lerobot'un eşzamansız çıkarım hattında kimlik doğrulaması yapılmamış uzaktan kod yürütmedir: TLS olmadan kimlik doğrulaması yapılmamış bir gRPC kanalı üzerinden alınan veriler üzerinde pickle.loads(), SendPolicyInstructions, SendObservations ve GetActions çağrıları aracılığıyla erişilebilir. CWE-502, NVD'den CVSS 3.1 temel puanı 9.8, atayan CNA'dan 4.0 temel puanı 9.3. Kayıt, LeRobot'u 0.5.1'e kadar etkilenen olarak listeler ve hem politika sunucusunu hem de robot istemcisini adlandırır, bu nedenle kolunuzun yanındaki makine kapsam dahilindedir. Yükseltme bir çözüm değildir: kayıt, yukarı akış sorunu 3047'yi ve pickle'ı safetensors artı JSON ile değiştiren yama PR 3048'i belirtir ve 23 August 2026 tarihinde her ikisi de hala açıktır. policy_server.py on main, serve() add_insecure_port ile bağlanırken istek verileri üzerinde hala pickle.loads çağırır. Loopback'e bağlayın ve asla 8080 portunu yönlendirmeyin.
Bağlantınızın yeterince hızlı olup olmadığına karar veren aritmetik
İnsanlar bunu atlar ve sonra bir gününü hareket ortasında donan bir politika. Bu iki dakika sürer ve neredeyse her zaman belirleyicidir.
NVIDIA'nın eval_so100.py dosyasındaki yorumlanmış gözlem sözlüğü, kablo üzerinden neyin gittiğini belirtir: uint8 formatında (480, 640, 3) şeklinde iki dizi, altı eklem kayan nokta değeri, bir dil dizisi. Bu, kare başına 921.600 bayt, iki kamera için 1.843.200 bayt, yaklaşık 14.7 Mbit demektir ve hiçbir yığın bunu JPEG sıkıştırmaz. Geri gelen veri bloğu, birkaç düzine adımlık 6 kayan nokta değeridir. Her şeyi yüklemeniz belirler, indirmeniz değil.
| Yükleme bant genişliği | Bir gözlemi gönderme süresi (14.7 Mbit) | 30 FPS'lik bir kol için karar |
|---|---|---|
| 10 Mbit/s, tipik ev yüklemesi | ~1.47 s | Kullanılamaz. Kol her veri bloğu arasında durur. |
| 25 Mbit/s | ~0.59 s | Sadece yavaş alma-yerleştirme, uzun bir yürütme ufku ile. |
| 50 Mbit/s | ~0.29 s | Kasıtlı görevler için uygulanabilir. |
| 100 Mbit/s | ~0.15 s | Alma-yerleştirme için iyi, hızlı harekette fark edilebilir. |
| 1 Gbit/s fibre or datacentre | ~0.015 s | Bunun yerine model darboğaz haline gelir. |
Uymanız gereken bütçe
GR00T SO-100 istemcisi senkronizedir: policy.get_action(obs) çağrısı yapar, yığının ilk action_horizon adımını 30 FPS'de yürütür, ardından tekrar çağrı yapar. Yığın boyutu ve ufuk farklı sayılardır: NVIDIA'nın dağıtım kılavuzu, gerçek zamanlı yığınlama ile birleştirildiğinde en az 32 olmak üzere 16'lık bir eylem yığın boyutu önerirken, eval_so100.py 8'lik bir yürütme ufku sunar. 30 FPS'de sekiz adım, çağrı başına 267 ms hareket demektir ve diğer her şey bunun içine sığmak zorundadır.
observation upload 14.7 Mbit / 100 Mbit/s = 147 ms
network round trip = 30 ms
model inference (AY-Robots figure, N1.7) = 152 ms
action chunk return + deserialize = ~2 ms
-------
total per call 331 ms
budget at action_horizon = 8 -> 267 ms FAIL, arm pauses ~64 ms per chunk
budget at action_horizon = 16 -> 533 ms fits, with headroom
budget at action_horizon = 32 -> 1067 ms fits, observations now ~1 s staleUfku yükseltmek kaba bir çözümdür ve bedelsiz değildir: kol, artık eski olan bir gözlem üzerinde hareket eder. Prensipsel çözüm, mevcut yığın çalışırken bir sonraki yığını hesaplayan, yürütülmesi garanti edilen eylemleri donduran ve geri kalanını tamamlayan gerçek zamanlı yığınlamadır; RTC makalesi, yeniden eğitim gerektirmeden çıkarım gecikmesine karşı sağlam olduğunu bildirmektedir. Önce bunun nerede durduğunu kontrol edin. NVIDIA, RTC'yi deneysel olarak işaretler, bu, action_head.get_action(..., options={"rtc_overlap_steps": ..., "rtc_frozen_steps": ...}) aracılığıyla erişilebilen düşük seviyeli bir model ilkelidir, Gr00tPolicy'ye veya sunucu-istemci yoluna bağlı değildir, burada options kullanılmaz, testleri ve örneği yoktur. Bir politika sunucusu üzerinden RTC değil, eşzamansız yürütme elde edersiniz.
NVIDIA, GR00T N1.7'yi tek bir kamera ile 4 gürültü giderme adımında uçtan uca kıyaslar. Bir H100 80GB HBM3 üzerinde: PyTorch eager modunda 85.8 ms (11.7 Hz), torch.compile ile 48.6 ms (20.6 Hz), TensorRT tam boru hattı ile 27.9 ms (35.9 Hz). Eager modunda bir L40, 128.3 ms (7.8 Hz) sürer. NVIDIA, tipik manipülasyon için önerilen minimumu 10 Hz olarak adlandırır ve 10 Hz'in altını yalnızca yavaş, tepkisiz görevler için uygun görür. Bunlar yeniden planlama oranlarıdır: 10 Hz'lik bir politika, eylem yığınlama yoluyla hala 30 FPS'lik bir kolu sürebilir. İkinci bir kamera sizi yanlış yöne götürür.
Güvenmeden önce ölçün
Yukarıdaki her sayı bir tahmindir. Dört komut, onu bir ölçüme dönüştürür; asla çalışmayacak bir göreve bir pod-saat ayırmadan önce çalıştırmaya değerdir.
- 1Ham gidiş-dönüş süresini alın
Pod'a karşı, bir CDN'e değil. Ortalamayı olduğu kadar sapmayı da yakından izleyin: kolun takılmasına ortalama gecikme değil, jitter neden olur.
bashping -c 50 <pod-host> # the mdev column is the number that predicts stutter - 2Sahip olduğunuz yükleme hızını ölçün, ödediğinizi değil
Ev interneti yükleme hızı genellikle indirme hızının bir kısmıdır ve yukarıdaki bant genişliği tablosundaki sayıdır.
bash# on the pod iperf3 -s # on the robot machine, -R omitted so this measures upload iperf3 -c <pod-host> -t 30 - 3İstemcinin kendi gecikme günlüğünü okuyun
LeRobot robot istemcisi, her bir veri bloğu için sunucudan istemciye gecikmeyi ve seri durumdan çıkarma süresini kaydeder. B rotasında harici bir araca ihtiyacınız yoktur.
textReceived action chunk for step #240 | Latest action: #232 | Incoming actions: 240:289 | Network latency (server->client): 187.44ms | Deserialization time: 3.10ms - 4Eylem kuyruğunun boşalmasını izleyin
--debug_visualize_queue_size=Trueparametresini geçin ve istemci çalışma zamanında kuyruk boyutunu çizer. Eğer tekrar tekrar sıfıra düşerse, bütçeniz tükenmiş demektir: fps'yi düşürün, actions_per_chunk'ı artırın veya gözlemlerin daha sık gönderilmesi için chunk_size_threshold'u yükseltin.bashpython -m lerobot.async_inference.robot_client \ ... \ --debug_visualize_queue_size=True
Uzaktan çıkarım aslında ne işe yarar?
- Kolun maliyetinden daha pahalı bir karta sahip olmadan, gerçek donanım üzerinde 3 milyar parametreli bir politikayı değerlendirebilirsiniz.
- GPU saatlik kiralanır, bu nedenle başarısız bir kontrol noktası birkaç dolara mal olur.
- Robot tarafı küçük kalır: lerobot sürücüleri, iki kamera, bir seri port ve kontrol noktalarını ona dokunmadan değiştirebilirsiniz.
- Sıkıştırılmamış gözlemler ağ maliyetine hakimdir ve ev interneti yükleme hızı kısıtlayıcı faktördür.
- Titreşim gecikmeden daha fazla zarar verir: 40 ms ortalama ve 300 ms'ye çıkan ani yükselişlere sahip bir bağlantı takılırken, sabit 120 ms'lik bir bağlantı takılmaz.
- Hızlı reaktif görevler, herhangi bir ufukta gidiş-dönüş süresine dayanamaz.
- Her iki sunucu da CLI biçiminde kimlik doğrulaması yapılmamış olarak gönderilir, bu nedenle tünelleme işi size aittir.
- Bir veri bloğu ortasında düşen bağlantı, kolu eski bir eylemle bırakır. Robot tarafına kendi izleme mekanizmanızı ekleyin.
| Görev | Herkese açık internet üzerinden çalışır mı? | Neden |
|---|---|---|
| Statik bir nesneyi alıp bir kutuya yerleştirin | Evet | Gözlem ve eylem arasında hiçbir şey hareket etmez. |
| Blokları dikkatli bir hızda istifleyin | Evet, action_horizon 16 veya daha fazla olduğunda | Hatalar, bir sonraki veri bloğunda düzeltilebilecek kadar yavaş birikir. |
| Bir çekmeceyi açın, bir nesne yerleştirin | Genellikle | Temas açısından zengin ama yavaş. Temas anında dur-kalk hareketlerine dikkat edin. |
| Hareketli bir nesneyi takip edin | Hayır | Politika, 300 ms ila 1 saniye önceki bir gözlem üzerinde hareket eder. |
| Kaymayı yakalayın, dengeleyin veya kaymadan kurtulun | Hayır | Düzeltme penceresi, bir gidiş-dönüş süresinden daha kısadır. |
| 30 Hz senkronize kapalı döngü | Hayır | Bütçe uçtan uca 33 ms'dir. Bir LAN bile zorlanır. |
Eğer uzaktan bir çalıştırma her bölümde aynı noktada takılıyorsa, muhtemelen ağ nedeni değildir. Her seferinde aynı eklem açısında tereddüt eden bir politika genellikle bir veri sorunudur; bkz. hata modu sayfaları, özellikle de yalnızca tek bir kurulumda çalışan bir politika ve kayıp düşüyor ama politika hiçbir şey yapmıyor.
Kendiniz yapmak mı yoksa AY-Robots üzerinde yapmak mı?
- Spot piyasadan bir GPU kiralayın ve istediğiniz fiyata yeterli VRAM olmasını bekleyin.
- CUDA, uv, bir ffmpeg torchcodec kabul eden bir sürümünü ve alt modülleriyle birlikte GR00T yığınını kurun.
- Korumalı `nvidia/Cosmos-Reason2-2B` omurgasına erişim talep edin ve pod üzerine bir jeton yerleştirin.
- Kontrol noktanızı pod üzerine çekin.
- Sunucuyu loopback üzerinde başlatın, ardından robot makinesinden bir SSH tüneli kurun.
- İstemci ve sürücüler için robot makinesine ikinci bir ortam kurun.
- Kamera anahtarlarını, eklem adlarını ve dil talimatını kontrol noktasının gördükleriyle eşleştirin.
- Pod'u izleyin. Geceden sabaha unutulmuş bir A100, deneyden daha pahalıya mal olur.
Robot durduğunda GPU faturası durmaz. Uzak çıkarım (inference) üzerinde kaybedilen paranın çoğu, herkes gittikten sonra açık kalan bir sunucuya gider. Bir alarm kurun veya kapatmayı otomatikleştirin.
- Çalıştırmak istediğiniz eğitilmiş politikayı seçin.
- `/api/inference/pod`, o politikayı sunan bir bulut GPU pod'unu otomatik olarak sağlar.
- Yerel robot istemcisi bu uç noktayla konuşur. Temel kontrol noktaları satıcıların kendilerine aittir: `nvidia/GR00T-N1.7-3B`, `nvidia/GR00T-N1.5-3B`, `lerobot/pi05_base`. ACT'nin hiçbiri yoktur.
- Pod'lar boşta kalma izleyicisi taşır ve belirli bir boşta kalma süresinden sonra kendilerini yok ederler, böylece hiçbir şey sessizce faturalandırmaya devam etmez.
- Aynı işlemler bir terminalden ve yapay zeka ajanlarına da açıktır, böylece döngü betiklenebilir.
Otomatik sağlama, kurulum işini ve unutulmuş pod faturasını ortadan kaldırır, fiziği değil. Hızlı görevler için çıkarım (inference) hala servoların yanında olmak zorundadır: kontrol döngüsü modele bağlı olarak eylem adımı başına 20 ila 485 ms'dir ve bunun üzerine genel internet gidiş-dönüş süreleri çalışan bir politikayı tereddütlü bir politikaya dönüştürür.
- İstemci rehberi bağlantının yerel tarafı için
- İlk politikanızı çalıştırın adım adım kılavuz için
- CLI ve MCP sunucusu betiklenmiş sürüm için
- Güvenlik belgeleri

Uzak çıkarım oturumunun maliyeti
İki sayı önemlidir: kartın saatlik ücreti ve ne kadar süreyle çalışır durumda bıraktığınız. Birincisi yayınlanmıştır; ikincisi insanları şaşırtır.
| Kart | Runpod topluluk bulutu | Runpod güvenli bulutu | Uygun olduğu modeller |
|---|---|---|---|
| A100 PCIe 80 GB | 1.19 USD/h | 1.39 USD/h | GR00T N1.7, GR00T N1.5, Pi0.5 |
| A100 SXM 80 GB | 1.39 USD/h | 1.59 USD/h | Aynı, biraz daha hızlı |
| H100 PCIe 80 GB | 1.99 USD/h | 2.89 USD/h | En hızlı katman; NVIDIA'nın 11.7 Hz'lik eager değeri bir H100 80GB HBM3 içindir |
| L40S 48 GB | 0.79 USD/h | 0.99 USD/h | Yalnızca çıkarım, 16 GB tabanının üzerinde |
| RTX 4090 24 GB | 0.34 USD/h | 0.74 USD/h | SmolVLA, ACT |
Bu oranlar 23 Ağustos 2026 tarihinde Runpod'un fiyatlandırma sayfasından alınmıştır ve spot piyasalar hareketlidir. AY-Robots bunun yerine tüm bir çalıştırma için fiyat verir: A100 veya H100 katmanında saat başına 1.20 ila 2.00 USD'den 3 ila 6 saat, bir GR00T veya Pi0.5 çalıştırması için yaklaşık 4 ila 12 USD; 24 GB katmanında saat başına 0.30 ila 0.60 USD'den 2 ila 5 saat, SmolVLA veya ACT için 1 ila 3 USD. Bir çıkarım oturumu, maliyet açısından bir eğitim çalıştırmasını ancak durdurursanız yener, boşta kalma izleyicisi de bunun içindir. Bkz. faturalandırma belgeleri ve fiyatlandırma sayfası.

Ağı döngüde bulundurmak istemiyorsanız
Uzaktan çıkarım, bir donanım sorununu çözer ve bir gecikme sorunu yaratır. Bazen daha iyi yanıt, sahip olduğunuz donanıma uyan bir politikadır.
- ACT, yaklaşık 80 M parametre ve eylem adımı başına 20 ms, minimum 50 epizot, herhangi bir 24 GB kart. Tekrarlayan tek görevli bir kurulumda, bir paketi asla beklemediği için uzaktaki 3 B'lik bir modeli sık sık geride bırakır.
- SmolVLA, yaklaşık 450 M parametre ve eylem adımı başına 245 ms, minimum 30 epizot. ACT'nin eksik olduğu dil koşullandırmasını korur ve lerobot belgeleri, çıkarım zamanında yaklaşık 2 GB olarak belirtirken, PI0 için yaklaşık 14 GB'tır.
- ACT vs GR00T N1.7, takasın doğruluk yarısı için.
Orta bir yol da var: bulutta eğit, yerel olarak değerlendir. İnce ayar 80 GB karta ihtiyaç duyar ve gecikmeyi umursamaz, bu yüzden bir SO-100 üzerinde GR00T N1.7 eğitimi uzaktan tartışmasızdır. Yalnızca değerlendirme döngüsünün gerçek zamanlı bir kısıtlaması vardır; eğitim belgeleri ve model ve kol matrisi bu yarısını kapsar.
Henüz masada bir kol yok mu?
Tarayıcıda kaydolmadan gerçek bir SO-100'ü sürün, beş eğitilebilir politikayı gerçek gecikme sayılarıyla karşılaştırın veya bir GPU kiralayıp birini eğitin. Başlamak için üç yol, hiçbiri sahip olmadığınız donanıma ihtiyaç duymaz.
Donanım olmadan deneyinSıkça sorulan sorular
GPU uzaktaysa GR00T N1.7'yi bir Raspberry Pi üzerinde çalıştırabilir miyim?▾
Evet, istemci-sunucu ayrımı bunun içindir. Pi, lerobot sürücülerini çalıştırır, iki kamera ve bir seri veri yolu okur ve gözlemleri politika sunucusuna gönderir; modeli asla yüklemez. Kısıtlama VRAM'den yükleme bant genişliğine kayar: sıkıştırılmamış iki adet 640x480 RGB kare, çağrı başına 1.843.200 bayttır ve hiçbir yığın bunları sıkıştırmaz.
Ağ aslında ne kadar gecikme ekler?▾
Gidiş-dönüş süresi artı gözlem aktarım süresi. Aktarım süresi, yükleme bant genişliğinize bölünmüş 14.7 Mbit'tir: 100 Mbit/s bağlantıda yaklaşık 147 ms, 10 Mbit/s bağlantıda 1.47 s. Her ikisi de modelin kendi çıkarım süresinin üzerine eklenir; AY-Robots, GR00T N1.7 için 152 ms ve Pi0.5 için 485 ms olarak listeler. Bir hız testi sunucusuna karşı değil, pod'a karşı ping ve iperf3 ile ölçün.
Uzaktan çıkarım gerçek bir görev için yeterince iyi mi?▾
Yavaş, dikkatli alma ve yerleştirme için evet. Reaktif herhangi bir şey için hayır. NVIDIA'nın dağıtım kılavuzu, senkron tek adımlı gereksinimi 30 FPS'de uçtan uca yaklaşık 33 ms olarak belirtir ve yakalama, ağ, çıkarım ve son işlemenin internet bağlantısı olmasa bile rutin olarak bu süreyi aştığını belirtir.
Sunucular hangi portu kullanır ve açmak güvenli midir?▾
Isaac-GR00T'nin PolicyServer'ı ZeroMQ üzerinden varsayılan olarak 5555 portunu kullanır ve CLI'sında 0.0.0.0'a bağlanır. lerobot'un varsayılanı gRPC üzerinden 8080 portudur ve localhost'a bağlanır. Her ikisi de açığa çıkarmak için güvenli değildir: GR00T sınıfı bir api_token'ı destekler ancak run_gr00t_server.py asla bir tane geçirmez ve lerobot, güvensiz bir gRPC kanalı üzerinden verileri pickle'lar, bu da CVE-2026-25874'tür. Loopback'e bağlayın ve bir SSH tüneli kullanın.
lerobot'u yükseltmek CVE-2026-25874'ü düzeltir mi?▾
23 Ağustos 2026 itibarıyla hayır. CVE kaydı, LeRobot'u 0.5.1'e kadar etkilenen olarak listeler ve PyPI 0.6.1'i gönderir, ancak pickle'ı asenkron boru hattından kaldıracak çekme isteği hala açıktır ve main üzerindeki policy_server.py hala istek verileri üzerinde pickle.loads çağırır. Ağ izolasyonunu bir sürüm yükseltmesi yerine hafifletme olarak kabul edin ve robot tarafındaki istemcinin de kapsamda olduğunu varsayın.
lerobot'un asenkron istemcisini bir GR00T kontrol noktasıyla kullanabilir miyim?▾
Evet. lerobot 0.6.1, SUPPORTED_POLICIES içinde act, smolvla, diffusion, tdmpc, vqbet, pi0 ve pi05 ile birlikte groot'u listeler ve hem so100_follower hem de so101_follower SUPPORTED_ROBOTS içindedir. --policy_type=groot parametresini geçirin ve --pretrained_name_or_path'i kontrol noktanıza yönlendirin. GR00T SO-100 örneğinin uygulamadığı asenkron yürütmeyi, pickle taşıma maliyetiyle elde edersiniz.
Kısa versiyon
3 B politika için uzaktan çıkarım, çözülmüş bir mühendislik problemi olup, çözülmemiş bir fizik problemiyle birlikte gelir. Mühendislik kısmı iki komut ve bir SSH tünelidir. Fizik kısmı ise 1.8 MB'lık bir gözlemin, kolun eylemleri bitmeden önce başka bir ülkedeki bir GPU'ya ulaşıp geri dönmesi gerektiğidir. Herhangi bir şey kiralamadan önce hesaplamaları yapın, eski bir gözleme tolerans gösteren bir görev seçin ve bağlantının iyileşmesini ummak yerine yürütme ufkunu yükseltin.
Henüz bir veri kümesi kaydetmediyseniz, ve önce gelir ve girişi kaydedicinin ne yazdığını açıklar. Arka plan ve üzerinedir; her kıyaslama numarasını bir kaynağa bağlar.
Sources
- NVIDIA Isaac-GR00T: N1.7 deposu ve README (16 GB çıkarım tabanı, kurulum, kilitli Cosmos-Reason2-2B omurgası, FFmpeg kısıtlaması)
- run_gr00t_server.py: GR00T politika sunucusu CLI, ServerConfig varsayılanları (host 0.0.0.0, port 5555) ve ReplayPolicy yolu
- server_client.py: PolicyServer ve PolicyClient, MsgSerializer'ın allow_pickle=False sınırı, api_token, timeout_ms
- eval_so100.py: SO-100 politika istemcisi, EvalConfig varsayılanları ve senkron kontrol döngüsü
- Isaac-GR00T SO100/SO101 örneği: veri kümesi dönüştürme, ince ayar ve kapalı döngü değerlendirme komutları
- Isaac-GR00T Gerçek Dünya Dağıtım Kılavuzu: 33 ms senkron bütçe, dur-kalk, eylem öbek boyutu, RTC durumu
- Isaac-GR00T Donanım Önerisi: GPU başına çıkarım frekansı ve minimum 10 Hz
- Isaac-GR00T Dağıtım ve Çıkarım Kılavuzu: bileşen başına gecikme kıyaslama sonuçları
- LeRobot: Asenkron Çıkarım eğitimi (PolicyServer, RobotClient, belgelenmiş parametre tablosu)
- lerobot async_inference/configs.py: PolicyServerConfig ve RobotClientConfig varsayılanları, AGGREGATE_FUNCTIONS kayıt defteri
- lerobot async_inference/policy_server.py: istek verileri üzerinde pickle.loads, add_insecure_port, gRPC çağrı adları
- lerobot robot_client.py: gRPC taşıma, pickle serileştirme, gecikme günlüğü
- CVE-2026-25874: LeRobot güvensiz serileştirme ile gRPC üzerinden uzaktan kod yürütme, 0.5.1'e kadar etkilenen
- Black, Galliker ve Levine, Eylem Öbekleme Akış Politikalarının Gerçek Zamanlı Yürütülmesi (gerçek zamanlı öbekleme)
- Runpod GPU fiyatlandırması: A100, H100, L40S ve RTX 4090 için topluluk ve güvenli bulut saatlik ücretleri
Sources
- NVIDIA Isaac-GR00T: N1.7 repository and README (16 GB inference floor, install, gated Cosmos-Reason2-2B backbone, FFmpeg constraint)
- run_gr00t_server.py: the GR00T policy server CLI, ServerConfig defaults (host 0.0.0.0, port 5555) and the ReplayPolicy path
- server_client.py: PolicyServer and PolicyClient, MsgSerializer's allow_pickle=False boundary, api_token, timeout_ms
- eval_so100.py: the SO-100 policy client, EvalConfig defaults and the synchronous control loop
- Isaac-GR00T SO100/SO101 example: dataset conversion, finetune and closed-loop eval commands
- Isaac-GR00T Real-World Deployment Guide: the 33 ms synchronous budget, stop-and-go, action chunk size, RTC status
- Isaac-GR00T Hardware Recommendation: inference frequency per GPU and the 10 Hz minimum
- Isaac-GR00T Deployment and Inference Guide: per-component latency benchmark results
- LeRobot: Asynchronous Inference tutorial (PolicyServer, RobotClient, the documented parameter table)
- lerobot async_inference/configs.py: PolicyServerConfig and RobotClientConfig defaults, AGGREGATE_FUNCTIONS registry
- lerobot async_inference/policy_server.py: pickle.loads on request data, add_insecure_port, the gRPC call names
- lerobot robot_client.py: gRPC transport, pickle serialization, latency logging
- CVE-2026-25874: LeRobot unsafe deserialization remote code execution via gRPC, affected through 0.5.1
- Black, Galliker and Levine, Real-Time Execution of Action Chunking Flow Policies (real-time chunking)
- Runpod GPU pricing: community and secure cloud hourly rates for A100, H100, L40S and RTX 4090
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started