Az AY-Robots kipróbálási oldal: három módja annak, hogy robot birtoklása nélkül kezdjen, beleértve a GPU bérlését az irányelv következtetéshez
GR00T N1.7Távoli következtetésFelhő GPULeRobotSO-100Késleltetés

GR00T következtetés futtatása helyi GPU nélkül

AY-Robots ResearchAugust 23, 202619 perc olvasás

A robotgépe nem rendelkezik GPU-val. Helyezze a GR00T irányelv szervert egy bérelt felhő alapú GPU-ra, streamelje az akciócsomagokat a karra, és tudja meg pontosan, mennyibe kerül a hálózati forgalom.

Egy Raspberry Pi elegendő ahhoz, hogy meghajtson egy soros buszon keresztül, és képkockákat húzzon le két USB kameráról. Nem elegendő egy hárommilliárd paraméteres : Az NVIDIA README-je szerint a GR00T N1.7 következtetéshez egy GPU szükséges 16 GB vagy több VRAM-mal. Ahhoz, hogy lássa, mit csinál a finomhangolt ellenőrzőpont a karon anélkül, hogy kártyát vásárolna, helyezze a szabályzatot egy bérelt felhő GPU-ra, tartsa a robot hurkot az USB portokkal rendelkező gépen, és küldje az észleléseket és akció darabokat a hálózaton keresztül.

Működik, nem ingyenes, és az ár nem oszlik el egyenletesen a feladatok között. Alább: az NVIDIA saját szabályzati szervere, a lerobot aszinkron stackje, az aritmetika, amely előre megmondja, hogy az uplinkje elég gyors-e, és a platform útvonal. Mindez ellenőrizve az Isaac-GR00T fő ágával (N1.7 GA) és a lerobot 0.6.1-gyel 2026. augusztus 23-án.

Amit tudnia kell

  • A GR00T N1.7, GR00T N1.5 és Pi0.5 nagyjából 3 milliárd paraméteres modellek. Egyik sem fér el egy robotvezérlőn diszkrét GPU nélkül.
  • Az Isaac-GR00T és a lerobot is kliens-szerver felosztással érkezik. Nem Ön írja a transzportot.
  • Az észlelések dominálják a hálózati költséget, nem az akciók: két tömörítetlen 640x480 RGB képkocka 1 843 200 bájt, körülbelül 14.7 Mbit hívásonként, és egyik stack sem tömöríti őket.
  • Az AY-Robots modellenként 20-485 ms-ot sorol fel akció lépésenként. Az internetes oda-vissza utak ehhez adódnak.
  • A távoli következtetés lassú pick-and-place feladatokhoz alkalmas, nem gyors reaktív mozgáshoz. A hosszabb végrehajtási horizont időt nyer, és az észlelés frissességének rovására megy.
  • Egyik szerver sem biztonságos nyilvános IP-n, ahogy szállítják, és a lerobot egy javítatlan RCE-t tartalmaz. Alagutazza be.

Miért nem fér el a szabályzat a robotgépen

Az AY-Robots által betanítható öt irányelv közül kettő munkaállomás-kártyán fut, három nem. A következtetési késleltetés oszlop alább műveleti lépésenként értendő, és ez az a szám, amely versenyez a hálózati oda-vissza útjával.

IrányelvParaméterekKövetkeztetés műveleti lépésenkéntGPU szint a betanításhozMin. epizódokAdathalmaz formátum
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
Az AY-Robots irányelvek oldala, amely összehasonlítja az öt betanítható irányelvet paraméterek, GPU szint, következtetési késleltetés és minimális epizódok alapján
Ugyanaz az öt sor a /policies oldalon. A késleltetési oszlop dönti el, hogy egy irányelv túléli-e a hálózati ugrást.

Ezt döntésként értelmezze, nem érdekességként. ACT 20 ms/lépés sebességgel fut a robotgépen, és soha többé nem kell gondolnia rá. Pi0.5 485 ms-nál egyharmad másodpercet töltött el, mielőtt egy csomag elhagyja az épületét. A irányelv összehasonlítás és GR00T N1.7 vs Pi0.5 hozzáadják a pontossági oldalt.

