Faqja e provës AY-Robots: tre mënyra për të filluar pa zotëruar një robot, duke përfshirë marrjen me qira të një GPU-je për inferencën e politikave
GR00T N1.7Inferencë në DistancëGPU në ReLeRobotSO-100Vonesë

Ekzekutoni Inferencën GR00T Pa një GPU Lokale

AY-Robots ResearchAugust 23, 202619 min lexuar

Makina juaj robotike nuk ka GPU. Vendosni serverin e politikave GR00T në një GPU të marrë me qira në re, transmetoni pjesë veprimesh te krahu dhe mësoni saktësisht se çfarë ju kushton rrjeti.

Një Raspberry Pi është i mjaftueshëm për të drejtuar një përmes një baze serike dhe për të marrë korniza nga dy kamera USB. Nuk është e mjaftueshme për të ekzekutuar një model me tre miliardë parametra : README i NVIDIA-s e vendos inferencën e GR00T N1.7 në një GPU me 16 GB ose më shumë VRAM. Për të parë se çfarë bën pika juaj e kontrollit e në krah pa blerë një kartë, vendoseni politikën në një GPU të marrë me qira në cloud, mbajeni ciklin e robotit në makinën me portat USB dhe dërgoni vëzhgimet dhe copëzat e veprimeve përmes rrjetit.

Funksionon, nuk është falas dhe çmimi nuk shpërndahet në mënyrë të barabartë nëpër detyra. Më poshtë: serveri i politikave i NVIDIA-s, staku asinkron i lerobot-it, aritmetika që tregon paraprakisht nëse lidhja juaj ngjitëse është mjaftueshëm e shpejtë dhe rruga e platformës. E gjithë kjo u kontrollua kundrejt degës kryesore të Isaac-GR00T (N1.7 GA) dhe lerobot 0.6.1 më 23 gusht 2026.

Çfarë duhet të dini

  • GR00T N1.7, GR00T N1.5 dhe Pi0.5 janë modele me rreth 3 B parametra. Asnjëra nuk përshtatet në një kontrollues roboti pa një GPU diskrete.
  • Isaac-GR00T dhe lerobot të dy ofrojnë një ndarje klient-server. Ju nuk shkruani transportin.
  • Vëzhgimet dominojnë koston e transmetimit, jo veprimet: dy korniza RGB 640x480 të pakompresuara janë 1,843,200 bajt, rreth 14.7 Mbit për thirrje, dhe asnjëri prej stakëve nuk i kompreson ato.
  • AY-Robots liston 20 deri në 485 ms për hap veprimi sipas modelit. Udhëtimet vajtje-ardhje në internet shtohen mbi këtë.
  • Inferenca në distancë i përshtatet lëvizjeve të ngadalta 'pick-and-place', jo lëvizjeve të shpejta reaktive. Një horizont më i gjatë ekzekutimi blen kohë dhe kushton freskinë e vëzhgimit.
  • Asnjëri server nuk është i sigurt në një IP publike siç shpërndahet, dhe ai i lerobot-it mbart një RCE të pa-patch-uar. Tunelojeni atë.

Pse politika nuk do të përshtatet në makinën e robotit

Dy nga pesë politikat që AY-Robots mund të trajnojë funksionojnë në një kartë pune, tre jo. Kolona e më poshtë është për hap veprimi, dhe ky është numri që konkurron me udhëtimin e rrjetit tuaj vajtje-ardhje.

PolitikaParametratInferenca për hap veprimiNiveli i GPU-së për trajnimEpizodet minimaleFormati i grupit të të dhënave
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
Faqja e politikave të AY-Robots që krahason pesë politikat e trajnueshme sipas parametrave, nivelit të GPU-së, vonesës së inferencës dhe epizodave minimale
Të njëjtat pesë rreshta në /policies. Kolona e vonesës vendos nëse një politikë i mbijeton një hapi rrjeti.

Lexojeni këtë si një vendim, jo si gjëra të parëndësishme. me 20 ms për hap funksionon në makinën robotike dhe nuk do të mendoni më kurrë për të. me 485 ms ka kaluar një e treta e sekondës para se një paketë të largohet nga ndërtesa juaj. dhe shtojnë anën e saktësisë.

