Страницата за испробување на AY-Robots: три начини да започнете без да поседувате робот, вклучувајќи изнајмување GPU за заклучување на политики
GR00T N1.7Далечинско заклучувањеОблак GPULeRobotSO-100Латентност

Извршете GR00T заклучување без локална GPU

AY-Robots ResearchAugust 23, 202619 мин читање

Вашата роботска машина нема GPU. Поставете го GR00T серверот за политики на изнајмена облак GPU, пренесувајте акциони парчиња до раката и дознајте точно колку ве чини мрежата.

Raspberry Pi е доволен за управување на преку сериска магистрала и за преземање рамки од две USB камери. Не е доволен за извршување на модел со три милијарди параметри : README-то на NVIDIA ја става инференцијата на GR00T N1.7 на едно GPU со 16 GB или повеќе VRAM. За да видите што прави вашата фино подесена контролна точка на раката без да купите картичка, ставете ја политиката на изнајмен облак GPU, задржете ја роботската јамка на машината со USB портите и испраќајте набљудувања и делови од акции преку мрежата.

Работи, не е бесплатно, а цената не е рамномерно распоредена низ задачите. Подолу: сопствениот сервер за политики на NVIDIA, асинхрониот стек на lerobot, аритметиката што однапред кажува дали вашиот uplink е доволно брз, и рутата на платформата. Сето тоа проверено наспроти главната гранка на Isaac-GR00T (N1.7 GA) и lerobot 0.6.1 на 23 август 2026 година.

Што треба да знаете

  • GR00T N1.7, GR00T N1.5 и Pi0.5 се модели со приближно 3 милијарди параметри. Ниту еден не се вклопува на контролер на робот без дискретно GPU.
  • Isaac-GR00T и lerobot испорачуваат поделба клиент-сервер. Вие не го пишувате транспортот.
  • Набљудувањата доминираат со трошоците за пренос, а не акциите: две некомпресирани 640x480 RGB рамки се 1,843,200 бајти, околу 14.7 Mbit по повик, и ниту еден стек не ги компресира.
  • AY-Robots наведува 20 до 485 ms по чекор на акција по модел. Интернет повратните патувања се додаваат на тоа.
  • Далечинската инференција одговара за бавно земање и поставување (pick-and-place), а не за брзо реактивно движење. Подолг хоризонт на извршување купува време и чини свежина на набљудувањата.
  • Ниту еден сервер не е безбеден на јавна IP адреса како што е испорачан, а lerobot носи некрпен RCE. Тунелирајте го.

Зошто политиката нема да се вклопи на машината на роботот

Две од петте политики што AY-Robots може да ги тренира работат на работна станица, три не. колоната подолу е по чекор на акција, и тоа е бројот што се натпреварува со вашето мрежно повратно патување.

ПолитикаПараметриЗаклучување по чекор на акцијаНиво на графички процесор за тренирањеМин. епизодиФормат на податочно множество
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
Страницата за политики на AY-Robots која ги споредува петте политики што може да се тренираат според параметри, ниво на графички процесор, латентност на заклучување и минимални епизоди
Истите пет редови на /policies. Колоната за латентност одлучува дали една политика преживува мрежен скок.

Прочитајте го тоа како одлука, а не како тривијалност. со 20 ms по чекор работи на роботската машина и никогаш повеќе не размислувате за тоа. со 485 ms поминал третина од секундата пред пакет да ја напушти вашата зграда. и ја додаваат страната на точноста.

ACT нема основен модел

GR00T N1.7, GR00T N1.5 и Pi0.5 започнуваат од контролна точка на продавачот (nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B, lerobot/pi05_base). ACT не постои додека не го обучите за ваша сопствена задача, така што нема што да се служи оддалечено додека не се изврши задача за обука. Видете ACT на SO-100.

Двата клиент-сервер стекови кои веќе постојат

