
Sinu robotmasinal pole GPU-d. Paigalda GR00T poliitikaserver renditud pilve-GPU-le, voogedasta tegevusplokke käele ja saa teada, mida võrk sulle täpselt maksma läheb.
Raspberry Pi on piisav, et juhtida SO-100 üle jadasiini ja tõmmata kaadreid kahest USB-kaamerast. See ei ole piisav kolme miljardi parameetriga nägemis-keele-tegevuse mudeli käitamiseks: NVIDIA README paigutab GR00T N1.7 järelduse ühele GPU-le 16 GB või enama VRAM-iga. Et näha, mida teie peenhäälestatud GR00T N1.7 kontrollpunkt teeb käel ilma kaarti ostmata, pange poliitika renditud pilve-GPU-le, hoidke roboti silmus USB-portidega masinas ja saatke vaatlused ja tegevustükid võrgu kaudu.
See töötab, see ei ole tasuta ja hind ei jaotu ülesannete vahel ühtlaselt. Allpool: NVIDIA enda poliitikaserver, leroboti asünkroonne virn, aritmeetika, mis ütleb ette, kas teie üleslaadimiskiirus on piisav, ja platvormi marsruut. Kõik see on kontrollitud Isaac-GR00T põhiharu (N1.7 GA) ja lerobot 0.6.1 vastu 23. augustil 2026.
Mida peate teadma
- •GR00T N1.7, GR00T N1.5 ja Pi0.5 on ligikaudu 3 miljardi parameetriga mudelid. Ükski neist ei mahu robotikontrollerile ilma diskreetse GPU-ta.
- •Isaac-GR00T ja lerobot tarnivad mõlemad kliendi-serveri jaotuse. Te ei kirjuta transporti.
- •Vaatlused domineerivad võrgukulu, mitte tegevused: kaks pakkimata 640x480 RGB kaadrit on 1 843 200 baiti, umbes 14,7 Mbit kõne kohta, ja kumbki virn neid ei paki.
- •AY-Robots loetleb 20 kuni 485 ms tegevussammu kohta mudeli järgi. Interneti edasi-tagasi reisid lisanduvad sellele.
- •Kaugjäreldus sobib aeglaseks valimiseks ja paigutamiseks, mitte kiireks reaktiivseks liikumiseks. Pikem täitmisperiood ostab aega ja maksab vaatluste värskuse arvelt.
- •Kumbki server ei ole avalikul IP-l tarnituna turvaline ja leroboti oma sisaldab parandamata RCE-d. Tunneldage see.
Miks poliitika robotimasinasse ei mahu
Kaks viiest AY-Robotsi poolt treenitavast poliitikast töötavad tööjaama kaardil, kolm mitte. veerg allpool on tegevussammu kohta ja see on number, mis konkureerib teie võrgu edasi-tagasi reisi ajaga.
| Poliitika | Parameetrid | Järeldamine tegevussammu kohta | GPU tase treenimiseks | Minimaalsed episoodid | Andmestiku formaat |
|---|---|---|---|---|---|
| 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 |