Az ACT-nek nincs alapmodellje

A GR00T N1.7, GR00T N1.5 és Pi0.5 egy gyártói ellenőrzőpontról indul (nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B, lerobot/pi05_base). Az ACT nem létezik, amíg nem képzi ki saját feladatára, így addig nincs mit távolról kiszolgálni, amíg egy képzési feladat le nem futott. Lásd: ACT az SO-100-on.

A két már létező kliens-szerver verem

Az Isaac-GR00T egy ZeroMQ kérés-válasz szervert szállít; a lerobot egy gRPC szervert szállít, amely aszinkron következtetés köré épül. Mindkettő elfogad egy GR00T ellenőrzőpontot. A lerobot támogatott irányelvlistája a async_inference/constants.py a act, smolvla, diffusion, tdmpc, vqbet, pi0, pi05 és groot; robotlistája pedig a so100_follower, so101_follower, bi_so_follower és omx_follower.

Isaac-GR00T PolicyServerlerobot async inference
Belépési pontgr00t/eval/run_gr00t_server.pypython -m lerobot.async_inference.policy_server
SzállításZeroMQ REQ/REPgRPC, add_insecure_port / insecure_channel
Szerializációmsgpack + msgpack_numpy, allow_pickle=False enforcedpickle.dumps / pickle.loads, marked # nosec
Alapértelmezett port55558080
Alapértelmezett kötés0.0.0.0, összes interfészlocalhost
Hitelesítésapi_token, amelyet az osztály támogat, de a CLI nem ad átnincs
Kliens időtúllépés15000 ms (PolicyClient timeout_ms)2 s observation queue timeout
Végrehajtási modellszinkron: blokkol, majd végrehajtja a darabotaszinkron: végrehajtja, miközben a következő darab számít

A szerializációs sor fontosabb, mint amilyennek látszik. A GR00T MsgSerializer elutasítja az objektum-dtype ndarray hasznos adatokat mindkét irányban, mert a msgpack_numpy egyébként átadná őket a pickle-nek. A lerobot ehelyett pickle-t használ: policy_server.py hívja a pickle.loads függvényt a kérés adatokon, a robot_client.py pickle-zi az általa küldött megfigyelést. Megvédhető egy megbízható LAN-on, de védhetetlen, ha a port elérhető az internetről.

A útvonal: Az NVIDIA saját GR00T irányelv szervere