Isaac-GR00T испорачува ZeroMQ сервер за барање-одговор; lerobot испорачува gRPC сервер изграден околу асинхрона инференција. И двете прифаќаат GR00T контролна точка. Поддржаната листа на политики на lerobot во async_inference/constants.py е act, smolvla, diffusion, tdmpc, vqbet, pi0, pi05 и groot; неговата листа на роботи е so100_follower, so101_follower, bi_so_follower и omx_follower.

Isaac-GR00T PolicyServerlerobot async inference
Влезна точкаgr00t/eval/run_gr00t_server.pypython -m lerobot.async_inference.policy_server
ТранспортZeroMQ REQ/REPgRPC, add_insecure_port / insecure_channel
Серијализацијаmsgpack + msgpack_numpy, allow_pickle=False наметнатоpickle.dumps / pickle.loads, marked # nosec
Стандардна порта55558080
Стандардно врзување0.0.0.0, сите интерфејсиlocalhost
Автентикацијаapi_token поддржан од класата, не е предаден од CLIништо
Истек на време на клиентот15000 ms (PolicyClient timeout_ms)2 s observation queue timeout
Модел на извршувањеsynchronous: блокирај, потоа изврши го делотasynchronous: извршувај додека следниот дел се пресметува

Редот за серијализација е поважен отколку што изгледа. MsgSerializer на GR00T одбива ndarray податоци со тип на објект во двете насоки, бидејќи msgpack_numpy инаку би ги предал на pickle. lerobot наместо тоа користи pickle: policy_server.py повикува pickle.loads на податоците од барањето, robot_client.py ги пиклира набљудувањата што ги испраќа. Одбранливо на доверлива LAN мрежа, неодбранливо откако портот е достапен од интернет.

Рута А: Сопствен GR00T сервер за политики на NVIDIA

Ова е патеката што NVIDIA ја документира за хардверот SO-100 и SO-101, и онаа што треба да се користи ако вашата контролна точка произлезе од examples/finetune.sh со --embodiment-tag NEW_EMBODIMENT. Чекорите додаваат она што недостасува во оригиналниот README: како да се донесе портот до роботот без да се изложи на сите други.

  1. 1
    Инсталирајте го GR00T на изнајмениот GPU сервер

    Потребни се подмодули, а git-lfs мора да постои пред клонирањето или parquet датотеките во demo_data ќе пристигнат како покажувачи. flash-attn и TensorRT доаѓаат со стандардната инсталација. Замката на свежа слика на под: torchcodec 0.8.0 е единствениот поддржан видео бекенд и вчитува само FFmpeg 4 до 7. Ubuntu 25.10 и 26.04 испорачуваат FFmpeg 8, па GR00T не успева со Could not load libtorchcodec. Инсталирајте FFmpeg под верзија 8 и ставете ги неговите библиотеки на 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
    Автентицирајте се против затворената основа

    Секоја GR00T N1.7 контролна точка, вклучувајќи ја и вашата сопствена фино подесување, го вчитува затворениот nvidia/Cosmos-Reason2-2B при првата употреба. Побарајте пристап на страницата на моделот и најавете се на поодот, или вчитувањето ќе пропадне со GatedRepoError.

    bash
    uv run huggingface-cli login
    # or:  export HF_TOKEN=<your_token>
  3. 3
    Стартувајте го серверот за политики

    Насочете го --model-path кон вашиот директориум со контролни точки; на таа патека серверот го игнорира --modality-config-path, кој се чита само на патеката за повторување. Изоставете го --model-path и наместо тоа предадете --dataset-path плус --execution-horizon за ReplayPolicy што ги повторува снимените дејства, најевтиниот начин да се докаже дека поврзувањето работи.

    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
    Тунелирајте го портот 5555 до машината на роботот

    Поврзете се со loopback, како погоре, и пренесете го портот преку SSH или мрежа во стилот на WireGuard. Тоа обезбедува енкрипција и автентикација што ZeroMQ сокетот не ги нуди, за околу милисекунда.

    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
    Стартувајте го роботскиот клиент до сервомоторите

    Клиентот има потреба од сопствена uv околина: тој ги сака драјверите за робот на lerobot, а не стекот за тренирање. eval_so100.py ги импортира so100_follower, so101_follower и koch_follower, па предадете го --robot.type што одговара на вашата рака (оригиналниот README користи so101_follower). Клучевите на камерата мора да се совпаѓаат со тренирањето: адаптерот чита точно front и wrist, а нивното менување ѝ покажува на политиката погрешен приказ.

    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"
