
Váš robotický stroj nemá GPU. Umiestnite server politík GR00T na prenajaté cloudové GPU, streamujte akčné bloky do ramena a zistite presne, čo vás stojí sieť.
Raspberry Pi stačí na ovládanie cez sériovú zbernicu a sťahovanie snímok z dvoch USB kamier. Nestačí však na spustenie trojmiliardového parametrového : Súbor README od spoločnosti NVIDIA uvádza inferenciu GR00T N1.7 na jednej GPU s 16 GB alebo viac VRAM. Ak chcete vidieť, čo robí váš jemne vyladený checkpoint na ramene bez zakúpenia karty, umiestnite politiku na prenajatú cloudovú GPU, udržujte robotickú slučku na stroji s USB portami a posielajte pozorovania a akčné bloky cez sieť.
Funguje to, nie je to zadarmo a cena nie je rovnomerne rozložená medzi úlohy. Nižšie: vlastný server politík spoločnosti NVIDIA, asynchrónny zásobník lerobot, aritmetika, ktorá vopred povie, či je váš uplink dostatočne rýchly, a trasa platformy. Všetko overené oproti hlavnej vetve Isaac-GR00T (N1.7 GA) a lerobot 0.6.1 k 23. augustu 2026.
Čo potrebujete vedieť
- •GR00T N1.7, GR00T N1.5 a Pi0.5 sú modely s približne 3 miliardami parametrov. Žiadny z nich sa nezmestí na riadiacu jednotku robota bez diskrétnej GPU.
- •Isaac-GR00T a lerobot dodávajú rozdelenie klient-server. Transport nepíšete vy.
- •Pozorovania dominujú nákladom na prenos, nie akcie: dva nekomprimované 640x480 RGB snímky sú 1 843 200 bajtov, približne 14,7 Mbit na volanie, a ani jeden zásobník ich nekomprimuje.
- •AY-Robots uvádza 20 to 485 ms na akčný krok podľa modelu. K tomu sa pripočítavajú internetové okružné cesty.
- •Vzdialená inferencia je vhodná pre pomalé úlohy typu pick-and-place, nie pre rýchly reaktívny pohyb. Dlhší horizont vykonávania kupuje čas a stojí sviežosť pozorovania.
- •Žiadny server nie je bezpečný na verejnej IP adrese v dodanej podobe a lerobot obsahuje neopravenú RCE. Tunelujte ho.
Prečo sa politika nezmestí na stroj robota
Dve z piatich politík, ktoré AY-Robots dokáže trénovať, bežia na karte pracovnej stanice, tri nie. Stĺpec nižšie je na krok akcie, a to je číslo, ktoré konkuruje vášmu sieťovému round tripu.
| Politika | Parametre | Inferencia na krok akcie | Úroveň GPU pre tréning | Min. epizódy | Formát dátovej sady |
|---|---|---|---|---|---|
| GR00T N1.7 | ~3 B, ~40 M trained during fine-tuning | 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 backbone | 485 ms | A100 80 GB or H100 80 GB | 50 | LeRobot v3.0 |
| SmolVLA | ~450 M | 245 ms | RTX 4090 or any 24 GB card | 30 | LeRobot v3.0 |
| ACT | ~80 M | 20 ms | RTX 4090 or any 24 GB card | 50 | LeRobot v3.0 |

