
A robotgépe nem rendelkezik GPU-val. Helyezze a GR00T irányelv szervert egy bérelt felhő alapú GPU-ra, streamelje az akciócsomagokat a karra, és tudja meg pontosan, mennyibe kerül a hálózati forgalom.
Egy Raspberry Pi elegendő ahhoz, hogy meghajtson egy soros buszon keresztül, és képkockákat húzzon le két USB kameráról. Nem elegendő egy hárommilliárd paraméteres : Az NVIDIA README-je szerint a GR00T N1.7 következtetéshez egy GPU szükséges 16 GB vagy több VRAM-mal. Ahhoz, hogy lássa, mit csinál a finomhangolt ellenőrzőpont a karon anélkül, hogy kártyát vásárolna, helyezze a szabályzatot egy bérelt felhő GPU-ra, tartsa a robot hurkot az USB portokkal rendelkező gépen, és küldje az észleléseket és akció darabokat a hálózaton keresztül.
Működik, nem ingyenes, és az ár nem oszlik el egyenletesen a feladatok között. Alább: az NVIDIA saját szabályzati szervere, a lerobot aszinkron stackje, az aritmetika, amely előre megmondja, hogy az uplinkje elég gyors-e, és a platform útvonal. Mindez ellenőrizve az Isaac-GR00T fő ágával (N1.7 GA) és a lerobot 0.6.1-gyel 2026. augusztus 23-án.
Amit tudnia kell
- •A GR00T N1.7, GR00T N1.5 és Pi0.5 nagyjából 3 milliárd paraméteres modellek. Egyik sem fér el egy robotvezérlőn diszkrét GPU nélkül.
- •Az Isaac-GR00T és a lerobot is kliens-szerver felosztással érkezik. Nem Ön írja a transzportot.
- •Az észlelések dominálják a hálózati költséget, nem az akciók: két tömörítetlen 640x480 RGB képkocka 1 843 200 bájt, körülbelül 14.7 Mbit hívásonként, és egyik stack sem tömöríti őket.
- •Az AY-Robots modellenként 20-485 ms-ot sorol fel akció lépésenként. Az internetes oda-vissza utak ehhez adódnak.
- •A távoli következtetés lassú pick-and-place feladatokhoz alkalmas, nem gyors reaktív mozgáshoz. A hosszabb végrehajtási horizont időt nyer, és az észlelés frissességének rovására megy.
- •Egyik szerver sem biztonságos nyilvános IP-n, ahogy szállítják, és a lerobot egy javítatlan RCE-t tartalmaz. Alagutazza be.
Miért nem fér el a szabályzat a robotgépen
Az AY-Robots által betanítható öt irányelv közül kettő munkaállomás-kártyán fut, három nem. A következtetési késleltetés oszlop alább műveleti lépésenként értendő, és ez az a szám, amely versenyez a hálózati oda-vissza útjával.
| Irányelv | Paraméterek | Következtetés műveleti lépésenként | GPU szint a betanításhoz | Min. epizódok | Adathalmaz formátum |
|---|---|---|---|---|---|
| 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 |

