Stránka AY-Robots try: tri spôsoby, ako začať bez vlastného robota, vrátane prenájmu GPU pre inferenciu politík
GR00T N1.7Vzdialená inferenciaCloud GPULeRobotSO-100Latencia

Spustite inferenciu GR00T bez lokálneho GPU

AY-Robots ResearchAugust 23, 202619 min čítania

Váš robotický stroj nemá GPU. Umiestnite server politík GR00T na prenajaté cloudové GPU, streamujte akčné bloky do ramena a zistite presne, čo vás stojí sieť.

Raspberry Pi stačí na ovládanie cez sériovú zbernicu a sťahovanie snímok z dvoch USB kamier. Nestačí však na spustenie trojmiliardového parametrového : Súbor README od spoločnosti NVIDIA uvádza inferenciu GR00T N1.7 na jednej GPU s 16 GB alebo viac VRAM. Ak chcete vidieť, čo robí váš jemne vyladený checkpoint na ramene bez zakúpenia karty, umiestnite politiku na prenajatú cloudovú GPU, udržujte robotickú slučku na stroji s USB portami a posielajte pozorovania a akčné bloky cez sieť.

Funguje to, nie je to zadarmo a cena nie je rovnomerne rozložená medzi úlohy. Nižšie: vlastný server politík spoločnosti NVIDIA, asynchrónny zásobník lerobot, aritmetika, ktorá vopred povie, či je váš uplink dostatočne rýchly, a trasa platformy. Všetko overené oproti hlavnej vetve Isaac-GR00T (N1.7 GA) a lerobot 0.6.1 k 23. augustu 2026.

Čo potrebujete vedieť

  • GR00T N1.7, GR00T N1.5 a Pi0.5 sú modely s približne 3 miliardami parametrov. Žiadny z nich sa nezmestí na riadiacu jednotku robota bez diskrétnej GPU.
  • Isaac-GR00T a lerobot dodávajú rozdelenie klient-server. Transport nepíšete vy.
  • Pozorovania dominujú nákladom na prenos, nie akcie: dva nekomprimované 640x480 RGB snímky sú 1 843 200 bajtov, približne 14,7 Mbit na volanie, a ani jeden zásobník ich nekomprimuje.
  • AY-Robots uvádza 20 to 485 ms na akčný krok podľa modelu. K tomu sa pripočítavajú internetové okružné cesty.
  • Vzdialená inferencia je vhodná pre pomalé úlohy typu pick-and-place, nie pre rýchly reaktívny pohyb. Dlhší horizont vykonávania kupuje čas a stojí sviežosť pozorovania.
  • Žiadny server nie je bezpečný na verejnej IP adrese v dodanej podobe a lerobot obsahuje neopravenú RCE. Tunelujte ho.

Prečo sa politika nezmestí na stroj robota

Dve z piatich politík, ktoré AY-Robots dokáže trénovať, bežia na karte pracovnej stanice, tri nie. Stĺpec nižšie je na krok akcie, a to je číslo, ktoré konkuruje vášmu sieťovému round tripu.

PolitikaParametreInferencia na krok akcieÚroveň GPU pre tréningMin. epizódyFormát dátovej sady
GR00T N1.7~3 B, ~40 M trained during fine-tuning152 msA100 80 GB or H100 80 GB50LeRobot v2.0 or v2.1
GR00T N1.5~3 B165 msA100 80 GB or H100 80 GB50LeRobot v2.0 or v2.1
Pi0.5~3 B, PaliGemma backbone485 msA100 80 GB or H100 80 GB50LeRobot v3.0
SmolVLA~450 M245 msRTX 4090 or any 24 GB card30LeRobot v3.0
ACT~80 M20 msRTX 4090 or any 24 GB card50LeRobot v3.0
Stránka politík AY-Robots porovnávajúca päť trénovateľných politík podľa parametrov, úrovne GPU, latencie inferencie a minimálneho počtu epizód
Rovnakých päť riadkov na /policies. Stĺpec latencie rozhoduje, či politika prežije sieťový skok.