Ez az az útvonal, amelyet az NVIDIA dokumentál az SO-100 és SO-101 hardverekhez, és ezt kell használni, ha a checkpointja a examples/finetune.sh fájlból származik, a --embodiment-tag NEW_EMBODIMENT paraméterrel. A lépések kiegészítik azt, amit az upstream README kihagy: a port eljuttatása a robothoz anélkül, hogy mindenki más számára elérhetővé tennénk.

  1. 1
    GR00T telepítése a bérelt GPU dobozra

    Az almodulok szükségesek, és a git-lfs-nek léteznie kell a klónozás előtt, különben a demo_data parquet fájljai mutatókként érkeznek. A flash-attn és a TensorRT az alapértelmezett telepítéssel érkezik. Egy friss pod image-en a csapda: a torchcodec 0.8.0 az egyetlen támogatott videó backend, és csak az FFmpeg 4-7-et tölti be. Az Ubuntu 25.10 és 26.04 az FFmpeg 8-at szállítja, így a GR00T hibát jelez Could not load libtorchcodec üzenettel. Telepítsen egy 8 alatti FFmpeg-et, és tegye a könyvtárait az LD_LIBRARY_PATH-ra.

    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
    Hitelesítés a zárt gerinchálózat ellen

    Minden GR00T N1.7 checkpoint, beleértve a saját finomhangolását is, az első használatkor betölti a zárt nvidia/Cosmos-Reason2-2B modellt. Kérjen hozzáférést a modell oldalán, és jelentkezzen be a podon, különben a betöltés GatedRepoError hibával meghiúsul.

    bash
    uv run huggingface-cli login
    # or:  export HF_TOKEN=<your_token>
  3. 3
    Az irányelv szerver indítása

    Mutasson a --model-path paraméterrel a checkpoint könyvtárára; ezen az útvonalon a szerver figyelmen kívül hagyja a --modality-config-path paramétert, amelyet csak a visszajátszási útvonalon olvas be. Hagyja el a --model-path paramétert, és adja át helyette a --dataset-path és a --execution-horizon paramétereket egy ReplayPolicy-hoz, amely rögzített műveleteket játszik vissza, ami a legolcsóbb módja annak, hogy bebizonyítsa a bekötés működését.

    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
    Az 5555-ös port alagutazása a robotgéphez

    Kösse a loopback-hez, ahogy fentebb, és vigye át a portot SSH-n vagy egy WireGuard-szerű hálózaton keresztül. Ez biztosítja azt a titkosítást és hitelesítést, amit a ZeroMQ socket nem, körülbelül egy milliszekundum alatt.

    bash
    # on the robot machine
    ssh -N -L 5555:127.0.0.1:5555 root@<pod-host> -p <pod-ssh-port>
    
    # sanity check that something answers
    nc -vz 127.0.0.1 5555
  5. 5
    A robot kliens futtatása a szervók mellett

    A kliensnek saját uv környezetre van szüksége: a lerobot robotmeghajtóit akarja, nem a képzési stack-et. Az eval_so100.py importálja az so100_follower, so101_follower és koch_follower modulokat, ezért adja át a karjának megfelelő --robot.type paramétert (az upstream README az so101_follower-t használja). A kamera kulcsoknak meg kell egyezniük a képzéssel: az adapter pontosan a front és wrist kulcsokat olvassa, és ezek felcserélése rossz nézetet mutat az irányelvnek.

    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"
Két alapértelmezés, ami problémát okozhat

A run_gr00t_server.py alapértelmezetten a --host 0.0.0.0-t használja, minden interfészt kötve: egy nyilvános IP-vel rendelkező podon ez egy nyitott következtetési végpont. A PolicyServer osztály elfogad egy api_token-t és kérésenként érvényesíti azt, de a run_gr00t_server.py sosem ad át ilyet, így a CLI szerver hitelesítés nélküli, bármit is konfiguráljon. Kössön a 127.0.0.1-hez és használjon tunnelt. Egy ZMQError: Address already in use azt jelenti, hogy az 5555-ös port foglalt; adja át a --port paramétert.

B útvonal: lerobot aszinkron következtetés

A lerobot egy másik problémát old meg. Ahelyett, hogy blokkolná a robotot, amíg a modell gondolkodik, a kliens folyamatosan lépteti a már meglévő sorát, miközben a szerver kiszámítja a következő darabot. Ez az akció darabolás továbbfejlesztett változata, az aszinkron verem, amelyet a SmolVLA vezetett be. GR00T ellenőrzőponttal is működik.

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
Szabályzatszerver a GPU-n, robotkliens az USB portokkal rendelkező gépen

A szerver üresen indul: nem tudja, milyen irányelvet szolgál ki, amíg az ügyfél első kézfogása nem közli vele, ami kényelmes egy bérelt podon. A két gomb, amely eldönti, hogy a kar simán mozog-e, a actions_per_chunk és a chunk_size_threshold (a lerobot dokumentációja a másodikat g-nek nevezi, a SmolVLA tanulmány után), és a dokumentált értékek és a szállított értékek nem egyeznek.