Две стандардни поставки кои ќе ви направат проблем

run_gr00t_server.py стандардно користи --host 0.0.0.0, поврзувајќи се со секој интерфејс: на под со јавна IP адреса тоа е отворена крајна точка за заклучување. А класата PolicyServer прифаќа api_token и го валидира по барање, но run_gr00t_server.py никогаш не го предава, така што CLI серверот е неавтентициран без разлика што ќе конфигурирате. Поврзете се со 127.0.0.1 и тунелирајте. ZMQError: Address already in use значи дека портата 5555 е зафатена; предадете --port.

Рута Б: асинхроно заклучување со lerobot

lerobot решава поинаков проблем. Наместо да го блокира роботот додека моделот размислува, клиентот продолжува да чекори низ редот што веќе го има додека серверот го пресметува следниот дел. Ова е поделба на акции проширена, асинхрониот стек воведен со SmolVLA. Работи и со 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
Сервер за политика на графичкиот процесор, клиент за робот на машината со USB порти

Серверот започнува празен: не знае која политика ја опслужува додека првото ракување на клиентот не му каже, што е погодно на изнајмен под. Двете поставки кои одлучуваат дали раката се движи непречено се actions_per_chunk и chunk_size_threshold (документацијата на lerobot ја нарекува втората g, по трудот SmolVLA), а документираните вредности и испорачаните вредности не се совпаѓаат.

ПараметарВредност во кодот на lerobot 0.6.1Што правиЗабелешка
actions_per_chunkбез стандардна вредност, задолжителноАкции вратени по повикТабелата во документацијата наведува 50; полето на класата за податоци нема стандардна вредност, па CLI бара вредност
chunk_size_threshold0.5Однос на пополнетост на редот на чекање на или под кој клиентот испраќа нова опсервацијаТабелата во документацијата вели 0.7; кодот и сопствениот пример од документацијата велат 0.5
fps30Контролна стапка на клиентот, поставува environment_dt = 1/fpsНамалете ја ако редот на чекање постојано се празни
inference_latency1/30 s (33.3 ms)Целна латенција на заклучување на серверотЦел, а не мерење
obs_queue_timeout2 sКолку долго серверот чека на редот на чекање за опсервацииБавна врска за испраќање прво се појавува овде
aggregate_fn_nameweighted_averageКако се спојуваат преклопувачките региони на парчиња0.3 старо + 0.7 ново; latest_only, average и conservative исто така се испорачуваат. Регистарот е AGGREGATE_FUNCTIONS во configs.py, а не robot_client.py како што тврди документацијата
Серверот за политики на lerobot има некрпен RCE

CVE-2026-25874 е неовластено извршување на далечински код во асинхрониот инферентен цевковод на lerobot: pickle.loads() на податоци примени преку неовластен gRPC канал без TLS, достапни преку повиците SendPolicyInstructions, SendObservations и GetActions. CWE-502, основен резултат CVSS 3.1 од 9.8 од NVD, основен резултат 4.0 од 9.3 од доделувачката CNA. Записот го наведува LeRobot до 0.5.1 како засегнат и ги именува и серверот за политики и роботскиот клиент, така што машината до вашата рака е во опсег. Надградбата не е решение: записот го цитира проблемот 3047 и закрпата, PR 3048, кои го заменуваат pickle со safetensors плус JSON, а на 23 август 2026 година и двете се сè уште отворени. policy_server.py на main сè уште повикува pickle.loads на податоци од барање додека serve() се поврзува со add_insecure_port. Поврзете се со loopback и никогаш не препраќајте порта 8080.