Čítajte to ako rozhodnutie, nie ako zaujímavosť. pri 20 ms na krok beží na robotickom stroji a už na to nikdy nemusíte myslieť. pri 485 ms strávil tretinu sekundy, kým balík opustí vašu budovu. a pridávajú stranu presnosti.

ACT nemá základný model

GR00T N1.7, GR00T N1.5 a Pi0.5 začínajú z kontrolného bodu dodávateľa (nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B, lerobot/pi05_base). ACT neexistuje, kým ho netrénujete na vlastnej úlohe, takže nie je nič, čo by sa dalo vzdialene obsluhovať, kým sa nespustí tréningová úloha. Pozrite si ACT na SO-100.

Dva existujúce klientsko-serverové zásobníky

Isaac-GR00T dodáva ZeroMQ request-reply server; lerobot dodáva gRPC server postavený na asynchrónnej inferencii. Oba akceptujú GR00T kontrolný bod. Zoznam podporovaných politík lerobot v async_inference/constants.py je act, smolvla, diffusion, tdmpc, vqbet, pi0, pi05 a groot; jeho zoznam robotov je so100_follower, so101_follower, bi_so_follower a omx_follower.

Isaac-GR00T PolicyServerlerobot async inference
Vstupný bodgr00t/eval/run_gr00t_server.pypython -m lerobot.async_inference.policy_server
TransportZeroMQ REQ/REPgRPC, add_insecure_port / insecure_channel
Serializáciamsgpack + msgpack_numpy, allow_pickle=False enforcedpickle.dumps / pickle.loads, marked # nosec
Predvolený port55558080
Predvolené viazanie0.0.0.0, všetky rozhranialocalhost
Autentifikáciaapi_token podporovaný triedou, neprechádza cez CLInone
Časový limit klienta15000 ms (PolicyClient timeout_ms)2 s observation queue timeout
Model vykonávaniasynchrónne: blokovať, potom vykonať blokasynchrónne: vykonávať, zatiaľ čo sa počíta ďalší blok

Riadok serializácie je dôležitejší, než sa zdá. GR00T-ov MsgSerializer odmieta ndarray dátové štruktúry typu object-dtype v oboch smeroch, pretože msgpack_numpy by ich inak odovzdal pickle. lerobot namiesto toho používa pickle: policy_server.py volá pickle.loads na dáta požiadavky, robot_client.py serializuje pozorovanie, ktoré posiela. Obrániteľné v dôveryhodnej LAN sieti, neobrániteľné, akonáhle je port dostupný z internetu.

Trasa A: Vlastný GR00T policy server od NVIDIA