ParaméterÉrték a lerobot 0.6.1 kódbanMit csinálMegjegyzés
actions_per_chunkno default, requiredHívásonként visszaadott műveletekA dokumentációs táblázat 50-et sorol fel; az adatosztály mezőnek nincs alapértelmezett értéke, így a CLI értéket követel meg
chunk_size_threshold0.5Sor kitöltési arány, amelynél vagy az alatt az ügyfél új megfigyelést küldA dokumentációs táblázat 0.7-et mond; a kód és a dokumentáció saját példája 0.5-öt mond
fps30Ügyfél vezérlési sebesség, beállítja az environment_dt = 1/fps értéketCsökkentse, ha a sor folyamatosan ürül
inference_latency1/30 s (33.3 ms)Célzott következtetési késleltetés a szerverenEgy cél, nem mérés
obs_queue_timeout2 sMeddig vár a szerver a megfigyelési sorraEgy lassú uplink itt jelentkezik először
aggregate_fn_nameweighted_averageHogyan keverednek az átfedő chunk régiók0.3 régi + 0.7 új; a latest_only, average és conservative is szállítva van. A regiszter az AGGREGATE_FUNCTIONS a configs.py-ban található, nem a robot_client.py-ban, ahogy a dokumentáció állítja
A lerobot irányelv szerver nem javított RCE-vel rendelkezik

A CVE-2026-25874 egy nem hitelesített távoli kódfuttatás a lerobot aszinkron következtetési pipeline-jában: pickle.loads() a nem hitelesített gRPC csatornán TLS nélkül fogadott adatokon, amely a SendPolicyInstructions, SendObservations és GetActions hívásokon keresztül érhető el. CWE-502, CVSS 3.1 alap pontszám 9.8 az NVD-től, 4.0 alap pontszám 9.3 a kijelölő CNA-tól. A rekord a LeRobot 0.5.1-ig érintettként sorolja fel, és megnevezi mind az irányelv szervert, mind a robot klienst, így a karja melletti gép is érintett. A frissítés nem a megoldás: a rekord a 3047-es upstream hibát és a javítást, a PR 3048-at említi, amely a pickle-t safetensors plusz JSON-ra cseréli, és 2026. augusztus 23-án mindkettő még nyitva van. A policy_server.py a main ágon továbbra is meghívja a pickle.loads-t a kérés adatokon, miközben a serve() az add_insecure_port-tal kötődik. Kössön loopback-re, és soha ne port-forward-oljon 8080-at.

Az aritmetika, amely eldönti, hogy a kapcsolata elég gyors-e

Az emberek ezt kihagyják, majd egy napot töltenek azzal, hogy egy olyan irányelvvel, amely mozgás közben lefagy. Két percet vesz igénybe, és szinte mindig döntő.

Az NVIDIA eval_so100.py kommentált megfigyelési szótára leírja, mi kerül a vezetékre: két (480, 640, 3) alakú uint8 tömb, hat ízületi lebegőpontos szám, egy nyelvi karakterlánc. Ez 921 600 bájt képkockánként, 1 843 200 bájt két kamerához, körülbelül 14,7 Mbit, és egyik verem sem JPEG-tömöríti. A visszatérő adatcsomag néhány tucat lépés 6 lebegőpontos számmal. A feltöltésed dönt el mindent, nem a letöltésed.

Feltöltési sávszélességIdő egy megfigyelés feltöltéséhez (14,7 Mbit)Ítélet egy 30 FPS-es karhoz
10 Mbit/s, tipikus otthoni feltöltés~1.47 sHasználhatatlan. A kar minden adatcsomag között megáll.
25 Mbit/s~0.59 sCsak lassú felvétel és elhelyezés, hosszú végrehajtási horizonttal.
50 Mbit/s~0.29 sMegfontolt feladatokhoz használható.
100 Mbit/s~0.15 sRendben van felvételhez és elhelyezéshez, gyors mozgásnál látható.
1 Gbit/s optikai vagy adatközpont~0.015 sEhelyett a modell válik szűk keresztmetszetté.

A költségvetés, amibe bele kell férnie

A GR00T SO-100 kliens szinkron: meghívja a policy.get_action(obs), végrehajtja az első action_horizon lépését a szeletnek 30 FPS-en, majd újra meghívja. A szelet mérete és a horizont különböző számok: az NVIDIA telepítési útmutatója 16-os akció szeletméretet javasol, legalább 32-t valós idejű szeleteléssel kombinálva, míg a eval_so100.py 8-as végrehajtási horizonttal érkezik. Nyolc lépés 30 FPS-en 267 ms mozgást jelent hívásonként, és minden másnak bele kell férnie ebbe.

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
Példa: 100 Mbit/s feltöltési sebesség, 30 ms oda-vissza út, GR00T N1.7