Аритметиката која одлучува дали вашата врска е доволно брза

Луѓето го прескокнуваат ова и потоа трошат цел ден на политика која замрзнува среде движење. Потребни се две минути и речиси секогаш е одлучувачко.

Коментираниот речник за набљудување во eval_so100.py на NVIDIA кажува што се пренесува: две низи со форма (480, 640, 3) во uint8, шест зглобни флоати, низа за јазик. Тоа е 921.600 бајти по рамка, 1.843.200 бајти за две камери, околу 14.7 Mbit, и ниту еден стек не го компресира со JPEG. Делот што се враќа е неколку десетици чекори од 6 флоати. Вашиот аплоуд одлучува за сè, а не вашиот даунлоуд.

Пропусен опсег за аплоудВреме за испраќање едно набљудување (14.7 Mbit)Пресуда за рака со 30 FPS
10 Mbit/s, типичен домашен аплоуд~1.47 sНеупотребливо. Раката застанува помеѓу секој дел.
25 Mbit/s~0.59 sСамо бавно земање и ставање, со долг хоризонт на извршување.
50 Mbit/s~0.29 sИзводливо за намерни задачи.
100 Mbit/s~0.15 sДобро за земање и ставање, видливо при брзо движење.
1 Gbit/s оптички кабел или дата центар~0.015 sМоделот станува тесно грло наместо тоа.

Буџетот во кој треба да се вклопите

Клиентот GR00T SO-100 е синхрон: тој повикува policy.get_action(obs), извршувајќи ги првите action_horizon чекори од парчето со 30 FPS, а потоа повторно повикува. Големината на парчето и хоризонтот се различни броеви: упатството за распоредување на NVIDIA препорачува големина на парче акција од 16, најмалку 32 кога се комбинира со парчиња во реално време, додека eval_so100.py испорачува хоризонт на извршување од 8. Осум чекори со 30 FPS се 267 ms движење по повик, и сè друго мора да се вклопи во тоа.

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
Работен пример: 100 Mbit/s uplink, 30 ms повратен пат, GR00T N1.7

Подигнувањето на хоризонтот е грубо решение и не е бесплатно: раката дејствува врз набљудување кое сега е старо. Принципиелното решение е парчиња во реално време (real-time chunking), кое го пресметува следното парче додека тековното работи, ги замрзнува дејствата гарантирани за извршување и го дополнува остатокот; трудот за RTC го пријавува како робусно на доцнењето на заклучувањето без повторна обука. Проверете каде стои тоа прво. NVIDIA го означува RTC како експериментален, примитив на модел на ниско ниво достапен преку action_head.get_action(..., options={"rtc_overlap_steps": ..., "rtc_frozen_steps": ...}), не поврзан со Gr00tPolicy или патеката сервер-клиент, каде што options е неискористен, без тестови и без пример. Преку сервер за политики добивате асинхроно извршување, а не RTC.

Што чини моделот пред мрежата

NVIDIA го споредува GR00T N1.7 од крај до крај со 4 чекори на деноизирање со една камера. На H100 80GB HBM3: 85.8 ms (11.7 Hz) во PyTorch eager, 48.6 ms (20.6 Hz) со torch.compile, 27.9 ms (35.9 Hz) со целосната TensorRT цевководна линија. L40 во eager режим трае 128.3 ms (7.8 Hz). NVIDIA го нарекува 10 Hz препорачан минимум за типична манипулација, а под 10 Hz е погодно само за бавни, нереактивни задачи. Тоа се препланирање стапки: политика од 10 Hz сè уште може да управува со рака од 30 FPS преку акционо парчење. Втора камера ве движи во погрешна насока.

Измерете го пред да му верувате