Toto je cesta, ktorú NVIDIA dokumentuje pre hardvér SO-100 a SO-101, a tá, ktorú treba použiť, ak váš checkpoint pochádza z examples/finetune.sh s --embodiment-tag NEW_EMBODIMENT. Kroky dopĺňajú to, čo pôvodný README vynecháva: ako dostať port k robotovi bez toho, aby bol vystavený všetkým ostatným.

  1. 1
    Nainštalujte GR00T na prenajatý GPU box

    Submoduly sú povinné a git-lfs musí existovať pred klonovaním, inak sú parquet súbory v demo_data doručené ako ukazovatele. flash-attn a TensorRT sú súčasťou predvolenej inštalácie. Úskalie pri čerstvom obraze podu: torchcodec 0.8.0 je jediný podporovaný video backend a načíta iba FFmpeg 4 až 7. Ubuntu 25.10 a 26.04 dodávajú FFmpeg 8, takže GR00T zlyhá s Could not load libtorchcodec. Nainštalujte FFmpeg verzie nižšej ako 8 a umiestnite jeho knižnice do LD_LIBRARY_PATH.

    bash
    sudo 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')"
  2. 2
    Autentifikujte sa voči gated backbone

    Každý GR00T N1.7 checkpoint, vrátane vášho vlastného fine-tune, načíta pri prvom použití gated nvidia/Cosmos-Reason2-2B. Požiadajte o prístup na stránke modelu a prihláste sa na pod, inak načítanie zlyhá s GatedRepoError.

    bash
    uv run huggingface-cli login
    # or:  export HF_TOKEN=<your_token>
  3. 3
    Spustite policy server

    Nasmerujte --model-path na váš adresár checkpointu; na tejto ceste server ignoruje --modality-config-path, ktorý sa číta iba na ceste pre prehrávanie. Vyhnite sa --model-path a namiesto toho odovzdajte --dataset-path plus --execution-horizon pre ReplayPolicy, ktorá prehráva zaznamenané akcie, čo je najlacnejší spôsob, ako dokázať, že zapojenie funguje.

    bash
    uv 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
  4. 4
    Tunelujte port 5555 k robotickému stroju

    Naviažte sa na loopback, ako je uvedené vyššie, a preneste port cez SSH alebo sieť typu WireGuard. To poskytuje šifrovanie a autentifikáciu, ktoré ZeroMQ socket neposkytuje, za približne 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
  5. 5
    Spustite robotického klienta vedľa servomotorov

    Klient potrebuje vlastné uv prostredie: chce robotické ovládače lerobot, nie tréningový stack. eval_so100.py importuje so100_follower, so101_follower a koch_follower, takže odovzdajte --robot.type zodpovedajúci vášmu ramenu (pôvodný README používa so101_follower). Kľúče kamier musia zodpovedať tréningu: adaptér číta presne front a wrist, a ich výmena ukáže politike nesprávny pohľad.

    bash
    cd 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"
Dve predvolené nastavenia, ktoré vás potrápia

run_gr00t_server.py predvolene používa --host 0.0.0.0, viaže každé rozhranie: na pod s verejnou IP adresou je to otvorený inferenčný koncový bod. A trieda PolicyServer akceptuje api_token a validuje ho pre každú požiadavku, ale run_gr00t_server.py ho nikdy neposiela, takže CLI server je neautentifikovaný bez ohľadu na vašu konfiguráciu. Viažte sa na 127.0.0.1 a tunelujte. Chyba ZMQError: Address already in use znamená, že port 5555 je obsadený; použite --port.

Trasa B: lerobot asynchrónna inferencia

lerobot rieši iný problém. Namiesto blokovania robota, kým model premýšľa, klient pokračuje v spracovávaní fronty, ktorú už má, zatiaľ čo server vypočítava ďalší chunk. Toto je chunkovanie akcií posunuté ďalej, asynchrónny zásobník predstavený so SmolVLA. Funguje aj s checkpointom GR00T.

bash
# 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=True
Policy server na GPU, robotický klient na stroji s USB portami

Server sa spúšťa prázdny: nevie, akú politiku obsluhuje, kým mu to nepovie prvé nadviazanie spojenia klientom, čo je výhodné na prenajatom pode. Dva parametre, ktoré rozhodujú o tom, či sa rameno pohybuje plynulo, sú actions_per_chunk a chunk_size_threshold (dokumentácia lerobot nazýva druhý parameter g, podľa článku SmolVLA), a dokumentované hodnoty a dodané hodnoty sa nezhodujú.