ACT nuk ka model bazë

GR00T N1.7, GR00T N1.5 dhe Pi0.5 fillojnë nga një pikë kontrolli e shitësit (nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B, lerobot/pi05_base). ACT nuk ekziston derisa ta trajnoni atë në detyrën tuaj, kështu që nuk ka asgjë për të shërbyer në distancë derisa të ketë përfunduar një punë trajnimi. Shih ACT on SO-100.

Dy shtresat klient-server që ekzistojnë tashmë

Isaac-GR00T ofron një server kërkesë-përgjigje ZeroMQ; lerobot ofron një server gRPC të ndërtuar rreth inferencës asinkrone. Të dyja pranojnë një GR00T pikë kontrolli. Lista e politikave të mbështetura nga lerobot në async_inference/constants.py është act, smolvla, diffusion, tdmpc, vqbet, pi0, pi05 dhe groot; lista e robotëve të tij është so100_follower, so101_follower, bi_so_follower dhe omx_follower.

Isaac-GR00T PolicyServerlerobot async inference
Pikë hyrjegr00t/eval/run_gr00t_server.pypython -m lerobot.async_inference.policy_server
TransportiZeroMQ REQ/REPgRPC, add_insecure_port / insecure_channel
Serializimimsgpack + msgpack_numpy, allow_pickle=False enforcedpickle.dumps / pickle.loads, marked # nosec
Porta e paracaktuar55558080
Lidhja e paracaktuar0.0.0.0, të gjitha ndërfaqetlocalhost
Autentifikimiapi_token i mbështetur nga klasa, nuk kalohet nga CLIasnjë
Afati kohor i klientit15000 ms (PolicyClient timeout_ms)2 s afat kohor i radhës së vëzhgimit
Modeli i ekzekutimitsinkron: blloko, pastaj ekzekuto bllokunasinkron: ekzekuto ndërsa blloku tjetër llogaritet

Rreshti i serializimit ka më shumë rëndësi sesa duket. MsgSerializer i GR00T refuzon ngarkesat ndarray të tipit object-dtype në të dy drejtimet, sepse msgpack_numpy përndryshe do t'i kalonte ato te pickle. lerobot përdor pickle në vend të kësaj: policy_server.py thërret pickle.loads mbi të dhënat e kërkesës, robot_client.py përdor pickle për vëzhgimin që dërgon. E mbrojtshme në një LAN të besuar, e pambrojtshme sapo porta të jetë e arritshme nga interneti.

Rruga A: Serveri i politikave GR00T i NVIDIA-s