Секој број погоре е предвидување. Четири команди го претвораат во мерење, вредно за извршување пред да посветите час на под на задача која никогаш немало да функционира.

  1. 1
    Добијте го суровото повратно патување

    Против поодот, а не CDN. Внимавајте на отстапувањето исто толку внимателно како и на просекот: треперењето предизвикува заглавување на раката, а не просечна латентност.

    bash
    ping -c 50 <pod-host>
    # the mdev column is the number that predicts stutter
  2. 2
    Измерете ја врската што ја имате, а не онаа за која плаќате

    Домашната брзина на прикачување обично е дел од брзината на преземање, и тоа е бројот во табелата за пропусен опсег погоре.

    bash
    # on the pod
    iperf3 -s
    
    # on the robot machine, -R omitted so this measures upload
    iperf3 -c <pod-host> -t 30
  3. 3
    Прочитајте го сопствениот дневник за латентност на клиентот

    Клиентот на роботот lerobot ја евидентира латентноста од сервер до клиент и времето на десеријализација за секој дел. На рута Б не ви е потребна надворешна алатка.

    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
    Гледајте како се празни редот за акции

    Предадете --debug_visualize_queue_size=True и клиентот ќе ја исцрта големината на редот за време на извршувањето. Ако постојано достигнува нула, сте го надминале буџетот: намалете го fps, зголемете го actions_per_chunk, или зголемете го chunk_size_threshold за да се испраќаат набљудувања почесто.

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

За што е всушност добра далечинската инференција

Политика на изнајмена графичка картичка, рака на вашето биро
Предности
  • Можете да процените политика со 3 милијарди параметри на вистински хардвер без да поседувате картичка која чини повеќе од раката.
  • Графичката картичка се изнајмува на час, така што неуспешна контролна точка чини неколку долари.
  • Страната на роботот останува мала: драјвери за lerobot, две камери, сериски порт, и ги менувате контролните точки без да ја допирате.
Компромиси
  • Некомпресираните набљудувања доминираат во трошоците за пренос, а домашниот аплоуд е ограничувачки фактор.
  • Треперењето (jitter) боли повеќе од доцнењето (latency): врска со просек од 40 ms со скокови до 300 ms заглавува, додека стабилна врска од 120 ms не.
  • Брзите реактивни задачи не го преживуваат повратното патување на кој било хоризонт.
  • Двата сервери се испорачуваат неавтентицирани во CLI форма, така што работата за тунелирање е ваша.
  • Прекината врска среде парче остава раката да држи застарена акција. Додадете свој роботски надзорник.
ЗадачаРаботи преку јавен интернет?Зошто
Изберете статичен објект, ставете го во корпаДаНишто не се движи помеѓу набљудувањето и акцијата.
Сложувајте блокови со намерен ритамДа, со action_horizon 16 или повеќеГрешките се акумулираат доволно бавно за да се поправат во следното парче.
Отворете фиока, вметнете објектОбичноБогато со контакт, но бавно. Внимавајте на застанување и тргнување при контакт.
Следете подвижен објектНеПолитиката дејствува врз набљудување старо од 300 ms до 1 s.
Фати, балансирај или опорави се од лизгањеНеПрозорецот за корекција е пократок од едно повратно патување.
30 Hz синхрона затворена јамкаНеБуџетот е 33 ms од крај до крај. Дури и LAN се мачи.

Ако далечинско извршување заглавува на истата точка во секоја епизода, мрежата веројатно не е причината. Политика која се двоуми на истиот агол на зглобот секој пат е обично проблем со податоците; видете ги страниците за режими на откажување, особено политика која работи само во едно поставување и загубата паѓа, но политиката не прави ништо.

Правењето сами наспроти правењето на AY-Robots

  1. Изнајмете графички процесор на спот пазар и почекајте доволно VRAM по цена што ви одговара.
  2. Инсталирајте CUDA, uv, ffmpeg torchcodec што прифаќа, и GR00T стекот со подмодули.
  3. Побарајте пристап до затворената nvidia/Cosmos-Reason2-2B основа и ставете токен на поодот.
  4. Префрлете го вашиот контролен пункт на поодот.
  5. Стартувајте го серверот на loopback, потоа изградете SSH тунел од машината на роботот.
  6. Инсталирајте втора околина на машината на роботот за клиентот и драјверите.
  7. Усогласете ги клучевите на камерата, имињата на зглобовите и јазичната инструкција со она што го видел контролниот пункт.
  8. Набљудувајте го поодот. Заборавен A100 што работи преку ноќ чини повеќе од експериментот.