ParameterHodnota v kóde lerobot 0.6.1Čo robíPoznámka
actions_per_chunkbez predvolenej hodnoty, povinnéAkcie vrátené na jedno volanieTabuľka v dokumentácii uvádza 50; pole dataclass nemá predvolenú hodnotu, takže CLI vyžaduje hodnotu
chunk_size_threshold0.5Pomer zaplnenia frontu, pri ktorom alebo pod ktorým klient posiela nové pozorovanieTabuľka v dokumentácii uvádza 0.7; kód a vlastný príklad z dokumentácie uvádzajú 0.5
fps30Frekvencia riadenia klienta, nastavuje environment_dt = 1/fpsZnížte ju, ak sa front neustále vyprázdňuje
inference_latency1/30 s (33.3 ms)Cieľová latencia inferencie na serveriCieľ, nie meranie
obs_queue_timeout2 sAko dlho server čaká na front pozorovaníPomalý uplink sa prejaví najprv tu
aggregate_fn_nameweighted_averageAko sa spájajú prekrývajúce sa oblasti chunkov0.3 staré + 0.7 nové; dodávajú sa aj latest_only, average a conservative. Register je AGGREGATE_FUNCTIONS v configs.py, nie robot_client.py, ako tvrdí dokumentácia
Server politík lerobot má neopravenú RCE

CVE-2026-25874 je neautentifikované vzdialené vykonávanie kódu v asynchrónnom inferenčnom pipeline lerobot: pickle.loads() na dátach prijatých cez neautentifikovaný gRPC kanál bez TLS, dostupné prostredníctvom volaní 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 priraďujúcej CNA. Záznam uvádza LeRobot až do verzie 0.5.1 ako postihnutý a menuje server politík aj robotického klienta, takže stroj vedľa vášho ramena je v rozsahu pôsobnosti. Upgrade nie je riešením: záznam cituje upstream problém 3047 a patch, PR 3048, ktorý mení pickle za safetensors plus JSON, a k 23. augustu 2026 sú oba stále otvorené. policy_server.py na main stále volá pickle.loads na dáta požiadavky, zatiaľ čo serve() sa viaže s add_insecure_port. Viažte sa na loopback a nikdy nepresmerujte port 8080.

Aritmetika, ktorá rozhoduje, či je vaše pripojenie dostatočne rýchle

Ľudia toto preskočia a potom strávia deň nad . Trvá to dve minúty a takmer vždy je to rozhodujúce.

Komentovaný slovník pozorovania v NVIDIA's eval_so100.py hovorí, čo ide po drôte: dve polia tvaru (480, 640, 3) v uint8, šesť kĺbových floatov, jazykový reťazec. To je 921 600 bajtov na snímku, 1 843 200 bajtov pre dve kamery, približne 14.7 Mbit, a ani jeden zásobník to nekomprimuje do JPEG. Vracajúci sa blok je niekoľko desiatok krokov po 6 floatov. Váš upload rozhoduje o všetkom, nie váš download.

Šírka pásma uploaduČas na odoslanie jedného pozorovania (14.7 Mbit)Verdikt pre rameno s 30 FPS
10 Mbit/s, typický domáci upload~1.47 sNepoužiteľné. Rameno sa zastaví medzi každým blokom.
25 Mbit/s~0.59 sLen pomalé uchopenie a umiestnenie, s dlhým horizontom vykonávania.
50 Mbit/s~0.29 sPoužiteľné pre zámerné úlohy.
100 Mbit/s~0.15 sDobré pre uchopenie a umiestnenie, viditeľné pri rýchlom pohybe.
1 Gbit/s optika alebo dátové centrum~0.015 sNamiesto toho sa model stane úzkym hrdlom.

Rozpočet, do ktorého sa musíte zmestiť

Klient GR00T SO-100 je synchrónny: volá policy.get_action(obs), vykoná prvých action_horizon krokov bloku pri 30 FPS, potom volá znova. Veľkosť bloku a horizont sú rôzne čísla: sprievodca nasadením od NVIDIA odporúča veľkosť bloku akcie 16, minimálne 32 v kombinácii s chunkingom v reálnom čase, zatiaľ čo eval_so100.py dodáva horizont vykonávania 8. Osem krokov pri 30 FPS je 267 ms pohybu na jedno volanie a všetko ostatné sa musí zmestiť do tohto času.