Kjo është rruga që NVIDIA dokumenton për harduerin SO-100 dhe SO-101, dhe ajo që duhet përdorur nëse pika juaj e kontrollit doli nga examples/finetune.sh me --embodiment-tag NEW_EMBODIMENT. Hapat shtojnë atë që README-ja origjinale lë jashtë: marrjen e portës te roboti pa e ekspozuar atë ndaj të gjithëve të tjerëve.

  1. 1
    Instaloni GR00T në kutinë GPU të marrë me qira

    Nënmodulet janë të nevojshme, dhe git-lfs duhet të ekzistojë para klonimit ose skedarët parquet në demo_data do të mbërrijnë si tregues. flash-attn dhe TensorRT vijnë me instalimin e paracaktuar. Kurthi në një imazh të ri pod-i: torchcodec 0.8.0 është i vetmi backend video i mbështetur dhe ngarkon vetëm FFmpeg 4 deri në 7. Ubuntu 25.10 dhe 26.04 dërgojnë FFmpeg 8, kështu që GR00T dështon me Could not load libtorchcodec. Instaloni një FFmpeg nën 8 dhe vendosni bibliotekat e tij në 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
    Autentifikohuni kundër shtyllës kurrizore të mbrojtur

    Çdo pikë kontrolli GR00T N1.7, duke përfshirë edhe fine-tune-in tuaj, ngarkon nvidia/Cosmos-Reason2-2B të mbrojtur në përdorimin e parë. Kërkoni akses në faqen e modelit dhe identifikohuni në pod, ose ngarkimi dështon me një GatedRepoError.

    bash
    uv run huggingface-cli login
    # or:  export HF_TOKEN=<your_token>
  3. 3
    Nisni serverin e politikave

    Drejtoni --model-path te direktoriumi juaj i pikës së kontrollit; në atë rrugë serveri injoron --modality-config-path, i cili lexohet vetëm në rrugën e riprodhimit. Lëreni mënjanë --model-path dhe kaloni --dataset-path plus --execution-horizon në vend të kësaj për një ReplayPolicy që riprodhon veprimet e regjistruara, mënyra më e lirë për të provuar se lidhja funksionon.

    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
    Tuneloni portën 5555 te makina e robotit

    Lidheni me loopback, si më sipër, dhe kaloni portën përmes SSH ose një rrjeti të tipit WireGuard. Kjo siguron enkriptimin dhe autentifikimin që socket-i ZeroMQ nuk e bën, për rreth një milisekondë.

    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
    Ekzekutoni klientin e robotit pranë servove

    Klienti ka nevojë për mjedisin e tij uv: ai dëshiron drejtuesit e robotit të lerobot, jo stack-un e trajnimit. eval_so100.py importon so100_follower, so101_follower dhe koch_follower, prandaj kaloni --robot.type që përputhet me krahun tuaj (README-ja origjinale përdor so101_follower). Çelësat e kamerës duhet të përputhen me trajnimin: adaptori lexon saktësisht front dhe wrist, dhe ndërrimi i tyre i tregon politikës pamjen e gabuar.

    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"
Dy parazgjedhje që do t'ju shkaktojnë probleme

run_gr00t_server.py parazgjedhur përdor --host 0.0.0.0, duke lidhur çdo ndërfaqe: në një pod me një IP publike kjo është një pikë fundore e hapur inferencash. Dhe klasa PolicyServer pranon një api_token dhe e vërteton atë për çdo kërkesë, por run_gr00t_server.py nuk e kalon kurrë një të tillë, kështu që serveri CLI është i paautentifikuar pavarësisht se çfarë konfiguroni. Lidhuni me 127.0.0.1 dhe krijoni një tunel. Një ZMQError: Address already in use do të thotë që porti 5555 është i zënë; kaloni --port.

Rruga B: inferenca asinkrone lerobot

lerobot zgjidh një problem tjetër. Në vend që të bllokojë robotin ndërsa modeli mendon, klienti vazhdon të ecë nëpër radhën që tashmë ka ndërsa serveri llogarit bllokun tjetër. Kjo është copëtimi i veprimeve e çuar më tej, stiva asinkrone e prezantuar me SmolVLA. Funksionon edhe me një pikë kontrolli 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
Serveri i politikës në GPU, klienti i robotit në makinën me portat USB

Serveri fillon bosh: ai nuk e di se cilën politikë shërben derisa shtrëngimi i parë i duarve nga klienti t'ia tregojë, gjë që është e përshtatshme në një pod me qira. Dy parametrat që vendosin nëse krahu lëviz pa probleme janë actions_per_chunk dhe chunk_size_threshold (dokumentacioni i lerobot e quan të dytin g, pas punimit SmolVLA), dhe vlerat e dokumentuara dhe vlerat e dërguara nuk përputhen.

ParametriVlera në kodin lerobot 0.6.1Çfarë bënShënim
actions_per_chunkpa vlerë të paracaktuar, e kërkuarVeprime të kthyera për thirrjeTabela e dokumentacionit liston 50; fusha e dataclass nuk ka vlerë të paracaktuar, kështu që CLI kërkon një vlerë
chunk_size_threshold0.5Raporti i mbushjes së radhës në ose nën të cilin klienti dërgon një vëzhgim të riTabela e dokumentacionit thotë 0.7; kodi dhe shembulli i vetë dokumentacionit thonë 0.5
fps30Shkalla e kontrollit të klientit, vendos environment_dt = 1/fpsUleni nëse radha vazhdon të zbrazet
inference_latency1/30 s (33.3 ms)Vonesa e synuar e inferencës në serverNjë objektiv, jo një matje
obs_queue_timeout2 sSa kohë pret serveri në radhën e vëzhgimeveNjë lidhje e ngadaltë shfaqet këtu së pari
aggregate_fn_nameweighted_averageSi bashkohen rajonet e mbivendosura të copave0.3 e vjetër + 0.7 e re; gjithashtu dërgohen latest_only, average dhe conservative. Regjistri është AGGREGATE_FUNCTIONS në configs.py, jo robot_client.py siç pretendon dokumentacioni
Serveri i politikave lerobot ka një RCE të pa-patchuar

