
Vaš robotski stroj nima GPE. Postavite strežnik politik GR00T na najeti GPE v oblaku, pretakajte akcijske bloke do roke in natančno ugotovite, koliko vas stane omrežje.
Raspberry Pi je dovolj za pogon prek serijskega vodila in zajemanje sličic iz dveh USB kamer. Ni pa dovolj za poganjanje modela s tremi milijardami parametrov, : NVIDIA-jev README navaja, da GR00T N1.7 sklepanje zahteva en GPU s 16 GB ali več VRAM-a. Da bi videli, kaj vaša fino nastavljena kontrolna točka počne na roki, ne da bi kupili kartico, postavite politiko na najeti GPU v oblaku, ohranite robotsko zanko na stroju z USB priključki in pošiljajte opazovanja ter dele akcij prek omrežja.
Deluje, ni brezplačno, in cena ni enakomerno porazdeljena med naloge. Spodaj: NVIDIA-jev lastni strežnik politik, lerobot-ov asinhroni sklad, aritmetika, ki vnaprej pove, ali je vaša povezava dovolj hitra, in pot platforme. Vse to je bilo preverjeno glede na glavno vejo Isaac-GR00T (N1.7 GA) in lerobot 0.6.1 dne 23. avgusta 2026.
Kaj morate vedeti
- •GR00T N1.7, GR00T N1.5 in Pi0.5 so modeli s približno 3 milijardami parametrov. Nobeden ne ustreza robotskemu krmilniku brez diskretnega GPU-ja.
- •Isaac-GR00T in lerobot oba ponujata delitev na odjemalca in strežnik. Prenosa ne pišete sami.
- •Opazovanja prevladujejo pri stroških prenosa, ne akcije: dva nestisnjena 640x480 RGB okvirja sta 1,843,200 bajtov, približno 14.7 Mbit na klic, in noben sklad jih ne stisne.
- •AY-Robots navaja 20 do 485 ms na korak akcije glede na model. Internetni povratni časi se prištejejo k temu.
- •Oddaljeno sklepanje ustreza počasnemu pobiranju in odlaganju, ne hitremu reaktivnemu gibanju. Daljši izvedbeni horizont pridobi čas in stane svežino opazovanj.
- •Nobeden od strežnikov ni varen na javnem IP-ju, kot je dobavljen, in lerobot-ov vsebuje nepopravljen RCE. Tunelirajte ga.
Zakaj politika ne bo ustrezala robotskemu stroju
Dve od petih politik, ki jih lahko trenira AY-Robots, delujeta na delovni postaji, tri ne. Stolpec spodaj je na korak dejanja, in to je številka, ki tekmuje z vašim omrežnim povratnim časom.
| Politika | Parametri | Sklepanje na korak dejanja | GPU nivo za usposabljanje | Min. epizode | Format nabora podatkov |
|---|---|---|---|---|---|
| GR00T N1.7 | ~3 B, ~40 M usposobljenih med finim uglaševanjem | 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 hrbtenica | 485 ms | A100 80 GB or H100 80 GB | 50 | LeRobot v3.0 |
| SmolVLA | ~450 M | 245 ms | RTX 4090 ali katera koli 24 GB kartica | 30 | LeRobot v3.0 |
| ACT | ~80 M | 20 ms | RTX 4090 ali katera koli 24 GB kartica | 50 | LeRobot v3.0 |