text
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 stale
Príklad: 100 Mbit/s uplink, 30 ms round trip, GR00T N1.7

Zvýšenie horizontu je hrubé riešenie a nie zadarmo: rameno reaguje na pozorovanie, ktoré je už staré. Principiálnym riešením je chunking v reálnom čase (real-time chunking), ktorý vypočítava ďalší blok, zatiaľ čo beží ten aktuálny, zmrazuje akcie zaručené na vykonanie a dopĺňa zvyšok; článok o RTC uvádza, že je robustný voči oneskoreniu inferencie bez preškolenia. Najprv skontrolujte, ako to vyzerá. NVIDIA označuje RTC ako experimentálne, nízkoúrovňovú modelovú primitívu dostupnú cez action_head.get_action(..., options={"rtc_overlap_steps": ..., "rtc_frozen_steps": ...}), nezapojenú do Gr00tPolicy ani do cesty server-klient, kde options je nepoužívaná, bez testov a bez príkladu. Cez server politiky získate asynchrónne vykonávanie, nie RTC.

Čo stojí model predtým, ako sa zapojí sieť

NVIDIA benchmarkuje GR00T N1.7 end-to-end pri 4 krokoch 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 kompletným pipeline TensorRT. L40 v eager režime trvá 128.3 ms (7.8 Hz). NVIDIA označuje 10 Hz ako odporúčané minimum pre typickú manipuláciu a pod 10 Hz ako vhodné len pre pomalé, nereaktívne úlohy. To sú frekvencie preplánovania: politika s 10 Hz môže stále riadiť rameno s 30 FPS prostredníctvom chunkingu akcií. Druhá kamera vás posúva nesprávnym smerom.

Zmerajte to, kým tomu budete veriť

Každé číslo vyššie je predpoveď. Štyri príkazy z neho urobia meranie, ktoré sa oplatí spustiť predtým, ako venujete hodinu podu úlohe, ktorá by nikdy nefungovala.

  1. 1
    Získajte nespracovaný čas odozvy

    Proti podu, nie CDN. Sledujte odchýlku rovnako pozorne ako priemer: chvenie spôsobuje trhanie ramena, nie priemerná latencia.

    bash
    ping -c 50 <pod-host>
    # the mdev column is the number that predicts stutter
  2. 2
    Zmerajte uplink, ktorý máte, nie ten, za ktorý platíte

    Domáce nahrávanie (upload) je zvyčajne zlomkom sťahovania (download), a je to číslo v tabuľke šírky pásma vyššie.

    bash
    # on the pod
    iperf3 -s
    
    # on the robot machine, -R omitted so this measures upload
    iperf3 -c <pod-host> -t 30
  3. 3
    Prečítajte si vlastný log latencie klienta

    Klient robota lerobot zaznamenáva latenciu zo servera na klienta a čas deserializácie pre každý chunk. Na trase B nepotrebujete žiadne externé nástroje.

    text
    Received action chunk for step #240 | Latest action: #232 |
      Incoming actions: 240:289 |
      Network latency (server->client): 187.44ms |
      Deserialization time: 3.10ms
  4. 4
    Sledujte vyprázdňovanie frontu akcií

    Použite --debug_visualize_queue_size=True a klient vykreslí veľkosť frontu počas behu. Ak opakovane dosiahne nulu, vyčerpali ste rozpočet: znížte fps, zvýšte actions_per_chunk, alebo zvýšte chunk_size_threshold, aby sa pozorovania odosielali častejšie.

    bash
    python -m lerobot.async_inference.robot_client \
        ... \
        --debug_visualize_queue_size=True

Na čo je skutočne dobrá vzdialená inferencia

Politika na prenajatom GPU, rameno na vašom stole
Výhody
  • Môžete vyhodnotiť politiku s 3 miliardami parametrov na reálnom hardvéri bez toho, aby ste vlastnili kartu, ktorá stojí viac ako rameno.
  • GPU sa prenajíma na hodinu, takže neúspešný kontrolný bod stojí pár dolárov.
  • Strana robota zostáva malá: ovládače lerobot, dve kamery, sériový port a kontrolné body vymieňate bez toho, aby ste sa jej dotkli.