CVE-2026-25874 është ekzekutim i kodit në distancë i pa-autentifikuar në pipeline-in e inferencës asinkrone të lerobot: pickle.loads() mbi të dhëna të marra përmes një kanali gRPC të pa-autentifikuar pa TLS, i arritshëm përmes thirrjeve SendPolicyInstructions, SendObservations dhe GetActions. CWE-502, pikë bazë CVSS 3.1 9.8 nga NVD, pikë bazë 4.0 9.3 nga CNA caktuese. Regjistri liston LeRobot through 0.5.1 si të prekur dhe emëron si serverin e politikave ashtu edhe klientin robot, kështu që makina pranë krahut tuaj është në fushëveprim. Përmirësimi nuk është zgjidhja: regjistri citon çështjen upstream 3047 dhe patch-in, PR 3048, i cili ndërron pickle me safetensors plus JSON, dhe më 23 gusht 2026 të dyja janë ende të hapura. policy_server.py në main ende thërret pickle.loads mbi të dhënat e kërkesës ndërsa serve() lidhet me add_insecure_port. Lidhuni me loopback dhe mos bëni kurrë port-forward 8080.

Aritmetika që vendos nëse lidhja juaj është mjaft e shpejtë

Njerëzit e anashkalojnë këtë dhe më pas kalojnë një ditë me . Duhen dy minuta dhe është pothuajse gjithmonë vendimtare.

Fjalori i vëzhgimit me komente në NVIDIA's eval_so100.py thotë se çfarë kalon në rrjet: dy matrica me formë (480, 640, 3) në uint8, gjashtë numra me presje lëvizëse për nyjet, një varg gjuhe. Kjo është 921,600 bajt për kornizë, 1,843,200 bajt për dy kamera, rreth 14.7 Mbit, dhe asnjëra prej tyre nuk e kompreson me JPEG. Blloku që kthehet është disa dhjetëra hapa me 6 numra me presje lëvizëse. Ngarkimi juaj vendos gjithçka, jo shkarkimi juaj.

Gjerësia e brezit të ngarkimitKoha për të dërguar një vëzhgim (14.7 Mbit)Vendimi për një krah 30 FPS
10 Mbit/s, ngarkim tipik shtëpiak~1.47 sE papërdorshme. Krahu ndalon mes çdo blloku.
25 Mbit/s~0.59 sVetëm marrje-vendosje e ngadaltë, me një horizont të gjatë ekzekutimi.
50 Mbit/s~0.29 sE punueshme për detyra të qëllimshme.
100 Mbit/s~0.15 sMirë për marrje-vendosje, e dukshme në lëvizje të shpejtë.
1 Gbit/s fibër ose qendër të dhënash~0.015 sModeli bëhet pengesa në vend të kësaj.

Buxheti ku duhet të përshtateni

Klienti GR00T SO-100 është sinkron: ai thërret policy.get_action(obs), ekzekuton hapat e parë action_horizon të bllokut me 30 FPS, pastaj thërret përsëri. Madhësia e bllokut dhe horizonti janë numra të ndryshëm: udhëzuesi i vendosjes së NVIDIA-s rekomandon një madhësi blloku veprimi prej 16, të paktën 32 kur kombinohet me chunking në kohë reale, ndërsa eval_so100.py ofron një horizont ekzekutimi prej 8. Tetë hapa me 30 FPS janë 267 ms lëvizje për thirrje, dhe gjithçka tjetër duhet të përshtatet brenda kësaj.

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
Shembull i punuar: ngarkim 100 Mbit/s, udhëtim vajtje-ardhje 30 ms, GR00T N1.7

