
Váš robotický stroj nemá GPU. Umístěte GR00T policy server na pronajatou cloudovou GPU, streamujte akční bloky do ramene a zjistěte přesně, co vás síť stojí.
Raspberry Pi stačí k řízení přes sériovou sběrnici a stahování snímků ze dvou USB kamer. Nestačí však k provozu tří miliardového parametrového : README společnosti NVIDIA uvádí inferenci GR00T N1.7 na jedné GPU s 16 GB nebo více VRAM. Chcete-li vidět, co váš jemně vyladěný checkpoint dělá na rameni bez nákupu karty, umístěte politiku na pronajatou cloudovou GPU, udržujte robotickou smyčku na stroji s USB porty a posílejte pozorování a akční bloky přes síť.
Funguje to, není to zdarma a cena není rovnoměrně rozložena mezi úkoly. Níže: vlastní server politik NVIDIA, asynchronní zásobník lerobot, aritmetika, která předem určí, zda je váš uplink dostatečně rychlý, a platformní cesta. Vše ověřeno proti hlavní větvi Isaac-GR00T (N1.7 GA) a lerobot 0.6.1 k 23. srpnu 2026.
Co potřebujete vědět
- •GR00T N1.7, GR00T N1.5 a Pi0.5 jsou modely s přibližně 3 miliardami parametrů. Žádný se nevejde na řídicí jednotku robota bez diskrétní GPU.
- •Isaac-GR00T a lerobot oba dodávají rozdělení klient-server. Transport nepíšete vy.
- •Pozorování dominují nákladům na přenos, nikoli akce: dva nekomprimované 640x480 RGB snímky jsou 1,843,200 bajtů, asi 14.7 Mbit na volání, a ani jeden zásobník je nekomprimuje.
- •AY-Robots uvádí 20 až 485 ms na akční krok podle modelu. K tomu se připočítávají internetové odezvy.
- •Vzdálená inference se hodí pro pomalé úkoly typu pick-and-place, nikoli pro rychlý reaktivní pohyb. Delší horizont provádění kupuje čas a stojí svěžest pozorování.
- •Žádný server není bezpečný na veřejné IP adrese v dodané podobě a lerobot obsahuje neopravenou RCE. Tunelujte jej.
Proč se politika nevejde na stroj robota
Dvě z pěti politik, které AY-Robots dokáže trénovat, běží na kartě pracovní stanice, tři nikoli. Sloupec níže je na jeden akční krok, a to je číslo, které konkuruje vaší síťové odezvě.
| Politika | Parametry | Inference na akční krok | Úroveň GPU pro trénink | Minimální epizody | Formát datové sady |
|---|---|---|---|---|---|
| GR00T N1.7 | ~3 B, ~40 M trained during fine-tuning | 152 ms | A100 80 GB or H100 80 GB | 50 | LeRobot v2.0 or v2.1 |
| GR00T N1.5 | ~3 B | 165 ms | A100 80 GB or H100 80 GB | 50 | LeRobot v2.0 or v2.1 |
| Pi0.5 | ~3 B, PaliGemma backbone | 485 ms | A100 80 GB or H100 80 GB | 50 | LeRobot v3.0 |
| SmolVLA | ~450 M | 245 ms | RTX 4090 or any 24 GB card | 30 | LeRobot v3.0 |
| ACT | ~80 M | 20 ms | RTX 4090 or any 24 GB card | 50 | LeRobot v3.0 |