Kompromisy
  • Nekomprimované pozorovania dominujú nákladom na prenos dát a domáce nahrávanie je obmedzujúcim faktorom.
  • Jitter škodí viac ako latencia: spojenie s priemerom 40 ms a špičkami 300 ms sa zadrháva, zatiaľ čo stabilné 120 ms spojenie nie.
  • Rýchle reaktívne úlohy neprežijú spiatočnú cestu v žiadnom horizonte.
  • Oba servery sa dodávajú neautentifikované vo forme CLI, takže tunelovanie je na vás.
  • Prerušené spojenie uprostred bloku zanechá rameno s neaktuálnou akciou. Pridajte si vlastného strážneho psa na strane robota.
ÚlohaFunguje cez verejný internet?Prečo
Vyberte statický objekt, umiestnite ho do košaÁnoMedzi pozorovaním a akciou sa nič nehýbe.
Skladajte bloky zámerným tempomÁno, pri action_horizon 16 alebo viacChyby sa hromadia dostatočne pomaly na to, aby sa dali opraviť v ďalšom bloku.
Otvorte zásuvku, vložte objektZvyčajneBohaté na kontakt, ale pomalé. Sledujte zastavenie a rozbeh pri kontakte.
Sledujte pohybujúci sa objektNiePolitika reaguje na pozorovanie staré 300 ms až 1 s.
Chyťte, vyvážte alebo sa zotavte z pošmyknutiaNieKorekčné okno je kratšie ako jedna spiatočná cesta.
30 Hz synchrónna uzavretá slučkaNieRozpočet je 33 ms end-to-end. Aj LAN má problémy.

Ak sa vzdialený beh zadrháva v rovnakom bode v každej epizóde, sieť pravdepodobne nie je príčinou. Politika, ktorá zakaždým váha pri rovnakom uhle kĺbu, je zvyčajne problém s dátami; pozrite si stránky s režimami zlyhania, najmä politiku, ktorá funguje len v jednom nastavení a strata klesá, ale politika nič nerobí.

Robíte to sami vs. robíte to na AY-Robots

  1. Prenajmite si GPU na spotovom trhu a počkajte na dostatok VRAM za cenu, ktorá vám vyhovuje.
  2. Nainštalujte CUDA, uv, ffmpeg torchcodec, ktorý akceptuje, a GR00T stack s podmodulmi.
  3. Požiadajte o prístup k uzamknutej chrbtici nvidia/Cosmos-Reason2-2B a umiestnite token na pod.
  4. Stiahnite si svoj checkpoint na pod.
  5. Spustite server na loopbacku, potom vytvorte SSH tunel z robotického stroja.
  6. Nainštalujte druhé prostredie na robotický stroj pre klienta a ovládače.
  7. Priraďte kľúče kamery, názvy kĺbov a jazykovú inštrukciu k tomu, čo videl checkpoint.
  8. Sledujte pod. Zabudnutý A100 bežiaci cez noc stojí viac ako experiment.
Nečinný pod je skutočná cena

Účet za GPU sa nezastaví, keď sa robot zastaví. Väčšina peňazí stratených na vzdialenej inferencii ide na server, ktorý zostal spustený po tom, čo všetci odišli. Nastavte si alarm alebo automatizujte vypnutie.

Stránka servera MCP AY-Robots s výpisom platformových operácií vystavených ako nástroje pre AI agentov
Stránka MCP: operácie zriaďovania a inferencie vystavené ako nástroje, ktoré môže agent volať.

Čo stojí vzdialená inferenčná relácia

Dve čísla sú dôležité: hodinová sadzba karty a ako dlho ju necháte bežať. Prvé je zverejnené; druhé ľudí prekvapuje.