Rritja e horizontit është zgjidhja e drejtpërdrejtë dhe jo falas: krahu vepron mbi një vëzhgim që tani është i vjetër. Zgjidhja parimore është chunking në kohë reale, e cila llogarit bllokun tjetër ndërsa ai aktual po ekzekutohet, ngrin veprimet e garantuara për t'u ekzekutuar dhe pikturon pjesën tjetër; dokumenti i RTC-së e raporton atë si të qëndrueshme ndaj vonesës së inferencës pa ritrajnim. Kontrolloni së pari se ku qëndron kjo. NVIDIA e shënon RTC-në si eksperimentale, një primitiv modeli i nivelit të ulët i arritshëm përmes action_head.get_action(..., options={"rtc_overlap_steps": ..., "rtc_frozen_steps": ...}), i pa lidhur me Gr00tPolicy ose rrugën server-klient, ku options është i papërdorur, pa teste dhe pa shembull. Përmes një serveri politikash ju merrni ekzekutim asinkron, jo RTC.

Çfarë kushton modeli para se të ndërhyjë rrjeti

NVIDIA teston GR00T N1.7 nga fillimi në fund me 4 hapa denoising me një kamerë. Në një H100 80GB HBM3: 85.8 ms (11.7 Hz) në PyTorch eager, 48.6 ms (20.6 Hz) me torch.compile, 27.9 ms (35.9 Hz) me pipeline-in e plotë TensorRT. Një L40 në modalitetin eager merr 128.3 ms (7.8 Hz). NVIDIA e quan 10 Hz minimumin e rekomanduar për manipulime tipike, dhe nën 10 Hz të përshtatshme vetëm për detyra të ngadalta, jo-reaktive. Këto janë riplanifikimi rates: një politikë 10 Hz mund të drejtojë ende një krah 30 FPS përmes chunking-ut të veprimeve. Një kamerë e dytë ju lëviz në drejtimin e gabuar.

Mateni para se t'i besoni

Çdo numër më lart është një parashikim. Katër komanda e kthejnë atë në një matje, që ia vlen të ekzekutohet para se të angazhohet një orë pod-i për një detyrë që nuk do të funksiononte kurrë.

  1. 1
    Merrni udhëtimin e papërpunuar vajtje-ardhje

    Kundër pod-it, jo një CDN. Vëzhgoni devijimin po aq afër sa mesataren: dridhja e bën një krah të ngecë, jo vonesa mesatare.

    bash
    ping -c 50 <pod-host>
    # the mdev column is the number that predicts stutter
  2. 2
    Matni lidhjen ngarkuese që keni, jo atë për të cilën paguani

    Ngarkimi rezidencial është zakonisht një fraksion i shkarkimit, dhe është numri në tabelën e gjerësisë së brezit më lart.

    bash
    # on the pod
    iperf3 -s
    
    # on the robot machine, -R omitted so this measures upload
    iperf3 -c <pod-host> -t 30
  3. 3
    Lexoni regjistrin e vonesës së vetë klientit

    Klienti i robotit lerobot regjistron vonesën server-klient dhe kohën e deserializimit për çdo bllok. Në rrugën B nuk keni nevojë për mjete të jashtme.

    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
    Vëzhgoni zbrazjen e radhës së veprimeve

    Kaloni --debug_visualize_queue_size=True dhe klienti vizaton madhësinë e radhës gjatë ekzekutimit. Nëse vazhdimisht arrin zero, jeni jashtë buxhetit: ulni fps, rrisni actions_per_chunk, ose rrisni chunk_size_threshold në mënyrë që vëzhgimet të dalin më shpesh.

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

Për çfarë është e mirë në të vërtetë inferenca në distancë

Politika në një GPU me qira, krahu në tavolinën tuaj
Avantazhe
  • Ju mund të vlerësoni një politikë me 3 B parametra në pajisje reale pa zotëruar një kartë që kushton më shumë se krahu.
  • GPU-ja merret me qira për orë, kështu që një pikë kontrolli e dështuar kushton disa dollarë.
  • Ana e robotit mbetet e vogël: drejtuesit e lerobot, dy kamera, një port serial, dhe ju ndërroni pikat e kontrollit pa e prekur atë.