A horizont növelése egy durva, és nem ingyenes megoldás: a kar egy már elavult megfigyelés alapján cselekszik. Az elvi megoldás a valós idejű szeletelés (real-time chunking, RTC), amely kiszámítja a következő szeletet, miközben az aktuális fut, befagyasztja a garantáltan végrehajtandó akciókat, és kiegészíti a többit; az RTC tanulmány szerint robusztus az inferencia késleltetésével szemben, újratanítás nélkül. Először ellenőrizze, hol tart ez. Az NVIDIA az RTC-t kísérletinek jelöli, egy alacsony szintű modell primitívának, amely elérhető a action_head.get_action(..., options={"rtc_overlap_steps": ..., "rtc_frozen_steps": ...}), nincs bekötve a Gr00tPolicy-ba vagy a szerver-kliens útvonalba, ahol az options nincs használva, tesztek és példa nélkül. Egy policy szerveren keresztül aszinkron végrehajtást kap, nem RTC-t.

Mennyibe kerül a modell, mielőtt a hálózat bekapcsolódna

Az NVIDIA a GR00T N1.7-et végponttól végpontig 4 zajszűrő lépéssel, egy kamerával teszteli. Egy H100 80GB HBM3-on: 85.8 ms (11.7 Hz) PyTorch eager módban, 48.6 ms (20.6 Hz) torch.compile-lal, 27.9 ms (35.9 Hz) a TensorRT teljes pipeline-nal. Egy L40 eager módban 128.3 ms-ot (7.8 Hz) vesz igénybe. Az NVIDIA a 10 Hz-et nevezi meg a tipikus manipulációhoz ajánlott minimumnak, és a 10 Hz alatti értékeket csak lassú, nem reaktív feladatokhoz tartja megfelelőnek. Ezek újratervezési ráták: egy 10 Hz-es policy továbbra is képes egy 30 FPS-es kart irányítani akció szeleteléssel. Egy második kamera rossz irányba visz.

Mérje meg, mielőtt megbízik benne

Minden fenti szám egy előrejelzés. Négy parancs méréssé alakítja, amit érdemes lefuttatni, mielőtt egy pod-órát egy olyan feladatra szánnánk, ami sosem fog működni.

  1. 1
    A nyers oda-vissza út lekérése

    A pod ellen, nem CDN ellen. Figyelje a szórást olyan szorosan, mint az átlagot: a jitter okozza a kar akadozását, nem az átlagos késleltetést.

    bash
    ping -c 50 <pod-host>
    # the mdev column is the number that predicts stutter
  2. 2
    Mérje meg a meglévő feltöltési sebességet, ne azt, amiért fizet

    Az otthoni feltöltési sebesség általában a letöltési sebesség töredéke, és ez az a szám a fenti sávszélesség táblázatban.

    bash
    # on the pod
    iperf3 -s
    
    # on the robot machine, -R omitted so this measures upload
    iperf3 -c <pod-host> -t 30
  3. 3
    Olvassa el a kliens saját késleltetési naplóját

    A lerobot robot kliens naplózza a szerver-kliens késleltetést és a deszerializációs időt minden adatcsomaghoz. B útvonalon nincs szüksége külső eszközökre.

    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
    Figyelje az akciósor kiürülését

    Adja át a --debug_visualize_queue_size=True paramétert, és a kliens futásidőben ábrázolja a sor méretét. Ha ismételten nullát ér el, kifogyott a keretből: csökkentse az fps-t, növelje az actions_per_chunk értékét, vagy növelje a chunk_size_threshold értékét, hogy a megfigyelések gyakrabban kerüljenek kiküldésre.

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

Mire is jó valójában a távoli következtetés

Szabályzat bérelt GPU-n, kar az asztalán
Előnyök
  • Kiértékelhet egy 3 milliárd paraméteres szabályzatot valós hardveren anélkül, hogy olyan kártyája lenne, ami többe kerül, mint a kar.
  • A GPU óránként bérelhető, így egy sikertelen ellenőrzőpont néhány dollárba kerül.
  • A robot oldala kicsi marad: lerobot illesztőprogramok, két kamera, egy soros port, és ellenőrzőpontokat cserélhet anélkül, hogy hozzáérne.