To preberite kot odločitev, ne kot zanimivost. pri 20 ms na korak deluje na robotskem stroju in o tem nikoli več ne razmišljate. pri 485 ms je porabilo tretjino sekunde, preden paket zapusti vašo zgradbo. in dodata stran natančnosti.
GR00T N1.7, GR00T N1.5 in Pi0.5 se začnejo z izhodiščne točke dobavitelja (nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B, lerobot/pi05_base). ACT ne obstaja, dokler ga ne natrenirate za svojo nalogo, zato ni ničesar za oddaljeno strežbo, dokler se ne izvede naloga usposabljanja. Glejte ACT na SO-100.
Dva obstoječa sklopa odjemalec-strežnik
Isaac-GR00T vključuje strežnik ZeroMQ za zahtevo-odgovor; lerobot vključuje strežnik gRPC, zgrajen okoli asinhronnega sklepanja. Oba sprejemata GR00T kontrolna točka. Seznam podprtih politik lerobot v async_inference/constants.py je act, smolvla, diffusion, tdmpc, vqbet, pi0, pi05 in groot; njegov seznam robotov je so100_follower, so101_follower, bi_so_follower in omx_follower.
| Isaac-GR00T PolicyServer | lerobot async inference | |
|---|---|---|
| Vstopna 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 |
| Serializacija | msgpack + msgpack_numpy, allow_pickle=False enforced | pickle.dumps / pickle.loads, marked # nosec |
| Privzeta vrata | 5555 | 8080 |
| Privzeta vezava | 0.0.0.0, vsi vmesniki | localhost |
| Avtentikacija | api_token, podprt s strani razreda, ni posredovan preko CLI | brez |
| Časovna omejitev odjemalca | 15000 ms (PolicyClient timeout_ms) | 2 s časovna omejitev čakalne vrste opazovanj |
| Model izvajanja | sinhrono: blokiraj, nato izvedi del | asinhrono: izvajaj, medtem ko se izračunava naslednji del |
Vrstica za serializacijo je pomembnejša, kot se zdi. GR00T-ov MsgSerializer zavrača ndarray pakete tipa objekta v obe smeri, ker bi jih msgpack_numpy sicer predal pickle-u. lerobot namesto tega uporablja pickle: policy_server.py kliče pickle.loads na podatkih zahteve, robot_client.py uporablja pickle za opazovanje, ki ga pošilja. Obrambno na zaupanja vrednem LAN-u, neobrambno, ko so vrata dosegljiva z interneta.
Pot A: NVIDIIN lastni strežnik politik GR00T
To je pot, ki jo NVIDIA dokumentira za strojno opremo SO-100 in SO-101, in tista, ki jo uporabite, če je vaša kontrolna točka nastala iz examples/finetune.sh z --embodiment-tag NEW_EMBODIMENT. Koraki dodajajo tisto, kar izpušča zgornji README: kako dobiti vrata do robota, ne da bi jih izpostavili vsem ostalim.
- 1Namestite GR00T na najeti GPU strežnik
Podmoduli so obvezni, in git-lfs mora obstajati pred kloniranjem, sicer datoteke parquet v
demo_dataprispejo kot kazalci. flash-attn in TensorRT sta vključena v privzeto namestitev. Past pri sveži pod podobi:torchcodec0.8.0 je edini podprti video zaledje in nalaga samo FFmpeg 4 do 7. Ubuntu 25.10 in 26.04 vsebujeta FFmpeg 8, zato GR00T ne uspe zCould not load libtorchcodec. Namestite FFmpeg, starejši od 8, in njegove knjižnice dodajte vLD_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')" - 2Avtentikacija proti zaprtemu jedru
Vsaka kontrolna točka GR00T N1.7, vključno z vašo lastno fino nastavitvijo, ob prvi uporabi naloži zaprti
nvidia/Cosmos-Reason2-2B. Zahtevajte dostop na strani modela in se prijavite na pod, sicer nalaganje ne uspe zGatedRepoError.bashuv run huggingface-cli login # or: export HF_TOKEN=<your_token> - 3Zaženite strežnik politik
Usmerite
--model-pathna vaš imenik kontrolnih točk; na tej poti strežnik ignorira--modality-config-path, ki se bere samo na poti ponovnega predvajanja. Izpustite--model-pathin namesto tega podajte--dataset-pathter--execution-horizonza ReplayPolicy, ki ponavlja posnete akcije, kar je najcenejši način za dokaz, da ožičenje deluje.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 vrata 5555 do robotskega stroja
Povežite se na povratno zanko, kot zgoraj, in prenesite vrata preko SSH ali mreže v stilu WireGuard. To zagotavlja šifriranje in avtentikacijo, ki ju vtičnica ZeroMQ ne, za približno milisekundo.
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 - 5Zaženite robotskega odjemalca poleg servomotorjev
Odjemalec potrebuje svoje lastno uv okolje: želi robotske gonilnike lerobot, ne pa učnega sklada.
eval_so100.pyuvozi so100_follower, so101_follower in koch_follower, zato podajte--robot.type, ki ustreza vaši roki (zgornji README uporablja so101_follower). Ključi kamere se morajo ujemati z usposabljanjem: adapter bere natančnofrontinwrist, in zamenjava le-teh prikaže politiki napačen 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 privzeto uporablja --host 0.0.0.0, kar poveže vsak vmesnik: na podu z javnim IP-jem je to odprta končna točka za sklepanje. Razred PolicyServer sprejme api_token in ga preveri pri vsaki zahtevi, vendar run_gr00t_server.py nikoli ne posreduje nobenega, zato je CLI strežnik neavtenticiran, ne glede na to, kaj konfigurirate. Povežite se na 127.0.0.1 in uporabite tunel. ZMQError: Address already in use pomeni, da so vrata 5555 zasedena; posredujte --port.
Pot B: asinhrono sklepanje z lerobot
lerobot rešuje drugačen problem. Namesto da bi blokiral robota, medtem ko model razmišlja, odjemalec nadaljuje s koraki skozi vrsto, ki jo že ima, medtem ko strežnik izračunava naslednji del. To je razdelitev dejanj na dele razširjeno, asinhroni sklad, predstavljen s SmolVLA. Deluje tudi s kontrolno točko 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=TrueStrežnik se zažene prazen: ne ve, katero politiko streže, dokler mu tega ne pove prvi stisk roke odjemalca, kar je priročno na najetem podu. Dva gumba, ki določata, ali se roka premika gladko, sta actions_per_chunk in chunk_size_threshold (dokumentacija lerobot drugega imenuje g, po članku SmolVLA), in dokumentirane vrednosti ter dobavljene vrednosti se ne ujemajo.
| Parameter | Vrednost v kodi lerobot 0.6.1 | Kaj počne | Opomba |
|---|---|---|---|
| actions_per_chunk | ni privzeto, obvezno | Dejanja vrnjena na klic | Tabela v dokumentaciji navaja 50; polje dataclass nima privzete vrednosti, zato CLI zahteva vrednost |
| chunk_size_threshold | 0.5 | Razmerje zapolnjenosti čakalne vrste, pri katerem ali pod katerim odjemalec pošlje novo opazovanje | Tabela v dokumentaciji navaja 0.7; koda in lasten primer iz dokumentacije navajata 0.5 |
| fps | 30 | Hitrost nadzora odjemalca, nastavi environment_dt = 1/fps | Znižajte jo, če se čakalna vrsta nenehno prazni |
| inference_latency | 1/30 s (33.3 ms) | Ciljna latenca sklepanja na strežniku | Cilj, ne meritev |
| obs_queue_timeout | 2 s | Kako dolgo strežnik čaka na čakalno vrsto opazovanj | Počasna povezava navzgor se najprej pokaže tukaj |
| aggregate_fn_name | weighted_average | Kako se prepletene regije kosov zlijejo | 0.3 staro + 0.7 novo; dobavljeni so tudi latest_only, average in conservative. Register je AGGREGATE_FUNCTIONS v configs.py, ne robot_client.py, kot trdi dokumentacija |
CVE-2026-25874 je neavtenticirana oddaljena izvedba kode v lerobotovi asinhroni inferenčni cevi: pickle.loads() na podatkih, prejetih prek neavtenticiranega gRPC kanala brez TLS, dosegljiva prek klicev SendPolicyInstructions, SendObservations in GetActions. CWE-502, osnovni rezultat CVSS 3.1 9.8 iz NVD, osnovni rezultat 4.0 9.3 od dodeljujočega CNA. Zapis navaja LeRobot do vključno 0.5.1 kot prizadetega in imenuje tako strežnik politik kot odjemalca robota, tako da je stroj poleg vaše roke v obsegu. Nadgradnja ni rešitev: zapis navaja zgornjo težavo 3047 in popravek, PR 3048, ki zamenja pickle za safetensors plus JSON, in 23. avgusta 2026 sta oba še vedno odprta. policy_server.py na main še vedno kliče pickle.loads na podatkih zahteve, medtem ko se serve() veže z add_insecure_port. Vežite se na povratno zanko in nikoli ne posredujte vrat 8080.
Aritmetika, ki določa, ali je vaša povezava dovolj hitra
Ljudje to preskočijo in nato porabijo dan za . Traja dve minuti in je skoraj vedno odločilno.
Komentirani slovar opazovanj v NVIDIA-inem eval_so100.py pove, kaj gre po žici: dva niza oblike (480, 640, 3) v uint8, šest skupnih plavajočih števil, jezikovni niz. To je 921.600 bajtov na sličico, 1.843.200 bajtov za dve kameri, približno 14.7 Mbit, in noben sklad tega ne JPEG-kompresira. Kos, ki se vrne, je nekaj ducatov korakov po 6 plavajočih števil. Vaš prenos odloča o vsem, ne vaš prejem.
| Pasovna širina nalaganja | Čas za potiskanje enega opazovanja (14.7 Mbit) | Sodba za roko s 30 FPS |
|---|---|---|
| 10 Mbit/s, tipično domače nalaganje | ~1.47 s | Neuporabno. Roka se ustavi med vsakim kosom. |
| 25 Mbit/s | ~0.59 s | Samo počasen 'pick-and-place', z dolgim izvedbenim horizontom. |
| 50 Mbit/s | ~0.29 s | Uporabno za namerne naloge. |
| 100 Mbit/s | ~0.15 s | Dobro za 'pick-and-place', vidno pri hitrem gibanju. |
| 1 Gbit/s optika ali podatkovni center | ~0.015 s | Model namesto tega postane ozko grlo. |
Proračun, v katerega se morate vklapljati
Odjemalec GR00T SO-100 je sinhron: kliče policy.get_action(obs), izvede prvih action_horizon korakov bloka pri 30 FPS, nato ponovno kliče. Velikost bloka in horizont sta različni številki: NVIDIA-jev vodnik za uvajanje priporoča velikost bloka akcij 16, vsaj 32 v kombinaciji z razdeljevanjem v realnem času, medtem ko eval_so100.py dobavlja izvedbeni horizont 8. Osem korakov pri 30 FPS pomeni 267 ms gibanja na klic, in vse ostalo se mora prilegati v to.
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 groba rešitev in ni brezplačna: roka deluje na opazovanju, ki je zdaj staro. Načelna rešitev je razdeljevanje v realnem času (real-time chunking), ki izračuna naslednji blok, medtem ko teče trenutni, zamrzne dejanja, ki so zagotovljena za izvedbo, in dopolni preostala; članek o RTC poroča, da je robusten na zakasnitve sklepanja brez ponovnega usposabljanja. Najprej preverite, kje to stoji. NVIDIA označuje RTC kot eksperimentalno, nizkonivojsko modelno primitivo, dosegljivo preko action_head.get_action(..., options={"rtc_overlap_steps": ..., "rtc_frozen_steps": ...}), ni vgrajeno v Gr00tPolicy ali pot strežnik-odjemalec, kjer options ni uporabljeno, brez testov in brez primera. Preko strežnika politik dobite asinhrono izvedbo, ne RTC.
NVIDIA meri zmogljivost GR00T N1.7 od začetka do konca pri 4 korakih odstranjevanja šuma z eno kamero. Na H100 80GB HBM3: 85.8 ms (11.7 Hz) v PyTorch eager načinu, 48.6 ms (20.6 Hz) s torch.compile, 27.9 ms (35.9 Hz) s celotnim cevovodom TensorRT. L40 v eager načinu potrebuje 128.3 ms (7.8 Hz). NVIDIA imenuje 10 Hz priporočeni minimum za tipično manipulacijo, in pod 10 Hz primerno le za počasne, nereaktivne naloge. To so ponovnega načrtovanja stopnje: politika 10 Hz lahko še vedno poganja roko s 30 FPS preko razdeljevanja akcij. Druga kamera vas premakne v napačno smer.
Izmerite, preden zaupate
Vsaka zgornja številka je napoved. Štirje ukazi jo spremenijo v meritev, ki jo je vredno izvesti, preden porabite pod-uro za nalogo, ki nikoli ne bi delovala.
- 1Pridobite neobdelan povratni čas
Proti podu, ne CDN-ju. Spremljajte odstopanje tako pozorno kot povprečje: nihanje povzroči zatikanje roke, ne povprečna zakasnitev.
bashping -c 50 <pod-host> # the mdev column is the number that predicts stutter - 2Izmerite povezavo za nalaganje, ki jo imate, ne tiste, ki jo plačujete
Domači prenos podatkov (upload) je običajno del prenosa (download), in to je številka v zgornji tabeli pasovne širine.
bash# on the pod iperf3 -s # on the robot machine, -R omitted so this measures upload iperf3 -c <pod-host> -t 30 - 3Preberite lastni dnevnik zakasnitev odjemalca
Robotni odjemalec lerobot beleži zakasnitev strežnik-odjemalec in čas deserializacije za vsak kos. Na poti B ne potrebujete zunanjih orodij.
textReceived action chunk for step #240 | Latest action: #232 | Incoming actions: 240:289 | Network latency (server->client): 187.44ms | Deserialization time: 3.10ms - 4Opazujte praznjenje čakalne vrste dejanj
Posredujte
--debug_visualize_queue_size=Truein odjemalec bo med izvajanjem izrisal velikost čakalne vrste. Če večkrat doseže nič, ste presegli proračun: znižajte fps, povečajte actions_per_chunk ali povečajte chunk_size_threshold, da se opazovanja pošiljajo pogosteje.bashpython -m lerobot.async_inference.robot_client \ ... \ --debug_visualize_queue_size=True
Za kaj je dejansko dobro oddaljeno sklepanje
- Politiko s 3 milijardami parametrov lahko ovrednotite na pravi strojni opremi, ne da bi imeli kartico, ki stane več kot roka.
- GPU se najema na uro, zato neuspešna kontrolna točka stane nekaj dolarjev.
- Stran robota ostane majhna: gonilniki lerobot, dve kameri, serijska vrata, in kontrolne točke zamenjate, ne da bi se je dotaknili.
- Nestisnjene opazovalne vrednosti prevladujejo pri stroških prenosa podatkov, omejitev pa je hitrost nalaganja v domačem omrežju.
- Nihanje (jitter) bolj škoduje kot zakasnitev (latency): povezava s povprečno 40 ms in konicami do 300 ms zatika, medtem ko stabilna 120 ms povezava ne.
- Hitre reaktivne naloge ne preživijo povratnega potovanja v nobenem časovnem okviru.
- Oba strežnika se pošiljata neavtenticirano v obliki CLI, zato je delo s tuneliranjem vaše.
- Prekinjena povezava sredi bloka pusti roko z zastarelo akcijo. Dodajte svojega nadzornega psa na strani robota.
| Naloga | Deluje preko javnega interneta? | Zakaj |
|---|---|---|
| Izberite statičen predmet, ga postavite v zaboj | Da | Med opazovanjem in akcijo se nič ne premakne. |
| Zlaganje blokov z zmernim tempom | Da, pri action_horizon 16 ali več | Napake se nabirajo dovolj počasi, da jih je mogoče popraviti v naslednjem bloku. |
| Odprite predal, vstavite predmet | Ponavadi | Bogato s kontakti, a počasi. Pazite na ustavljanje in ponovno gibanje ob stiku. |
| Sledite premikajočemu se predmetu | Ne | Politika deluje na opazovanju, starem od 300 ms do 1 s. |
| Ujemite, uravnotežite ali si opomorete od zdrsa | Ne | Popravljalno okno je krajše od enega povratnega potovanja. |
| 30 Hz sinhrona zaprta zanka | Ne | Proračun je 33 ms od konca do konca. Tudi LAN ima težave. |
Če se oddaljeno izvajanje zatika na isti točki v vsaki epizodi, omrežje verjetno ni vzrok. Politika, ki vsakič okleva pri istem kotu sklepa, je običajno problem s podatki; glejte strani z načini odpovedi, zlasti politiko, ki deluje samo v eni nastavitvi in izguba pada, vendar politika ne dela nič.
Naredite sami proti uporabi AY-Robots
- Najemite GPU na promptnem trgu in počakajte na dovolj VRAM-a po ceni, ki vam ustreza.
- Namestite CUDA, uv, ffmpeg torchcodec, ki ga sprejema, in GR00T sklad s podmoduli.
- Zahtevajte dostop do omejene `nvidia/Cosmos-Reason2-2B` hrbtenice in namestite žeton na pod.
- Prenesite svojo kontrolno točko na pod.
- Zaženite strežnik na povratni zanki, nato vzpostavite SSH tunel iz robotskega stroja.
- Namestite drugo okolje na robotski stroj za odjemalca in gonilnike.
- Uskladite ključe kamere, imena sklepov in jezikovna navodila s tem, kar je videla kontrolna točka.
- Spremljajte pod. Pozabljen A100, ki deluje čez noč, stane več kot eksperiment.
Račun za GPU se ne ustavi, ko se ustavi robot. Večina denarja, izgubljenega pri oddaljenem sklepanju, gre za strežnik, ki je ostal vklopljen, potem ko so vsi odšli. Nastavite alarm ali avtomatizirajte razgradnjo.
- Izberite usposobljeno politiko, ki jo želite zagnati.
- `/api/inference/pod` samodejno zagotovi pod v oblaku z GPU, ki služi tej politiki.
- Lokalni robotski odjemalec komunicira s to končno točko. Osnovne kontrolne točke so lastne prodajalcem: `nvidia/GR00T-N1.7-3B`, `nvidia/GR00T-N1.5-3B`, `lerobot/pi05_base`. ACT jih nima.
- Podi imajo nadzornika nedejavnosti in se uničijo po obdobju nedejavnosti, tako da se nič ne zaračunava tiho.
- Enake operacije so na voljo iz terminala in za AI agente, tako da se zanka lahko skriptira.
Samodejno zagotavljanje odstrani delo z nastavitvijo in račun za pozabljen pod, ne pa fizike. Sklepanje mora še vedno biti blizu servomotorjev za hitre naloge: krmilna zanka je 20 do 485 ms na korak dejanja, odvisno od modela, in povratna potovanja po javnem internetu poleg tega spremenijo delujočo politiko v neodločno.
- Vodnik za odjemalca za lokalno stran povezave
- Zaženite svojo prvo politiko za podroben opis
- CLI in MCP strežnik za skriptirano različico
- Varnostna dokumentacija

