
Jūsu robota mašīnai nav GPU. Novietojiet GR00T politikas serveri uz nomāta mākoņa GPU, straumējiet darbību fragmentus uz roku un uzziniet, cik tieši jums izmaksā tīkls.
Ar Raspberry Pi pietiek, lai vadītu caur seriālo kopni un iegūtu kadrus no divām USB kamerām. Ar to nepietiek, lai palaistu trīs miljardu parametru : NVIDIA README norāda, ka GR00T N1.7 secinājumiem nepieciešams viens GPU ar 16 GB vai vairāk VRAM. Lai redzētu, ko jūsu precizētais kontrolpunkts dara ar robotu bez kartes iegādes, ievietojiet politiku nomātā mākoņa GPU, saglabājiet robota cilpu mašīnā ar USB portiem un sūtiet novērojumus un darbību fragmentus pa tīklu.
Tas darbojas, tas nav bez maksas, un cena nav vienmērīgi sadalīta starp uzdevumiem. Zemāk: NVIDIA pašu politikas serveris, lerobot asinhronā steka, aprēķins, kas iepriekš pasaka, vai jūsu augšupsaites ātrums ir pietiekams, un platformas maršruts. Viss pārbaudīts pret Isaac-GR00T galveno zaru (N1.7 GA) un lerobot 0.6.1 2026. gada 23. augustā.
Kas jums jāzina
- •GR00T N1.7, GR00T N1.5 un Pi0.5 ir aptuveni 3 miljardu parametru modeļi. Neviens no tiem neder robota kontrolierim bez diskrēta GPU.
- •Gan Isaac-GR00T, gan lerobot nodrošina klienta-servera sadalījumu. Jums nav jāraksta transporta slānis.
- •Novērojumi dominē tīkla izmaksās, nevis darbības: divi nesaspiesti 640x480 RGB kadri ir 1 843 200 baiti, aptuveni 14.7 Mbit uz izsaukumu, un neviena steka tos nesaspiež.
- •AY-Robots norāda 20 līdz 485 ms uz darbības soli atkarībā no modeļa. Interneta apļveida braucieni nāk klāt tam.
- •Attālā secināšana ir piemērota lēnai paņemšanas un novietošanas darbībai, nevis ātrai reaktīvai kustībai. Garāks izpildes horizonts dod laiku un maksā novērojumu svaigumu.
- •Neviens serveris nav drošs publiskā IP adresē, kā tas tiek piegādāts, un lerobot serverim ir nelabots RCE. Tunelējiet to.
Kāpēc politika nederēs robota mašīnā
Divas no piecām politikām, ko AY-Robots var apmācīt, darbojas uz darbstacijas kartes, trīs nedarbojas. Zemāk esošā kolonna ir par katru darbības soli, un tas ir skaitlis, kas konkurē ar jūsu tīkla turp-atpakaļ ceļa laiku.
| Politika | Parametri | Secinājumi par darbības soli | GPU līmenis apmācībai | Minimālais epizožu skaits | Datu kopas formāts |
|---|---|---|---|---|---|
| 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 |