Kompromisszumok
  • A tömörítetlen megfigyelések dominálják a hálózati költségeket, és a lakossági feltöltés a szűk keresztmetszet.
  • A jitter jobban árt, mint a késleltetés: egy 40 ms átlagos, 300 ms-os csúcsokkal rendelkező kapcsolat akadozik, ahol egy stabil 120 ms-os kapcsolat nem.
  • A gyors reaktív feladatok nem élik túl az oda-vissza utat semmilyen időtávon.
  • Mindkét szerver hitelesítés nélkül, CLI formában érkezik, így az alagútépítés az Ön feladata.
  • A megszakadt kapcsolat egy adatcsomag közepén a kart egy elavult művelettel hagyja. Adjon hozzá saját felügyelő robotot a robot oldalán.
FeladatMűködik nyilvános interneten keresztül?Miért
Válasszon egy statikus tárgyat, helyezze egy tárolóbaIgenSemmi sem mozog a megfigyelés és a cselekvés között.
Téglák egymásra rakása megfontolt tempóbanIgen, action_horizon 16 vagy több eseténA hibák elég lassan halmozódnak fel ahhoz, hogy a következő adatcsomagban javíthatók legyenek.
Nyisson ki egy fiókot, helyezzen be egy tárgyatÁltalábanÉrintésgazdag, de lassú. Figyeljen a megállásokra és indulásokra érintkezéskor.
Követni egy mozgó tárgyatNemA szabályzat egy 300 ms és 1 s közötti régi megfigyelés alapján cselekszik.
Elkapni, egyensúlyozni, vagy csúszásból felépülniNemA korrekciós ablak rövidebb, mint egy oda-vissza út.
Egy 30 Hz-es szinkron zárt hurokNemA költségvetés 33 ms végponttól végpontig. Még egy LAN is küzd.

Ha egy távoli futtatás minden epizódban ugyanazon a ponton akadozik, valószínűleg nem a hálózat az ok. Egy szabályzat, amely minden alkalommal ugyanazon az ízületi szögnél habozik, általában adatprobléma; lásd a hibamódok oldalai, különösen a egy szabályzat, amely csak egy beállításban működik és a veszteség csökken, de a szabályzat nem tesz semmit.

Csináld magad vs. csináld az AY-Robots-on

  1. Béreljen GPU-t egy spot piacon, és várjon elegendő VRAM-ra az Önnek megfelelő áron.
  2. Telepítse a CUDA-t, az uv-t, egy ffmpeg torchcodec-et, és a GR00T stack-et almodulokkal.
  3. Kérjen hozzáférést a zárt nvidia/Cosmos-Reason2-2B gerinchez, és helyezzen el egy tokent a podon.
  4. Húzza le a ellenőrzőpontját a podra.
  5. Indítsa el a szervert loopback módban, majd építsen SSH alagutat a robotgépről.
  6. Telepítsen egy második környezetet a robotgépre az ügyfél és a meghajtók számára.
  7. Illessze a kamera kulcsokat, ízületneveket és a nyelvi utasítást ahhoz, amit az ellenőrzőpont látott.
  8. Figyelje a podot. Egy elfelejtett, éjszaka futó A100 többe kerül, mint a kísérlet.
Az üresjárati pod az igazi költség

A GPU számla nem áll le, amikor a robot leáll. A távoli következtetésen elvesztett pénz nagy része egy olyan szerverre megy, amely bekapcsolva maradt, miután mindenki elment. Állítson be riasztást, vagy automatizálja a leállítást.

Az AY-Robots MCP szerver oldala, amely felsorolja az AI ügynökök számára eszközként feltárt platformműveleteket
Az MCP oldal: kiépítési és következtetési műveletek, amelyek ügynökök által hívható eszközökként vannak feltárva.

Mennyibe kerül egy távoli következtetési munkamenet

Két szám számít: a kártya óradíja, és az, hogy mennyi ideig hagyja futni. Az elsőt közzéteszik; a második meglepi az embereket.