Lugege seda otsusena, mitte tühisena. kiirusega 20 ms sammu kohta töötab robotmasinal ja te ei pea sellele enam kunagi mõtlema. kiirusega 485 ms on kulutanud kolmandiku sekundist enne, kui pakett teie hoonest lahkub. ja lisavad täpsuse poole.
GR00T N1.7, GR00T N1.5 ja Pi0.5 alustavad tarnija kontrollpunktist (nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B, lerobot/pi05_base). ACT-i ei eksisteeri enne, kui olete selle oma ülesande jaoks treeninud, seega pole midagi kaugteenindada enne, kui treeningtöö on käivitatud. Vaata ACT on SO-100.
Kaks juba eksisteerivat kliendi-serveri virna
Isaac-GR00T tarnib ZeroMQ päringu-vastuse serveri; lerobot tarnib gRPC serveri, mis on ehitatud asünkroonse järeldamise ümber. Mõlemad aktsepteerivad GR00T kontrollpunkt. lerobot'i toetatud poliitikate loend asukohas async_inference/constants.py on act, smolvla, diffusion, tdmpc, vqbet, pi0, pi05 ja groot; selle robotite loend on so100_follower, so101_follower, bi_so_follower ja omx_follower.
| Isaac-GR00T PolicyServer | lerobot async inference | |
|---|---|---|
| Sisendpunkt | gr00t/eval/run_gr00t_server.py | python -m lerobot.async_inference.policy_server |
| Transport | ZeroMQ REQ/REP | gRPC, add_insecure_port / insecure_channel |
| Serialiseerimine | msgpack + msgpack_numpy, allow_pickle=False enforced | pickle.dumps / pickle.loads, marked # nosec |
| Vaikimisi port | 5555 | 8080 |
| Vaikimisi sidumine | 0.0.0.0, kõik liidesed | localhost |
| Autentimine | api_token supported by the class, not passed by the CLI | puudub |
| Kliendi ajalõpp | 15000 ms (PolicyClient timeout_ms) | 2 s observation queue timeout |
| Täitmismudel | sünkroonne: blokeeri, seejärel täida tükk | asünkroonne: täida, samal ajal kui järgmine tükk arvutab |
Serialiseerimisrida on olulisem, kui esmapilgul paistab. GR00T-i MsgSerializer keeldub objekt-tüüpi ndarray andmekogumitest mõlemas suunas, sest msgpack_numpy annaks need muidu pickle'ile. lerobot kasutab selle asemel pickle'it: policy_server.py kutsub pickle.loads päringuandmetel, robot_client.py pakib saadetud vaatluse pickle'isse. Kaitstav usaldusväärses LAN-is, kaitsetu, kui port on internetist ligipääsetav.
Tee A: NVIDIA enda GR00T poliitikaserver
See on tee, mida NVIDIA dokumenteerib SO-100 ja SO-101 riistvara jaoks, ja see, mida kasutada, kui teie kontrollpunkt pärineb examples/finetune.sh koos --embodiment-tag NEW_EMBODIMENT. Need sammud lisavad selle, mida ülesvoolu README välja jätab: pordi viimine robotini ilma seda kõigile teistele paljastamata.
- 1Installige GR00T renditud GPU-arvutisse
Alamoodulid on vajalikud ja git-lfs peab eksisteerima enne kloonimist, vastasel juhul saabuvad parquet-failid kaustas
demo_dataviitadena. flash-attn ja TensorRT tulevad vaikimisi installiga. Värske podi kujutise puhul on probleemiks:torchcodec0.8.0 on ainus toetatud videotaustsüsteem ja laadib ainult FFmpeg 4 kuni 7. Ubuntu 25.10 ja 26.04 tarnivad FFmpeg 8, seega GR00T ebaõnnestub veagaCould not load libtorchcodec. Installige FFmpeg, mis on vanem kui 8, ja lisage selle teegidLD_LIBRARY_PATH-i.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')" - 2Autentimine piiratud taustsüsteemi vastu
Iga GR00T N1.7 kontrollpunkt, sealhulgas teie enda peenhäälestus, laadib esmakordsel kasutamisel piiratud
nvidia/Cosmos-Reason2-2B. Taotlege juurdepääsu mudeli lehel ja logige sisse podi, vastasel juhul ebaõnnestub laadimine veagaGatedRepoError.bashuv run huggingface-cli login # or: export HF_TOKEN=<your_token> - 3Käivitage poliitikaserver
Suunake
--model-pathoma kontrollpunkti kataloogile; sellel teel ignoreerib server--modality-config-path-i, mida loetakse ainult taasesituse teel. Jätke--model-pathvälja ja edastage selle asemel--dataset-pathpluss--execution-horizonReplayPolicy jaoks, mis taasesitab salvestatud toiminguid – see on odavaim viis tõestada, et ühendus töötab.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 - 4Tunneldage port 5555 robotmasinasse
Siduge tagasisideaadressiga, nagu ülal, ja edastage port üle SSH või WireGuard-stiilis võrgu. See pakub krüpteerimist ja autentimist, mida ZeroMQ pesa ei paku, umbes millisekundi jooksul.
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 - 5Käivitage robotiklient servode kõrval
Klient vajab oma uv-keskkonda: see soovib lerobot'i robotidraivereid, mitte treeningvirna.
eval_so100.pyimpordib so100_follower, so101_follower ja koch_follower, seega edastage oma käele vastav--robot.type(ülesvoolu README kasutab so101_follower). Kaamera võtmed peavad vastama treeningule: adapter loeb täpseltfrontjawrist, ja nende vahetamine näitab poliitikale vale vaadet.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 vaikeseade on --host 0.0.0.0, sidudes iga liidese: avaliku IP-ga podis on see avatud järelduspunkt. Ja klass PolicyServer aktsepteerib api_token'i ja valideerib seda iga päringu kohta, kuid run_gr00t_server.py ei edasta seda kunagi, seega on CLI server autentimata, olenemata teie konfiguratsioonist. Siduge 127.0.0.1-ga ja looge tunnel. ZMQError: Address already in use tähendab, et port 5555 on hõivatud; edastage --port.
Tee B: lerobot asünkroonne järeldamine
lerobot lahendab teistsuguse probleemi. Selle asemel, et robotit blokeerida, kuni mudel mõtleb, jätkab klient juba olemasoleva järjekorra läbimist, samal ajal kui server arvutab järgmise tüki. See on tegevuste tükeldamine, edasi arendatud, asünkroonne virn, mis võeti kasutusele koos SmolVLA-ga. See töötab ka GR00T kontrollpunktiga.
# 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 käivitub tühjana: see ei tea, millist poliitikat see teenindab, enne kui kliendi esimene käepigistus seda talle ütleb, mis on renditud podi puhul mugav. Kaks nuppu, mis otsustavad, kas käsi liigub sujuvalt, on actions_per_chunk ja chunk_size_threshold (leroboti dokumendid nimetavad teist g-ks, SmolVLA paberi järgi), ja dokumenteeritud väärtused ning tarnitud väärtused ei ühti.
| Parameeter | Väärtus lerobot 0.6.1 koodis | Mida see teeb | Märkus |
|---|---|---|---|
| actions_per_chunk | vaikimisi puudub, nõutav | Tagastatud toimingud kutse kohta | Dokumentide tabelis on 50; andmeklassi väljal puudub vaikimisi väärtus, seega nõuab CLI väärtust |
| chunk_size_threshold | 0.5 | Järjekorra täituvuse suhe, mille juures või all klient saadab uue vaatluse | Dokumentide tabelis on 0.7; kood ja dokumentide enda näide ütlevad 0.5 |
| fps | 30 | Kliendi juhtimiskiirus, määrab environment_dt = 1/fps | Vähendage seda, kui järjekord tühjeneb pidevalt |
| inference_latency | 1/30 s (33.3 ms) | Sihtjärelduse latentsus serveris | Siht, mitte mõõtmine |
| obs_queue_timeout | 2 s | Kui kaua server vaatluste järjekorras ootab | Aeglane üleslaadimine ilmneb siin esimesena |
| aggregate_fn_name | weighted_average | Kuidas kattuvad tükipiirkonnad segatakse | 0.3 vana + 0.7 uus; tarnitakse ka latest_only, average ja conservative. Register on AGGREGATE_FUNCTIONS failis configs.py, mitte robot_client.py, nagu dokumendid väidavad |
CVE-2026-25874 on autentimata koodi kaugkäivitus leroboti asünkroonses järeldusliinis: pickle.loads() andmetel, mis on saadud autentimata gRPC kanali kaudu ilma TLS-ita, ligipääsetav läbi SendPolicyInstructions, SendObservations ja GetActions kutsete. CWE-502, CVSS 3.1 baasskoor 9.8 NVD-st, 4.0 baasskoor 9.3 määravast CNA-st. Kirje loetleb LeRoboti kuni 0.5.1 mõjutatuna ja nimetab nii poliitikaserveri kui ka robotkliendi, seega on teie käe kõrval olev masin haardeulatuses. Uuendamine ei ole lahendus: kirje viitab ülesvoolu probleemile 3047 ja parandusele, PR 3048, mis vahetab pickle'i safetensors'i ja JSON-i vastu, ning 23. augustil 2026 on mõlemad endiselt avatud. policy_server.py peaharus kutsub endiselt pickle.loads päringuandmetel, samal ajal kui serve() seob add_insecure_port. Siduge loopbackiga ja ärge kunagi suunake porti 8080.
Aritmeetika, mis otsustab, kas teie ühendus on piisavalt kiire
Inimesed jätavad selle vahele ja kulutavad siis päeva . See võtab kaks minutit ja on peaaegu alati otsustav.
NVIDIA eval_so100.py kommenteeritud vaatlusandmete sõnastik ütleb, mis traadile läheb: kaks massiivi kujuga (480, 640, 3) uint8-s, kuus liigese ujukomaarvu, keele string. See on 921 600 baiti kaadri kohta, 1 843 200 baiti kahe kaamera kohta, umbes 14,7 Mbit, ja kumbki pinu seda JPEG-vormingus ei tihenda. Tagasi tulev andmeplokk on paarkümmend sammu 6 ujukomaarvuga. Teie üleslaadimine otsustab kõik, mitte teie allalaadimine.
| Üleslaadimise ribalaius | Aeg ühe vaatluse edastamiseks (14,7 Mbit) | Otsus 30 FPS käe kohta |
|---|---|---|
| 10 Mbit/s, tüüpiline kodune üleslaadimine | ~1.47 s | Kasutamatu. Käsi peatub iga andmeploki vahel. |
| 25 Mbit/s | ~0.59 s | Ainult aeglane valimine ja paigutamine, pika täitmishorisondiga. |
| 50 Mbit/s | ~0.29 s | Töötav tahtlike ülesannete jaoks. |
| 100 Mbit/s | ~0.15 s | Sobib valimiseks ja paigutamiseks, märgatav kiirel liikumisel. |
| 1 Gbit/s fiiber või andmekeskus | ~0.015 s | Mudel muutub hoopis kitsaskohaks. |
Eelarve, millesse peate mahtuma
GR00T SO-100 klient on sünkroonne: see kutsub välja policy.get_action(obs), täidab esimesed action_horizon sammu tükist 30 FPS juures, seejärel kutsub uuesti. Tüki suurus ja horisont on erinevad numbrid: NVIDIA juurutusjuhend soovitab tegevustüki suuruseks 16, vähemalt 32, kui seda kombineerida reaalajas tükeldamisega, samas kui eval_so100.py pakub täitmishorisonti 8. Kaheksa sammu 30 FPS juures on 267 ms liikumist ühe kutse kohta ja kõik muu peab sellesse mahtuma.
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 staleHorisondi tõstmine on jäme lahendus ja mitte tasuta: käsi tegutseb vaatluse põhjal, mis on nüüd vana. Põhimõtteline lahendus on reaalajas tükeldamine (real-time chunking), mis arvutab järgmise tüki, samal ajal kui praegune töötab, külmutab garanteeritult täidetavad tegevused ja täiendab ülejäänud; RTC artikkel teatab, et see on vastupidav järeldusviivitusele ilma ümberõppeta. Kontrollige esmalt, kuidas sellega lood on. NVIDIA märgib RTC eksperimentaalseks, madala taseme mudeli primitiiviks, mis on ligipääsetav läbi action_head.get_action(..., options={"rtc_overlap_steps": ..., "rtc_frozen_steps": ...}), mis ei ole ühendatud Gr00tPolicy'sse ega serveri-kliendi teekonda, kus options on kasutamata, ilma testide ja näideteta. Poliitikaserveri kaudu saate asünkroonse täitmise, mitte RTC.
NVIDIA võrdleb GR00T N1.7-t otsast lõpuni 4 müravähendussammuga ühe kaameraga. H100 80GB HBM3-l: 85.8 ms (11.7 Hz) PyTorch eager režiimis, 48.6 ms (20.6 Hz) koos torch.compile'iga, 27.9 ms (35.9 Hz) koos TensorRT täieliku torujuhtmega. L40 eager režiimis võtab 128.3 ms (7.8 Hz). NVIDIA nimetab 10 Hz-i tüüpilise manipuleerimise soovitatavaks miinimumiks ja alla 10 Hz sobib ainult aeglasteks, mitte-reaktiivseteks ülesanneteks. Need on ümberplaneerimise kiirused: 10 Hz poliitika suudab ikkagi juhtida 30 FPS kätt tegevustükeldamise kaudu. Teine kaamera viib teid valele teele.
Mõõda enne, kui usaldad
Iga ülaltoodud number on ennustus. Neli käsku muudavad selle mõõtmiseks, mida tasub käivitada enne, kui pühendada pod-tund ülesandele, mis poleks kunagi toiminud.
- 1Hangi toor-edasi-tagasi aeg
Podi vastu, mitte CDN-i vastu. Jälgi hälvet sama tähelepanelikult kui keskmist: värin paneb käe kokutama, mitte keskmine latentsus.
bashping -c 50 <pod-host> # the mdev column is the number that predicts stutter - 2Mõõda üleslaadimiskiirust, mis sul on, mitte seda, mille eest maksad
Elamuühenduse üleslaadimiskiirus on tavaliselt murdosa allalaadimiskiirusest ja see on ülaltoodud ribalaiuse tabelis olev number.
bash# on the pod iperf3 -s # on the robot machine, -R omitted so this measures upload iperf3 -c <pod-host> -t 30 - 3Loe kliendi enda latentsuse logi
LeRobot roboti klient logib iga tüki serveri-kliendi latentsuse ja deserialiseerimise aja. Marsruudil B ei vaja sa välist tööriista.
textReceived action chunk for step #240 | Latest action: #232 | Incoming actions: 240:289 | Network latency (server->client): 187.44ms | Deserialization time: 3.10ms - 4Jälgi tegevuste järjekorra tühjenemist
Edasta
--debug_visualize_queue_size=Trueja klient joonistab järjekorra suuruse käitusajal. Kui see korduvalt nulli jõuab, oled eelarvest väljas: alanda kaadrisagedust, suurenda actions_per_chunk või suurenda chunk_size_threshold, et vaatlused sagedamini välja saadetaks.bashpython -m lerobot.async_inference.robot_client \ ... \ --debug_visualize_queue_size=True
Milleks kaugjäreldamine tegelikult hea on
- Saate hinnata 3 B parameetriga poliitikat reaalsel riistvaral, omamata kaarti, mis maksab rohkem kui käsi.
- GPU-d renditakse tunni kaupa, nii et ebaõnnestunud kontrollpunkt maksab paar dollarit.
- Roboti pool jääb väikeseks: lerobot draiverid, kaks kaamerat, jadaport ja saate kontrollpunkte vahetada seda puudutamata.
- Pakkimata vaatlused domineerivad võrgukulu ja kodune üleslaadimine on piirav tegur.
- Jitter teeb rohkem kahju kui latentsus: link, mille keskmine on 40 ms ja tipud 300 ms-ni, hakkib, kus stabiilne 120 ms link seda ei tee.
- Kiired reaktiivsed ülesanded ei ela edasi-tagasi reisi üle ühelgi horisondil.
- Mõlemad serverid tarnitakse autentimata CLI-vormis, seega tunneldamise töö on teie.
- Katkenud ühendus tüki keskel jätab käe hoidma aegunud tegevust. Lisage oma valvekoer roboti poolele.
| Ülesanne | Töötab avaliku interneti kaudu? | Miks |
|---|---|---|
| Vali staatiline objekt, aseta see kasti | Jah | Vaatluse ja tegevuse vahel ei liigu midagi. |
| Laota klotse tahtlikus tempos | Jah, at action_horizon 16 or more | Vead kogunevad piisavalt aeglaselt, et neid järgmises tükis parandada. |
| Ava sahtel, sisesta objekt | Tavaliselt | Kontaktirikas, kuid aeglane. Jälgi peatumisi ja liikumisi kontakti korral. |
| Jälgi liikuvat objekti | Ei | Poliitika tegutseb 300 ms kuni 1 s vanuse vaatluse põhjal. |
| Püüa, tasakaalusta või taastu libisemisest | Ei | Parandusaken on lühem kui üks edasi-tagasi reis. |
| 30 Hz sünkroonne suletud ahel | Ei | Eelarve on 33 ms otsast otsani. Isegi LAN-il on raskusi. |
Kui kaugkäivitus hakkib igas episoodis samas punktis, ei ole võrk tõenäoliselt põhjus. Poliitika, mis iga kord samas liigese nurgas kõhkleb, on tavaliselt andmeprobleem; vaadake vearežiimide lehti, eriti poliitika, mis töötab ainult ühes seadistuses ja kaotus langeb, kuid poliitika ei tee midagi.
Ise tegemine vs AY-Robotsis tegemine
- Rendi GPU hetketurult ja oota piisavalt VRAM-i sulle sobiva hinnaga.
- Installi CUDA, uv, ffmpeg torchcodec, mis aktsepteerib, ja GR00T virn koos alamoodulitega.
- Taotle juurdepääsu piiratud
nvidia/Cosmos-Reason2-2Bselgroole ja paigalda token podile. - Tõmba oma kontrollpunkt podile.
- Käivita server loopback-režiimis, seejärel loo SSH tunnel robotmasinast.
- Installi robotmasinasse teine keskkond kliendi ja draiverite jaoks.
- Vasta kaamera võtmed, liigeste nimed ja keeleline juhis sellele, mida kontrollpunkt nägi.
- Jälgi podi. Unustatud A100, mis töötab üleöö, maksab rohkem kui eksperiment.
GPU arve ei peatu, kui robot peatub. Enamik kaugjäreldustel kaotatud rahast läheb serverile, mis jäi tööle pärast seda, kui kõik lahkusid. Sea äratus või automatiseeri mahavõtmine.
- Vali treenitud poliitika, mida soovid käivitada.
/api/inference/podvarustab automaatselt pilve-GPU podi, mis seda poliitikat teenindab.- Kohalik robotklient suhtleb selle lõpp-punktiga. Baaskontrollpunktid on müüjate omad:
nvidia/GR00T-N1.7-3B,nvidia/GR00T-N1.5-3B,lerobot/pi05_base. ACT-l pole ühtegi. - Podid sisaldavad tühikäigu valvekoera ja hävitavad end pärast tühikäiguperioodi, nii et miski ei jätka vaikselt arveldamist.
- Samad toimingud on saadaval terminalist ja tehisintellekti agentidele, nii et tsükli saab skriptida.
Automaatne varustamine eemaldab seadistustöö ja unustatud podi arve, mitte füüsika. Järeldus peab kiirete ülesannete jaoks ikkagi servode kõrval asuma: juhtimistsükkel on 20 kuni 485 ms tegevussammu kohta sõltuvalt mudelist, ja avaliku interneti edasi-tagasi reisid lisaks sellele muudavad töötava poliitika kõhklevaks.
- Kliendijuhend ühenduse kohaliku poole jaoks
- Käivita oma esimene poliitika läbikäimiseks
- CLI ja MCP server skriptitud versiooni jaoks
- Turvadokumendid