Uztveriet to kā lēmumu, nevis sīkumu. ar 20 ms par soli darbojas uz robota mašīnas, un jums par to vairs nav jādomā. ar 485 ms ir pavadījis trešdaļu sekundes, pirms pakete atstāj jūsu ēku. un pievieno precizitātes pusi.
GR00T N1.7, GR00T N1.5 un Pi0.5 sākas no piegādātāja kontrolpunkta (nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B, lerobot/pi05_base). ACT nepastāv, kamēr to neapmācāt savam uzdevumam, tāpēc nav ko attālināti apkalpot, kamēr nav veikts apmācības darbs. Skatiet ACT on SO-100.
Divas jau esošās klienta-servera steks
Isaac-GR00T piegādā ZeroMQ pieprasījumu-atbilžu serveri; lerobot piegādā gRPC serveri, kas veidots ap asinhronu secinājumu. Abi pieņem GR00T kontrolpunktu. lerobot atbalstīto politiku saraksts async_inference/constants.py ir act, smolvla, diffusion, tdmpc, vqbet, pi0, pi05 un groot; tā robotu saraksts ir so100_follower, so101_follower, bi_so_follower un omx_follower.
| Isaac-GR00T PolicyServer | lerobot async inference | |
|---|---|---|
| Ieejas punkts | gr00t/eval/run_gr00t_server.py | python -m lerobot.async_inference.policy_server |
| Transports | ZeroMQ REQ/REP | gRPC, add_insecure_port / insecure_channel |
| Serializācija | msgpack + msgpack_numpy, allow_pickle=False enforced | pickle.dumps / pickle.loads, marked # nosec |
| Noklusējuma ports | 5555 | 8080 |
| Noklusējuma saistīšana | 0.0.0.0, visas saskarnes | localhost |
| Autentifikācija | api_token, ko atbalsta klase, netiek nodots ar CLI | nav |
| Klienta taimauts | 15000 ms (PolicyClient timeout_ms) | 2 s novērošanas rindas taimauts |
| Izpildes modelis | sinhroni: bloķēt, tad izpildīt gabalu | asinhroni: izpildīt, kamēr tiek aprēķināts nākamais gabals |
Serializācijas rinda ir svarīgāka, nekā šķiet. GR00T MsgSerializer atsakās no objektu-dtype ndarray datu plūsmām abos virzienos, jo msgpack_numpy citādi tās nodotu pickle. lerobot tā vietā izmanto pickle: policy_server.py izsauc pickle.loads uz pieprasījuma datiem, robot_client.py serializē novērojumu, ko tas sūta. Aizstāvami uzticamā LAN tīklā, neaizstāvami, ja ports ir sasniedzams no interneta.
A maršruts: NVIDIA pašu GR00T politikas serveris
Šis ir ceļš, ko NVIDIA dokumentē SO-100 un SO-101 aparatūrai, un tas, ko izmantot, ja jūsu kontrolpunkts tika iegūts no examples/finetune.sh ar --embodiment-tag NEW_EMBODIMENT. Šie soļi papildina to, ko izlaiž sākotnējais README: kā novirzīt portu uz robotu, nepadarot to pieejamu visiem citiem.
- 1Instalējiet GR00T uz nomātās GPU kastes
Apakšmoduļi ir nepieciešami, un git-lfs ir jābūt pirms klonēšanas, citādi parquet faili
demo_datanonāks kā rādītāji. flash-attn un TensorRT nāk ar noklusējuma instalāciju. Svarīga piezīme svaigā pod attēlā:torchcodec0.8.0 ir vienīgais atbalstītais video aizmugursistēma un ielādē tikai FFmpeg no 4 līdz 7. Ubuntu 25.10 un 26.04 piegādā FFmpeg 8, tāpēc GR00T neizdodas arCould not load libtorchcodec. Instalējiet FFmpeg versiju, kas ir zemāka par 8, un ievietojiet tās bibliotēkasLD_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')" - 2Autentificēties pret aizsargāto pamatsistēmu
Katrs GR00T N1.7 kontrolpunkts, ieskaitot jūsu pašu precīzo pielāgojumu, pirmajā lietošanas reizē ielādē aizsargāto
nvidia/Cosmos-Reason2-2B. Pieprasiet piekļuvi modeļa lapā un piesakieties podā, pretējā gadījumā ielāde neizdosies arGatedRepoError.bashuv run huggingface-cli login # or: export HF_TOKEN=<your_token> - 3Palaidiet politikas serveri
Norādiet
--model-pathuz jūsu kontrolpunkta direktoriju; šajā ceļā serveris ignorē--modality-config-path, kas tiek lasīts tikai atkārtošanas ceļā. Izlaidiet--model-pathun tā vietā nododiet--dataset-pathplus--execution-horizon, lai izmantotu ReplayPolicy, kas atkārto ierakstītās darbības – lētākais veids, kā pierādīt, ka savienojums darbojas.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 - 4Tunelējiet portu 5555 uz robota mašīnu
Piesaistiet cilpas interfeisam, kā norādīts iepriekš, un pārsūtiet portu, izmantojot SSH vai WireGuard stila tīklu. Tas nodrošina šifrēšanu un autentifikāciju, ko ZeroMQ ligzda nenodrošina, aptuveni milisekundes laikā.
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 - 5Palaidiet robota klientu blakus servomotoriem
Klientam ir nepieciešama sava uv vide: tas vēlas lerobot robota draiverus, nevis apmācības steku.
eval_so100.pyimportē so100_follower, so101_follower un koch_follower, tāpēc nododiet--robot.type, kas atbilst jūsu robotam (sākotnējais README izmanto so101_follower). Kameras atslēgām jāatbilst apmācībai: adapteris nolasa tiešifrontunwrist, un to apmaiņa parāda politikai nepareizu skatu.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 pēc noklusējuma izmanto --host 0.0.0.0, piesaistot visas saskarnes: uz poda ar publisku IP adresi, kas ir atvērts secinājumu galapunkts. Un PolicyServer klase pieņem api_token un validē to katram pieprasījumam, taču run_gr00t_server.py to nekad nenodod, tāpēc CLI serveris ir neautentificēts neatkarīgi no jūsu konfigurācijas. Piesaistiet 127.0.0.1 un izmantojiet tuneli. `ZMQError: Address already in use` nozīmē, ka ports 5555 ir aizņemts; nododiet `--port`.
B maršruts: lerobot asinhronā secināšana
lerobot risina citu problēmu. Tā vietā, lai bloķētu robotu, kamēr modelis domā, klients turpina virzīties cauri jau esošajai rindai, kamēr serveris aprēķina nākamo gabalu. Tas ir darbību sadalīšana gabalos attīstīts tālāk, asinhronā steka ieviešana ar SmolVLA. Tas darbojas arī ar GR00T kontrolpunktu.
# 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=TrueServeris startē tukšs: tas nezina, kādu politiku tas apkalpo, līdz klienta pirmais "handshake" to paziņo, kas ir ērti īrētā podā. Divi regulatori, kas nosaka, vai roka kustas vienmērīgi, ir actions_per_chunk un chunk_size_threshold (lerobot dokumentācija otro sauc par g, atsaucoties uz SmolVLA rakstu), un dokumentētās vērtības un piegādātās vērtības nesakrīt.
| Parametrs | Vērtība lerobot 0.6.1 kodā | Ko tas dara | Piezīme |
|---|---|---|---|
| actions_per_chunk | no default, required | Atgrieztās darbības katrā izsaukumā | Dokumentācijas tabulā norādīts 50; datu klases laukam nav noklusējuma vērtības, tāpēc CLI pieprasa vērtību |
| chunk_size_threshold | 0.5 | Rindas aizpildījuma attiecība, pie kuras vai zem kuras klients sūta jaunu novērojumu | Dokumentācijas tabulā norādīts 0.7; kods un dokumentācijas piemērs norāda 0.5 |
| fps | 30 | Klienta vadības ātrums, iestata environment_dt = 1/fps | Samaziniet to, ja rinda turpina iztukšoties |
| inference_latency | 1/30 s (33.3 ms) | Mērķa secinājumu latentums serverī | Mērķis, nevis mērījums |
| obs_queue_timeout | 2 s | Cik ilgi serveris gaida novērojumu rindā | Lēns augšupsaites savienojums vispirms parādās šeit |
| aggregate_fn_name | weighted_average | Kā tiek sajaukti pārklājošie bloku reģioni | 0.3 old + 0.7 new; tiek piegādāti arī latest_only, average un conservative. Reģistrs ir AGGREGATE_FUNCTIONS failā configs.py, nevis robot_client.py, kā apgalvo dokumentācija |
CVE-2026-25874 ir neautentificēta attālā koda izpilde lerobot asinhronajā secinājumu plūsmā: pickle.loads() uz datiem, kas saņemti pa neautentificētu gRPC kanālu bez TLS, sasniedzams caur SendPolicyInstructions, SendObservations un GetActions izsaukumiem. CWE-502, CVSS 3.1 bāzes rādītājs 9.8 no NVD, 4.0 bāzes rādītājs 9.3 no piešķirošās CNA. Ieraksts norāda, ka LeRobot līdz 0.5.1 ir ietekmēts un nosauc gan politikas serveri, gan robota klientu, tāpēc mašīna blakus jūsu rokai ir ietvaros. Jaunināšana nav risinājums: ieraksts citē augšupējās problēmas 3047 un labojumu, PR 3048, kas aizstāj pickle ar safetensors plus JSON, un 2026. gada 23. augustā abi joprojām ir atvērti. policy_server.py galvenajā zarā joprojām izsauc pickle.loads uz pieprasījuma datiem, kamēr serve() saistās ar add_insecure_port. Saistiet ar loopback un nekad nepārsūtiet portu 8080.
Aritmētika, kas nosaka, vai jūsu savienojums ir pietiekami ātrs
Cilvēki to izlaiž un pēc tam pavada dienu pie . Tas aizņem divas minūtes un gandrīz vienmēr ir izšķirošs.
NVIDIA komentētais novērojumu vārdnīca (observation dict) failā eval_so100.py norāda, kas tiek pārraidīts: divi masīvi ar izmēru (480, 640, 3) uint8 formātā, seši savienojumu peldošā punkta skaitļi, valodas virkne. Tas ir 921 600 baiti vienam kadram, 1 843 200 baiti divām kamerām, aptuveni 14,7 Mbit, un neviens no stakiem to nesaspiež ar JPEG. Atpakaļ saņemtais bloks ir daži desmiti soļu ar 6 peldošā punkta skaitļiem. Jūsu augšupielāde izlemj visu, nevis lejupielāde.
| Augšupielādes joslas platums | Laiks vienas novērošanas nosūtīšanai (14,7 Mbit) | Spriedums 30 FPS robotam |
|---|---|---|
| 10 Mbit/s, tipiska mājas augšupielāde | ~1.47 s | Neizmantojams. Robots apstājas starp katru datu bloku. |
| 25 Mbit/s | ~0.59 s | Tikai lēna paņemšanas un novietošanas darbība, ar ilgu izpildes horizontu. |
| 50 Mbit/s | ~0.29 s | Piemērots apzinātām darbībām. |
| 100 Mbit/s | ~0.15 s | Labi piemērots paņemšanas un novietošanas darbībām, redzams pie ātras kustības. |
| 1 Gbit/s optiskais vai datu centrs | ~0.015 s | Modelis kļūst par vājāko posmu. |
Budžets, kurā jums jāiekļaujas
GR00T SO-100 klients ir sinhronisks: tas izsauc policy.get_action(obs), izpilda pirmos action_horizon soļus no bloka ar 30 FPS, tad izsauc atkal. Bloka izmērs un horizonts ir atšķirīgi skaitļi: NVIDIA izvietošanas ceļvedis iesaka darbības bloka izmēru 16, vismaz 32, ja to apvieno ar reāllaika sadalīšanu blokos, savukārt eval_so100.py nodrošina izpildes horizontu 8. Astoņi soļi ar 30 FPS ir 267 ms kustības uz katru izsaukumu, un viss pārējais ir jāiekļauj šajā laikā.
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 staleHorizonta palielināšana ir rupjš un ne bezmaksas risinājums: roka darbojas, pamatojoties uz novērojumu, kas tagad ir vecs. Principālais risinājums ir reāllaika sadalīšana blokos (real-time chunking), kas aprēķina nākamo bloku, kamēr pašreizējais darbojas, iesaldē darbības, kuras garantēti tiks izpildītas, un aizpilda pārējo; RTC raksts ziņo, ka tas ir izturīgs pret secinājumu aizkavēšanos bez atkārtotas apmācības. Vispirms pārbaudiet, kāda ir situācija. NVIDIA atzīmē RTC kā eksperimentālu, zema līmeņa modeļa primitīvu, kas sasniedzams caur action_head.get_action(..., options={"rtc_overlap_steps": ..., "rtc_frozen_steps": ...}), nav savienots ar Gr00tPolicy vai servera-klienta ceļu, kur options netiek izmantots, bez testiem un bez piemēra. Izmantojot politikas serveri, jūs iegūstat asinhronu izpildi, nevis RTC.
NVIDIA veic GR00T N1.7 etalonuzmērījumus no gala līdz galam ar 4 trokšņu samazināšanas soļiem un vienu kameru. Uz H100 80GB HBM3: 85.8 ms (11.7 Hz) PyTorch eager režīmā, 48.6 ms (20.6 Hz) ar torch.compile, 27.9 ms (35.9 Hz) ar TensorRT pilnu cauruļvadu. L40 eager režīmā aizņem 128.3 ms (7.8 Hz). NVIDIA nosauc 10 Hz par ieteicamo minimumu tipiskai manipulācijai, un zem 10 Hz ir piemērots tikai lēniem, nereaktīviem uzdevumiem. Tie ir pārplānošanas ātrumi: 10 Hz politika joprojām var vadīt 30 FPS roku, izmantojot darbību sadalīšanu blokos. Otra kamera virza jūs nepareizā virzienā.
Izmēri pirms uzticies
Katrs iepriekš minētais skaitlis ir prognoze. Četras komandas to pārvērš mērījumā, ko ir vērts veikt pirms pod-stundas veltīšanas uzdevumam, kas nekad nebūtu darbojies.
- 1Iegūstiet neapstrādātu turp-atpakaļ ceļu
Pret podu, nevis CDN. Vērojiet novirzi tikpat uzmanīgi kā vidējo: trīce liek rokai raustīties, nevis vidējais latentums.
bashping -c 50 <pod-host> # the mdev column is the number that predicts stutter - 2Izmēriet augšupsaiti, kas jums ir, nevis to, par ko maksājat
Mājas augšupielādes ātrums parasti ir daļa no lejupielādes ātruma, un tas ir skaitlis iepriekš redzamajā joslas platuma tabulā.
bash# on the pod iperf3 -s # on the robot machine, -R omitted so this measures upload iperf3 -c <pod-host> -t 30 - 3Izlasiet klienta paša latentuma žurnālu
LeRobot robota klients reģistrē servera-klienta latentumu un deserializācijas laiku katram datu blokam. B maršrutā jums nav nepieciešami ārēji rīki.
textReceived action chunk for step #240 | Latest action: #232 | Incoming actions: 240:289 | Network latency (server->client): 187.44ms | Deserialization time: 3.10ms - 4Vērojiet darbību rindas iztukšošanos
Nododiet
--debug_visualize_queue_size=True, un klients izpildes laikā attēlos rindas lielumu. Ja tas atkārtoti sasniedz nulli, jums ir beidzies budžets: samaziniet fps, palieliniet actions_per_chunk vai palieliniet chunk_size_threshold, lai novērojumi tiktu nosūtīti biežāk.bashpython -m lerobot.async_inference.robot_client \ ... \ --debug_visualize_queue_size=True
Kam patiesībā ir noderīga attālā secināšana
- Jūs varat novērtēt 3 B parametru politiku uz reālas aparatūras, nepiederot kartei, kas maksā vairāk nekā roka.
- GPU tiek nomāta par stundu, tāpēc neveiksmīgs kontrolpunkts maksā pāris dolārus.
- Robota puse paliek maza: lerobot draiveri, divas kameras, seriālais ports, un jūs maināt kontrolpunktus, to neaiztiekot.
- Nespiesti novērojumi dominē pārraides izmaksās, un mājas interneta augšupielāde ir ierobežojošais faktors.
- Jitter kaitē vairāk nekā latentums: savienojums ar vidēji 40 ms un pīķiem līdz 300 ms raustās, kur stabils 120 ms savienojums to nedara.
- Ātri reaktīvi uzdevumi neiztur turp-atpakaļ ceļu nevienā horizontā.
- Abi serveri tiek piegādāti neautentificēti CLI formā, tāpēc tunelēšanas darbs ir jūsu ziņā.
- Pārtraukts savienojums gabala vidū atstāj roku ar novecojušu darbību. Pievienojiet savu sargsuņa robotu pusē.
| Uzdevums | Darbojas publiskajā internetā? | Kāpēc |
|---|---|---|
| Izvēlēties statisku objektu, ievietot to tvertnē | Jā | Nekas nekustas starp novērojumu un darbību. |
| Kraut blokus apzinātā tempā | Yes, at action_horizon 16 or more | Kļūdas uzkrājas pietiekami lēni, lai tās labotu nākamajā gabalā. |
| Atvērt atvilktni, ievietot objektu | Parasti | Bagātīgs kontakts, bet lēns. Uzmanieties no apstāšanās un atsākšanas pie kontakta. |
| Sekot kustīgam objektam | Nē | Politika darbojas ar novērojumu, kas ir 300 ms līdz 1 s vecs. |
| Noķert, līdzsvarot vai atgūties no paslīdēšanas | Nē | Korekcijas logs ir īsāks par vienu turp-atpakaļ ceļu. |
| 30 Hz sinhrona slēgta cilpa | Nē | Budžets ir 33 ms no gala līdz galam. Pat LAN cīnās. |
Ja attālā izpilde raustās vienā un tajā pašā punktā katrā epizodē, tīkls, iespējams, nav cēlonis. Politika, kas katru reizi vilcinās pie viena un tā paša locītavas leņķa, parasti ir datu problēma; skatiet kļūdu režīmu lapas, jo īpaši politika, kas darbojas tikai vienā iestatījumā un zudums samazinās, bet politika neko nedara.
Darīt to pašam pret darīšanu uz AY-Robots
- Iznomājiet GPU spot tirgū un gaidiet pietiekami daudz VRAM par jums pieņemamu cenu.
- Instalējiet CUDA, uv, ffmpeg torchcodec, ko tas pieņem, un GR00T steku ar apakšmoduļiem.
- Pieprasiet piekļuvi slēgtajam
nvidia/Cosmos-Reason2-2Bpamatsistēmai un ievietojiet marķieri podā. - Ielādējiet savu kontrolpunktu podā.
- Palaidiet serveri atpakaļsaitē, pēc tam izveidojiet SSH tuneli no robota mašīnas.
- Instalējiet otru vidi robota mašīnā klientam un draiveriem.
- Saskaņojiet kameras atslēgas, savienojumu nosaukumus un valodas instrukciju ar to, ko redzēja kontrolpunkts.
- Uzraugiet podu. Aizmirsts A100, kas darbojas visu nakti, maksā vairāk nekā eksperiments.
GPU rēķins neapstājas, kad robots apstājas. Lielākā daļa naudas, kas zaudēta attālajā secinājumā, nonāk serverī, kas palika ieslēgts pēc tam, kad visi bija aizgājuši. Iestatiet modinātāju vai automatizējiet demontāžu.
- Izvēlieties apmācīto politiku, ko vēlaties palaist.
/api/inference/podautomātiski nodrošina mākoņa GPU podu, kas apkalpo šo politiku.- Vietējais robota klients sazinās ar šo galapunktu. Bāzes kontrolpunkti ir pašu piegādātāju:
nvidia/GR00T-N1.7-3B,nvidia/GR00T-N1.5-3B,lerobot/pi05_base. ACT nav neviena. - Podiem ir dīkstāves uzraugs un tie paši iznīcina sevi pēc dīkstāves perioda, tāpēc nekas neturpina klusi rēķināties.
- Tās pašas darbības ir pieejamas no termināļa un AI aģentiem, tāpēc ciklu var skriptēt.
Automātiskā nodrošināšana novērš iestatīšanas darbu un aizmirstā poda rēķinu, nevis fiziku. Secinājumam joprojām jāatrodas blakus servomotoriem ātriem uzdevumiem: vadības cikls ir no 20 līdz 485 ms katram darbības solim atkarībā no modeļa, un publiskā interneta turp-atpakaļ ceļojumi papildus tam pārvērš strādājošu politiku par svārstīgu.
- Klienta rokasgrāmata savienojuma lokālajai pusei
- Palaidiet savu pirmo politiku, lai iepazītos ar procesu
- CLI un MCP serveris skriptētajai versijai
- Drošības dokumentācija