Čítajte to ako rozhodnutie, nie ako zaujímavosť. pri 20 ms na krok beží na robotickom stroji a už na to nikdy nemusíte myslieť. pri 485 ms strávil tretinu sekundy, kým balík opustí vašu budovu. a pridávajú stranu presnosti.
GR00T N1.7, GR00T N1.5 a Pi0.5 začínajú z kontrolného bodu dodávateľa (nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B, lerobot/pi05_base). ACT neexistuje, kým ho netrénujete na vlastnej úlohe, takže nie je nič, čo by sa dalo vzdialene obsluhovať, kým sa nespustí tréningová úloha. Pozrite si ACT na SO-100.
Dva existujúce klientsko-serverové zásobníky
Isaac-GR00T dodáva ZeroMQ request-reply server; lerobot dodáva gRPC server postavený na asynchrónnej inferencii. Oba akceptujú GR00T kontrolný bod. Zoznam podporovaných politík lerobot v async_inference/constants.py je act, smolvla, diffusion, tdmpc, vqbet, pi0, pi05 a groot; jeho zoznam robotov je so100_follower, so101_follower, bi_so_follower a omx_follower.
| Isaac-GR00T PolicyServer | lerobot async inference | |
|---|---|---|
| Vstupný bod | gr00t/eval/run_gr00t_server.py | python -m lerobot.async_inference.policy_server |
| Transport | ZeroMQ REQ/REP | gRPC, add_insecure_port / insecure_channel |
| Serializácia | msgpack + msgpack_numpy, allow_pickle=False enforced | pickle.dumps / pickle.loads, marked # nosec |
| Predvolený port | 5555 | 8080 |
| Predvolené viazanie | 0.0.0.0, všetky rozhrania | localhost |
| Autentifikácia | api_token podporovaný triedou, neprechádza cez CLI | none |
| Časový limit klienta | 15000 ms (PolicyClient timeout_ms) | 2 s observation queue timeout |
| Model vykonávania | synchrónne: blokovať, potom vykonať blok | asynchrónne: vykonávať, zatiaľ čo sa počíta ďalší blok |
Riadok serializácie je dôležitejší, než sa zdá. GR00T-ov MsgSerializer odmieta ndarray dátové štruktúry typu object-dtype v oboch smeroch, pretože msgpack_numpy by ich inak odovzdal pickle. lerobot namiesto toho používa pickle: policy_server.py volá pickle.loads na dáta požiadavky, robot_client.py serializuje pozorovanie, ktoré posiela. Obrániteľné v dôveryhodnej LAN sieti, neobrániteľné, akonáhle je port dostupný z internetu.
Trasa A: Vlastný GR00T policy server od NVIDIA
Toto je cesta, ktorú NVIDIA dokumentuje pre hardvér SO-100 a SO-101, a tá, ktorú treba použiť, ak váš checkpoint pochádza z examples/finetune.sh s --embodiment-tag NEW_EMBODIMENT. Kroky dopĺňajú to, čo pôvodný README vynecháva: ako dostať port k robotovi bez toho, aby bol vystavený všetkým ostatným.
- 1Nainštalujte GR00T na prenajatý GPU box
Submoduly sú povinné a git-lfs musí existovať pred klonovaním, inak sú parquet súbory v
demo_datadoručené ako ukazovatele. flash-attn a TensorRT sú súčasťou predvolenej inštalácie. Úskalie pri čerstvom obraze podu:torchcodec0.8.0 je jediný podporovaný video backend a načíta iba FFmpeg 4 až 7. Ubuntu 25.10 a 26.04 dodávajú FFmpeg 8, takže GR00T zlyhá sCould not load libtorchcodec. Nainštalujte FFmpeg verzie nižšej ako 8 a umiestnite jeho knižnice doLD_LIBRARY_PATH.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')" - 2Autentifikujte sa voči gated backbone
Každý GR00T N1.7 checkpoint, vrátane vášho vlastného fine-tune, načíta pri prvom použití gated
nvidia/Cosmos-Reason2-2B. Požiadajte o prístup na stránke modelu a prihláste sa na pod, inak načítanie zlyhá sGatedRepoError.bashuv run huggingface-cli login # or: export HF_TOKEN=<your_token> - 3Spustite policy server
Nasmerujte
--model-pathna váš adresár checkpointu; na tejto ceste server ignoruje--modality-config-path, ktorý sa číta iba na ceste pre prehrávanie. Vyhnite sa--model-patha namiesto toho odovzdajte--dataset-pathplus--execution-horizonpre ReplayPolicy, ktorá prehráva zaznamenané akcie, čo je najlacnejší spôsob, ako dokázať, že zapojenie funguje.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 - 4Tunelujte port 5555 k robotickému stroju
Naviažte sa na loopback, ako je uvedené vyššie, a preneste port cez SSH alebo sieť typu WireGuard. To poskytuje šifrovanie a autentifikáciu, ktoré ZeroMQ socket neposkytuje, za približne milisekundu.
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 - 5Spustite robotického klienta vedľa servomotorov
Klient potrebuje vlastné uv prostredie: chce robotické ovládače lerobot, nie tréningový stack.
eval_so100.pyimportuje so100_follower, so101_follower a koch_follower, takže odovzdajte--robot.typezodpovedajúci vášmu ramenu (pôvodný README používa so101_follower). Kľúče kamier musia zodpovedať tréningu: adaptér číta presnefrontawrist, a ich výmena ukáže politike nesprávny pohľad.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 predvolene používa --host 0.0.0.0, viaže každé rozhranie: na pod s verejnou IP adresou je to otvorený inferenčný koncový bod. A trieda PolicyServer akceptuje api_token a validuje ho pre každú požiadavku, ale run_gr00t_server.py ho nikdy neposiela, takže CLI server je neautentifikovaný bez ohľadu na vašu konfiguráciu. Viažte sa na 127.0.0.1 a tunelujte. Chyba ZMQError: Address already in use znamená, že port 5555 je obsadený; použite --port.
Trasa B: lerobot asynchrónna inferencia
lerobot rieši iný problém. Namiesto blokovania robota, kým model premýšľa, klient pokračuje v spracovávaní fronty, ktorú už má, zatiaľ čo server vypočítava ďalší chunk. Toto je chunkovanie akcií posunuté ďalej, asynchrónny zásobník predstavený so SmolVLA. Funguje aj s checkpointom GR00T.
# 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=TrueServer sa spúšťa prázdny: nevie, akú politiku obsluhuje, kým mu to nepovie prvé nadviazanie spojenia klientom, čo je výhodné na prenajatom pode. Dva parametre, ktoré rozhodujú o tom, či sa rameno pohybuje plynulo, sú actions_per_chunk a chunk_size_threshold (dokumentácia lerobot nazýva druhý parameter g, podľa článku SmolVLA), a dokumentované hodnoty a dodané hodnoty sa nezhodujú.
| Parameter | Hodnota v kóde lerobot 0.6.1 | Čo robí | Poznámka |
|---|---|---|---|
| actions_per_chunk | bez predvolenej hodnoty, povinné | Akcie vrátené na jedno volanie | Tabuľka v dokumentácii uvádza 50; pole dataclass nemá predvolenú hodnotu, takže CLI vyžaduje hodnotu |
| chunk_size_threshold | 0.5 | Pomer zaplnenia frontu, pri ktorom alebo pod ktorým klient posiela nové pozorovanie | Tabuľka v dokumentácii uvádza 0.7; kód a vlastný príklad z dokumentácie uvádzajú 0.5 |
| fps | 30 | Frekvencia riadenia klienta, nastavuje environment_dt = 1/fps | Znížte ju, ak sa front neustále vyprázdňuje |
| inference_latency | 1/30 s (33.3 ms) | Cieľová latencia inferencie na serveri | Cieľ, nie meranie |
| obs_queue_timeout | 2 s | Ako dlho server čaká na front pozorovaní | Pomalý uplink sa prejaví najprv tu |
| aggregate_fn_name | weighted_average | Ako sa spájajú prekrývajúce sa oblasti chunkov | 0.3 staré + 0.7 nové; dodávajú sa aj latest_only, average a conservative. Register je AGGREGATE_FUNCTIONS v configs.py, nie robot_client.py, ako tvrdí dokumentácia |
CVE-2026-25874 je neautentifikované vzdialené vykonávanie kódu v asynchrónnom inferenčnom pipeline lerobot: pickle.loads() na dátach prijatých cez neautentifikovaný gRPC kanál bez TLS, dostupné prostredníctvom volaní SendPolicyInstructions, SendObservations a GetActions. CWE-502, základné skóre CVSS 3.1 9.8 z NVD, základné skóre 4.0 9.3 od priraďujúcej CNA. Záznam uvádza LeRobot až do verzie 0.5.1 ako postihnutý a menuje server politík aj robotického klienta, takže stroj vedľa vášho ramena je v rozsahu pôsobnosti. Upgrade nie je riešením: záznam cituje upstream problém 3047 a patch, PR 3048, ktorý mení pickle za safetensors plus JSON, a k 23. augustu 2026 sú oba stále otvorené. policy_server.py na main stále volá pickle.loads na dáta požiadavky, zatiaľ čo serve() sa viaže s add_insecure_port. Viažte sa na loopback a nikdy nepresmerujte port 8080.
Aritmetika, ktorá rozhoduje, či je vaše pripojenie dostatočne rýchle
Ľudia toto preskočia a potom strávia deň nad . Trvá to dve minúty a takmer vždy je to rozhodujúce.
Komentovaný slovník pozorovania v NVIDIA's eval_so100.py hovorí, čo ide po drôte: dve polia tvaru (480, 640, 3) v uint8, šesť kĺbových floatov, jazykový reťazec. To je 921 600 bajtov na snímku, 1 843 200 bajtov pre dve kamery, približne 14.7 Mbit, a ani jeden zásobník to nekomprimuje do JPEG. Vracajúci sa blok je niekoľko desiatok krokov po 6 floatov. Váš upload rozhoduje o všetkom, nie váš download.
| Šírka pásma uploadu | Čas na odoslanie jedného pozorovania (14.7 Mbit) | Verdikt pre rameno s 30 FPS |
|---|---|---|
| 10 Mbit/s, typický domáci upload | ~1.47 s | Nepoužiteľné. Rameno sa zastaví medzi každým blokom. |
| 25 Mbit/s | ~0.59 s | Len pomalé uchopenie a umiestnenie, s dlhým horizontom vykonávania. |
| 50 Mbit/s | ~0.29 s | Použiteľné pre zámerné úlohy. |
| 100 Mbit/s | ~0.15 s | Dobré pre uchopenie a umiestnenie, viditeľné pri rýchlom pohybe. |
| 1 Gbit/s optika alebo dátové centrum | ~0.015 s | Namiesto toho sa model stane úzkym hrdlom. |
Rozpočet, do ktorého sa musíte zmestiť
Klient GR00T SO-100 je synchrónny: volá policy.get_action(obs), vykoná prvých action_horizon krokov bloku pri 30 FPS, potom volá znova. Veľkosť bloku a horizont sú rôzne čísla: sprievodca nasadením od NVIDIA odporúča veľkosť bloku akcie 16, minimálne 32 v kombinácii s chunkingom v reálnom čase, zatiaľ čo eval_so100.py dodáva horizont vykonávania 8. Osem krokov pri 30 FPS je 267 ms pohybu na jedno volanie a všetko ostatné sa musí zmestiť do tohto času.
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 staleZvýšenie horizontu je hrubé riešenie a nie zadarmo: rameno reaguje na pozorovanie, ktoré je už staré. Principiálnym riešením je chunking v reálnom čase (real-time chunking), ktorý vypočítava ďalší blok, zatiaľ čo beží ten aktuálny, zmrazuje akcie zaručené na vykonanie a dopĺňa zvyšok; článok o RTC uvádza, že je robustný voči oneskoreniu inferencie bez preškolenia. Najprv skontrolujte, ako to vyzerá. NVIDIA označuje RTC ako experimentálne, nízkoúrovňovú modelovú primitívu dostupnú cez action_head.get_action(..., options={"rtc_overlap_steps": ..., "rtc_frozen_steps": ...}), nezapojenú do Gr00tPolicy ani do cesty server-klient, kde options je nepoužívaná, bez testov a bez príkladu. Cez server politiky získate asynchrónne vykonávanie, nie RTC.
NVIDIA benchmarkuje GR00T N1.7 end-to-end pri 4 krokoch denoisingu s jednou kamerou. Na H100 80GB HBM3: 85.8 ms (11.7 Hz) v PyTorch eager, 48.6 ms (20.6 Hz) s torch.compile, 27.9 ms (35.9 Hz) s kompletným pipeline TensorRT. L40 v eager režime trvá 128.3 ms (7.8 Hz). NVIDIA označuje 10 Hz ako odporúčané minimum pre typickú manipuláciu a pod 10 Hz ako vhodné len pre pomalé, nereaktívne úlohy. To sú frekvencie preplánovania: politika s 10 Hz môže stále riadiť rameno s 30 FPS prostredníctvom chunkingu akcií. Druhá kamera vás posúva nesprávnym smerom.
Zmerajte to, kým tomu budete veriť
Každé číslo vyššie je predpoveď. Štyri príkazy z neho urobia meranie, ktoré sa oplatí spustiť predtým, ako venujete hodinu podu úlohe, ktorá by nikdy nefungovala.
- 1Získajte nespracovaný čas odozvy
Proti podu, nie CDN. Sledujte odchýlku rovnako pozorne ako priemer: chvenie spôsobuje trhanie ramena, nie priemerná latencia.
bashping -c 50 <pod-host> # the mdev column is the number that predicts stutter - 2Zmerajte uplink, ktorý máte, nie ten, za ktorý platíte
Domáce nahrávanie (upload) je zvyčajne zlomkom sťahovania (download), a je to číslo v tabuľke šírky pásma vyššie.
bash# on the pod iperf3 -s # on the robot machine, -R omitted so this measures upload iperf3 -c <pod-host> -t 30 - 3Prečítajte si vlastný log latencie klienta
Klient robota lerobot zaznamenáva latenciu zo servera na klienta a čas deserializácie pre každý chunk. Na trase B nepotrebujete žiadne externé nástroje.
textReceived action chunk for step #240 | Latest action: #232 | Incoming actions: 240:289 | Network latency (server->client): 187.44ms | Deserialization time: 3.10ms - 4Sledujte vyprázdňovanie frontu akcií
Použite
--debug_visualize_queue_size=Truea klient vykreslí veľkosť frontu počas behu. Ak opakovane dosiahne nulu, vyčerpali ste rozpočet: znížte fps, zvýšte actions_per_chunk, alebo zvýšte chunk_size_threshold, aby sa pozorovania odosielali častejšie.bashpython -m lerobot.async_inference.robot_client \ ... \ --debug_visualize_queue_size=True
Na čo je skutočne dobrá vzdialená inferencia
- Môžete vyhodnotiť politiku s 3 miliardami parametrov na reálnom hardvéri bez toho, aby ste vlastnili kartu, ktorá stojí viac ako rameno.
- GPU sa prenajíma na hodinu, takže neúspešný kontrolný bod stojí pár dolárov.
- Strana robota zostáva malá: ovládače lerobot, dve kamery, sériový port a kontrolné body vymieňate bez toho, aby ste sa jej dotkli.
- Nekomprimované pozorovania dominujú nákladom na prenos dát a domáce nahrávanie je obmedzujúcim faktorom.
- Jitter škodí viac ako latencia: spojenie s priemerom 40 ms a špičkami 300 ms sa zadrháva, zatiaľ čo stabilné 120 ms spojenie nie.
- Rýchle reaktívne úlohy neprežijú spiatočnú cestu v žiadnom horizonte.
- Oba servery sa dodávajú neautentifikované vo forme CLI, takže tunelovanie je na vás.
- Prerušené spojenie uprostred bloku zanechá rameno s neaktuálnou akciou. Pridajte si vlastného strážneho psa na strane robota.
| Úloha | Funguje cez verejný internet? | Prečo |
|---|---|---|
| Vyberte statický objekt, umiestnite ho do koša | Áno | Medzi pozorovaním a akciou sa nič nehýbe. |
| Skladajte bloky zámerným tempom | Áno, pri action_horizon 16 alebo viac | Chyby sa hromadia dostatočne pomaly na to, aby sa dali opraviť v ďalšom bloku. |
| Otvorte zásuvku, vložte objekt | Zvyčajne | Bohaté na kontakt, ale pomalé. Sledujte zastavenie a rozbeh pri kontakte. |
| Sledujte pohybujúci sa objekt | Nie | Politika reaguje na pozorovanie staré 300 ms až 1 s. |
| Chyťte, vyvážte alebo sa zotavte z pošmyknutia | Nie | Korekčné okno je kratšie ako jedna spiatočná cesta. |
| 30 Hz synchrónna uzavretá slučka | Nie | Rozpočet je 33 ms end-to-end. Aj LAN má problémy. |
Ak sa vzdialený beh zadrháva v rovnakom bode v každej epizóde, sieť pravdepodobne nie je príčinou. Politika, ktorá zakaždým váha pri rovnakom uhle kĺbu, je zvyčajne problém s dátami; pozrite si stránky s režimami zlyhania, najmä politiku, ktorá funguje len v jednom nastavení a strata klesá, ale politika nič nerobí.
Robíte to sami vs. robíte to na AY-Robots
- Prenajmite si GPU na spotovom trhu a počkajte na dostatok VRAM za cenu, ktorá vám vyhovuje.
- Nainštalujte CUDA, uv, ffmpeg torchcodec, ktorý akceptuje, a GR00T stack s podmodulmi.
- Požiadajte o prístup k uzamknutej chrbtici
nvidia/Cosmos-Reason2-2Ba umiestnite token na pod. - Stiahnite si svoj checkpoint na pod.
- Spustite server na loopbacku, potom vytvorte SSH tunel z robotického stroja.
- Nainštalujte druhé prostredie na robotický stroj pre klienta a ovládače.
- Priraďte kľúče kamery, názvy kĺbov a jazykovú inštrukciu k tomu, čo videl checkpoint.
- Sledujte pod. Zabudnutý A100 bežiaci cez noc stojí viac ako experiment.
Účet za GPU sa nezastaví, keď sa robot zastaví. Väčšina peňazí stratených na vzdialenej inferencii ide na server, ktorý zostal spustený po tom, čo všetci odišli. Nastavte si alarm alebo automatizujte vypnutie.
- Vyberte si trénovanú politiku, ktorú chcete spustiť.
/api/inference/podautomaticky zriaďuje cloudový GPU pod, ktorý obsluhuje túto politiku.- Lokálny robotický klient komunikuje s týmto koncovým bodom. Základné checkpointy sú vlastné dodávateľom:
nvidia/GR00T-N1.7-3B,nvidia/GR00T-N1.5-3B,lerobot/pi05_base. ACT nemá žiadne. - Pody obsahujú strážneho psa pre nečinnosť a po období nečinnosti sa samy zničia, takže nič neúčtuje potichu.
- Rovnaké operácie sú dostupné z terminálu a pre AI agentov, takže cyklus môže byť skriptovaný.
Automatické zriaďovanie odstraňuje prácu s nastavením a účet za zabudnutý pod, nie fyziku. Inferencie stále musia byť blízko servomotorov pre rýchle úlohy: riadiaca slučka je 20 až 485 ms na krok akcie v závislosti od modelu, a okrem toho, spiatočné cesty cez verejný internet premenia fungujúcu politiku na váhavú.
- Sprievodca klientom pre lokálnu stranu pripojenia
- Spustite svoju prvú politiku pre sprievodcu
- CLI a /mcp server pre skriptovanú verziu
- Bezpečnostná dokumentácia

