
Vaš robotski stroj nema GPU. Postavite GR00T poslužitelj pravila na unajmljeni GPU u oblaku, streamajte dijelove akcija na ruku i saznajte točno koliko vas košta mreža.
Raspberry Pi je dovoljan za pogon preko serijske sabirnice i za preuzimanje okvira s dvije USB kamere. Nije dovoljan za pokretanje modela s tri milijarde parametara, : NVIDIA-in README navodi da GR00T N1.7 inferencija zahtijeva jedan GPU s 16 GB ili više VRAM-a. Da biste vidjeli što vaša fino podešena kontrolna točka radi na ruci bez kupnje kartice, postavite politiku na iznajmljeni GPU u oblaku, zadržite robotsku petlju na stroju s USB priključcima i šaljite opažanja i dijelove akcija preko mreže.
Radi, nije besplatno, a cijena nije ravnomjerno raspoređena po zadacima. U nastavku: NVIDIA-in vlastiti poslužitelj politika, lerobotov asinkroni stog, aritmetika koja unaprijed govori je li vaša uzlazna veza dovoljno brza i ruta platforme. Sve je provjereno u odnosu na glavnu granu Isaac-GR00T (N1.7 GA) i lerobot 0.6.1 na dan 23. kolovoza 2026.
Što trebate znati
- •GR00T N1.7, GR00T N1.5 i Pi0.5 su modeli s otprilike 3 milijarde parametara. Nijedan ne stane na robotski kontroler bez diskretnog GPU-a.
- •Isaac-GR00T i lerobot isporučuju podjelu klijent-poslužitelj. Ne pišete transportni sloj.
- •Opažanja dominiraju troškom prijenosa, a ne akcije: dva nekomprimirana 640x480 RGB okvira su 1,843,200 bajtova, oko 14.7 Mbit po pozivu, i nijedan stog ih ne komprimira.
- •AY-Robots navodi 20 do 485 ms po koraku akcije po modelu. Internetska povratna putovanja dolaze povrh toga.
- •Udaljena inferencija odgovara sporom 'pick-and-place' zadatku, a ne brzom reaktivnom kretanju. Duži horizont izvršenja kupuje vrijeme i košta svježine opažanja.
- •Nijedan poslužitelj nije siguran na javnoj IP adresi kako je isporučen, a lerobotov nosi nepatchiran RCE. Tunelirajte ga.
Zašto se politika neće uklopiti na robotski stroj
Dvije od pet politika koje AY-Robots može trenirati rade na radnoj stanici, tri ne. Stupac ispod je po koraku akcije, i to je broj koji se natječe s vašim mrežnim povratnim putovanjem.
| Politika | Parametri | Inferencija po koraku akcije | GPU razina za treniranje | Min. epizode | Format skupa podataka |
|---|---|---|---|---|---|
| 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 |