Cik maksā attālā secinājumu sesija
Svarīgi ir divi skaitļi: kartes stundas likme un tas, cik ilgi jūs to atstājat darboties. Pirmais ir publicēts; otrais pārsteidz cilvēkus.
| Karte | Runpod kopienas mākonis | Runpod drošais mākonis | Piemērots |
|---|---|---|---|
| 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 | Tas pats, nedaudz ātrāk |
| H100 PCIe 80 GB | 1.99 USD/h | 2.89 USD/h | Ātrākais līmenis; NVIDIA 11.7 Hz eager rādītājs ir paredzēts H100 80GB HBM3 |
| L40S 48 GB | 0.79 USD/h | 0.99 USD/h | Tikai secinājumiem, virs 16 GB sliekšņa |
| RTX 4090 24 GB | 0.34 USD/h | 0.74 USD/h | SmolVLA, ACT |
Šīs cenas tika nolasītas no Runpod cenu lapas 2026. gada 23. augustā, un tūlītējie tirgi mainās. AY-Robots tā vietā piedāvā visu izpildes laiku: 3 līdz 6 stundas par 1.20 līdz 2.00 USD stundā A100 vai H100 līmenī, aptuveni 4 līdz 12 USD par GR00T vai Pi0.5 izpildi; 2 līdz 5 stundas par 0.30 līdz 0.60 USD stundā 24 GB līmenī, 1 līdz 3 USD par SmolVLA vai ACT. Secinājumu sesija pārspēj apmācības izpildi izmaksu ziņā tikai tad, ja to apturat, kam paredzēts dīkstāves sargsuns. Skatiet norēķinu dokumentāciju un cenu lapu.