Ezt döntésként értelmezze, nem érdekességként. ACT 20 ms/lépés sebességgel fut a robotgépen, és soha többé nem kell gondolnia rá. Pi0.5 485 ms-nál egyharmad másodpercet töltött el, mielőtt egy csomag elhagyja az épületét. A irányelv összehasonlítás és GR00T N1.7 vs Pi0.5 hozzáadják a pontossági oldalt.
A GR00T N1.7, GR00T N1.5 és Pi0.5 egy gyártói ellenőrzőpontról indul (nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B, lerobot/pi05_base). Az ACT nem létezik, amíg nem képzi ki saját feladatára, így addig nincs mit távolról kiszolgálni, amíg egy képzési feladat le nem futott. Lásd: ACT az SO-100-on.
A két már létező kliens-szerver verem
Az Isaac-GR00T egy ZeroMQ kérés-válasz szervert szállít; a lerobot egy gRPC szervert szállít, amely aszinkron következtetés köré épül. Mindkettő elfogad egy GR00T ellenőrzőpontot. A lerobot támogatott irányelvlistája a async_inference/constants.py a act, smolvla, diffusion, tdmpc, vqbet, pi0, pi05 és groot; robotlistája pedig a so100_follower, so101_follower, bi_so_follower és omx_follower.
| Isaac-GR00T PolicyServer | lerobot async inference | |
|---|---|---|
| Belépési pont | gr00t/eval/run_gr00t_server.py | python -m lerobot.async_inference.policy_server |
| Szállítás | ZeroMQ REQ/REP | gRPC, add_insecure_port / insecure_channel |
| Szerializáció | msgpack + msgpack_numpy, allow_pickle=False enforced | pickle.dumps / pickle.loads, marked # nosec |
| Alapértelmezett port | 5555 | 8080 |
| Alapértelmezett kötés | 0.0.0.0, összes interfész | localhost |
| Hitelesítés | api_token, amelyet az osztály támogat, de a CLI nem ad át | nincs |
| Kliens időtúllépés | 15000 ms (PolicyClient timeout_ms) | 2 s observation queue timeout |
| Végrehajtási modell | szinkron: blokkol, majd végrehajtja a darabot | aszinkron: végrehajtja, miközben a következő darab számít |
A szerializációs sor fontosabb, mint amilyennek látszik. A GR00T MsgSerializer elutasítja az objektum-dtype ndarray hasznos adatokat mindkét irányban, mert a msgpack_numpy egyébként átadná őket a pickle-nek. A lerobot ehelyett pickle-t használ: policy_server.py hívja a pickle.loads függvényt a kérés adatokon, a robot_client.py pickle-zi az általa küldött megfigyelést. Megvédhető egy megbízható LAN-on, de védhetetlen, ha a port elérhető az internetről.
A útvonal: Az NVIDIA saját GR00T irányelv szervere
Ez az az útvonal, amelyet az NVIDIA dokumentál az SO-100 és SO-101 hardverekhez, és ezt kell használni, ha a checkpointja a examples/finetune.sh fájlból származik, a --embodiment-tag NEW_EMBODIMENT paraméterrel. A lépések kiegészítik azt, amit az upstream README kihagy: a port eljuttatása a robothoz anélkül, hogy mindenki más számára elérhetővé tennénk.
- 1GR00T telepítése a bérelt GPU dobozra
Az almodulok szükségesek, és a git-lfs-nek léteznie kell a klónozás előtt, különben a
demo_dataparquet fájljai mutatókként érkeznek. A flash-attn és a TensorRT az alapértelmezett telepítéssel érkezik. Egy friss pod image-en a csapda: atorchcodec0.8.0 az egyetlen támogatott videó backend, és csak az FFmpeg 4-7-et tölti be. Az Ubuntu 25.10 és 26.04 az FFmpeg 8-at szállítja, így a GR00T hibát jelezCould not load libtorchcodecüzenettel. Telepítsen egy 8 alatti FFmpeg-et, és tegye a könyvtárait azLD_LIBRARY_PATH-ra.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')" - 2Hitelesítés a zárt gerinchálózat ellen
Minden GR00T N1.7 checkpoint, beleértve a saját finomhangolását is, az első használatkor betölti a zárt
nvidia/Cosmos-Reason2-2Bmodellt. Kérjen hozzáférést a modell oldalán, és jelentkezzen be a podon, különben a betöltésGatedRepoErrorhibával meghiúsul.bashuv run huggingface-cli login # or: export HF_TOKEN=<your_token> - 3Az irányelv szerver indítása
Mutasson a
--model-pathparaméterrel a checkpoint könyvtárára; ezen az útvonalon a szerver figyelmen kívül hagyja a--modality-config-pathparamétert, amelyet csak a visszajátszási útvonalon olvas be. Hagyja el a--model-pathparamétert, és adja át helyette a--dataset-pathés a--execution-horizonparamétereket egy ReplayPolicy-hoz, amely rögzített műveleteket játszik vissza, ami a legolcsóbb módja annak, hogy bebizonyítsa a bekötés működését.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 - 4Az 5555-ös port alagutazása a robotgéphez
Kösse a loopback-hez, ahogy fentebb, és vigye át a portot SSH-n vagy egy WireGuard-szerű hálózaton keresztül. Ez biztosítja azt a titkosítást és hitelesítést, amit a ZeroMQ socket nem, körülbelül egy milliszekundum alatt.
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 - 5A robot kliens futtatása a szervók mellett
A kliensnek saját uv környezetre van szüksége: a lerobot robotmeghajtóit akarja, nem a képzési stack-et. Az
eval_so100.pyimportálja az so100_follower, so101_follower és koch_follower modulokat, ezért adja át a karjának megfelelő--robot.typeparamétert (az upstream README az so101_follower-t használja). A kamera kulcsoknak meg kell egyezniük a képzéssel: az adapter pontosan afrontéswristkulcsokat olvassa, és ezek felcserélése rossz nézetet mutat az irányelvnek.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"
A run_gr00t_server.py alapértelmezetten a --host 0.0.0.0-t használja, minden interfészt kötve: egy nyilvános IP-vel rendelkező podon ez egy nyitott következtetési végpont. A PolicyServer osztály elfogad egy api_token-t és kérésenként érvényesíti azt, de a run_gr00t_server.py sosem ad át ilyet, így a CLI szerver hitelesítés nélküli, bármit is konfiguráljon. Kössön a 127.0.0.1-hez és használjon tunnelt. Egy ZMQError: Address already in use azt jelenti, hogy az 5555-ös port foglalt; adja át a --port paramétert.
B útvonal: lerobot aszinkron következtetés
A lerobot egy másik problémát old meg. Ahelyett, hogy blokkolná a robotot, amíg a modell gondolkodik, a kliens folyamatosan lépteti a már meglévő sorát, miközben a szerver kiszámítja a következő darabot. Ez az akció darabolás továbbfejlesztett változata, az aszinkron verem, amelyet a SmolVLA vezetett be. GR00T ellenőrzőponttal is működik.
# 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=TrueA szerver üresen indul: nem tudja, milyen irányelvet szolgál ki, amíg az ügyfél első kézfogása nem közli vele, ami kényelmes egy bérelt podon. A két gomb, amely eldönti, hogy a kar simán mozog-e, a actions_per_chunk és a chunk_size_threshold (a lerobot dokumentációja a másodikat g-nek nevezi, a SmolVLA tanulmány után), és a dokumentált értékek és a szállított értékek nem egyeznek.
| Paraméter | Érték a lerobot 0.6.1 kódban | Mit csinál | Megjegyzés |
|---|---|---|---|
| actions_per_chunk | no default, required | Hívásonként visszaadott műveletek | A dokumentációs táblázat 50-et sorol fel; az adatosztály mezőnek nincs alapértelmezett értéke, így a CLI értéket követel meg |
| chunk_size_threshold | 0.5 | Sor kitöltési arány, amelynél vagy az alatt az ügyfél új megfigyelést küld | A dokumentációs táblázat 0.7-et mond; a kód és a dokumentáció saját példája 0.5-öt mond |
| fps | 30 | Ügyfél vezérlési sebesség, beállítja az environment_dt = 1/fps értéket | Csökkentse, ha a sor folyamatosan ürül |
| inference_latency | 1/30 s (33.3 ms) | Célzott következtetési késleltetés a szerveren | Egy cél, nem mérés |
| obs_queue_timeout | 2 s | Meddig vár a szerver a megfigyelési sorra | Egy lassú uplink itt jelentkezik először |
| aggregate_fn_name | weighted_average | Hogyan keverednek az átfedő chunk régiók | 0.3 régi + 0.7 új; a latest_only, average és conservative is szállítva van. A regiszter az AGGREGATE_FUNCTIONS a configs.py-ban található, nem a robot_client.py-ban, ahogy a dokumentáció állítja |
A CVE-2026-25874 egy nem hitelesített távoli kódfuttatás a lerobot aszinkron következtetési pipeline-jában: pickle.loads() a nem hitelesített gRPC csatornán TLS nélkül fogadott adatokon, amely a SendPolicyInstructions, SendObservations és GetActions hívásokon keresztül érhető el. CWE-502, CVSS 3.1 alap pontszám 9.8 az NVD-től, 4.0 alap pontszám 9.3 a kijelölő CNA-tól. A rekord a LeRobot 0.5.1-ig érintettként sorolja fel, és megnevezi mind az irányelv szervert, mind a robot klienst, így a karja melletti gép is érintett. A frissítés nem a megoldás: a rekord a 3047-es upstream hibát és a javítást, a PR 3048-at említi, amely a pickle-t safetensors plusz JSON-ra cseréli, és 2026. augusztus 23-án mindkettő még nyitva van. A policy_server.py a main ágon továbbra is meghívja a pickle.loads-t a kérés adatokon, miközben a serve() az add_insecure_port-tal kötődik. Kössön loopback-re, és soha ne port-forward-oljon 8080-at.
Az aritmetika, amely eldönti, hogy a kapcsolata elég gyors-e
Az emberek ezt kihagyják, majd egy napot töltenek azzal, hogy egy olyan irányelvvel, amely mozgás közben lefagy. Két percet vesz igénybe, és szinte mindig döntő.
Az NVIDIA eval_so100.py kommentált megfigyelési szótára leírja, mi kerül a vezetékre: két (480, 640, 3) alakú uint8 tömb, hat ízületi lebegőpontos szám, egy nyelvi karakterlánc. Ez 921 600 bájt képkockánként, 1 843 200 bájt két kamerához, körülbelül 14,7 Mbit, és egyik verem sem JPEG-tömöríti. A visszatérő adatcsomag néhány tucat lépés 6 lebegőpontos számmal. A feltöltésed dönt el mindent, nem a letöltésed.
| Feltöltési sávszélesség | Idő egy megfigyelés feltöltéséhez (14,7 Mbit) | Ítélet egy 30 FPS-es karhoz |
|---|---|---|
| 10 Mbit/s, tipikus otthoni feltöltés | ~1.47 s | Használhatatlan. A kar minden adatcsomag között megáll. |
| 25 Mbit/s | ~0.59 s | Csak lassú felvétel és elhelyezés, hosszú végrehajtási horizonttal. |
| 50 Mbit/s | ~0.29 s | Megfontolt feladatokhoz használható. |
| 100 Mbit/s | ~0.15 s | Rendben van felvételhez és elhelyezéshez, gyors mozgásnál látható. |
| 1 Gbit/s optikai vagy adatközpont | ~0.015 s | Ehelyett a modell válik szűk keresztmetszetté. |
A költségvetés, amibe bele kell férnie
A GR00T SO-100 kliens szinkron: meghívja a policy.get_action(obs), végrehajtja az első action_horizon lépését a szeletnek 30 FPS-en, majd újra meghívja. A szelet mérete és a horizont különböző számok: az NVIDIA telepítési útmutatója 16-os akció szeletméretet javasol, legalább 32-t valós idejű szeleteléssel kombinálva, míg a eval_so100.py 8-as végrehajtási horizonttal érkezik. Nyolc lépés 30 FPS-en 267 ms mozgást jelent hívásonként, és minden másnak bele kell férnie ebbe.
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 staleA horizont növelése egy durva, és nem ingyenes megoldás: a kar egy már elavult megfigyelés alapján cselekszik. Az elvi megoldás a valós idejű szeletelés (real-time chunking, RTC), amely kiszámítja a következő szeletet, miközben az aktuális fut, befagyasztja a garantáltan végrehajtandó akciókat, és kiegészíti a többit; az RTC tanulmány szerint robusztus az inferencia késleltetésével szemben, újratanítás nélkül. Először ellenőrizze, hol tart ez. Az NVIDIA az RTC-t kísérletinek jelöli, egy alacsony szintű modell primitívának, amely elérhető a action_head.get_action(..., options={"rtc_overlap_steps": ..., "rtc_frozen_steps": ...}), nincs bekötve a Gr00tPolicy-ba vagy a szerver-kliens útvonalba, ahol az options nincs használva, tesztek és példa nélkül. Egy policy szerveren keresztül aszinkron végrehajtást kap, nem RTC-t.
Az NVIDIA a GR00T N1.7-et végponttól végpontig 4 zajszűrő lépéssel, egy kamerával teszteli. Egy H100 80GB HBM3-on: 85.8 ms (11.7 Hz) PyTorch eager módban, 48.6 ms (20.6 Hz) torch.compile-lal, 27.9 ms (35.9 Hz) a TensorRT teljes pipeline-nal. Egy L40 eager módban 128.3 ms-ot (7.8 Hz) vesz igénybe. Az NVIDIA a 10 Hz-et nevezi meg a tipikus manipulációhoz ajánlott minimumnak, és a 10 Hz alatti értékeket csak lassú, nem reaktív feladatokhoz tartja megfelelőnek. Ezek újratervezési ráták: egy 10 Hz-es policy továbbra is képes egy 30 FPS-es kart irányítani akció szeleteléssel. Egy második kamera rossz irányba visz.
Mérje meg, mielőtt megbízik benne
Minden fenti szám egy előrejelzés. Négy parancs méréssé alakítja, amit érdemes lefuttatni, mielőtt egy pod-órát egy olyan feladatra szánnánk, ami sosem fog működni.
- 1A nyers oda-vissza út lekérése
A pod ellen, nem CDN ellen. Figyelje a szórást olyan szorosan, mint az átlagot: a jitter okozza a kar akadozását, nem az átlagos késleltetést.
bashping -c 50 <pod-host> # the mdev column is the number that predicts stutter - 2Mérje meg a meglévő feltöltési sebességet, ne azt, amiért fizet
Az otthoni feltöltési sebesség általában a letöltési sebesség töredéke, és ez az a szám a fenti sávszélesség táblázatban.
bash# on the pod iperf3 -s # on the robot machine, -R omitted so this measures upload iperf3 -c <pod-host> -t 30 - 3Olvassa el a kliens saját késleltetési naplóját
A lerobot robot kliens naplózza a szerver-kliens késleltetést és a deszerializációs időt minden adatcsomaghoz. B útvonalon nincs szüksége külső eszközökre.
textReceived action chunk for step #240 | Latest action: #232 | Incoming actions: 240:289 | Network latency (server->client): 187.44ms | Deserialization time: 3.10ms - 4Figyelje az akciósor kiürülését
Adja át a
--debug_visualize_queue_size=Trueparamétert, és a kliens futásidőben ábrázolja a sor méretét. Ha ismételten nullát ér el, kifogyott a keretből: csökkentse az fps-t, növelje az actions_per_chunk értékét, vagy növelje a chunk_size_threshold értékét, hogy a megfigyelések gyakrabban kerüljenek kiküldésre.bashpython -m lerobot.async_inference.robot_client \ ... \ --debug_visualize_queue_size=True
Mire is jó valójában a távoli következtetés
- Kiértékelhet egy 3 milliárd paraméteres szabályzatot valós hardveren anélkül, hogy olyan kártyája lenne, ami többe kerül, mint a kar.
- A GPU óránként bérelhető, így egy sikertelen ellenőrzőpont néhány dollárba kerül.
- A robot oldala kicsi marad: lerobot illesztőprogramok, két kamera, egy soros port, és ellenőrzőpontokat cserélhet anélkül, hogy hozzáérne.
- A tömörítetlen megfigyelések dominálják a hálózati költségeket, és a lakossági feltöltés a szűk keresztmetszet.
- A jitter jobban árt, mint a késleltetés: egy 40 ms átlagos, 300 ms-os csúcsokkal rendelkező kapcsolat akadozik, ahol egy stabil 120 ms-os kapcsolat nem.
- A gyors reaktív feladatok nem élik túl az oda-vissza utat semmilyen időtávon.
- Mindkét szerver hitelesítés nélkül, CLI formában érkezik, így az alagútépítés az Ön feladata.
- A megszakadt kapcsolat egy adatcsomag közepén a kart egy elavult művelettel hagyja. Adjon hozzá saját felügyelő robotot a robot oldalán.
| Feladat | Működik nyilvános interneten keresztül? | Miért |
|---|---|---|
| Válasszon egy statikus tárgyat, helyezze egy tárolóba | Igen | Semmi sem mozog a megfigyelés és a cselekvés között. |
| Téglák egymásra rakása megfontolt tempóban | Igen, action_horizon 16 vagy több esetén | A hibák elég lassan halmozódnak fel ahhoz, hogy a következő adatcsomagban javíthatók legyenek. |
| Nyisson ki egy fiókot, helyezzen be egy tárgyat | Általában | Érintésgazdag, de lassú. Figyeljen a megállásokra és indulásokra érintkezéskor. |
| Követni egy mozgó tárgyat | Nem | A szabályzat egy 300 ms és 1 s közötti régi megfigyelés alapján cselekszik. |
| Elkapni, egyensúlyozni, vagy csúszásból felépülni | Nem | A korrekciós ablak rövidebb, mint egy oda-vissza út. |
| Egy 30 Hz-es szinkron zárt hurok | Nem | A költségvetés 33 ms végponttól végpontig. Még egy LAN is küzd. |
Ha egy távoli futtatás minden epizódban ugyanazon a ponton akadozik, valószínűleg nem a hálózat az ok. Egy szabályzat, amely minden alkalommal ugyanazon az ízületi szögnél habozik, általában adatprobléma; lásd a hibamódok oldalai, különösen a egy szabályzat, amely csak egy beállításban működik és a veszteség csökken, de a szabályzat nem tesz semmit.
Csináld magad vs. csináld az AY-Robots-on
- Béreljen GPU-t egy spot piacon, és várjon elegendő VRAM-ra az Önnek megfelelő áron.
- Telepítse a CUDA-t, az uv-t, egy ffmpeg torchcodec-et, és a GR00T stack-et almodulokkal.
- Kérjen hozzáférést a zárt
nvidia/Cosmos-Reason2-2Bgerinchez, és helyezzen el egy tokent a podon. - Húzza le a ellenőrzőpontját a podra.
- Indítsa el a szervert loopback módban, majd építsen SSH alagutat a robotgépről.
- Telepítsen egy második környezetet a robotgépre az ügyfél és a meghajtók számára.
- Illessze a kamera kulcsokat, ízületneveket és a nyelvi utasítást ahhoz, amit az ellenőrzőpont látott.
- Figyelje a podot. Egy elfelejtett, éjszaka futó A100 többe kerül, mint a kísérlet.
A GPU számla nem áll le, amikor a robot leáll. A távoli következtetésen elvesztett pénz nagy része egy olyan szerverre megy, amely bekapcsolva maradt, miután mindenki elment. Állítson be riasztást, vagy automatizálja a leállítást.
- Válassza ki a futtatni kívánt betanított irányelvet.
- A
/api/inference/podautomatikusan kiépít egy felhőalapú GPU podot, amely ezt az irányelvet szolgálja ki. - A helyi robot kliens kommunikál ezzel a végponttal. Az alap ellenőrzőpontok a gyártók sajátjai:
nvidia/GR00T-N1.7-3B,nvidia/GR00T-N1.5-3B,lerobot/pi05_base. Az ACT-nek nincs. - A podok üresjárati figyelővel rendelkeznek, és egy üresjárati időszak után megsemmisítik magukat, így semmi sem számláz tovább csendben.
- Ugyanezek a műveletek terminálból és AI ügynökök számára is elérhetők, így a ciklus szkriptelhető.
Az automatikus kiépítés megszünteti a beállítási munkát és az elfelejtett pod számláját, de nem a fizikát. A következtetésnek továbbra is a szervók mellett kell lennie a gyors feladatokhoz: a vezérlőhurok 20-485 ms akció lépésenként a modelltől függően, és a nyilvános internetes oda-vissza utak ezen felül egy működő irányelvet habozóvá változtatnak.
- Kliens útmutató a kapcsolat helyi oldalához
- Futtassa első irányelvét a bemutatóhoz
- CLI és MCP szerver a szkriptelt verzióhoz
- Biztonsági dokumentáció