Неактивниот под е вистинската цена

Сметката за графичкиот процесор не престанува кога роботот ќе застане. Повеќето пари изгубени на далечинско заклучување одат на сервер што останал активен откако сите си заминале. Поставете аларм или автоматизирајте го исклучувањето.

Страницата на серверот MCP на AY-Robots која ги наведува операциите на платформата изложени како алатки за AI агенти
Страницата MCP: операции за обезбедување и заклучување изложени како алатки што може да ги повика агент.

Колку чини сесијата за далечинско заклучување

Важни се два броја: часовната стапка на картичката и колку долго ја оставате да работи. Првиот е објавен; вториот ги изненадува луѓето.

КартичкаRunpod заедница облакRunpod безбеден облакСоодветно за
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/hИстото, малку побрзо
H100 PCIe 80 GB1.99 USD/h2.89 USD/hНајбрзо ниво; бројката од 11.7 Hz на NVIDIA е за H100 80GB HBM3
L40S 48 GB0.79 USD/h0.99 USD/hСамо за заклучување, над прагот од 16 GB
RTX 4090 24 GB0.34 USD/h0.74 USD/hSmolVLA, ACT

Овие цени беа прочитани од страницата за цени на Runpod на 23 август 2026 година, а пазарите на самото место се менуваат. AY-Robots наместо тоа нуди цел циклус: 3 до 6 часа по 1.20 до 2.00 УСД на час на нивото A100 или H100, околу 4 до 12 УСД за циклус на GR00T или Pi0.5; 2 до 5 часа по 0.30 до 0.60 УСД на час на нивото од 24 GB, 1 до 3 УСД за SmolVLA или ACT. Сесијата за заклучување е поисплатлива од циклусот за тренирање само ако ја запрете, за што служи надзорникот за мирување. Видете ги документите за наплата и страницата за цени.

Табелата со трошоци на AY-Robots која покажува кое графичко процесорско единица му е потребна на секоја политика, типично време на извршување и цена, и епизоди пред политиката да стане корисна
Табелата со трошоци на /try: која картичка му е потребна на секој модел и колку типично чини еден циклус.

Ако претпочитате мрежата да не е вклучена во јамката

Далечното заклучување решава хардверски проблем и создава проблем со доцнењето. Понекогаш подобро решение е политика што одговара на хардверот што го имате.

  • ACT, приближно 80 M параметри и 20 ms по чекор на акција, минимум 50 епизоди, која било картичка од 24 GB. На повторувачка поставка за една задача, честопати надминува далечински модел од 3 B, бидејќи никогаш не чека пакет.
  • SmolVLA, приближно 450 M параметри и 245 ms по чекор на акција, минимум 30 епизоди. Ги задржува јазичните услови што му недостасуваат на ACT, а документите на lerobot го проценуваат на околу 2 GB за време на заклучувањето наспроти приближно 14 GB за PI0.
  • ACT vs GR00T N1.7 за половина од точноста на компромисот.

Постои и среден пат: тренирајте во облакот, евалуирајте локално. Фино подесување потребна е картичка од 80 GB и не се грижи за доцнењето, така што тренирање GR00T N1.7 на SO-100 далечински е неспорно. Само јамката за евалуација има ограничување во реално време; документите за тренирање и матрицата модел-и-рака го покриваат тој дел.

Сè уште нема рака на бирото?

Возете вистински SO-100 во прелистувачот без регистрација, споредете ги петте политики што може да се тренираат со нивните реални бројки за доцнење, или изнајмете графички процесор и тренирајте еден. Три начини да започнете, ниту еден не бара хардвер што не го поседувате.