Kaj stane oddaljena seja sklepanja
Pomembni sta dve številki: urna postavka kartice in kako dolgo jo pustite delovati. Prva je objavljena; druga preseneča ljudi.
| Kartica | Runpod skupnostni oblak | Runpod varni oblak | Primerno 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 | Enako, malo hitreje |
| H100 PCIe 80 GB | 1.99 USD/h | 2.89 USD/h | Najhitrejši nivo; NVIDIA-ina vrednost 11.7 Hz eager je za H100 80GB HBM3 |
| L40S 48 GB | 0.79 USD/h | 0.99 USD/h | Samo sklepanje, nad 16 GB spodnjo mejo |
| RTX 4090 24 GB | 0.34 USD/h | 0.74 USD/h | SmolVLA, ACT |
Te cene so bile prebrane s strani Runpodove strani s cenami 23. avgusta 2026, in promptni trgi se spreminjajo. AY-Robots namesto tega navaja celoten zagon: 3 do 6 ur po 1.20 do 2.00 USD na uro na nivoju A100 ali H100, približno 4 do 12 USD za zagon GR00T ali Pi0.5; 2 do 5 ur po 0.30 do 0.60 USD na uro na nivoju 24 GB, 1 do 3 USD za SmolVLA ali ACT. Seja sklepanja premaga zagon usposabljanja po stroških le, če jo ustavite, za kar je namenjen nadzornik mirovanja. Glejte in .