Čitajte to kao odluku, a ne kao trivijalnost. s 20 ms po koraku radi na robotskom stroju i više nikada ne razmišljate o tome. s 485 ms je potrošio trećinu sekunde prije nego što paket napusti vašu zgradu. i dodaju stranu točnosti.
GR00T N1.7, GR00T N1.5 i Pi0.5 počinju od kontrolne točke dobavljača (nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B, lerobot/pi05_base). ACT ne postoji dok ga ne trenirate na vlastitom zadatku, tako da nema ničega za posluživanje na daljinu dok se ne pokrene posao obuke. Pogledajte ACT na SO-100.
Dva postojeća klijent-poslužitelj stoga
Isaac-GR00T isporučuje ZeroMQ poslužitelj za zahtjev-odgovor; lerobot isporučuje gRPC poslužitelj izgrađen oko asinkronog zaključivanja. Oba prihvaćaju GR00T kontrolnu točku. lerobotova podržana lista politika u async_inference/constants.py je act, smolvla, diffusion, tdmpc, vqbet, pi0, pi05 i groot; njegova lista robota je so100_follower, so101_follower, bi_so_follower i omx_follower.
| Isaac-GR00T PolicyServer | lerobot asinkrono zaključivanje | |
|---|---|---|
| Ulazna točka | gr00t/eval/run_gr00t_server.py | python -m lerobot.async_inference.policy_server |
| Transport | ZeroMQ REQ/REP | gRPC, add_insecure_port / insecure_channel |
| Serijalizacija | msgpack + msgpack_numpy, allow_pickle=False enforced | pickle.dumps / pickle.loads, marked # nosec |
| Zadani port | 5555 | 8080 |
| Zadano vezivanje | 0.0.0.0, sva sučelja | localhost |
| Autentifikacija | api_token supported by the class, not passed by the CLI | none |
| Istek vremena klijenta | 15000 ms (PolicyClient timeout_ms) | 2 s observation queue timeout |
| Model izvršavanja | sinkrono: blokiraj, zatim izvrši dio | asinkrono: izvršavaj dok se sljedeći dio računa |
Redoslijed serijalizacije je važniji nego što se čini. GR00T-ov MsgSerializer odbija ndarray pakete tipa objekta u oba smjera, jer bi ih msgpack_numpy inače predao pickleu. lerobot umjesto toga koristi pickle: policy_server.py poziva pickle.loads na podacima zahtjeva, robot_client.py serijalizira (pickles) opažanje koje šalje. Obranjivo na pouzdanoj LAN mreži, neodbranjivo kada je port dostupan s interneta.
Ruta A: NVIDIJIN vlastiti GR00T poslužitelj politika
Ovo je putanja koju NVIDIA dokumentira za SO-100 i SO-101 hardver, i ona koju treba koristiti ako je vaša kontrolna točka proizašla iz examples/finetune.sh s --embodiment-tag NEW_EMBODIMENT. Koraci dodaju ono što izvorni README izostavlja: kako dovesti port do robota bez da ga izložite svima ostalima.
- 1Instalirajte GR00T na unajmljenom GPU poslužitelju
Podmoduli su obavezni, a git-lfs mora postojati prije kloniranja, inače će parquet datoteke u
demo_datastići kao pokazivači. flash-attn i TensorRT dolaze s osnovnom instalacijom. Zamka na svježoj slici poda:torchcodec0.8.0 je jedini podržani video backend i učitava samo FFmpeg 4 do 7. Ubuntu 25.10 i 26.04 isporučuju FFmpeg 8, pa GR00T ne uspijeva sCould not load libtorchcodec. Instalirajte FFmpeg verzije niže od 8 i postavite njegove biblioteke naLD_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')" - 2Autentifikacija protiv ograničene okosnice
Svaka GR00T N1.7 kontrolna točka, uključujući i vašu vlastitu finu prilagodbu, učitava ograničeni
nvidia/Cosmos-Reason2-2Bpri prvoj upotrebi. Zatražite pristup na stranici modela i prijavite se na pod, inače će učitavanje propasti sGatedRepoError.bashuv run huggingface-cli login # or: export HF_TOKEN=<your_token> - 3Pokrenite poslužitelj politika
Usmjerite
--model-pathna vaš direktorij kontrolnih točaka; na toj putanji poslužitelj ignorira--modality-config-path, koji se čita samo na putanji ponavljanja. Izostavite--model-pathi umjesto toga proslijedite--dataset-pathplus--execution-horizonza ReplayPolicy koja ponavlja snimljene akcije, što je najjeftiniji način da se dokaže da ožičenje radi.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 - 4Tunelirajte port 5555 do robotskog stroja
Vežite se na loopback, kao gore, i prenesite port preko SSH-a ili WireGuard-style mreže. To osigurava enkripciju i autentifikaciju koju ZeroMQ socket ne pruža, za otprilike 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 - 5Pokrenite robotskog klijenta pored serva
Klijent treba vlastito uv okruženje: želi lerobotove robotske drivere, a ne stack za treniranje.
eval_so100.pyuvozi so100_follower, so101_follower i koch_follower, stoga proslijedite--robot.typekoji odgovara vašoj ruci (izvorni README koristi so101_follower). Ključevi kamere moraju odgovarati treningu: adapter čita točnofrontiwrist, a njihova zamjena prikazuje politici pogrešan pogled.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 zadano koristi --host 0.0.0.0, povezujući svako sučelje: na podu s javnom IP adresom to je otvorena krajnja točka za inferenciju. Klasa PolicyServer prihvaća api_token i validira ga po zahtjevu, ali run_gr00t_server.py ga nikada ne prosljeđuje, tako da je CLI poslužitelj neautentificiran bez obzira na vašu konfiguraciju. Povežite se na 127.0.0.1 i tunelirajte. ZMQError: Address already in use znači da je port 5555 zauzet; proslijedite --port.
Ruta B: lerobot asinkrona inferencija
lerobot rješava drugačiji problem. Umjesto blokiranja robota dok model razmišlja, klijent nastavlja prolaziti kroz red čekanja koji već ima dok poslužitelj izračunava sljedeći dio. Ovo je razbijanje akcija na dijelove, razvijeno dalje, asinkroni stog uveden sa SmolVLA. Radi i s GR00T kontrolnom točkom.
# 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=TruePoslužitelj se pokreće prazan: ne zna koju politiku poslužuje dok mu to ne kaže prvi rukovanje klijenta, što je praktično na unajmljenom podu. Dva parametra koja odlučuju hoće li se ruka glatko pomicati su actions_per_chunk i chunk_size_threshold (lerobot dokumentacija drugi naziva g, po SmolVLA radu), a dokumentirane i isporučene vrijednosti se ne podudaraju.
| Parametar | Vrijednost u lerobot 0.6.1 kodu | Što radi | Napomena |
|---|---|---|---|
| actions_per_chunk | nema zadane vrijednosti, obavezno | Akcije vraćene po pozivu | Tablica u dokumentaciji navodi 50; polje dataclass nema zadanu vrijednost, pa CLI zahtijeva vrijednost |
| chunk_size_threshold | 0.5 | Omjer popunjenosti reda čekanja pri kojem ili ispod kojeg klijent šalje novo opažanje | Tablica u dokumentaciji kaže 0.7; kod i vlastiti primjer iz dokumentacije kažu 0.5 |
| fps | 30 | Brzina kontrole klijenta, postavlja environment_dt = 1/fps | Smanjite ako se red čekanja stalno prazni |
| inference_latency | 1/30 s (33.3 ms) | Ciljana latencija inferencije na poslužitelju | Cilj, a ne mjerenje |
| obs_queue_timeout | 2 s | Koliko dugo poslužitelj čeka na redu čekanja za opažanja | Spori uplink se ovdje prvo primijeti |
| aggregate_fn_name | weighted_average | Kako se preklapajuće regije blokova spajaju | 0.3 staro + 0.7 novo; isporučuju se i latest_only, average i conservative. Registar je AGGREGATE_FUNCTIONS u configs.py, a ne robot_client.py kako tvrdi dokumentacija |
CVE-2026-25874 je neautenticirano daljinsko izvršavanje koda u lerobotovom asinkronom inferencijskom cjevovodu: pickle.loads() na podacima primljenim preko neautenticiranog gRPC kanala bez TLS-a, dostupno putem poziva SendPolicyInstructions, SendObservations i GetActions. CWE-502, CVSS 3.1 osnovni rezultat 9.8 iz NVD-a, 4.0 osnovni rezultat 9.3 od dodijeljenog CNA-a. Zapis navodi LeRobot do 0.5.1 kao pogođenog i imenuje i poslužitelj politike i klijenta robota, tako da je stroj pored vaše ruke u opsegu. Nadogradnja nije rješenje: zapis navodi uzvodni problem 3047 i zakrpu, PR 3048, koja zamjenjuje pickle sa safetensors plus JSON, a 23. kolovoza 2026. oba su još uvijek otvorena. policy_server.py na main-u i dalje poziva pickle.loads na podacima zahtjeva dok se serve() veže s add_insecure_port. Vežite se na loopback i nikada ne prosljeđujte port 8080.
Aritmetika koja odlučuje je li vaša veza dovoljno brza
Ljudi ovo preskaču i onda provedu dan na politici koja se zamrzava usred pokreta. Traje dvije minute i gotovo je uvijek presudno.
Komentirani rječnik opažanja u NVIDIA-inom eval_so100.py govori što ide preko žice: dva niza oblika (480, 640, 3) u uint8, šest zglobnih floatova, jezični niz. To je 921.600 bajtova po kadru, 1.843.200 bajtova za dvije kamere, oko 14.7 Mbit, i nijedan stog to ne komprimira JPEG-om. Dio koji se vraća je nekoliko desetaka koraka od 6 floatova. Vaš upload odlučuje o svemu, a ne vaš download.
| Propusnost uploada | Vrijeme za slanje jednog opažanja (14.7 Mbit) | Presuda za ruku od 30 FPS-a |
|---|---|---|
| 10 Mbit/s, tipičan kućni upload | ~1.47 s | Neupotrebljivo. Ruka se zaustavlja između svakog dijela. |
| 25 Mbit/s | ~0.59 s | Samo sporo uzimanje i postavljanje, s dugim horizontom izvršenja. |
| 50 Mbit/s | ~0.29 s | Izvedivo za namjerne zadatke. |
| 100 Mbit/s | ~0.15 s | Dobro za uzimanje i postavljanje, vidljivo kod brzog kretanja. |
| 1 Gbit/s optika ili podatkovni centar | ~0.015 s | Model umjesto toga postaje usko grlo. |
Proračun u koji se morate uklopiti
GR00T SO-100 klijent je sinkron: poziva policy.get_action(obs), izvršava prvih action_horizon koraka bloka pri 30 FPS, a zatim ponovno poziva. Veličina bloka i horizont su različiti brojevi: NVIDIA-in vodič za implementaciju preporučuje veličinu bloka akcija od 16, najmanje 32 kada se kombinira s chunkingom u stvarnom vremenu, dok eval_so100.py isporučuje horizont izvršenja od 8. Osam koraka pri 30 FPS je 267 ms kretanja po pozivu, i sve ostalo mora stati unutar toga.
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 stalePovećanje horizonta je grubo rješenje i nije besplatno: ruka djeluje na temelju promatranja koje je sada staro. Principijelno rješenje je chunking u stvarnom vremenu, koji izračunava sljedeći blok dok se trenutni izvodi, zamrzava akcije zajamčene za izvršenje i dopunjuje ostatak; RTC rad izvještava da je robustan na kašnjenje inferencije bez ponovnog treniranja. Prvo provjerite gdje to stoji. NVIDIA označava RTC eksperimentalnim, primitivom modela niske razine dostupnim putem action_head.get_action(..., options={"rtc_overlap_steps": ..., "rtc_frozen_steps": ...}), nije povezan s Gr00tPolicy ili putanjom poslužitelj-klijent, gdje je options neiskorišten, bez testova i bez primjera. Preko poslužitelja politike dobivate asinkrono izvršavanje, a ne RTC.
NVIDIA testira GR00T N1.7 od kraja do kraja s 4 koraka denoisinga s jednom kamerom. Na H100 80GB HBM3: 85.8 ms (11.7 Hz) u PyTorch eager modu, 48.6 ms (20.6 Hz) s torch.compile, 27.9 ms (35.9 Hz) s potpunim TensorRT cjevovodom. L40 u eager modu traje 128.3 ms (7.8 Hz). NVIDIA naziva 10 Hz preporučenim minimumom za tipičnu manipulaciju, a ispod 10 Hz prikladnim samo za spore, nereaktivne zadatke. To su replaniranja stope: politika od 10 Hz i dalje može pokretati ruku od 30 FPS putem chunkinga akcija. Druga kamera vas vodi u pogrešnom smjeru.
Izmjerite prije nego što vjerujete
Svaki broj iznad je predviđanje. Četiri naredbe pretvaraju ga u mjerenje, koje vrijedi pokrenuti prije nego što posvetite pod-sat zadatku koji nikada ne bi uspio.
- 1Dohvatite sirovo povratno putovanje
Protiv poda, a ne CDN-a. Pratite odstupanje jednako pažljivo kao i prosjek: podrhtavanje uzrokuje zastajkivanje ruke, a ne prosječna latencija.
bashping -c 50 <pod-host> # the mdev column is the number that predicts stutter - 2Izmjerite uzlaznu vezu koju imate, a ne onu koju plaćate
Uzlazna veza u kućanstvima obično je djelić silazne veze, i to je broj u gornjoj tablici propusnosti.
bash# on the pod iperf3 -s # on the robot machine, -R omitted so this measures upload iperf3 -c <pod-host> -t 30 - 3Pročitajte vlastiti zapisnik latencije klijenta
LeRobot klijent robota bilježi latenciju poslužitelj-klijent i vrijeme deserializacije za svaki dio. Na ruti B ne trebate nikakve vanjske alate.
textReceived action chunk for step #240 | Latest action: #232 | Incoming actions: 240:289 | Network latency (server->client): 187.44ms | Deserialization time: 3.10ms - 4Promatrajte pražnjenje reda čekanja akcija
Proslijedite
--debug_visualize_queue_size=Truei klijent će iscrtati veličinu reda čekanja tijekom izvođenja. Ako više puta dosegne nulu, prekoračili ste proračun: smanjite fps, povećajte actions_per_chunk ili povećajte chunk_size_threshold kako bi se opažanja češće slala.bashpython -m lerobot.async_inference.robot_client \ ... \ --debug_visualize_queue_size=True
Za što je zapravo dobro udaljeno zaključivanje
- Možete procijeniti politiku s 3 milijarde parametara na stvarnom hardveru bez posjedovanja kartice koja košta više od ruke.
- GPU se iznajmljuje po satu, tako da neuspjela kontrolna točka košta nekoliko dolara.
- Strana robota ostaje mala: lerobot driveri, dvije kamere, serijski port, a kontrolne točke mijenjate bez dodirivanja.
- Nekomprimirana opažanja dominiraju troškovima prijenosa, a kućni upload je ograničavajući faktor.
- Jitter više šteti nego latencija: veza s prosjekom od 40 ms i skokovima do 300 ms zastajkuje, dok stabilna veza od 120 ms ne.
- Brzi reaktivni zadaci ne preživljavaju povratno putovanje ni u jednom horizontu.
- Oba poslužitelja isporučuju se neautentificirana u CLI obliku, tako da je posao tuneliranja vaš.
- Prekinuta veza usred bloka ostavlja ruku s zastarjelom akcijom. Dodajte vlastiti nadzorni sustav na strani robota.
| Zadatak | Radi li preko javnog interneta? | Zašto |
|---|---|---|
| Odaberite statičan objekt, stavite ga u spremnik | Da | Ništa se ne pomiče između opažanja i akcije. |
| Slažite blokove namjernim tempom | Da, s action_horizon 16 ili više | Greške se nakupljaju dovoljno sporo da se mogu ispraviti u sljedećem bloku. |
| Otvorite ladicu, umetnite objekt | Obično | Bogat kontaktima, ali spor. Pazite na zaustavljanje i kretanje pri kontaktu. |
| Pratite pokretni objekt | Ne | Politika djeluje na opažanje staro 300 ms do 1 s. |
| Uhvatite, balansirajte ili se oporavite od proklizavanja | Ne | Prozor za korekciju je kraći od jednog povratnog putovanja. |
| Sinkrona zatvorena petlja od 30 Hz | Ne | Budžet je 33 ms od kraja do kraja. Čak se i LAN muči. |
Ako se udaljeno izvođenje zastajkuje na istoj točki u svakoj epizodi, mreža vjerojatno nije uzrok. Politika koja oklijeva na istom kutu zgloba svaki put obično je problem s podacima; pogledajte stranice s načinima kvara, posebno politiku koja radi samo u jednoj postavci i gubitak pada, ali politika ne radi ništa.
Raditi sami naspram rada na AY-Robots
- Unajmite GPU na spot tržištu i pričekajte dovoljno VRAM-a po cijeni koja vam odgovara.
- Instalirajte CUDA, uv, ffmpeg torchcodec koji prihvaća, i GR00T stack s podmodulima.
- Zatražite pristup zatvorenoj
nvidia/Cosmos-Reason2-2Bokosnici i postavite token na pod. - Preuzmite svoju kontrolnu točku na pod.
- Pokrenite poslužitelj na loopbacku, zatim izgradite SSH tunel s robotskog stroja.
- Instalirajte drugo okruženje na robotskom stroju za klijenta i upravljačke programe.
- Uskladite ključeve kamere, nazive zglobova i jezičnu instrukciju s onim što je kontrolna točka vidjela.
- Pazite na pod. Zaboravljeni A100 koji radi preko noći košta više od eksperimenta.
Račun za GPU ne prestaje kada se robot zaustavi. Većina novca izgubljenog na udaljenom zaključivanju odlazi na poslužitelj koji je ostao aktivan nakon što su svi otišli. Postavite alarm ili automatizirajte gašenje.
- Odaberite obučenu politiku koju želite pokrenuti.
/api/inference/podautomatski osigurava cloud GPU pod koji služi toj politici.- Lokalni robotski klijent komunicira s tom krajnjom točkom. Osnovne kontrolne točke su vlastite od dobavljača:
nvidia/GR00T-N1.7-3B,nvidia/GR00T-N1.5-3B,lerobot/pi05_base. ACT nema nijednu. - Podovi nose nadzornika neaktivnosti i uništavaju se nakon razdoblja neaktivnosti, tako da ništa ne nastavlja tiho naplaćivati.
- Iste operacije dostupne su s terminala i AI agentima, tako da se petlja može skriptirati.
Automatsko osiguravanje uklanja posao postavljanja i račun za zaboravljeni pod, a ne fiziku. Zaključivanje i dalje mora biti blizu serva za brze zadatke: kontrolna petlja je 20 do 485 ms po koraku akcije ovisno o modelu, a povratna putovanja javnim internetom povrh toga pretvaraju radnu politiku u oklijevajuću.
- Vodič za klijente za lokalnu stranu veze
- Pokrenite svoju prvu politiku za detaljan opis
- CLI i MCP poslužitelj za skriptiranu verziju
- Sigurnosna dokumentacija

