
Вашата роботска машина нема 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-tuning | 152 ms | A100 80 GB or H100 80 GB | 50 | LeRobot v2.0 or v2.1 |
| GR00T N1.5 | ~3 B | 165 ms | A100 80 GB or H100 80 GB | 50 | LeRobot v2.0 or v2.1 |
| Pi0.5 | ~3 B, PaliGemma backbone | 485 ms | A100 80 GB or H100 80 GB | 50 | LeRobot v3.0 |
| SmolVLA | ~450 M | 245 ms | RTX 4090 or any 24 GB card | 30 | LeRobot v3.0 |
| ACT | ~80 M | 20 ms | RTX 4090 or any 24 GB card | 50 | LeRobot v3.0 |

Прочитајте го тоа како одлука, а не како тривијалност. со 20 ms по чекор работи на роботската машина и никогаш повеќе не размислувате за тоа. со 485 ms поминал третина од секундата пред пакет да ја напушти вашата зграда. и ја додаваат страната на точноста.
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 PolicyServer | lerobot async inference | |
|---|---|---|
| Влезна точка | gr00t/eval/run_gr00t_server.py | python -m lerobot.async_inference.policy_server |
| Транспорт | ZeroMQ REQ/REP | gRPC, add_insecure_port / insecure_channel |
| Серијализација | msgpack + msgpack_numpy, allow_pickle=False наметнато | pickle.dumps / pickle.loads, marked # nosec |
| Стандардна порта | 5555 | 8080 |
| Стандардно врзување | 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Инсталирајте го GR00T на изнајмениот GPU сервер
Потребни се подмодули, а git-lfs мора да постои пред клонирањето или parquet датотеките во
demo_dataќе пристигнат како покажувачи. flash-attn и TensorRT доаѓаат со стандардната инсталација. Замката на свежа слика на под:torchcodec0.8.0 е единствениот поддржан видео бекенд и вчитува само FFmpeg 4 до 7. Ubuntu 25.10 и 26.04 испорачуваат FFmpeg 8, па GR00T не успева соCould not load libtorchcodec. Инсталирајте FFmpeg под верзија 8 и ставете ги неговите библиотеки наLD_LIBRARY_PATH.bashsudo apt install git-lfs && git lfs install curl -LsSf https://astral.sh/uv/install.sh | sh sudo apt-get update && sudo apt-get install -y ffmpeg git clone --recurse-submodules https://github.com/NVIDIA/Isaac-GR00T cd Isaac-GR00T uv sync --python 3.12 uv run python -c "import gr00t; print('GR00T installed successfully')" - 2Автентицирајте се против затворената основа
Секоја GR00T N1.7 контролна точка, вклучувајќи ја и вашата сопствена фино подесување, го вчитува затворениот
nvidia/Cosmos-Reason2-2Bпри првата употреба. Побарајте пристап на страницата на моделот и најавете се на поодот, или вчитувањето ќе пропадне соGatedRepoError.bashuv run huggingface-cli login # or: export HF_TOKEN=<your_token> - 3Стартувајте го серверот за политики
Насочете го
--model-pathкон вашиот директориум со контролни точки; на таа патека серверот го игнорира--modality-config-path, кој се чита само на патеката за повторување. Изоставете го--model-pathи наместо тоа предадете--dataset-pathплус--execution-horizonза ReplayPolicy што ги повторува снимените дејства, најевтиниот начин да се докаже дека поврзувањето работи.bashuv run python gr00t/eval/run_gr00t_server.py \ --model-path /workspace/so100_finetune/checkpoint-10000 \ --embodiment-tag NEW_EMBODIMENT \ --device cuda:0 \ --host 127.0.0.1 --port 5555 - 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Стартувајте го роботскиот клиент до сервомоторите
Клиентот има потреба од сопствена uv околина: тој ги сака драјверите за робот на lerobot, а не стекот за тренирање.
eval_so100.pyги импортира so100_follower, so101_follower и koch_follower, па предадете го--robot.typeшто одговара на вашата рака (оригиналниот README користи so101_follower). Клучевите на камерата мора да се совпаѓаат со тренирањето: адаптерот чита точноfrontиwrist, а нивното менување ѝ покажува на политиката погрешен приказ.bashcd gr00t/eval/real_robot/SO100 uv sync uv pip install --no-deps -e ../../../../ uv run --no-sync python eval_so100.py \ --robot.type=so100_follower \ --robot.port=/dev/ttyACM0 \ --robot.id=orange_follower \ --robot.cameras="{ front: {type: opencv, index_or_path: 6, width: 640, height: 480, fps: 30}, wrist: {type: opencv, index_or_path: 2, width: 640, height: 480, fps: 30}}" \ --policy_host=127.0.0.1 \ --policy_port=5555 \ --lang_instruction="pick up the red block and put it in the bin"
run_gr00t_server.py стандардно користи --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 контролна точка.
# 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Серверот започнува празен: не знае која политика ја опслужува додека првото ракување на клиентот не му каже, што е погодно на изнајмен под. Двете поставки кои одлучуваат дали раката се движи непречено се actions_per_chunk и chunk_size_threshold (документацијата на lerobot ја нарекува втората g, по трудот SmolVLA), а документираните вредности и испорачаните вредности не се совпаѓаат.
| Параметар | Вредност во кодот на lerobot 0.6.1 | Што прави | Забелешка |
|---|---|---|---|
| actions_per_chunk | без стандардна вредност, задолжително | Акции вратени по повик | Табелата во документацијата наведува 50; полето на класата за податоци нема стандардна вредност, па CLI бара вредност |
| chunk_size_threshold | 0.5 | Однос на пополнетост на редот на чекање на или под кој клиентот испраќа нова опсервација | Табелата во документацијата вели 0.7; кодот и сопствениот пример од документацијата велат 0.5 |
| fps | 30 | Контролна стапка на клиентот, поставува environment_dt = 1/fps | Намалете ја ако редот на чекање постојано се празни |
| inference_latency | 1/30 s (33.3 ms) | Целна латенција на заклучување на серверот | Цел, а не мерење |
| obs_queue_timeout | 2 s | Колку долго серверот чека на редот на чекање за опсервации | Бавна врска за испраќање прво се појавува овде |
| aggregate_fn_name | weighted_average | Како се спојуваат преклопувачките региони на парчиња | 0.3 старо + 0.7 ново; latest_only, average и conservative исто така се испорачуваат. Регистарот е AGGREGATE_FUNCTIONS во configs.py, а не robot_client.py како што тврди документацијата |
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 движење по повик, и сè друго мора да се вклопи во тоа.
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Подигнувањето на хоризонтот е грубо решение и не е бесплатно: раката дејствува врз набљудување кое сега е старо. Принципиелното решение е парчиња во реално време (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Добијте го суровото повратно патување
Против поодот, а не CDN. Внимавајте на отстапувањето исто толку внимателно како и на просекот: треперењето предизвикува заглавување на раката, а не просечна латентност.
bashping -c 50 <pod-host> # the mdev column is the number that predicts stutter - 2Измерете ја врската што ја имате, а не онаа за која плаќате
Домашната брзина на прикачување обично е дел од брзината на преземање, и тоа е бројот во табелата за пропусен опсег погоре.
bash# on the pod iperf3 -s # on the robot machine, -R omitted so this measures upload iperf3 -c <pod-host> -t 30 - 3Прочитајте го сопствениот дневник за латентност на клиентот
Клиентот на роботот lerobot ја евидентира латентноста од сервер до клиент и времето на десеријализација за секој дел. На рута Б не ви е потребна надворешна алатка.
textReceived action chunk for step #240 | Latest action: #232 | Incoming actions: 240:289 | Network latency (server->client): 187.44ms | Deserialization time: 3.10ms - 4Гледајте како се празни редот за акции
Предадете
--debug_visualize_queue_size=Trueи клиентот ќе ја исцрта големината на редот за време на извршувањето. Ако постојано достигнува нула, сте го надминале буџетот: намалете го fps, зголемете го actions_per_chunk, или зголемете го chunk_size_threshold за да се испраќаат набљудувања почесто.bashpython -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
- Изнајмете графички процесор на спот пазар и почекајте доволно VRAM по цена што ви одговара.
- Инсталирајте CUDA, uv, ffmpeg torchcodec што прифаќа, и GR00T стекот со подмодули.
- Побарајте пристап до затворената
nvidia/Cosmos-Reason2-2Bоснова и ставете токен на поодот. - Префрлете го вашиот контролен пункт на поодот.
- Стартувајте го серверот на loopback, потоа изградете SSH тунел од машината на роботот.
- Инсталирајте втора околина на машината на роботот за клиентот и драјверите.
- Усогласете ги клучевите на камерата, имињата на зглобовите и јазичната инструкција со она што го видел контролниот пункт.
- Набљудувајте го поодот. Заборавен A100 што работи преку ноќ чини повеќе од експериментот.
Сметката за графичкиот процесор не престанува кога роботот ќе застане. Повеќето пари изгубени на далечинско заклучување одат на сервер што останал активен откако сите си заминале. Поставете аларм или автоматизирајте го исклучувањето.
- Изберете ја обучената политика што сакате да ја извршите.
/api/inference/podавтоматски обезбедува облак GPU под што ја опслужува таа политика.- Локалниот клиент на роботот комуницира со таа крајна точка. Основните контролни пунктови се сопственост на продавачите:
nvidia/GR00T-N1.7-3B,nvidia/GR00T-N1.5-3B,lerobot/pi05_base. ACT нема ниту еден. - Подовите носат неактивен надзорник и се уништуваат по период на неактивност, така што ништо не продолжува да наплатува тивко.
- Истите операции се достапни од терминал и за AI агенти, така што циклусот може да се скриптира.
Автоматското обезбедување ја отстранува работата за поставување и сметката за заборавениот под, но не и физиката. Заклучувањето сè уште мора да биде до серво моторите за брзи задачи: контролната јамка е од 20 до 485 ms по чекор на акција во зависност од моделот, а повратните патувања преку јавниот интернет, покрај тоа, претвораат работна политика во колеблива.
- Водич за клиенти за локалната страна на врската
- Извршете ја вашата прва политика за упатството
- CLI и MCP сервер за скриптираната верзија
- Безбедносни документи

Колку чини сесијата за далечинско заклучување
Важни се два броја: часовната стапка на картичката и колку долго ја оставате да работи. Првиот е објавен; вториот ги изненадува луѓето.
| Картичка | Runpod заедница облак | Runpod безбеден облак | Соодветно за |
|---|---|---|---|
| A100 PCIe 80 GB | 1.19 USD/h | 1.39 USD/h | GR00T N1.7, GR00T N1.5, Pi0.5 |
| A100 SXM 80 GB | 1.39 USD/h | 1.59 USD/h | Истото, малку побрзо |
| H100 PCIe 80 GB | 1.99 USD/h | 2.89 USD/h | Најбрзо ниво; бројката од 11.7 Hz на NVIDIA е за H100 80GB HBM3 |
| L40S 48 GB | 0.79 USD/h | 0.99 USD/h | Само за заклучување, над прагот од 16 GB |
| RTX 4090 24 GB | 0.34 USD/h | 0.74 USD/h | SmolVLA, 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. Сесијата за заклучување е поисплатлива од циклусот за тренирање само ако ја запрете, за што служи надзорникот за мирување. Видете ги документите за наплата и страницата за цени.

Ако претпочитате мрежата да не е вклучена во јамката
Далечното заклучување решава хардверски проблем и создава проблем со доцнењето. Понекогаш подобро решение е политика што одговара на хардверот што го имате.
- 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
- NVIDIA Isaac-GR00T: N1.7 складиште и README (16 GB праг на заклучување, инсталација, затворен Cosmos-Reason2-2B 'backbone', FFmpeg ограничување)
- run_gr00t_server.py: CLI на GR00T серверот за политика, стандардни поставки на ServerConfig (host 0.0.0.0, port 5555) и патеката на ReplayPolicy
- server_client.py: PolicyServer и PolicyClient, границата allow_pickle=False на MsgSerializer, api_token, timeout_ms
- eval_so100.py: клиентот за политика SO-100, стандардни поставки на EvalConfig и синхроната контролна јамка
- Isaac-GR00T SO100/SO101 пример: конверзија на збир на податоци, фино подесување и команди за евалуација во затворена јамка
- Isaac-GR00T Водич за распоредување во реален свет: 33 ms синхрон буџет, стоп-и-оди, големина на акционен блок, RTC статус
- Isaac-GR00T Препорака за хардвер: фреквенција на заклучување по GPU и минимумот од 10 Hz
- Isaac-GR00T Водич за распоредување и заклучување: резултати од бенчмарк за латентност по компонента
- LeRobot: Упатство за асинхроно заклучување (PolicyServer, RobotClient, документираната табела со параметри)
- lerobot async_inference/configs.py: стандардни поставки на PolicyServerConfig и RobotClientConfig, AGGREGATE_FUNCTIONS регистар
- lerobot async_inference/policy_server.py: pickle.loads на податоци од барање, add_insecure_port, имињата на gRPC повиците
- lerobot robot_client.py: gRPC транспорт, pickle серијализација, евидентирање на латентност
- CVE-2026-25874: LeRobot небезбедна десеријализација на далечинско извршување на код преку gRPC, засегнати до 0.5.1
- Black, Galliker и Levine, Извршување во реално време на политики за проток со акционо групирање (групирање во реално време)
- Runpod цени за GPU: часовни стапки за заедницата и безбеден облак за A100, H100, L40S и RTX 4090
Sources
- NVIDIA Isaac-GR00T: N1.7 repository and README (16 GB inference floor, install, gated Cosmos-Reason2-2B backbone, FFmpeg constraint)
- run_gr00t_server.py: the GR00T policy server CLI, ServerConfig defaults (host 0.0.0.0, port 5555) and the ReplayPolicy path
- server_client.py: PolicyServer and PolicyClient, MsgSerializer's allow_pickle=False boundary, api_token, timeout_ms
- eval_so100.py: the SO-100 policy client, EvalConfig defaults and the synchronous control loop
- Isaac-GR00T SO100/SO101 example: dataset conversion, finetune and closed-loop eval commands
- Isaac-GR00T Real-World Deployment Guide: the 33 ms synchronous budget, stop-and-go, action chunk size, RTC status
- Isaac-GR00T Hardware Recommendation: inference frequency per GPU and the 10 Hz minimum
- Isaac-GR00T Deployment and Inference Guide: per-component latency benchmark results
- LeRobot: Asynchronous Inference tutorial (PolicyServer, RobotClient, the documented parameter table)
- lerobot async_inference/configs.py: PolicyServerConfig and RobotClientConfig defaults, AGGREGATE_FUNCTIONS registry
- lerobot async_inference/policy_server.py: pickle.loads on request data, add_insecure_port, the gRPC call names
- lerobot robot_client.py: gRPC transport, pickle serialization, latency logging
- CVE-2026-25874: LeRobot unsafe deserialization remote code execution via gRPC, affected through 0.5.1
- Black, Galliker and Levine, Real-Time Execution of Action Chunking Flow Policies (real-time chunking)
- Runpod GPU pricing: community and secure cloud hourly rates for A100, H100, L40S and RTX 4090
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started