Če raje ne bi imeli omrežja v zanki
Oddaljeno sklepanje rešuje problem strojne opreme in ustvarja problem zakasnitve. Včasih je boljši odgovor politika, ki ustreza strojni opremi, ki jo imate.
- ACT, približno 80 M parametrov in 20 ms na korak dejanja, najmanj 50 epizod, katera koli 24 GB kartica. Pri ponavljajoči se nastavitvi z eno nalogo pogosto premaga oddaljeni 3 B model, ker nikoli ne čaka na paket.
- SmolVLA, približno 450 M parametrov in 245 ms na korak dejanja, najmanj 30 epizod. Ohranja jezikovno pogojenost, ki jo ACT nima, in dokumentacija lerobot jo postavlja na približno 2 GB v času sklepanja v primerjavi s približno 14 GB za PI0.
- ACT proti GR00T N1.7 za polovico kompromisa, ki se nanaša na natančnost.
Obstaja tudi srednja pot: treniranje v oblaku, lokalno vrednotenje. Fino uglaševanje potrebuje 80 GB kartico in mu ni mar za zakasnitev, zato je treniranje GR00T N1.7 na SO-100 na daljavo nesporno. Samo zanka vrednotenja ima omejitev v realnem času; dokumentacija za treniranje in matrika modelov in rok pokrivata to polovico.
Še nimate roke na mizi?
Upravljajte pravi SO-100 v brskalniku brez prijave, primerjajte pet politik, ki jih je mogoče trenirati, z njihovimi resničnimi številkami zakasnitve, ali najemite GPU in trenirajte eno. Trije načini za začetek, noben ne potrebuje strojne opreme, ki je nimate.
Preizkusite brez strojne opremePogosto zastavljena vprašanja
Ali lahko poganjam GR00T N1.7 na Raspberry Pi, če je GPU oddaljen?▾
Da, temu je namenjena delitev na odjemalca in strežnik. Pi poganja gonilnike lerobot, bere dve kameri in serijsko vodilo ter pošilja opazovanja strežniku politik; modela nikoli ne naloži. Omejitev se premakne iz VRAM-a na pasovno širino nalaganja: dva nestisnjena 640x480 RGB okvirja sta 1.843.200 bajtov na klic, in nobena skladba jih ne stisne.
Koliko zakasnitve dejansko doda omrežje?▾
Čas povratnega potovanja plus čas prenosa opazovanja. Čas prenosa je 14.7 Mbit deljeno z vašo pasovno širino nalaganja: približno 147 ms na 100 Mbit/s povezavi, 1.47 s na 10 Mbit/s povezavi. Oboje se prišteje k lastnemu času sklepanja modela, ki ga AY-Robots navaja kot 152 ms za GR00T N1.7 in 485 ms za Pi0.5. Merite s pingom in iperf3 proti podu, ne proti strežniku za testiranje hitrosti.
Ali je oddaljeno sklepanje dovolj dobro za resnično nalogo?▾
Za počasno, premišljeno pobiranje in odlaganje, da. Za karkoli reaktivnega, ne. NVIDIA-jev vodnik za uvajanje določa zahtevo za sinhroni enojni korak na približno 33 ms od konca do konca pri 30 FPS in ugotavlja, da zajemanje, omrežje, sklepanje in naknadna obdelava to rutinsko presegajo, tudi brez vpletenosti interneta.
Katera vrata uporabljajo strežniki in ali jih je varno odpreti?▾
PolicyServer Isaac-GR00T privzeto uporablja vrata 5555 preko ZeroMQ in veže 0.0.0.0 v svojem CLI. lerobot privzeto uporablja vrata 8080 preko gRPC in veže localhost. Nobenega ni varno izpostaviti: razred GR00T podpira api_token, vendar run_gr00t_server.py nikoli ne posreduje nobenega, lerobot pa serilizira podatke preko nezaščitenega gRPC kanala, kar je CVE-2026-25874. Vežite na povratno zanko in uporabite SSH tunel.
Ali nadgradnja lerobot odpravi CVE-2026-25874?▾
Ne, od 23. avgusta 2026. Zapis CVE navaja LeRobot do vključno 0.5.1 kot prizadetega, PyPI pa dobavlja 0.6.1, vendar je zahteva za združitev, ki bi odstranila pickle iz asinhroniziranega cevovoda, še vedno odprta, in policy_server.py na glavni veji še vedno kliče pickle.loads na podatkih zahteve. Omrežno izolacijo obravnavajte kot ublažitev, ne kot povečanje različice, in predpostavite, da je tudi odjemalec na strani robota v obsegu.
Ali lahko uporabim lerobotov asinhroni odjemalec s kontrolno točko GR00T?▾
Da. lerobot 0.6.1 navaja groot v SUPPORTED_POLICIES poleg act, smolvla, diffusion, tdmpc, vqbet, pi0 in pi05, in oba so100_follower in so101_follower sta v SUPPORTED_ROBOTS. Posredujte --policy_type=groot in usmerite --pretrained_name_or_path na vašo kontrolno točko. Dobite asinhrono izvajanje, ki ga primer GR00T SO-100 ne implementira, za ceno pickle transporta.
Kratka različica
Oddaljeno sklepanje za 3 B politika je rešen inženirski problem z nerešenim fizikalnim problemom. Inženiring sta dva ukaza in SSH tunel. Fizika je, da mora opazovanje velikosti 1.8 MB doseči GPU v drugi državi in se vrniti, preden roki zmanjka dejanj. Preden karkoli najamete, naredite izračune, izberite nalogo, ki prenaša zastarelo opazovanje, in povečajte izvedbeni horizont, namesto da upate na izboljšanje povezave.
Če še niste posneli nabora podatkov, posnemite svoj prvi nabor podatkov in vodnik za nastavitev SO-100 sta na prvem mestu, in vnos formata nabora podatkov LeRobot pojasnjuje, kaj zapisovalnik zapiše. Ozadje je v modelih vida, jezika in dejanj in delu s politikami ujemanja toka; vnos v areno povezuje vsako referenčno številko z virom.
Sources
- NVIDIA Isaac-GR00T: N1.7 repozitorij in README (16 GB spodnja meja za sklepanje, namestitev, zaprt Cosmos-Reason2-2B hrbtenica, omejitev FFmpeg)
- run_gr00t_server.py: CLI strežnika politik GR00T, privzete vrednosti ServerConfig (host 0.0.0.0, port 5555) in pot do ReplayPolicy
- server_client.py: PolicyServer in PolicyClient, meja allow_pickle=False za MsgSerializer, api_token, timeout_ms
- eval_so100.py: odjemalec politik SO-100, privzete vrednosti EvalConfig in sinhrona krmilna zanka
- Primer Isaac-GR00T SO100/SO101: pretvorba nabora podatkov, finetune in ukazi za evalvacijo v zaprti zanki
- Vodnik za uvedbo Isaac-GR00T v realnem svetu: 33 ms sinhroni proračun, stop-and-go, velikost kosa dejanja, status RTC
- Priporočilo za strojno opremo Isaac-GR00T: frekvenca sklepanja na GPU in minimalnih 10 Hz
- Vodnik za uvedbo in sklepanje Isaac-GR00T: rezultati meritev zakasnitve po komponentah
- LeRobot: Vadnica za asinhrono sklepanje (PolicyServer, RobotClient, dokumentirana tabela parametrov)
- lerobot async_inference/configs.py: privzete vrednosti PolicyServerConfig in RobotClientConfig, register AGGREGATE_FUNCTIONS
- lerobot async_inference/policy_server.py: pickle.loads na podatkih zahteve, add_insecure_port, imena gRPC klicev
- lerobot robot_client.py: gRPC prenos, pickle serializacija, beleženje zakasnitve
- CVE-2026-25874: LeRobot nevarna deserializacija oddaljene izvedbe kode preko gRPC, prizadeto do 0.5.1
- Black, Galliker in Levine, Izvedba politik toka razdeljevanja dejanj v realnem času (razdeljevanje v realnem času)
- Runpod cene GPU: urne tarife za skupnostni in varni oblak za A100, H100, L40S in 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