Пробајте без хардвер

Често поставувани прашања

Може ли да го извршувам GR00T N1.7 на Raspberry Pi ако графичкиот процесор е оддалечен?

Да, за тоа служи поделбата клиент-сервер. Pi ги извршува драјверите на lerobot, чита две камери и сериска магистрала, и испраќа набљудувања до серверот за политики; никогаш не го вчитува моделот. Ограничувањето се префрла од VRAM на пропусен опсег за прикачување: две некомпресирани 640x480 RGB рамки се 1,843,200 бајти по повик, и ниту еден стек не ги компресира.

Колку доцнење всушност додава мрежата?

Време на повратен пат плус време на пренос на набљудување. Времето на пренос е 14.7 Mbit поделено со вашиот пропусен опсег за прикачување: приближно 147 ms на врска од 100 Mbit/s, 1.47 s на врска од 10 Mbit/s. И двете се додаваат на сопственото време на заклучување на моделот, кое AY-Robots го наведува како 152 ms за GR00T N1.7 и 485 ms за Pi0.5. Мерете со ping и iperf3 против поодот, а не со сервер за тестирање на брзина.

Дали оддалеченото заклучување е доволно добро за вистинска задача?

За бавно, намерно земање и поставување, да. За нешто реактивно, не. Водичот за распоредување на NVIDIA го поставува барањето за синхроно едночекорно извршување на приближно 33 ms од крај до крај при 30 FPS, и забележува дека снимањето, мрежата, заклучувањето и пост-обработката рутински го надминуваат тоа без вклучен интернет.

Кој порт го користат серверите и дали е безбедно да се отвори?

PolicyServer на Isaac-GR00T стандардно користи порт 5555 преку ZeroMQ и врзува 0.0.0.0 во својот CLI. lerobot стандардно користи порт 8080 преку gRPC и врзува localhost. Ниту едно не е безбедно за изложување: класата GR00T поддржува api_token, но run_gr00t_server.py никогаш не го предава, а lerobot ги серијализира податоците преку небезбеден gRPC канал, што е CVE-2026-25874. Врзете се за loopback и користете SSH тунел.

Дали надградбата на lerobot го поправа CVE-2026-25874?

Не заклучно со 23 август 2026 година. Записот за CVE го наведува LeRobot до 0.5.1 како засегнат, а PyPI испорачува 0.6.1, но барањето за повлекување што би го отстранило pickle од асинхрониот цевковод е сè уште отворено, а policy_server.py на главната гранка сè уште повикува pickle.loads на податоците од барањето. Третирајте ја мрежната изолација како ублажување, а не како зголемување на верзијата, и претпоставете дека клиентот од страната на роботот е исто така во опсег.

Може ли да го користам асинхрониот клиент на lerobot со GR00T контролна точка?

Да. lerobot 0.6.1 го наведува groot во SUPPORTED_POLICIES заедно со act, smolvla, diffusion, tdmpc, vqbet, pi0 и pi05, а и so100_follower и so101_follower се во SUPPORTED_ROBOTS. Предадете --policy_type=groot и насочете --pretrained_name_or_path кон вашата контролна точка. Добивате асинхроно извршување, кое примерот GR00T SO-100 не го имплементира, по цена на pickle транспортот.

Кратката верзија

Оддалечено заклучување за 3 B политика е решен инженерски проблем со нерешен физички проблем. Инженерството се состои од две команди и SSH тунел. Физиката е дека набљудување од 1.8 MB мора да стигне до графички процесор во друга земја и да се врати пред раката да остане без акции. Направете ја аритметиката пред да изнајмите нешто, изберете задача што толерира застарено набљудување и подигнете го хоризонтот на извршување наместо да се надевате дека врската ќе се подобри.

Ако сè уште немате снимено збир на податоци, и доаѓаат прво, а објаснува што запишува снимачот. Позадината е во и ; ги поврзува секој број на бенчмарк со извор.

Sources

Sources

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started