Čtěte to jako rozhodnutí, ne jako zajímavost. s 20 ms na krok běží na robotickém stroji a už na to nikdy nemusíte myslet. s 485 ms strávila třetinu sekundy, než paket opustí vaši budovu. Porovnání a přidávají stranu přesnosti.
GR00T N1.7, GR00T N1.5 a Pi0.5 začínají z kontrolního bodu dodavatele (nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B, lerobot/pi05_base). ACT neexistuje, dokud jej nevytrénujete na svém vlastním úkolu, takže není nic, co by se dalo vzdáleně obsluhovat, dokud neproběhne tréninková úloha. Viz ACT on SO-100.
Dva již existující klient-server zásobníky
Isaac-GR00T dodává ZeroMQ request-reply server; lerobot dodává gRPC server postavený na asynchronní inferenci. Oba přijímají GR00T kontrolní bod. Seznam podporovaných politik lerobot v async_inference/constants.py je act, smolvla, diffusion, tdmpc, vqbet, pi0, pi05 a groot; jeho seznam robotů je so100_follower, so101_follower, bi_so_follower a omx_follower.
| Isaac-GR00T PolicyServer | lerobot asynchronní inference | |
|---|---|---|
| Vstupní bod | gr00t/eval/run_gr00t_server.py | python -m lerobot.async_inference.policy_server |
| Transport | ZeroMQ REQ/REP | gRPC, add_insecure_port / insecure_channel |
| Serializace | msgpack + msgpack_numpy, allow_pickle=False enforced | pickle.dumps / pickle.2 s časový limit fronty pozorování |
| Model provádění | synchronní: blokovat, poté provést kus | asynchronní: provádět, zatímco se počítá další kus |
Řádek serializace je důležitější, než se zdá. GR00T's MsgSerializer odmítá payloady ndarray typu object-dtype v obou směrech, protože msgpack_numpy by je jinak předal pickle. lerobot místo toho používá pickle: policy_server.py volá pickle.loads na data požadavku, robot_client.py serializuje pozorování, které odesílá. Obhajitelné v důvěryhodné LAN, neobhajitelné, jakmile je port dosažitelný z internetu.
Trasa A: Vlastní GR00T policy server od NVIDIA
Toto je cesta, kterou NVIDIA dokumentuje pro hardware SO-100 a SO-101, a ta, kterou použijete, pokud váš checkpoint vzešel z examples/finetune.sh s --embodiment-tag NEW_EMBODIMENT. Tyto kroky doplňují to, co původní README vynechává: jak dostat port k robotovi, aniž by byl vystaven všem ostatním.
- 1Nainstalujte GR00T na pronajatý GPU box
Submoduly jsou vyžadovány a git-lfs musí existovat před klonováním, jinak soubory parquet v
demo_datadorazí jako ukazatele. flash-attn a TensorRT jsou součástí výchozí instalace. Úskalí na čerstvém obrazu podu:torchcodec0.8.0 je jediný podporovaný video backend a načítá pouze FFmpeg 4 až 7. Ubuntu 25.10 a 26.04 dodávají FFmpeg 8, takže GR00T selže sCould not load libtorchcodec. Nainstalujte FFmpeg nižší než 8 a umístěte jeho knihovny doLD_LIBRARY_PATH.bashsudo apt install git-lfs && git lfs install curl -LsSf https://astral.sh/uv/install.sh | sh sudo apt-get update && sudo apt-get install -y ffmpeg git clone --recurse-submodules https://github.com/NVIDIA/Isaac-GR00T cd Isaac-GR00T uv sync --python 3.12 uv run python -c "import gr00t; print('GR00T installed successfully')" - 2Ověření proti gated backbone
Každý checkpoint GR00T N1.7, včetně vašeho vlastního fine-tune, načítá při prvním použití gated
nvidia/Cosmos-Reason2-2B. Požádejte o přístup na stránce modelu a přihlaste se na podu, jinak načítání selže sGatedRepoError.bashuv run huggingface-cli login # or: export HF_TOKEN=<your_token> - 3Spusťte policy server
Nasměrujte
--model-pathna váš adresář checkpointu; na této cestě server ignoruje--modality-config-path, který se čte pouze na cestě pro přehrávání. Vyřaďte--model-patha místo toho předejte--dataset-pathplus--execution-horizonpro ReplayPolicy, která přehrává zaznamenané akce, což je nejlevnější způsob, jak ověřit funkčnost zapojení.bashuv run python gr00t/eval/run_gr00t_server.py \ --model-path /workspace/so100_finetune/checkpoint-10000 \ --embodiment-tag NEW_EMBODIMENT \ --device cuda:0 \ --host 127.0.0.1 --port 5555 - 4Tunelujte port 5555 k robotickému stroji
Vytvořte vazbu na loopback, jak je uvedeno výše, a přeneste port přes SSH nebo síť ve stylu WireGuard. To zajišťuje šifrování a autentizaci, které ZeroMQ socket neposkytuje, a to za přibližně 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 - 5Spusťte klienta robota vedle serv
Klient potřebuje své vlastní uv prostředí: chce ovladače robotů lerobot, nikoli tréninkový stack.
eval_so100.pyimportuje so100_follower, so101_follower a koch_follower, takže předejte--robot.typeodpovídající vaší paži (původní README používá so101_follower). Klíče kamer musí odpovídat tréninku: adaptér čte přesněfrontawrist, a jejich prohození ukáže politice špatný pohled.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 ve výchozím nastavení používá --host 0.0.0.0, čímž váže každé rozhraní: na podu s veřejnou IP adresou je to otevřený inferenční endpoint. Třída PolicyServer přijímá api_token a ověřuje jej pro každý požadavek, ale run_gr00t_server.py jej nikdy nepředává, takže CLI server je neověřený, ať už konfigurujete cokoli. Vážte na 127.0.0.1 a tunelujte. Chyba ZMQError: Address already in use znamená, že port 5555 je obsazen; předejte --port.
Trasa B: asynchronní inference lerobot
lerobot řeší jiný problém. Namísto blokování robota, zatímco model přemýšlí, klient pokračuje v procházení fronty, kterou již má, zatímco server počítá další chunk. Toto je chunkování akcí posunuté dál, asynchronní stack představený se SmolVLA. Funguje to i s GR00T checkpointem.
# GPU machine
pip install -e ".[async]"
python -m lerobot.async_inference.policy_server \
--host=127.0.0.1 \
--port=8080
# robot machine, after tunnelling 8080
python -m lerobot.async_inference.robot_client \
--server_address=127.0.0.1:8080 \
--robot.type=so100_follower \
--robot.port=/dev/ttyACM0 \
--robot.id=follower_so100 \
--robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, wrist: {type: opencv, index_or_path: 1, width: 640, height: 480, fps: 30}}" \
--task="pick up the red block and put it in the bin" \
--policy_type=groot \
--pretrained_name_or_path=<user>/my_groot_finetune \
--policy_device=cuda \
--actions_per_chunk=50 \
--chunk_size_threshold=0.5 \
--debug_visualize_queue_size=TrueServer se spouští prázdný: neví, jakou politiku obsluhuje, dokud mu to neřekne první handshake klienta, což je výhodné na pronajatém podu. Dva parametry, které rozhodují, zda se rameno pohybuje plynule, jsou actions_per_chunk a chunk_size_threshold (dokumentace lerobot nazývá druhý parametr g, podle článku SmolVLA), a dokumentované hodnoty se neshodují s dodanými hodnotami.
| Parametr | Hodnota v kódu lerobot 0.6.1 | Co dělá | Poznámka |
|---|---|---|---|
| actions_per_chunk | bez výchozí hodnoty, povinné | Akce vrácené na jedno volání | Tabulka v dokumentaci uvádí 50; pole dataclass nemá výchozí hodnotu, takže CLI vyžaduje hodnotu |
| chunk_size_threshold | 0.5 | Poměr zaplnění fronty, při kterém nebo pod kterým klient odesílá novou observaci | Tabulka v dokumentaci uvádí 0.7; kód a vlastní příklad v dokumentaci uvádí 0.5 |
| fps | 30 | Řídicí frekvence klienta, nastavuje environment_dt = 1/fps | Snižte ji, pokud se fronta neustále vyprazdňuje |
| inference_latency | 1/30 s (33.3 ms) | Cílová latence inference na serveru | Cíl, nikoli měření |
| obs_queue_timeout | 2 s | Jak dlouho server čeká na frontu observací | Pomalý uplink se projeví nejprve zde |
| aggregate_fn_name | weighted_average | Jak se prolínají překrývající se oblasti chunků | 0.3 staré + 0.7 nové; dodávají se také latest_only, average a conservative. Registr je AGGREGATE_FUNCTIONS v configs.py, nikoli robot_client.py, jak tvrdí dokumentace |
CVE-2026-25874 je neautentizované vzdálené spuštění kódu v asynchronní inferenční pipeline lerobot: pickle.loads() na datech přijatých přes neautentizovaný gRPC kanál bez TLS, dosažitelné prostřednictvím volání SendPolicyInstructions, SendObservations a GetActions. CWE-502, základní skóre CVSS 3.1 9.8 z NVD, základní skóre 4.0 9.3 od přidělující CNA. Záznam uvádí LeRobot až do verze 0.5.1 jako postižený a jmenuje jak server politik, tak klienta robota, takže stroj vedle vašeho ramene je v rozsahu. Upgrade není řešením: záznam cituje upstream problém 3047 a patch, PR 3048, který vyměňuje pickle za safetensors plus JSON, a k 23. srpnu 2026 jsou oba stále otevřené. policy_server.py na main stále volá pickle.loads na data požadavku, zatímco serve() se váže s add_insecure_port. Vázejte se na loopback a nikdy nepřesměrovávejte port 8080.
Aritmetika, která rozhoduje, zda je vaše připojení dostatečně rychlé
Lidé to přeskočí a pak stráví den s . Trvá to dvě minuty a téměř vždy je to rozhodující.
Komentovaný slovník pozorování v NVIDIA eval_so100.py říká, co jde po drátu: dvě pole tvaru (480, 640, 3) v uint8, šest kloubových floatů, jazykový řetězec. To je 921 600 bajtů na snímek, 1 843 200 bajtů pro dvě kamery, asi 14.7 Mbit, a ani jeden stack to nekomprimuje do JPEG. Vrácený chunk je několik desítek kroků po 6 floatech. Váš upload rozhoduje o všem, ne váš download.
| Šířka pásma pro upload | Čas pro odeslání jednoho pozorování (14.7 Mbit) | Verdikt pro rameno s 30 FPS |
|---|---|---|
| 10 Mbit/s, typický domácí upload | ~1.47 s | Nepoužitelné. Rameno se zastaví mezi každým chunkem. |
| 25 Mbit/s | ~0.59 s | Pouze pomalé uchopování a umisťování, s dlouhým horizontem provedení. |
| 50 Mbit/s | ~0.29 s | Použitelné pro záměrné úkoly. |
| 100 Mbit/s | ~0.15 s | Dobré pro uchopování a umisťování, viditelné při rychlém pohybu. |
| 1 Gbit/s optika nebo datacentrum | ~0.015 s | Místo toho se modelem stane úzké hrdlo. |
Rozpočet, do kterého se musíte vejít
Klient GR00T SO-100 je synchronní: volá policy.get_action(obs), provede prvních action_horizon kroků bloku při 30 FPS a poté volá znovu. Velikost bloku a horizont jsou různá čísla: průvodce nasazením NVIDIA doporučuje velikost bloku akcí 16, alespoň 32 v kombinaci s chunkingem v reálném čase, zatímco eval_so100.py dodává horizont provádění 8. Osm kroků při 30 FPS je 267 ms pohybu na jedno volání a vše ostatní se do toho musí vejít.
observation upload 14.7 Mbit / 100 Mbit/s = 147 ms
network round trip = 30 ms
model inference (AY-Robots figure, N1.7) = 152 ms
action chunk return + deserialize = ~2 ms
-------
total per call 331 ms
budget at action_horizon = 8 -> 267 ms FAIL, arm pauses ~64 ms per chunk
budget at action_horizon = 16 -> 533 ms fits, with headroom
budget at action_horizon = 32 -> 1067 ms fits, observations now ~1 s staleZvýšení horizontu je hrubé řešení a není zadarmo: rameno reaguje na pozorování, které je nyní staré. Principálním řešením je chunking v reálném čase, který vypočítá další blok, zatímco běží ten aktuální, zmrazí akce, které jsou zaručeny k provedení, a zbytek doplní; článek o RTC uvádí, že je robustní vůči zpoždění inference bez nutnosti přeškolení. Nejprve zkontrolujte, jak to vypadá. NVIDIA označuje RTC jako experimentální, nízkoúrovňovou modelovou primitivu dostupnou přes action_head.get_action(..., options={"rtc_overlap_steps": ..., "rtc_frozen_steps": ...}), která není zapojena do Gr00tPolicy ani do cesty server-klient, kde je options nepoužito, bez testů a bez příkladu. Přes policy server získáte asynchronní provádění, nikoli RTC.
NVIDIA benchmarkuje GR00T N1.7 end-to-end se 4 kroky denoisingu s jednou kamerou. Na H100 80GB HBM3: 85.8 ms (11.7 Hz) v PyTorch eager, 48.6 ms (20.6 Hz) s torch.compile, 27.9 ms (35.9 Hz) s plnou pipeline TensorRT. L40 v eager režimu trvá 128.3 ms (7.8 Hz). NVIDIA označuje 10 Hz jako doporučené minimum pro typickou manipulaci a pod 10 Hz jako vhodné pouze pro pomalé, nereaktivní úkoly. To jsou rychlosti přepočítávání plánu: politika s 10 Hz může stále řídit rameno s 30 FPS pomocí chunkingu akcí. Druhá kamera vás posune špatným směrem.
Změřte to, než tomu budete věřit
Každé číslo výše je předpověď. Čtyři příkazy z ní udělají měření, které stojí za to spustit, než se zavážete k pod-hodině na úkol, který by nikdy nefungoval.
- 1Získejte syrovou dobu odezvy
Proti podu, ne CDN. Sledujte odchylku stejně pozorně jako průměr: chvění způsobuje zadrhávání ramene, nikoli průměrná latence.
bashping -c 50 <pod-host> # the mdev column is the number that predicts stutter - 2Změřte uplink, který máte, ne ten, za který platíte
Domácí upload je obvykle zlomek downloadu, a je to číslo v tabulce šířky pásma výše.
bash# on the pod iperf3 -s # on the robot machine, -R omitted so this measures upload iperf3 -c <pod-host> -t 30 - 3Přečtěte si vlastní log latence klienta
Robotický klient lerobot zaznamenává latenci server-klient a dobu deserializace pro každý chunk. Na trase B nepotřebujete žádné externí nástroje.
textReceived action chunk for step #240 | Latest action: #232 | Incoming actions: 240:289 | Network latency (server->client): 187.44ms | Deserialization time: 3.10ms - 4Sledujte vyprazdňování fronty akcí
Předejte
--debug_visualize_queue_size=Truea klient vykreslí velikost fronty za běhu. Pokud opakovaně dosáhne nuly, vyčerpali jste rozpočet: snižte fps, zvyšte actions_per_chunk, nebo zvyšte chunk_size_threshold, aby pozorování odcházela častěji.bashpython -m lerobot.async_inference.robot_client \ ... \ --debug_visualize_queue_size=True
K čemu je vzdálená inference skutečně dobrá
- Můžete vyhodnotit politiku s 3 miliardami parametrů na skutečném hardwaru, aniž byste vlastnili kartu, která stojí více než rameno.
- GPU se pronajímá na hodinu, takže neúspěšný kontrolní bod stojí pár dolarů.
- Strana robota zůstává malá: ovladače lerobot, dvě kamery, sériový port, a kontrolní body měníte, aniž byste se jí dotkli.
- Nekomprimovaná pozorování dominují nákladům na přenos dat a rezidenční upload je omezujícím faktorem.
- Jitter bolí více než latence: spojení s průměrem 40 ms a špičkami 300 ms se zadrhává, zatímco stabilní spojení 120 ms nikoli.
- Rychlé reaktivní úkoly nepřežijí zpáteční cestu v žádném časovém horizontu.
- Oba servery se dodávají neověřené ve formě CLI, takže práce s tunelováním je na vás.
- Přerušené spojení uprostřed bloku zanechá rameno s neaktuální akcí. Přidejte si vlastního hlídacího psa na straně robota.
| Úkol | Funguje přes veřejný internet? | Proč |
|---|---|---|
| Vyberte statický objekt, umístěte jej do koše | Yes | Mezi pozorováním a akcí se nic nepohybuje. |
| Skládejte bloky záměrným tempem | Yes, at action_horizon 16 or more | Chyby se hromadí dostatečně pomalu, aby je bylo možné opravit v dalším bloku. |
| Otevřete zásuvku, vložte objekt | Obvykle | Bohaté na kontakt, ale pomalé. Sledujte zastavování a rozjíždění při kontaktu. |
| Sledujte pohybující se objekt | No | Politika reaguje na pozorování staré 300 ms až 1 s. |
| Chyťte, vyvažte nebo se zotavte z prokluzu | No | Korekční okno je kratší než jedna zpáteční cesta. |
| 30 Hz synchronní uzavřená smyčka | No | Rozpočet je 33 ms end-to-end. I LAN má potíže. |
Pokud se vzdálený běh zadrhává ve stejném bodě v každé epizodě, síť pravděpodobně není příčinou. Politika, která pokaždé váhá ve stejném úhlu kloubu, je obvykle problém s daty; viz stránky s režimy selhání, zejména politika, která funguje pouze v jednom nastavení a ztráta klesá, ale politika nic nedělá.
Dělat to sami vs. dělat to na AY-Robots
- Pronajměte si GPU na spotovém trhu a počkejte na dostatek VRAM za cenu, která vám vyhovuje.
- Nainstalujte CUDA, uv, ffmpeg torchcodec a GR00T stack se submoduly.
- Požádejte o přístup k omezené páteři `nvidia/Cosmos-Reason2-2B` a umístěte token na pod.
- Stáhněte svůj kontrolní bod na pod.
- Spusťte server na loopbacku a poté vytvořte SSH tunel z robotického stroje.
- Nainstalujte druhé prostředí na robotický stroj pro klienta a ovladače.
- Přizpůsobte klíče kamery, názvy kloubů a jazykovou instrukci tomu, co viděl kontrolní bod.
- Sledujte pod. Zapomenutý A100 běžící přes noc stojí více než experiment.
Účet za GPU se nezastaví, když se robot zastaví. Většina peněz ztracených na vzdálené inferenci jde na server, který zůstal v provozu poté, co všichni odešli. Nastavte si alarm, nebo automatizujte vypnutí.
- Vyberte trénovanou politiku, kterou chcete spustit.
/api/inference/podautomaticky zřizuje cloudový GPU pod, který obsluhuje tuto politiku.- Lokální robotický klient komunikuje s tímto koncovým bodem. Základní kontrolní body jsou vlastní dodavatelům:
nvidia/GR00T-N1.7-3B,nvidia/GR00T-N1.5-3B,lerobot/pi05_base. ACT žádné nemá. - Pody obsahují nečinný watchdog a po období nečinnosti se samy zničí, takže nic nezůstane tiše účtováno.
- Stejné operace jsou dostupné z terminálu a pro agenty AI, takže smyčka může být skriptována.
Automatické zřizování odstraňuje práci s nastavením a účet za zapomenutý pod, nikoli fyziku. Inference stále musí být blízko servomotorů pro rychlé úkoly: řídicí smyčka je 20 to 485 ms na krok akce v závislosti na modelu, a veřejné internetové zpáteční cesty k tomu navíc promění funkční politiku v váhavou.
- Průvodce klientem pro lokální stranu připojení
- Spusťte svou první politiku pro podrobný návod
- CLI a MCP server pro skriptovanou verzi
- Dokumentace zabezpečení