Čo stojí vzdialená inferenčná relácia
Dve čísla sú dôležité: hodinová sadzba karty a ako dlho ju necháte bežať. Prvé je zverejnené; druhé ľudí prekvapuje.
| Karta | Runpod komunitný cloud | Runpod zabezpečený cloud | Vhodné pre |
|---|---|---|---|
| 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 | To isté, trochu rýchlejšie |
| H100 PCIe 80 GB | 1.99 USD/h | 2.89 USD/h | Najrýchlejšia úroveň; údaj NVIDIA 11.7 Hz pre eager je pre H100 80GB HBM3 |
| L40S 48 GB | 0.79 USD/h | 0.99 USD/h | Len inferencia, nad hranicou 16 GB |
| RTX 4090 24 GB | 0.34 USD/h | 0.74 USD/h | SmolVLA, ACT |
Tieto sadzby boli prečítané zo stránky s cenami Runpod dňa 23. augusta 2026 a spotové trhy sa menia. AY-Robots namiesto toho uvádza cenu za celý beh: 3 až 6 hodín pri 1.20 až 2.00 USD za hodinu na úrovni A100 alebo H100, približne 4 až 12 USD za beh GR00T alebo Pi0.5; 2 až 5 hodín pri 0.30 až 0.60 USD za hodinu na úrovni 24 GB, 1 až 3 USD za SmolVLA alebo ACT. Inferencia je nákladovo výhodnejšia ako tréningový beh len vtedy, ak ju zastavíte, na čo slúži strážny pes nečinnosti. Pozrite si dokumentáciu k fakturácii a stránku s cenami.