Mennyibe kerül egy távoli következtetési munkamenet
Két szám számít: a kártya óradíja, és az, hogy mennyi ideig hagyja futni. Az elsőt közzéteszik; a második meglepi az embereket.
| Kártya | Runpod közösségi felhő | Runpod biztonságos felhő | Ajánlott |
|---|---|---|---|
| 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 | Ugyanez, kicsit gyorsabban |
| H100 PCIe 80 GB | 1.99 USD/h | 2.89 USD/h | Leggyorsabb szint; az NVIDIA 11,7 Hz-es eager adata egy H100 80GB HBM3-ra vonatkozik |
| L40S 48 GB | 0.79 USD/h | 0.99 USD/h | Csak következtetésre, a 16 GB-os alsó határ felett |
| RTX 4090 24 GB | 0.34 USD/h | 0.74 USD/h | SmolVLA, ACT |
Ezeket az árakat a Runpod árképzési oldaláról olvastuk le 2026. augusztus 23-án, és a spot piacok változnak. Az AY-Robots ehelyett egy teljes futtatásra ad árajánlatot: 3-6 óra 1,20-2,00 USD/óra áron az A100 vagy H100 szinten, körülbelül 4-12 USD egy GR00T vagy Pi0.5 futtatásért; 2-5 óra 0,30-0,60 USD/óra áron a 24 GB-os szinten, 1-3 USD a SmolVLA vagy ACT futtatásért. Egy következtetési munkamenet csak akkor veri meg a képzési futtatást költségben, ha leállítja, amire az üresjárati figyelő (idle watchdog) szolgál. Lásd a számlázási dokumentációt és az árképzési oldalt.