Co stojí vzdálená inference
Důležitá jsou dvě čísla: hodinová sazba karty a jak dlouho ji necháte běžet. První je zveřejněno; druhé lidi překvapuje.
| Karta | Runpod komunitní cloud | Runpod zabezpečený cloud | Vhodné pro |
|---|---|---|---|
| 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 | Stejné, trochu rychlejší |
| H100 PCIe 80 GB | 1.99 USD/h | 2.89 USD/h | Nejrychlejší úroveň; údaj NVIDIA 11.7 Hz pro eager je pro H100 80GB HBM3 |
| L40S 48 GB | 0.79 USD/h | 0.99 USD/h | Pouze inference, nad hranicí 16 GB |
| RTX 4090 24 GB | 0.34 USD/h | 0.74 USD/h | SmolVLA, ACT |
Tyto sazby byly načteny z cenové stránky Runpodu 23. srpna 2026 a spotové trhy se pohybují. AY-Robots místo toho uvádí cenu za celý běh: 3 až 6 hodin za 1.20 až 2.00 USD za hodinu na úrovni A100 nebo H100, přibližně 4 až 12 USD za běh GR00T nebo Pi0.5; 2 až 5 hodin za 0.30 až 0.60 USD za hodinu na úrovni 24 GB, 1 až 3 USD za SmolVLA nebo ACT. Inference relace překoná tréninkový běh v nákladech pouze tehdy, pokud ji zastavíte, k čemuž slouží idle watchdog. Viz dokumentace k fakturaci a stránka s cenami.