Ja nevēlaties, lai tīkls būtu iesaistīts
Attālā secināšana atrisina aparatūras problēmu un rada latentuma problēmu. Dažreiz labāka atbilde ir politika, kas atbilst jūsu rīcībā esošajai aparatūrai.
- ACT, aptuveni 80 M parametri un 20 ms uz darbības soli, vismaz 50 epizodes, jebkura 24 GB karte. Atkārtotu viena uzdevuma iestatījumos tas bieži pārspēj attālo 3 B modeli, jo tas nekad negaida paketi.
- SmolVLA, aptuveni 450 M parametri un 245 ms uz darbības soli, vismaz 30 epizodes. Tas saglabā valodu kondicionēšanu, kas trūkst ACT, un lerobot dokumentācija norāda, ka tas patērē aptuveni 2 GB secināšanas laikā, salīdzinot ar aptuveni 14 GB PI0.
- ACT vs GR00T N1.7 attiecībā uz precizitātes pusi no kompromisa.
Ir arī vidusceļš: apmācība mākonī, novērtēšana lokāli. Precizēšana prasa 80 GB karti un neuztraucas par latentumu, tāpēc GR00T N1.7 apmācība uz SO-100 attālināti ir neapstrīdama. Tikai novērtēšanas cilpai ir reāllaika ierobežojums; apmācības dokumentācija un modeļu un roku matrica aptver šo pusi.
Vēl nav rokas uz galda?
Vadiet īstu SO-100 pārlūkprogrammā bez reģistrācijas, salīdziniet piecas apmācāmās politikas ar to reālajiem latentuma rādītājiem, vai nomājiet GPU un apmāciet vienu. Trīs veidi, kā sākt, nevienam nav nepieciešama aparatūra, kas jums nepieder.
Izmēģiniet bez aparatūrasBiežāk uzdotie jautājumi
Vai es varu palaist GR00T N1.7 uz Raspberry Pi, ja GPU ir attālināts?▾
Jā, tam ir paredzēta klienta-servera sadalīšana. Pi darbina lerobot draiverus, nolasa divas kameras un seriālo kopni, un sūta novērojumus politikas serverim; tas nekad neielādē modeli. Ierobežojums pārvietojas no VRAM uz augšupielādes joslas platumu: divi nesaspiesti 640x480 RGB kadri ir 1 843 200 baiti katrā izsaukumā, un neviena no kaudzēm tos nesaspiež.
Cik lielu latentumu tīkls faktiski pievieno?▾
Turp-atpakaļ laiks plus novērojumu pārsūtīšanas laiks. Pārsūtīšanas laiks ir 14.7 Mbit dalīts ar jūsu augšupielādes joslas platumu: aptuveni 147 ms uz 100 Mbit/s saites, 1.47 s uz 10 Mbit/s saites. Abi nāk klāt modeļa paša secinājumu laikam, ko AY-Robots norāda kā 152 ms GR00T N1.7 un 485 ms Pi0.5. Mēriet ar ping un iperf3 pret podu, nevis ātruma pārbaudes serveri.
Vai attālināta secināšana ir pietiekami laba reālam uzdevumam?▾
Lēnai, apzinātai paņemšanas un novietošanas darbībai – jā. Jebkam reaktīvam – nē. NVIDIA izvietošanas rokasgrāmata nosaka sinhronās viena soļa prasību aptuveni 33 ms no gala līdz galam pie 30 FPS, un atzīmē, ka uztveršana, tīkls, secināšana un pēcapstrāde regulāri pārsniedz šo laiku, pat bez interneta iesaistes.
Kuru portu izmanto serveri un vai to ir droši atvērt?▾
Isaac-GR00T PolicyServer pēc noklusējuma izmanto portu 5555, izmantojot ZeroMQ, un piesaista 0.0.0.0 savā CLI. lerobot pēc noklusējuma izmanto portu 8080, izmantojot gRPC, un piesaista localhost. Nevienu no tiem nav droši atklāt: GR00T klase atbalsta api_token, bet run_gr00t_server.py to nekad nenodod, un lerobot pārraida datus, izmantojot nedrošu gRPC kanālu, kas ir CVE-2026-25874. Piesaistiet to atpakaļsaites adresei un izmantojiet SSH tuneli.
Vai lerobot jaunināšana novērš CVE-2026-25874?▾
Ne no 2026. gada 23. augusta. CVE ieraksts norāda, ka LeRobot līdz 0.5.1 ir ietekmēts, un PyPI piegādā 0.6.1, taču pieprasījums, kas noņemtu pickle no asinhronās cauruļvada, joprojām ir atvērts, un policy_server.py galvenajā zarā joprojām izsauc pickle.loads uz pieprasījuma datiem. Uzskatiet tīkla izolāciju par mazināšanas pasākumu, nevis versijas palielināšanu, un pieņemiet, ka arī robota puses klients ir iekļauts darbības jomā.
Vai es varu izmantot lerobot asinhrono klientu ar GR00T kontrolpunktu?▾
Jā. lerobot 0.6.1 uzskaita groot sadaļā SUPPORTED_POLICIES kopā ar act, smolvla, diffusion, tdmpc, vqbet, pi0 un pi05, un gan so100_follower, gan so101_follower ir sadaļā SUPPORTED_ROBOTS. Nododiet --policy_type=groot un norādiet --pretrained_name_or_path uz jūsu kontrolpunktu. Jūs iegūstat asinhronu izpildi, ko GR00T SO-100 piemērs neīsteno, par pickle transporta cenu.
Īsā versija
Attālināta secināšana 3 B politika ir atrisināta inženierijas problēma ar neatrisinātu fizikas problēmu. Inženierija ir divas komandas un SSH tunelis. Fizika ir tāda, ka 1.8 MB novērojumam ir jāsasniedz GPU citā valstī un jāatgriežas, pirms roka izbeidzas darbības. Veiciet aprēķinus pirms kaut ko nomājat, izvēlieties uzdevumu, kas pieļauj novecojušu novērojumu, un palieliniet izpildes horizontu, nevis ceriet, ka saite uzlabosies.
Ja vēl neesat ierakstījis datu kopu, un ir pirmais, un ieraksts izskaidro, ko ierakstītājs raksta. Pamatinformācija ir atrodama un ; saista katru etalona numuru ar avotu.
Sources
- NVIDIA Isaac-GR00T: N1.7 repozitorijs un README (16 GB secinājumu apakšējā robeža, instalēšana, aizsargāts Cosmos-Reason2-2B pamats, FFmpeg ierobežojums)
- run_gr00t_server.py: GR00T politikas servera CLI, ServerConfig noklusējuma iestatījumi (resursdators 0.0.0.0, ports 5555) un ReplayPolicy ceļš
- server_client.py: PolicyServer un PolicyClient, MsgSerializer allow_pickle=False robeža, api_token, timeout_ms
- eval_so100.py: SO-100 politikas klients, EvalConfig noklusējuma iestatījumi un sinhronā vadības cilpa
- Isaac-GR00T SO100/SO101 piemērs: datu kopas konvertēšana, precizēšana un slēgtās cilpas novērtēšanas komandas
- Isaac-GR00T reālās pasaules izvietošanas ceļvedis: 33 ms sinhronais budžets, stop-and-go, darbības bloka izmērs, RTC statuss
- Isaac-GR00T aparatūras ieteikums: secinājumu frekvence uz GPU un minimālais 10 Hz
- Isaac-GR00T izvietošanas un secinājumu ceļvedis: katras komponentes latentuma etalona rezultāti
- LeRobot: Asinhronās secinājumu apmācība (PolicyServer, RobotClient, dokumentētā parametru tabula)
- lerobot async_inference/configs.py: PolicyServerConfig un RobotClientConfig noklusējuma iestatījumi, AGGREGATE_FUNCTIONS reģistrs
- lerobot async_inference/policy_server.py: pickle.loads uz pieprasījuma datiem, add_insecure_port, gRPC izsaukumu nosaukumi
- lerobot robot_client.py: gRPC transports, pickle serializācija, latentuma reģistrēšana
- CVE-2026-25874: LeRobot nedroša deserializācija attālināta koda izpilde, izmantojot gRPC, ietekmēts līdz 0.5.1
- Black, Galliker un Levine, Reāllaika darbības sadalīšanas plūsmas politiku izpilde (reāllaika sadalīšana)
- Runpod GPU cenas: kopienas un droša mākoņa stundas likmes A100, H100, L40S un 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