Kompromise
  • Vëzhgimet e pakompresuara dominojnë koston e transmetimit, dhe ngarkimi rezidencial është kufizimi kryesor.
  • Jitter dëmton më shumë se vonesa: një lidhje me mesatare 40 ms me kulme deri në 300 ms ngec, ndërsa një lidhje e qëndrueshme 120 ms nuk ngec.
  • Detyrat reaktive të shpejta nuk i mbijetojnë udhëtimit vajtje-ardhje në asnjë horizont.
  • Të dy serverat dërgohen të paautentifikuar në formë CLI, kështu që puna e tunelimit është e juaja.
  • Një lidhje e ndërprerë në mes të bllokut e lë krahun duke mbajtur një veprim të vjetër. Shtoni rojen tuaj në anën e robotit.
DetyraFunksionon në internetin publik?Pse
Zgjidhni një objekt statik, vendoseni në një koshPoAsgjë nuk lëviz midis vëzhgimit dhe veprimit.
Grumbulloni blloqe me një ritëm të qëllimshëmPo, në action_horizon 16 ose më shumëGabimet grumbullohen mjaft ngadalë për t'u rregulluar në bllokun tjetër.
Hapni një sirtar, futni një objektZakonishtI pasur me kontakt por i ngadalshëm. Kujdes nga ndalesat dhe nisjet në kontakt.
Ndiqni një objekt në lëvizjeJoPolitika vepron mbi një vëzhgim të vjetër 300 ms deri në 1 s.
Kapni, balanconi, ose rikuperoni nga një rrëshqitjeJoDritarja e korrigjimit është më e shkurtër se një udhëtim vajtje-ardhje.
Një lak i mbyllur sinkron 30 HzJoBuxheti është 33 ms nga fillimi në fund. Edhe një LAN ka vështirësi.

Nëse një ekzekutim në distancë ngec në të njëjtën pikë në çdo episod, rrjeti ndoshta nuk është shkaku. Një politikë që heziton në të njëjtin kënd të kyçit çdo herë është zakonisht një problem i të dhënave; shihni faqet e mënyrave të dështimit, në veçanti një politikë që funksionon vetëm në një konfigurim dhe humbja bie por politika nuk bën asgjë.

Ta bësh vetë kundrejt ta bësh në AY-Robots

  1. Merrni me qira një GPU në një treg spot dhe prisni për VRAM të mjaftueshme me një çmim që ju pëlqen.
  2. Instaloni CUDA, uv, një ffmpeg torchcodec që pranon, dhe stack-un GR00T me submodule.
  3. Kërkoni qasje në backbone-in e mbyllur `nvidia/Cosmos-Reason2-2B` dhe vendosni një token në pod.
  4. Tërhiqni checkpoint-in tuaj në pod.
  5. Nisni serverin në loopback, pastaj ndërtoni një tunel SSH nga makina e robotit.
  6. Instaloni një mjedis të dytë në makinën e robotit për klientin dhe drejtuesit.
  7. Përputhni çelësat e kamerës, emrat e nyjeve dhe udhëzimin gjuhësor me atë që pa checkpoint-i.
  8. Monitoroni pod-in. Një A100 i harruar që funksionon gjatë natës kushton më shumë se eksperimenti.
Pod-i i papunë është kostoja reale

Fatura e GPU-së nuk ndalon kur ndalon roboti. Shumica e parave të humbura në inferencën në distancë shkojnë në një server që mbeti aktiv pasi të gjithë u larguan. Vendosni një alarm, ose automatizoni çmontimin.

Faqja e serverit MCP të AY-Robots që liston operacionet e platformës të ekspozuara si mjete për agjentët e AI
Faqja MCP: operacionet e furnizimit dhe inferencës të ekspozuara si mjete që një agjent mund të thërrasë.

Sa kushton një sesion inference në distancë

Dy numra kanë rëndësi: tarifa orare e kartës, dhe sa kohë e lini të funksionojë. E para është e publikuar; e dyta i habit njerëzit.