Koliko košta udaljena sesija zaključivanja
Dvije su brojke važne: satnica kartice i koliko dugo je ostavite da radi. Prva je objavljena; druga iznenađuje ljude.
| Kartica | Runpod zajednički oblak | Runpod sigurni oblak | Prikladno za |
|---|---|---|---|
| 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 | Isto, malo brže |
| H100 PCIe 80 GB | 1.99 USD/h | 2.89 USD/h | Najbrži sloj; NVIDIA-ina brojka od 11.7 Hz za eager mode odnosi se na H100 80GB HBM3 |
| L40S 48 GB | 0.79 USD/h | 0.99 USD/h | Samo inferencija, iznad praga od 16 GB |
| RTX 4090 24 GB | 0.34 USD/h | 0.74 USD/h | SmolVLA, ACT |
Te su cijene pročitane sa Runpodove stranice s cijenama 23. kolovoza 2026., a spot tržišta se mijenjaju. AY-Robots umjesto toga navodi cijeli rad: 3 do 6 sati po 1.20 do 2.00 USD po satu na A100 ili H100 sloju, oko 4 do 12 USD za GR00T ili Pi0.5 rad; 2 do 5 sati po 0.30 do 0.60 USD po satu na sloju od 24 GB, 1 do 3 USD za SmolVLA ili ACT. Inferencijska sesija nadmašuje trening po cijeni samo ako je zaustavite, čemu služi idle watchdog. Pogledajte i .