KartaRunpod komunitný cloudRunpod zabezpečený cloudVhodné pre
A100 PCIe 80 GB1.19 USD/h1.39 USD/hGR00T N1.7, GR00T N1.5, Pi0.5
A100 SXM 80 GB1.39 USD/h1.59 USD/hTo isté, trochu rýchlejšie
H100 PCIe 80 GB1.99 USD/h2.89 USD/hNajrýchlejšia úroveň; údaj NVIDIA 11.7 Hz pre eager je pre H100 80GB HBM3
L40S 48 GB0.79 USD/h0.99 USD/hLen inferencia, nad hranicou 16 GB
RTX 4090 24 GB0.34 USD/h0.74 USD/hSmolVLA, ACT

Tieto sadzby boli prečítané zo stránky s cenami Runpod dňa 23. augusta 2026 a spotové trhy sa menia. AY-Robots namiesto toho uvádza cenu za celý beh: 3 až 6 hodín pri 1.20 až 2.00 USD za hodinu na úrovni A100 alebo H100, približne 4 až 12 USD za beh GR00T alebo Pi0.5; 2 až 5 hodín pri 0.30 až 0.60 USD za hodinu na úrovni 24 GB, 1 až 3 USD za SmolVLA alebo ACT. Inferencia je nákladovo výhodnejšia ako tréningový beh len vtedy, ak ju zastavíte, na čo slúži strážny pes nečinnosti. Pozrite si dokumentáciu k fakturácii a stránku s cenami.

Tabuľka nákladov AY-Robots zobrazujúca, akú GPU potrebuje každá politika, typický čas behu a cenu, a epizódy, kým je politika užitočná
Tabuľka nákladov na /try: akú kartu potrebuje každý model a koľko typicky stojí jeden beh.

Ak by ste radšej nemali sieť v slučke

Vzdialená inferencia rieši hardvérový problém a vytvára problém s latenciou. Niekedy je lepšou odpoveďou politika, ktorá sa hodí k hardvéru, ktorý máte.

  • ACT, približne 80 M parametrov a 20 ms na akčný krok, minimálne 50 epizód, akákoľvek 24 GB karta. V nastavení pre opakované jednorazové úlohy často prekonáva vzdialený 3 B model, pretože nikdy nečaká na paket.
  • SmolVLA, približne 450 M parametrov a 245 ms na akčný krok, minimálne 30 epizód. Zachováva jazykové podmienky, ktoré ACT chýbajú, a dokumentácia lerobot ho uvádza s približne 2 GB v čase inferencie oproti približne 14 GB pre PI0.
  • ACT vs GR00T N1.7 pre polovicu kompromisu týkajúcu sa presnosti.

Existuje aj stredná cesta: trénovať v cloude, vyhodnocovať lokálne. Jemné doladenie potrebuje 80 GB kartu a nezáleží mu na latencii, takže trénovanie GR00T N1.7 na SO-100 vzdialene je nespochybniteľné. Iba vyhodnocovací cyklus má obmedzenie v reálnom čase; dokumentácia k trénovaniu a matrica modelov a ramien pokrývajú túto polovicu.

Ešte nemáte rameno na stole?

Ovládajte skutočný SO-100 v prehliadači bez registrácie, porovnajte päť trénovateľných politík s ich skutočnými číslami latencie, alebo si prenajmite GPU a trénujte jednu. Tri spôsoby, ako začať, žiadny z nich nevyžaduje hardvér, ktorý nevlastníte.

Vyskúšajte to bez hardvéru

Často kladené otázky

Môžem spustiť GR00T N1.7 na Raspberry Pi, ak je GPU vzdialené?