KártyaRunpod közösségi felhőRunpod biztonságos felhőAjánlott
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/hUgyanez, kicsit gyorsabban
H100 PCIe 80 GB1.99 USD/h2.89 USD/hLeggyorsabb szint; az NVIDIA 11,7 Hz-es eager adata egy H100 80GB HBM3-ra vonatkozik
L40S 48 GB0.79 USD/h0.99 USD/hCsak következtetésre, a 16 GB-os alsó határ felett
RTX 4090 24 GB0.34 USD/h0.74 USD/hSmolVLA, ACT

Ezeket az árakat a Runpod árképzési oldaláról olvastuk le 2026. augusztus 23-án, és a spot piacok változnak. Az AY-Robots ehelyett egy teljes futtatásra ad árajánlatot: 3-6 óra 1,20-2,00 USD/óra áron az A100 vagy H100 szinten, körülbelül 4-12 USD egy GR00T vagy Pi0.5 futtatásért; 2-5 óra 0,30-0,60 USD/óra áron a 24 GB-os szinten, 1-3 USD a SmolVLA vagy ACT futtatásért. Egy következtetési munkamenet csak akkor veri meg a képzési futtatást költségben, ha leállítja, amire az üresjárati figyelő (idle watchdog) szolgál. Lásd a számlázási dokumentációt és az árképzési oldalt.

Az AY-Robots költségtáblázata, amely megmutatja, hogy melyik GPU-ra van szüksége az egyes irányelveknek, a tipikus futási időt és árat, valamint az epizódokat, mielőtt egy irányelv hasznos lenne.
A /try oldalon található költségtáblázat: melyik kártyára van szüksége az egyes modelleknek, és mennyibe kerül egy tipikus futtatás.

Ha inkább nem szeretné, hogy a hálózat is benne legyen a körben

A távoli következtetés hardverproblémát old meg és késleltetési problémát hoz létre. Néha a jobb válasz egy olyan irányelv, amely illeszkedik a meglévő hardverhez.

  • ACT, nagyjából 80 M paraméter és 20 ms műveleti lépésenként, 50 epizód minimum, bármilyen 24 GB-os kártya. Ismétlődő, egyfeladatos beállítás esetén gyakran felülmúl egy távoli 3 B modellt, mert soha nem vár csomagra.
  • SmolVLA, nagyjából 450 M paraméter és 245 ms műveleti lépésenként, 30 epizód minimum. Megtartja azt a nyelvi kondicionálást, ami az ACT-ből hiányzik, és a lerobot dokumentációja szerint körülbelül 2 GB-ot igényel következtetéskor, szemben a PI0 nagyjából 14 GB-jával.
  • ACT vs GR00T N1.7 a kompromisszum pontossági feléhez.

Létezik egy középső út is: képzés a felhőben, kiértékelés helyben. Finomhangolás igényli a 80 GB-os kártyát és nem törődik a késleltetéssel, így GR00T N1.7 képzése egy SO-100-on távolról vitathatatlan. Csak a kiértékelési ciklusnak van valós idejű korlátja; a képzési dokumentáció és a modell- és kar-mátrix fedi le ezt a felét.

Még nincs kar az asztalon?

Vezessen egy valódi SO-100-at a böngészőben regisztráció nélkül, hasonlítsa össze az öt betanítható irányelvet valós késleltetési adataikkal, vagy béreljen egy GPU-t és tanítson be egyet. Háromféleképpen kezdheti, egyik sem igényel olyan hardvert, amivel nem rendelkezik.

Próbálja ki hardver nélkül

Gyakran ismételt kérdések

Futtathatom a GR00T N1.7-et Raspberry Pi-n, ha a GPU távoli?

Igen, erre szolgál a kliens-szerver szétválasztás. A Pi futtatja a lerobot illesztőprogramokat, két kamerát és egy soros buszt olvas, és megfigyeléseket küld a policy szervernek; soha nem tölti be a modellt. A korlát a VRAM-ról a feltöltési sávszélességre tevődik át: két tömörítetlen 640x480 RGB kép 1 843 200 bájt hívásonként, és egyik stack sem tömöríti őket.