Ak by ste radšej nemali sieť v slučke
Vzdialená inferencia rieši hardvérový problém a vytvára problém s latenciou. Niekedy je lepšou odpoveďou politika, ktorá sa hodí k hardvéru, ktorý máte.
- ACT, približne 80 M parametrov a 20 ms na akčný krok, minimálne 50 epizód, akákoľvek 24 GB karta. V nastavení pre opakované jednorazové úlohy často prekonáva vzdialený 3 B model, pretože nikdy nečaká na paket.
- SmolVLA, približne 450 M parametrov a 245 ms na akčný krok, minimálne 30 epizód. Zachováva jazykové podmienky, ktoré ACT chýbajú, a dokumentácia lerobot ho uvádza s približne 2 GB v čase inferencie oproti približne 14 GB pre PI0.
- ACT vs GR00T N1.7 pre polovicu kompromisu týkajúcu sa presnosti.
Existuje aj stredná cesta: trénovať v cloude, vyhodnocovať lokálne. Jemné doladenie potrebuje 80 GB kartu a nezáleží mu na latencii, takže trénovanie GR00T N1.7 na SO-100 vzdialene je nespochybniteľné. Iba vyhodnocovací cyklus má obmedzenie v reálnom čase; dokumentácia k trénovaniu a matrica modelov a ramien pokrývajú túto polovicu.
Ešte nemáte rameno na stole?
Ovládajte skutočný SO-100 v prehliadači bez registrácie, porovnajte päť trénovateľných politík s ich skutočnými číslami latencie, alebo si prenajmite GPU a trénujte jednu. Tri spôsoby, ako začať, žiadny z nich nevyžaduje hardvér, ktorý nevlastníte.
Vyskúšajte to bez hardvéruČasto kladené otázky
Môžem spustiť GR00T N1.7 na Raspberry Pi, ak je GPU vzdialené?▾
Áno, na to slúži rozdelenie klient-server. Pi spúšťa ovládače lerobot, číta dve kamery a sériovú zbernicu a posiela pozorovania na policy server; nikdy nenačíta model. Obmedzenie sa presúva z VRAM na šírku pásma pre upload: dva nekomprimované 640x480 RGB snímky sú 1,843,200 bajtov na volanie a ani jeden stack ich nekomprimuje.
Koľko latencie skutočne pridáva sieť?▾
Čas odozvy (round-trip time) plus čas prenosu pozorovania. Čas prenosu je 14.7 Mbit delené vašou šírkou pásma pre upload: približne 147 ms na 100 Mbit/s linke, 1.47 s na 10 Mbit/s linke. Oba časy sa pripočítavajú k vlastnému času inferencie modelu, ktorý AY-Robots uvádza ako 152 ms pre GR00T N1.7 a 485 ms pre Pi0.5. Merajte pomocou ping a iperf3 proti podu, nie proti serveru na testovanie rýchlosti.
Je vzdialená inferencia dostatočne dobrá pre reálnu úlohu?▾
Pre pomalé, zámerné úlohy typu pick-and-place áno. Pre čokoľvek reaktívne nie. Sprievodca nasadením od NVIDIA uvádza požiadavku na synchrónny jednokrokový proces približne 33 ms end-to-end pri 30 FPS a poznamenáva, že zachytávanie, sieť, inferencia a post-processing to bežne prekračujú aj bez zapojenia internetu.
Ktorý port používajú servery a je bezpečné ho otvoriť?▾
PolicyServer Isaac-GR00T predvolene používa port 5555 cez ZeroMQ a viaže 0.0.0.0 vo svojom CLI. lerobot predvolene používa port 8080 cez gRPC a viaže localhost. Ani jeden nie je bezpečné vystaviť: trieda GR00T podporuje api_token, ale run_gr00t_server.py ho nikdy neposiela, a lerobot serializuje dáta cez nezabezpečený gRPC kanál, čo je CVE-2026-25874. Viazajte sa na loopback a použite SSH tunel.
Opravuje aktualizácia lerobot CVE-2026-25874?▾
Nie k 23. augustu 2026. Záznam CVE uvádza LeRobot až do verzie 0.5.1 ako ovplyvnený a PyPI dodáva 0.6.1, ale pull request, ktorý by odstránil pickle z asynchrónneho pipeline, je stále otvorený a policy_server.py na main stále volá pickle.loads na dáta požiadavky. Izoláciu siete považujte za zmiernenie, nie za zvýšenie verzie, a predpokladajte, že klient na strane robota je tiež v rozsahu.
Môžem použiť asynchrónneho klienta lerobot s checkpointom GR00T?▾
Áno. lerobot 0.6.1 uvádza groot v SUPPORTED_POLICIES popri act, smolvla, diffusion, tdmpc, vqbet, pi0 a pi05, a oba so100_follower a so101_follower sú v SUPPORTED_ROBOTS. Prejdite --policy_type=groot a nasmerujte --pretrained_name_or_path na váš checkpoint. Získate asynchrónne vykonávanie, ktoré príklad GR00T SO-100 neimplementuje, za cenu pickle transportu.
Stručná verzia
Vzdialená inferencia pre 3 B politika je vyriešený inžiniersky problém s nevyriešeným fyzikálnym problémom. Inžinierstvo sú dva príkazy a SSH tunel. Fyzika spočíva v tom, že 1.8 MB pozorovanie musí dosiahnuť GPU v inej krajine a vrátiť sa skôr, než rameno vyčerpá akcie. Urobte si výpočty pred prenájmom čohokoľvek, vyberte si úlohu, ktorá toleruje zastarané pozorovanie, a zvýšte horizont vykonávania namiesto toho, aby ste dúfali, že sa spojenie zlepší.
Ak ste ešte nenahrali dátovú sadu, a sú na prvom mieste a záznam vysvetľuje, čo zapisuje nahrávač. Pozadie je v a v ; odkazuje každé číslo benchmarku na zdroj.
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
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