Áno, na to slúži rozdelenie klient-server. Pi spúšťa ovládače lerobot, číta dve kamery a sériovú zbernicu a posiela pozorovania na policy server; nikdy nenačíta model. Obmedzenie sa presúva z VRAM na šírku pásma pre upload: dva nekomprimované 640x480 RGB snímky sú 1,843,200 bajtov na volanie a ani jeden stack ich nekomprimuje.

Koľko latencie skutočne pridáva sieť?

Čas odozvy (round-trip time) plus čas prenosu pozorovania. Čas prenosu je 14.7 Mbit delené vašou šírkou pásma pre upload: približne 147 ms na 100 Mbit/s linke, 1.47 s na 10 Mbit/s linke. Oba časy sa pripočítavajú k vlastnému času inferencie modelu, ktorý AY-Robots uvádza ako 152 ms pre GR00T N1.7 a 485 ms pre Pi0.5. Merajte pomocou ping a iperf3 proti podu, nie proti serveru na testovanie rýchlosti.

Je vzdialená inferencia dostatočne dobrá pre reálnu úlohu?

Pre pomalé, zámerné úlohy typu pick-and-place áno. Pre čokoľvek reaktívne nie. Sprievodca nasadením od NVIDIA uvádza požiadavku na synchrónny jednokrokový proces približne 33 ms end-to-end pri 30 FPS a poznamenáva, že zachytávanie, sieť, inferencia a post-processing to bežne prekračujú aj bez zapojenia internetu.

Ktorý port používajú servery a je bezpečné ho otvoriť?

PolicyServer Isaac-GR00T predvolene používa port 5555 cez ZeroMQ a viaže 0.0.0.0 vo svojom CLI. lerobot predvolene používa port 8080 cez gRPC a viaže localhost. Ani jeden nie je bezpečné vystaviť: trieda GR00T podporuje api_token, ale run_gr00t_server.py ho nikdy neposiela, a lerobot serializuje dáta cez nezabezpečený gRPC kanál, čo je CVE-2026-25874. Viazajte sa na loopback a použite SSH tunel.

Opravuje aktualizácia lerobot CVE-2026-25874?

Nie k 23. augustu 2026. Záznam CVE uvádza LeRobot až do verzie 0.5.1 ako ovplyvnený a PyPI dodáva 0.6.1, ale pull request, ktorý by odstránil pickle z asynchrónneho pipeline, je stále otvorený a policy_server.py na main stále volá pickle.loads na dáta požiadavky. Izoláciu siete považujte za zmiernenie, nie za zvýšenie verzie, a predpokladajte, že klient na strane robota je tiež v rozsahu.

Môžem použiť asynchrónneho klienta lerobot s checkpointom GR00T?

Áno. lerobot 0.6.1 uvádza groot v SUPPORTED_POLICIES popri act, smolvla, diffusion, tdmpc, vqbet, pi0 a pi05, a oba so100_follower a so101_follower sú v SUPPORTED_ROBOTS. Prejdite --policy_type=groot a nasmerujte --pretrained_name_or_path na váš checkpoint. Získate asynchrónne vykonávanie, ktoré príklad GR00T SO-100 neimplementuje, za cenu pickle transportu.

Stručná verzia

Vzdialená inferencia pre 3 B politika je vyriešený inžiniersky problém s nevyriešeným fyzikálnym problémom. Inžinierstvo sú dva príkazy a SSH tunel. Fyzika spočíva v tom, že 1.8 MB pozorovanie musí dosiahnuť GPU v inej krajine a vrátiť sa skôr, než rameno vyčerpá akcie. Urobte si výpočty pred prenájmom čohokoľvek, vyberte si úlohu, ktorá toleruje zastarané pozorovanie, a zvýšte horizont vykonávania namiesto toho, aby ste dúfali, že sa spojenie zlepší.

Ak ste ešte nenahrali dátovú sadu, a sú na prvom mieste a záznam vysvetľuje, čo zapisuje nahrávač. Pozadie je v a v ; odkazuje každé číslo benchmarku na zdroj.

Sources

Sources

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started