Pokud byste raději neměli síť v cyklu
Vzdálená inference řeší hardwarový problém a vytváří problém s latencí. Někdy je lepší odpovědí politika, která odpovídá hardwaru, který máte.
- ACT, přibližně 80 milionů parametrů a 20 ms na akční krok, minimálně 50 epizod, jakákoli 24 GB karta. V opakujícím se nastavení s jednou úlohou často překonává vzdálený 3 B model, protože nikdy nečeká na paket.
- SmolVLA, přibližně 450 milionů parametrů a 245 ms na akční krok, minimálně 30 epizod. Zachovává jazykové podmínění, které ACT postrádá, a dokumentace lerobot uvádí jeho velikost přibližně 2 GB v době inference oproti zhruba 14 GB pro PI0.
- ACT vs GR00T N1.7 pro přesnost, což je jedna polovina kompromisu.
Existuje také střední cesta: trénovat v cloudu, vyhodnocovat lokálně. Jemné ladění potřebuje 80 GB kartu a nezajímá se o latenci, takže trénování GR00T N1.7 na SO-100 vzdáleně je nesporné. Pouze vyhodnocovací smyčka má omezení v reálném čase; dokumentace k trénování a matice modelů a ramen pokrývají tuto polovinu.
Ještě nemáte rameno na stole?
Ovládejte skutečný SO-100 v prohlížeči bez registrace, porovnejte pět trénovatelných politik s jejich skutečnými čísly latence, nebo si pronajměte GPU a jednu vytrénujte. Tři způsoby, jak začít, žádný nevyžaduje hardware, který nevlastníte.
Vyzkoušejte to bez hardwaruČasto kladené otázky
Mohu spustit GR00T N1.7 na Raspberry Pi, pokud je GPU vzdálené?▾
Ano, k tomu slouží rozdělení klient-server. Pi spouští ovladače lerobot, čte dvě kamery a sériovou sběrnici a odesílá pozorování na policy server; nikdy nenačítá model. Omezení se přesouvá z VRAM na šířku pásma pro upload: dva nekomprimované 640x480 RGB snímky jsou 1 843 200 bajtů na volání a ani jeden stack je nekomprimuje.
Kolik latence síť skutečně přidává?▾
Doba odezvy (round-trip time) plus doba přenosu pozorování. Doba přenosu je 14.7 Mbit děleno vaší šířkou pásma pro upload: zhruba 147 ms na 100 Mbit/s lince, 1.47 s na 10 Mbit/s lince. Obě se přičítají k vlastní době inference modelu, kterou AY-Robots uvádí jako 152 ms pro GR00T N1.7 a 485 ms pro Pi0.5. Měřte pomocí ping a iperf3 proti podu, nikoli proti serveru pro test rychlosti.
Je vzdálená inference dostatečně dobrá pro skutečný úkol?▾
Pro pomalé, záměrné úkoly typu pick-and-place, ano. Pro cokoli reaktivního, ne. Průvodce nasazením od NVIDIA uvádí požadavek na synchronní jednokrokovou operaci na zhruba 33 ms end-to-end při 30 FPS a poznamenává, že snímání, síť, inference a post-processing to běžně překračují i bez zapojení internetu.
Jaký port servery používají a je bezpečné ho otevřít?▾
PolicyServer Isaac-GR00T standardně používá port 5555 přes ZeroMQ a v CLI váže 0.0.0.0. lerobot standardně používá port 8080 přes gRPC a váže localhost. Ani jedno není bezpečné vystavit: třída GR00T podporuje api_token, ale run_gr00t_server.py ho nikdy nepředává, a lerobot serializuje data (pickles data) přes nezabezpečený gRPC kanál, což je CVE-2026-25874. Vážte na loopback a použijte SSH tunel.
Opravuje upgrade lerobot CVE-2026-25874?▾
K 23. srpnu 2026 ne. Záznam CVE uvádí LeRobot až do verze 0.5.1 jako postižený a PyPI dodává 0.6.1, ale pull request, který by odstranil pickle z asynchronní pipeline, je stále otevřený a policy_server.py na main stále volá pickle.loads na data požadavku. Považujte síťovou izolaci za zmírnění, nikoli za zvýšení verze, a předpokládejte, že klient na straně robota je také v rozsahu.
Mohu použít asynchronní klient lerobot s checkpointem GR00T?▾
Ano. lerobot 0.6.1 uvádí groot v SUPPORTED_POLICIES vedle act, smolvla, diffusion, tdmpc, vqbet, pi0 a pi05, a oba so100_follower a so101_follower jsou v SUPPORTED_ROBOTS. Předejte --policy_type=groot a nasměrujte --pretrained_name_or_path na váš checkpoint. Získáte asynchronní provádění, které příklad GR00T SO-100 neimplementuje, za cenu pickle transportu.
Stručná verze
Vzdálená inference pro 3 B politika je vyřešený inženýrský problém s nevyřešeným fyzikálním problémem. Inženýrství spočívá ve dvou příkazech a SSH tunelu. Fyzika spočívá v tom, že pozorování o velikosti 1.8 MB musí dosáhnout GPU v jiné zemi a vrátit se dříve, než rameno vyčerpá akce. Proveďte výpočty před pronájmem čehokoli, vyberte úkol, který toleruje zastaralé pozorování, a zvyšte horizont provádění, spíše než doufat, že se spojení zlepší.
Pokud jste ještě nezaznamenali datovou sadu, zaznamenejte svou první datovou sadu a průvodce nastavením SO-100 jsou na prvním místě a formát datové sady LeRobot položka vysvětluje, co zapisuje záznamník. Pozadí je v modelech vize-jazyk-akce a práci s politikou flow-matching; položka arény odkazuje každé číslo benchmarku na zdroj.
Sources
- NVIDIA Isaac-GR00T: N1.7 repository a README (16 GB minimální paměť pro inferenci, instalace, gated Cosmos-Reason2-2B backbone, omezení FFmpeg)
- run_gr00t_server.py: GR00T policy server CLI, výchozí hodnoty ServerConfig (host 0.0.0.0, port 5555) a cesta k ReplayPolicy
- server_client.py: PolicyServer a PolicyClient, hranice MsgSerializer's allow_pickle=False, api_token, timeout_ms
- eval_so100.py: SO-100 policy klient, výchozí hodnoty EvalConfig a synchronní řídicí smyčka
- Isaac-GR00T SO100/SO101 příklad: konverze datové sady, finetune a příkazy pro closed-loop eval
- Isaac-GR00T Real-World Deployment Guide: 33 ms synchronní rozpočet, stop-and-go, velikost akčního bloku, stav RTC
- Isaac-GR00T Hardware Recommendation: frekvence inference na GPU a minimum 10 Hz
- Isaac-GR00T Deployment and Inference Guide: výsledky benchmarku latence pro jednotlivé komponenty
- LeRobot: Tutoriál asynchronní inference (PolicyServer, RobotClient, dokumentovaná tabulka parametrů)
- lerobot async_inference/configs.py: výchozí hodnoty PolicyServerConfig a RobotClientConfig, registr AGGREGATE_FUNCTIONS
- lerobot async_inference/policy_server.py: pickle.loads na data požadavku, add_insecure_port, názvy gRPC volání
- lerobot robot_client.py: gRPC transport, pickle serializace, logování latence
- CVE-2026-25874: LeRobot nebezpečná deserializace vzdáleného spuštění kódu přes gRPC, ovlivněno do verze 0.5.1
- Black, Galliker a Levine, Real-Time Execution of Action Chunking Flow Policies (chunking v reálném čase)
- Runpod GPU pricing: hodinové sazby komunitního a zabezpečeného cloudu pro A100, H100, L40S a 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