Mennyi késleltetést ad hozzá valójában a hálózat?

Oda-vissza út ideje plusz megfigyelés átviteli ideje. Az átviteli idő 14,7 Mbit osztva a feltöltési sávszélességgel: nagyjából 147 ms egy 100 Mbit/s-os kapcsolaton, 1,47 s egy 10 Mbit/s-os kapcsolaton. Mindkettő a modell saját következtetési idejére rakódik, amelyet az AY-Robots 152 ms-ként sorol fel a GR00T N1.7 és 485 ms-ként a Pi0.5 esetében. Mérje ping és iperf3 segítségével a pod ellen, ne sebességmérő szerver ellen.

Elég jó a távoli következtetés egy valós feladathoz?

Lassú, megfontolt felvételhez és elhelyezéshez igen. Bármilyen reaktív feladathoz nem. Az NVIDIA telepítési útmutatója a szinkron egylépéses követelményt nagyjából 33 ms végponttól végpontig 30 FPS-nél, és megjegyzi, hogy a rögzítés, hálózat, következtetés és utófeldolgozás rendszeresen meghaladja ezt, internet nélkül is.

Melyik portot használják a szerverek, és biztonságos megnyitni?

Az Isaac-GR00T PolicyServer alapértelmezés szerint az 5555-ös portot használja ZeroMQ-n keresztül, és 0.0.0.0-t köt a CLI-jében. A lerobot alapértelmezés szerint a 8080-as portot használja gRPC-n keresztül, és localhost-ot köt. Egyik sem biztonságos kitenni: a GR00T osztály támogatja az api_token-t, de a run_gr00t_server.py soha nem ad át ilyet, és a lerobot bizonytalan gRPC csatornán keresztül pickle-zi az adatokat, ami CVE-2026-25874. Kössön loopback-re és használjon SSH alagutat.

Megoldja a lerobot frissítése a CVE-2026-25874-et?

2026. augusztus 23-án még nem. A CVE rekord a LeRobot 0.5.1-ig terjedő verzióit érintettként sorolja fel, és a PyPI a 0.6.1-et szállítja, de a pull request, amely eltávolítaná a pickle-t az aszinkron pipeline-ból, még nyitva van, és a policy_server.py a main ágon továbbra is meghívja a pickle.loads-ot a kérés adatokon. Kezelje a hálózati izolációt enyhítésként, ne verziófrissítésként, és feltételezze, hogy a robot oldali kliens is érintett.

Használhatom a lerobot aszinkron kliensét GR00T ellenőrzőponttal?

Igen. A lerobot 0.6.1 a groot-ot a SUPPORTED_POLICIES listájában sorolja fel az act, smolvla, diffusion, tdmpc, vqbet, pi0 és pi05 mellett, és mind az so100_follower, mind az so101_follower a SUPPORTED_ROBOTS-ban található. Adja át a --policy_type=groot paramétert, és mutasson a --pretrained_name_or_path-tal az ellenőrzőpontjára. Aszinkron végrehajtást kap, amit a GR00T SO-100 példa nem implementál, a pickle transzport költségén.

A rövid változat

Távoli következtetés egy 3 B irányelv egy megoldott mérnöki probléma, amelyhez egy megoldatlan fizikai probléma is társul. A mérnöki rész két parancs és egy SSH alagút. A fizika az, hogy egy 1,8 MB-os megfigyelésnek el kell jutnia egy másik országban lévő GPU-hoz, és vissza kell térnie, mielőtt a kar kifutna a cselekvésekből. Végezze el a számításokat, mielőtt bármit bérelne, válasszon olyan feladatot, amely tolerálja az elavult megfigyelést, és növelje a végrehajtási horizontot ahelyett, hogy reménykedne a kapcsolat javulásában.

Ha még nem rögzítettél adathalmazt, és az jön először, és a bejegyzés elmagyarázza, mit ír a rögzítő. A háttér a és a ; az minden benchmark számot egy forráshoz kapcsol.

Sources

Sources

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started