KartëRunpod community cloudRunpod secure cloudE arsyeshme për
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/hE njëjta, pak më e shpejtë
H100 PCIe 80 GB1.99 USD/h2.89 USD/hNiveli më i shpejtë; shifra e dëshiruar 11.7 Hz e NVIDIA-s është për një H100 80GB HBM3
L40S 48 GB0.79 USD/h0.99 USD/hVetëm inferencë, mbi kufirin 16 GB
RTX 4090 24 GB0.34 USD/h0.74 USD/hSmolVLA, ACT

Këto tarifa u lexuan nga faqja e çmimeve të Runpod më 23 gusht 2026, dhe tregjet spot lëvizin. AY-Robots citon një ekzekutim të plotë në vend: 3 deri në 6 orë me 1.20 deri në 2.00 USD për orë në nivelin A100 ose H100, rreth 4 deri në 12 USD për një ekzekutim GR00T ose Pi0.5; 2 deri në 5 orë me 0.30 deri në 0.60 USD për orë në nivelin 24 GB, 1 deri në 3 USD për SmolVLA ose ACT. Një sesion inferencë e tejkalon një ekzekutim trajnimi në kosto vetëm nëse e ndaloni, për këtë shërben mbikëqyrësi i pasivitetit. Shihni dokumentet e faturimit dhe faqen e çmimeve.

Tabela e kostos së AY-Robots që tregon se çfarë GPU i nevojitet çdo politike, kohën dhe çmimin tipik të ekzekutimit, dhe episodet para se një politikë të jetë e dobishme
Tabela e kostos në /try: çfarë karte i nevojitet çdo modeli dhe sa kushton zakonisht një ekzekutim.

Nëse preferoni të mos keni rrjetin në qark

Inferenca në distancë zgjidh një problem harduerik dhe krijon një problem vonese. Ndonjëherë përgjigja më e mirë është një politikë që i përshtatet harduerit që keni.

  • ACT, afërsisht 80 M parametra dhe 20 ms për hap veprimi, minimumi 50 episode, çdo kartë 24 GB. Në një konfigurim të përsëritur me një detyrë, shpesh tejkalon një model 3 B në distancë, sepse nuk pret kurrë për një paketë.
  • SmolVLA, afërsisht 450 M parametra dhe 245 ms për hap veprimi, minimumi 30 episode. Ai ruan kushtëzimin gjuhësor që i mungon ACT, dhe dokumentet e lerobot e vendosin atë në rreth 2 GB në kohën e inferencës kundrejt afërsisht 14 GB për PI0.
  • ACT vs GR00T N1.7 për gjysmën e saktësisë së shkëmbimit.

Ekziston edhe një rrugë e mesme: stërvituni në cloud, vlerësoni lokalisht. ka nevojë për kartën 80 GB dhe nuk i intereson vonesa, kështu që në distancë është e pakontestueshme. Vetëm cikli i vlerësimit ka një kufizim në kohë reale; dhe mbulojnë atë gjysmë.

Akoma pa krah në tavolinë?

Drejtoni një SO-100 të vërtetë në shfletues pa regjistrim, krahasoni pesë politikat e stërvitshme me numrat e tyre reale të vonesës, ose merrni me qira një GPU dhe stërvitni një. Tre mënyra për të filluar, asnjëra nuk kërkon harduer që nuk e zotëroni.

Provojeni pa harduer

Pyetje të shpeshta

A mund të ekzekutoj GR00T N1.7 në një Raspberry Pi nëse GPU është në distancë?

Po, kjo është arsyeja e ndarjes klient-server. Pi ekzekuton drajverat e lerobot, lexon dy kamera dhe një autobus serial, dhe dërgon vëzhgimet në serverin e politikës; ai nuk ngarkon kurrë modelin. Kufizimi kalon nga VRAM në gjerësinë e brezit të ngarkimit: dy korniza RGB 640x480 të pakompresuara janë 1,843,200 bajt për thirrje, dhe asnjëra prej tyre nuk i kompreson.

Sa vonesë shton realisht rrjeti?