Mida kaugjärelduste sessioon maksab
Olulised on kaks numbrit: kaardi tunnitasu ja see, kui kaua te seda töös hoiate. Esimene on avaldatud; teine üllatab inimesi.
| Kaart | Runpod kogukonnapilv | Runpod turvaline pilv | Sobib |
|---|---|---|---|
| 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 | Sama, veidi kiirem |
| H100 PCIe 80 GB | 1.99 USD/h | 2.89 USD/h | Kiireim tase; NVIDIA 11,7 Hz eager-näitaja on H100 80GB HBM3 jaoks |
| L40S 48 GB | 0.79 USD/h | 0.99 USD/h | Ainult järeldamine, üle 16 GB piiri |
| RTX 4090 24 GB | 0.34 USD/h | 0.74 USD/h | SmolVLA, ACT |
Need hinnad loeti Runpodi hinnalehelt 23. augustil 2026 ja hetketurud liiguvad. AY-Robots pakub terve käivituse asemel: 3 kuni 6 tundi hinnaga 1,20 kuni 2,00 USD tunnis A100 või H100 tasemel, umbes 4 kuni 12 USD GR00T või Pi0.5 käivituse eest; 2 kuni 5 tundi hinnaga 0,30 kuni 0,60 USD tunnis 24 GB tasemel, 1 kuni 3 USD SmolVLA või ACT jaoks. Järeldamise sessioon on treeningkäivitusest odavam ainult siis, kui selle peatate, milleks ongi tühikäigu valvekoer. Vaata arvelduse dokumente ja hinnalehte.