Ako radije ne biste imali mrežu u petlji
Daljinsko zaključivanje rješava hardverski problem i stvara problem latencije. Ponekad je bolje rješenje politika koja odgovara hardveru koji imate.
- ACT, otprilike 80 M parametara i 20 ms po koraku akcije, minimalno 50 epizoda, bilo koja kartica od 24 GB. U ponavljajućem postavu s jednim zadatkom često nadmašuje udaljeni model od 3 B, jer nikada ne čeka paket.
- SmolVLA, otprilike 450 M parametara i 245 ms po koraku akcije, minimalno 30 epizoda. Zadržava jezično uvjetovanje koje ACT-u nedostaje, a lerobot dokumentacija navodi da je potrebno oko 2 GB u vrijeme zaključivanja naspram otprilike 14 GB za PI0.
- ACT vs GR00T N1.7 za točnost, drugu polovicu kompromisa.
Postoji i srednji put: trenirajte u oblaku, evaluirajte lokalno. Fino podešavanje treba karticu od 80 GB i ne mari za latenciju, pa je treniranje GR00T N1.7 na SO-100 daljinski neupitno. Samo petlja evaluacije ima ograničenje u stvarnom vremenu; dokumentacija za treniranje i matrica modela i ruke pokrivaju tu polovicu.
Još nemate ruku na stolu?
Upravljajte pravim SO-100 u pregledniku bez prijave, usporedite pet politika koje se mogu trenirati s njihovim stvarnim brojevima latencije ili unajmite GPU i trenirajte jednu. Tri načina za početak, nijedan ne zahtijeva hardver koji ne posjedujete.
Isprobajte bez hardveraČesto postavljana pitanja
Mogu li pokrenuti GR00T N1.7 na Raspberry Pi-u ako je GPU udaljen?▾
Da, tome služi podjela klijent-poslužitelj. Pi pokreće lerobot drivere, čita dvije kamere i serijsku sabirnicu te šalje opažanja poslužitelju politike; nikada ne učitava model. Ograničenje se pomiče s VRAM-a na propusnost prijenosa: dva nekomprimirana 640x480 RGB okvira su 1,843,200 bajtova po pozivu, a nijedan stog ih ne komprimira.
Koliko kašnjenja mreža zapravo dodaje?▾
Vrijeme povratnog putovanja plus vrijeme prijenosa opažanja. Vrijeme prijenosa je 14.7 Mbit podijeljeno s vašom propusnošću prijenosa: otprilike 147 ms na vezi od 100 Mbit/s, 1.47 s na vezi od 10 Mbit/s. Oba se dodaju na vlastito vrijeme inferencije modela, koje AY-Robots navodi kao 152 ms za GR00T N1.7 i 485 ms za Pi0.5. Mjerite s pingom i iperf3 protiv poda, a ne protiv poslužitelja za test brzine.
Je li udaljena inferencija dovoljno dobra za stvarni zadatak?▾
Za sporo, namjerno uzimanje i postavljanje, da. Za bilo što reaktivno, ne. NVIDIA-in vodič za implementaciju postavlja zahtjev za sinkronim jednokoračnim izvršavanjem na otprilike 33 ms od kraja do kraja pri 30 FPS, i napominje da snimanje, mreža, inferencija i naknadna obrada rutinski premašuju to bez uključenog interneta.
Koji port koriste poslužitelji i je li ga sigurno otvoriti?▾
Isaac-GR00T-ov PolicyServer po zadanim postavkama koristi port 5555 preko ZeroMQ-a i veže 0.0.0.0 u svom CLI-ju. lerobot-ov po zadanim postavkama koristi port 8080 preko gRPC-a i veže localhost. Nijedan nije siguran za izlaganje: klasa GR00T podržava an api_token, ali run_gr00t_server.py ga nikada ne prosljeđuje, a lerobot serijalizira podatke preko nesigurnog gRPC kanala, što je CVE-2026-25874. Vežite se na loopback i koristite SSH tunel.
Popravlja li nadogradnja lerobota CVE-2026-25874?▾
Ne od 23. kolovoza 2026. Zapis CVE-a navodi LeRobot do verzije 0.5.1 kao pogođenog, a PyPI isporučuje 0.6.1, ali zahtjev za povlačenjem koji bi uklonio pickle iz asinkronog cjevovoda još je otvoren, a policy_server.py na glavnoj grani i dalje poziva pickle.loads na podacima zahtjeva. Mrežnu izolaciju tretirajte kao ublažavanje, a ne kao nadogradnju verzije, i pretpostavite da je i klijent na strani robota također u opsegu.
Mogu li koristiti lerobot-ov asinkroni klijent s GR00T kontrolnom točkom?▾
Da. lerobot 0.6.1 navodi groot u SUPPORTED_POLICIES uz act, smolvla, diffusion, tdmpc, vqbet, pi0 i pi05, a i so100_follower i so101_follower su u SUPPORTED_ROBOTS. Proslijedite --policy_type=groot i usmjerite --pretrained_name_or_path na svoju kontrolnu točku. Dobivate asinkrono izvršavanje, koje GR00T SO-100 primjer ne implementira, po cijenu pickle transporta.
Kratka verzija
Udaljena inferencija za 3 B politiku je riješen inženjerski problem s neriješenim fizičkim problemom. Inženjering su dvije naredbe i SSH tunel. Fizika je da opažanje od 1.8 MB mora doći do GPU-a u drugoj zemlji i vratiti se prije nego što ruka ostane bez akcija. Izračunajte prije nego što išta unajmite, odaberite zadatak koji tolerira zastarjelo opažanje i podignite horizont izvršavanja umjesto da se nadate poboljšanju veze.
Ako još niste snimili skup podataka, snimite svoj prvi skup podataka i vodič za postavljanje SO-100 dolaze prvi, a format skupa podataka LeRobot unos objašnjava što snimač piše. Pozadina je u modelima vizije-jezika-akcije i radu na politici usklađivanja toka; unos u arenu povezuje svaki broj mjerila s izvorom.
Sources
- NVIDIA Isaac-GR00T: N1.7 repozitorij i README (minimalna inferencija od 16 GB, instalacija, ograničena Cosmos-Reason2-2B okosnica, FFmpeg ograničenje)
- run_gr00t_server.py: CLI GR00T poslužitelja politike, zadane postavke ServerConfig (host 0.0.0.0, port 5555) i putanja ReplayPolicy
- server_client.py: PolicyServer i PolicyClient, granica allow_pickle=False za MsgSerializer, api_token, timeout_ms
- eval_so100.py: SO-100 klijent politike, zadane postavke EvalConfig i sinkrona upravljačka petlja
- Isaac-GR00T SO100/SO101 primjer: konverzija skupa podataka, fino podešavanje i naredbe za evaluaciju zatvorene petlje
- Isaac-GR00T Vodič za implementaciju u stvarnom svijetu: 33 ms sinkroni budžet, stop-and-go, veličina bloka akcije, RTC status
- Isaac-GR00T Preporuka hardvera: frekvencija inferencije po GPU-u i minimalnih 10 Hz
- Isaac-GR00T Vodič za implementaciju i inferenciju: rezultati mjerila latencije po komponenti
- LeRobot: Vodič za asinkronu inferenciju (PolicyServer, RobotClient, dokumentirana tablica parametara)
- lerobot async_inference/configs.py: zadane postavke PolicyServerConfig i RobotClientConfig, registar AGGREGATE_FUNCTIONS
- lerobot async_inference/policy_server.py: pickle.loads na podacima zahtjeva, add_insecure_port, nazivi gRPC poziva
- lerobot robot_client.py: gRPC transport, pickle serijalizacija, bilježenje latencije
- CVE-2026-25874: LeRobot nesigurna deserializacija daljinskog izvršavanja koda putem gRPC-a, pogođeno do 0.5.1
- Black, Galliker i Levine, Izvršavanje politika toka grupiranja akcija u stvarnom vremenu (grupiranje u stvarnom vremenu)
- Runpod cijene GPU-a: satne cijene zajedničkog i sigurnog oblaka za A100, H100, L40S i 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