Koha e udhëtimit vajtje-ardhje plus koha e transferimit të vëzhgimit. Koha e transferimit është 14.7 Mbit e ndarë me gjerësinë e brezit tuaj të ngarkimit: afërsisht 147 ms në një lidhje 100 Mbit/s, 1.47 s në një lidhje 10 Mbit/s. Të dyja shtohen mbi kohën e inferencës së vetë modelit, të cilën AY-Robots e liston si 152 ms për GR00T N1.7 dhe 485 ms për Pi0.5. Mateni me ping dhe iperf3 kundër pod-it, jo një serveri të testit të shpejtësisë.

A është inferenca në distancë mjaftueshëm e mirë për një detyrë reale?

Për marrje dhe vendosje të ngadaltë, të qëllimshme, po. Për çdo gjë reaktive, jo. Udhëzuesi i vendosjes i NVIDIA-s e vendos kërkesën sinkrone me një hap në afërsisht 33 ms nga fillimi në fund në 30 FPS, dhe thekson se kapja, rrjeti, inferenca dhe post-përpunimi e tejkalojnë rregullisht këtë pa përfshirë internetin.

Cilin port përdorin serverat dhe a është e sigurt ta hapësh atë?

PolicyServer i Isaac-GR00T përdor portin 5555 mbi ZeroMQ si parazgjedhje dhe lidh 0.0.0.0 në CLI-në e tij. lerobot përdor portin 8080 mbi gRPC si parazgjedhje dhe lidh localhost. Asnjëra nuk është e sigurt për t'u ekspozuar: klasa GR00T mbështet një api_token por run_gr00t_server.py nuk e kalon kurrë një të tillë, dhe lerobot 'pickle'-on të dhënat mbi një kanal gRPC të pasigurt, i cili është CVE-2026-25874. Lidhuni me loopback dhe përdorni një tunel SSH.

A e rregullon përmirësimi i lerobot CVE-2026-25874?

Jo, që nga 23 gushti 2026. Regjistrimi i CVE liston LeRobot deri në 0.5.1 si të prekur dhe PyPI dërgon 0.6.1, por kërkesa për të hequr 'pickle' nga tubacioni asinkron është ende e hapur, dhe policy_server.py në main ende thërret pickle.loads mbi të dhënat e kërkesës. Trajtojeni izolimin e rrjetit si zbutje, jo një rritje versioni, dhe supozoni se klienti në anën e robotit është gjithashtu në fushëveprim.

A mund të përdor klientin asinkron të lerobot me një pikë kontrolli GR00T?

Po. lerobot 0.6.1 liston groot në SUPPORTED_POLICIES së bashku me act, smolvla, diffusion, tdmpc, vqbet, pi0 dhe pi05, dhe të dy so100_follower dhe so101_follower janë në SUPPORTED_ROBOTS. Kaloni --policy_type=groot dhe drejtoni --pretrained_name_or_path te pika juaj e kontrollit. Ju merrni ekzekutim asinkron, të cilin shembulli GR00T SO-100 nuk e zbaton, me koston e transportit 'pickle'.

Versioni i shkurtër

Inferenca në distancë për një 3 B politikë është një problem inxhinierik i zgjidhur me një problem fizik të pazgjidhur të bashkangjitur. Inxhinieria janë dy komanda dhe një tunel SSH. Fizika është se një vëzhgim prej 1.8 MB duhet të arrijë një GPU në një vend tjetër dhe të kthehet para se krahu të mbarojë veprimet. Bëni llogaritjet para se të merrni me qira diçka, zgjidhni një detyrë që toleron një vëzhgim të vjetër, dhe rrisni horizontin e ekzekutimit në vend që të shpresoni se lidhja do të përmirësohet.

Nëse nuk keni regjistruar ende një grup të dhënash, regjistroni grupin tuaj të parë të të dhënave dhe udhëzuesi i konfigurimit të SO-100 vijnë të parët, dhe hyrja e formatit të grupit të të dhënave LeRobot shpjegon se çfarë shkruan regjistruesi. Sfondi është në modelet vizion-gjuhë-veprim dhe puna e politikës së përputhjes së rrjedhës; hyrja në arenë lidh çdo numër referencë me një burim.

Sources

Sources

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started