Kui eelistate, et võrk ei oleks ahelas
Kaugjäreldamine lahendab riistvaraprobleemi ja tekitab latentsusprobleemi. Mõnikord on parem vastus poliitika, mis sobib teie olemasoleva riistvaraga.
- ACT, ligikaudu 80 M parameetrit ja 20 ms tegevussammu kohta, minimaalselt 50 episoodi, mis tahes 24 GB kaart. Korduva ühe ülesande seadistuse korral edestab see sageli kaugjuhtimisega 3 B mudelit, sest see ei oota kunagi paketti.
- SmolVLA, ligikaudu 450 M parameetrit ja 245 ms tegevussammu kohta, minimaalselt 30 episoodi. See säilitab keelelise tingimise, mis ACT-l puudub, ja lerobot docs hindab selle järeldamise ajal umbes 2 GB-le, võrreldes PI0 ligikaudu 14 GB-ga.
- ACT vs GR00T N1.7 tehingu täpsuse poole jaoks.
On ka kesktee: treenida pilves, hinnata lokaalselt. Peenhäälestus vajab 80 GB kaarti ja ei hooli latentsusest, seega GR00T N1.7 treenimine SO-100-l eemalt on vaieldamatu. Ainult hindamistsüklil on reaalajas piirang; treeningu dokumendid ja mudeli- ja käe maatriks katavad selle poole.
Kätt veel laual pole?
Juhtige päris SO-100 brauseris ilma registreerimata, võrrelge viit treenitavat poliitikat nende tegelike latentsusnumbritega või rentige GPU ja treenige üks. Kolm võimalust alustamiseks, millest ükski ei vaja riistvara, mis teile ei kuulu.
Proovige seda ilma riistvarataKorduma kippuvad küsimused
Kas ma saan käitada GR00T N1.7 Raspberry Pi-l, kui GPU on kaugel?▾
Jah, selleks ongi kliendi-serveri jaotus. Pi käitab lerobot draivereid, loeb kahte kaamerat ja jadasiini ning saadab vaatlused poliitikaserverile; see ei laadi kunagi mudelit. Piirang liigub VRAM-ilt üleslaadimise ribalaiusele: kaks pakkimata 640x480 RGB kaadrit on 1 843 200 baiti kõne kohta ja kumbki pinu neid ei paki.
Kui palju latentsust võrk tegelikult lisab?▾
Edasi-tagasi aeg pluss vaatluse edastamise aeg. Edastusaeg on 14.7 Mbit jagatud teie üleslaadimise ribalaiusega: ligikaudu 147 ms 100 Mbit/s lingil, 1.47 s 10 Mbit/s lingil. Mõlemad lisanduvad mudeli enda järeldusajale, mille AY-Robots loetleb GR00T N1.7 puhul 152 ms ja Pi0.5 puhul 485 ms. Mõõtke pingi ja iperf3-ga podi vastu, mitte kiirustesti serveri vastu.
Kas kauglaiendus on piisavalt hea reaalse ülesande jaoks?▾
Aeglase, kaalutletud valimise ja paigutamise jaoks jah. Kõige reaktiivse jaoks ei. NVIDIA juurutusjuhend seab sünkroonse üheastmelise nõude ligikaudu 33 ms otsast lõpuni 30 FPS juures ja märgib, et jäädvustamine, võrk, järeldamine ja järeltöötlus ületavad seda rutiinselt ilma internetita.
Millist porti serverid kasutavad ja kas seda on ohutu avada?▾
Isaac-GR00T PolicyServer kasutab vaikimisi porti 5555 üle ZeroMQ ja seob 0.0.0.0 oma CLI-s. lerobot kasutab vaikimisi porti 8080 üle gRPC ja seob localhosti. Kumbagi pole ohutu eksponeerida: GR00T klass toetab api_tokenit, kuid run_gr00t_server.py ei edasta seda kunagi, ja lerobot marineerib andmeid ebaturvalise gRPC kanali kaudu, mis on CVE-2026-25874. Siduge loopbackiga ja kasutage SSH tunnelit.
Kas leroboti uuendamine parandab CVE-2026-25874?▾
Mitte seisuga 23. august 2026. CVE kirje loetleb LeRoboti kuni versioonini 0.5.1 mõjutatuna ja PyPI tarnib 0.6.1, kuid tõmbepäring, mis eemaldaks pickle'i asünkroonsest torujuhtmest, on endiselt avatud, ja policy_server.py peaharus kutsub endiselt pickle.loads välja päringuandmetel. Käsitsege võrgu isolatsiooni leevendusena, mitte versiooniuuendusena, ja eeldage, et ka roboti-poolne klient on haardes.
Kas ma saan kasutada leroboti asünkroonset klienti GR00T kontrollpunktiga?▾
Jah. lerobot 0.6.1 loetleb groot'i SUPPORTED_POLICIES-is koos act, smolvla, diffusion, tdmpc, vqbet, pi0 ja pi05-ga, ning nii so100_follower kui ka so101_follower on SUPPORTED_ROBOTS-is. Edastage --policy_type=groot ja suunake --pretrained_name_or_path oma kontrollpunktile. Saate asünkroonse täitmise, mida GR00T SO-100 näide ei rakenda, pickle transpordi hinnaga.
Lühiversioon
Kaugjäreldus 3 B poliitika on lahendatud inseneriprobleem, millele on lisatud lahendamata füüsikaprobleem. Inseneritöö on kaks käsku ja SSH tunnel. Füüsika on see, et 1.8 MB vaatlus peab jõudma teises riigis asuvasse GPU-sse ja tagasi tulema enne, kui käel tegevused otsa saavad. Tehke arvutused enne midagi rentimist, valige ülesanne, mis talub aegunud vaatlust, ja tõstke täitmise horisonti, selle asemel et loota lingi paranemisele.
Kui te pole veel andmestikku salvestanud, salvestage oma esimene andmestik ja SO-100 seadistusjuhend on esikohal ning LeRoboti andmestiku formaadi kirje selgitab, mida salvestaja kirjutab. Taust on nägemis-keele-tegevuse mudelites ja voolu sobitamise poliitika töös; arena kirje lingib iga võrdlusnumbri allikaga.
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
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