Ha inkább nem szeretné, hogy a hálózat is benne legyen a körben
A távoli következtetés hardverproblémát old meg és késleltetési problémát hoz létre. Néha a jobb válasz egy olyan irányelv, amely illeszkedik a meglévő hardverhez.
- ACT, nagyjából 80 M paraméter és 20 ms műveleti lépésenként, 50 epizód minimum, bármilyen 24 GB-os kártya. Ismétlődő, egyfeladatos beállítás esetén gyakran felülmúl egy távoli 3 B modellt, mert soha nem vár csomagra.
- SmolVLA, nagyjából 450 M paraméter és 245 ms műveleti lépésenként, 30 epizód minimum. Megtartja azt a nyelvi kondicionálást, ami az ACT-ből hiányzik, és a lerobot dokumentációja szerint körülbelül 2 GB-ot igényel következtetéskor, szemben a PI0 nagyjából 14 GB-jával.
- ACT vs GR00T N1.7 a kompromisszum pontossági feléhez.
Létezik egy középső út is: képzés a felhőben, kiértékelés helyben. Finomhangolás igényli a 80 GB-os kártyát és nem törődik a késleltetéssel, így GR00T N1.7 képzése egy SO-100-on távolról vitathatatlan. Csak a kiértékelési ciklusnak van valós idejű korlátja; a képzési dokumentáció és a modell- és kar-mátrix fedi le ezt a felét.
Még nincs kar az asztalon?
Vezessen egy valódi SO-100-at a böngészőben regisztráció nélkül, hasonlítsa össze az öt betanítható irányelvet valós késleltetési adataikkal, vagy béreljen egy GPU-t és tanítson be egyet. Háromféleképpen kezdheti, egyik sem igényel olyan hardvert, amivel nem rendelkezik.
Próbálja ki hardver nélkülGyakran ismételt kérdések
Futtathatom a GR00T N1.7-et Raspberry Pi-n, ha a GPU távoli?▾
Igen, erre szolgál a kliens-szerver szétválasztás. A Pi futtatja a lerobot illesztőprogramokat, két kamerát és egy soros buszt olvas, és megfigyeléseket küld a policy szervernek; soha nem tölti be a modellt. A korlát a VRAM-ról a feltöltési sávszélességre tevődik át: két tömörítetlen 640x480 RGB kép 1 843 200 bájt hívásonként, és egyik stack sem tömöríti őket.
Mennyi késleltetést ad hozzá valójában a hálózat?▾
Oda-vissza út ideje plusz megfigyelés átviteli ideje. Az átviteli idő 14,7 Mbit osztva a feltöltési sávszélességgel: nagyjából 147 ms egy 100 Mbit/s-os kapcsolaton, 1,47 s egy 10 Mbit/s-os kapcsolaton. Mindkettő a modell saját következtetési idejére rakódik, amelyet az AY-Robots 152 ms-ként sorol fel a GR00T N1.7 és 485 ms-ként a Pi0.5 esetében. Mérje ping és iperf3 segítségével a pod ellen, ne sebességmérő szerver ellen.
Elég jó a távoli következtetés egy valós feladathoz?▾
Lassú, megfontolt felvételhez és elhelyezéshez igen. Bármilyen reaktív feladathoz nem. Az NVIDIA telepítési útmutatója a szinkron egylépéses követelményt nagyjából 33 ms végponttól végpontig 30 FPS-nél, és megjegyzi, hogy a rögzítés, hálózat, következtetés és utófeldolgozás rendszeresen meghaladja ezt, internet nélkül is.
Melyik portot használják a szerverek, és biztonságos megnyitni?▾
Az Isaac-GR00T PolicyServer alapértelmezés szerint az 5555-ös portot használja ZeroMQ-n keresztül, és 0.0.0.0-t köt a CLI-jében. A lerobot alapértelmezés szerint a 8080-as portot használja gRPC-n keresztül, és localhost-ot köt. Egyik sem biztonságos kitenni: a GR00T osztály támogatja az api_token-t, de a run_gr00t_server.py soha nem ad át ilyet, és a lerobot bizonytalan gRPC csatornán keresztül pickle-zi az adatokat, ami CVE-2026-25874. Kössön loopback-re és használjon SSH alagutat.
Megoldja a lerobot frissítése a CVE-2026-25874-et?▾
2026. augusztus 23-án még nem. A CVE rekord a LeRobot 0.5.1-ig terjedő verzióit érintettként sorolja fel, és a PyPI a 0.6.1-et szállítja, de a pull request, amely eltávolítaná a pickle-t az aszinkron pipeline-ból, még nyitva van, és a policy_server.py a main ágon továbbra is meghívja a pickle.loads-ot a kérés adatokon. Kezelje a hálózati izolációt enyhítésként, ne verziófrissítésként, és feltételezze, hogy a robot oldali kliens is érintett.
Használhatom a lerobot aszinkron kliensét GR00T ellenőrzőponttal?▾
Igen. A lerobot 0.6.1 a groot-ot a SUPPORTED_POLICIES listájában sorolja fel az act, smolvla, diffusion, tdmpc, vqbet, pi0 és pi05 mellett, és mind az so100_follower, mind az so101_follower a SUPPORTED_ROBOTS-ban található. Adja át a --policy_type=groot paramétert, és mutasson a --pretrained_name_or_path-tal az ellenőrzőpontjára. Aszinkron végrehajtást kap, amit a GR00T SO-100 példa nem implementál, a pickle transzport költségén.
A rövid változat
Távoli következtetés egy 3 B irányelv egy megoldott mérnöki probléma, amelyhez egy megoldatlan fizikai probléma is társul. A mérnöki rész két parancs és egy SSH alagút. A fizika az, hogy egy 1,8 MB-os megfigyelésnek el kell jutnia egy másik országban lévő GPU-hoz, és vissza kell térnie, mielőtt a kar kifutna a cselekvésekből. Végezze el a számításokat, mielőtt bármit bérelne, válasszon olyan feladatot, amely tolerálja az elavult megfigyelést, és növelje a végrehajtási horizontot ahelyett, hogy reménykedne a kapcsolat javulásában.
Ha még nem rögzítettél adathalmazt, és az jön először, és a bejegyzés elmagyarázza, mit ír a rögzítő. A háttér a és a ; az minden benchmark számot egy forráshoz kapcsol.
Sources
- NVIDIA Isaac-GR00T: N1.7 tárhely és README (16 GB következtetési alsó határ, telepítés, zárt Cosmos-Reason2-2B gerinc, FFmpeg korlátozás)
- run_gr00t_server.py: a GR00T irányelv szerver CLI, ServerConfig alapértelmezések (host 0.0.0.0, port 5555) és a ReplayPolicy útvonal
- server_client.py: PolicyServer és PolicyClient, MsgSerializer allow_pickle=False határa, api_token, timeout_ms
- eval_so100.py: az SO-100 irányelv kliens, EvalConfig alapértelmezések és a szinkron vezérlőhurok
- Isaac-GR00T SO100/SO101 példa: adathalmaz konverzió, finomhangolás és zárt hurkú kiértékelési parancsok
- Isaac-GR00T Valós Világú Telepítési Útmutató: a 33 ms szinkron költségvetés, stop-and-go, akció darab méret, RTC állapot
- Isaac-GR00T Hardver Ajánlás: következtetési frekvencia GPU-nként és a 10 Hz minimum
- Isaac-GR00T Telepítési és Következtetési Útmutató: komponensenkénti késleltetési benchmark eredmények
- LeRobot: Aszinkron Következtetési oktatóanyag (PolicyServer, RobotClient, a dokumentált paraméter táblázat)
- lerobot async_inference/configs.py: PolicyServerConfig és RobotClientConfig alapértelmezések, AGGREGATE_FUNCTIONS regiszter
- lerobot async_inference/policy_server.py: pickle.loads kérés adatokon, add_insecure_port, a gRPC hívásnevek
- lerobot robot_client.py: gRPC transzport, pickle szerializáció, késleltetés naplózás
- CVE-2026-25874: LeRobot nem biztonságos deszerializáció távoli kódfuttatás gRPC-n keresztül, érintett 0.5.1-ig
- Black, Galliker és Levine, Akció Daraboló Flow Irányelvek Valós Idejű Végrehajtása (valós idejű darabolás)
- Runpod GPU árazás: közösségi és biztonságos felhő óradíjak A100, H100, L40S és RTX 4090-hez
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