Halaman cuba AY-Robots: tiga cara untuk bermula tanpa memiliki robot, termasuk menyewa GPU untuk inferens polisi
GR00T N1.7Inferens JauhGPU AwanLeRobotSO-100Kependaman

Jalankan Inferens GR00T Tanpa GPU Tempatan

AY-Robots ResearchAugust 23, 202619 min bacaan

Mesin robot anda tiada GPU. Letakkan pelayan polisi GR00T pada GPU awan sewa, strim cebisan tindakan ke lengan, dan ketahui dengan tepat kos rangkaian anda.

Raspberry Pi cukup untuk menggerakkan melalui bas bersiri dan menarik bingkai daripada dua kamera USB. Ia tidak cukup untuk menjalankan model tiga bilion parameter : README NVIDIA meletakkan inferens GR00T N1.7 pada satu GPU dengan 16 GB atau lebih VRAM. Untuk melihat apa yang dilakukan oleh checkpoint anda yang telah ditala halus pada lengan tanpa membeli kad, letakkan polisi pada GPU awan yang disewa, kekalkan gelung robot pada mesin dengan port USB, dan hantar pemerhatian serta cebisan tindakan melalui rangkaian.

Ia berfungsi, ia tidak percuma, dan harganya tidak tersebar secara sekata merentasi tugas. Di bawah: pelayan polisi NVIDIA sendiri, tindanan async lerobot, aritmetik yang menyatakan terlebih dahulu sama ada pautan atas anda cukup pantas, dan laluan platform. Kesemuanya telah disemak terhadap cawangan utama Isaac-GR00T (N1.7 GA) dan lerobot 0.6.1 pada 23 Ogos 2026.

Apa yang perlu anda tahu

  • GR00T N1.7, GR00T N1.5 dan Pi0.5 adalah model parameter kira-kira 3 B. Tiada satu pun yang sesuai pada pengawal robot tanpa GPU diskret.
  • Isaac-GR00T dan lerobot kedua-duanya menyediakan pembahagian klien-pelayan. Anda tidak menulis pengangkutan.
  • Pemerhatian mendominasi kos wayar, bukan tindakan: dua bingkai RGB 640x480 yang tidak dimampatkan adalah 1,843,200 bait, kira-kira 14.7 Mbit setiap panggilan, dan tiada tindanan yang memampatkannya.
  • AY-Robots menyenaraikan 20 hingga 485 ms setiap langkah tindakan mengikut model. Perjalanan pergi balik internet menambah di atas itu.
  • Inferens jauh sesuai untuk pilih-dan-letak yang perlahan, bukan gerakan reaktif yang pantas. Horizon pelaksanaan yang lebih panjang membeli masa dan mengorbankan kesegaran pemerhatian.
  • Tiada pelayan yang selamat pada IP awam seperti yang dihantar, dan lerobot membawa RCE yang tidak ditampal. Terowongkannya.

Mengapa polisi tidak akan muat pada mesin robot

Dua daripada lima polisi yang boleh dilatih oleh AY-Robots berjalan pada kad stesen kerja, tiga tidak. Kolum di bawah adalah bagi setiap langkah tindakan, dan itulah nombor yang bersaing dengan perjalanan pergi balik rangkaian anda.

PolisiParameterInferens setiap langkah tindakanTahap GPU untuk latihanEpisod minimumFormat set data
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
Halaman polisi AY-Robots membandingkan lima polisi yang boleh dilatih mengikut parameter, tahap GPU, latensi inferens dan episod minimum
Lima baris yang sama di /policies. Kolum latensi menentukan sama ada polisi bertahan dalam lompatan rangkaian.

Baca ini sebagai keputusan, bukan maklumat remeh. pada 20 ms setiap langkah berjalan pada mesin robot dan anda tidak perlu memikirkannya lagi. pada 485 ms telah menghabiskan sepertiga saat sebelum paket meninggalkan bangunan anda. dan menambah sisi ketepatan.

ACT tiada model asas

GR00T N1.7, GR00T N1.5 dan Pi0.5 bermula dari pusat pemeriksaan vendor (nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B, lerobot/pi05_base). ACT tidak wujud sehingga anda melatihnya untuk tugas anda sendiri, jadi tiada apa-apa untuk diservis dari jauh sehingga tugas latihan telah dijalankan. Lihat ACT on SO-100.

Dua tindanan klien-pelayan yang sedia ada

Isaac-GR00T menghantar pelayan permintaan-balas ZeroMQ; lerobot menghantar pelayan gRPC yang dibina berdasarkan inferens tak segerak. Kedua-duanya menerima GR00T pusat pemeriksaan. Senarai polisi yang disokong lerobot dalam async_inference/constants.py ialah act, smolvla, diffusion, tdmpc, vqbet, pi0, pi05 dan groot; senarai robotnya ialah so100_follower, so101_follower, bi_so_follower dan omx_follower.

Isaac-GR00T PolicyServerlerobot async inference
Titik masukgr00t/eval/run_gr00t_server.pypython -m lerobot.async_inference.policy_server
PengangkutanZeroMQ REQ/REPgRPC, add_insecure_port / insecure_channel
Penyirianmsgpack + msgpack_numpy, allow_pickle=False enforcedpickle.dumps / pickle.loads, marked # nosec
Port lalai55558080
Ikatan lalai0.0.0.0, semua antara mukalocalhost
Pengesahanapi_token supported by the class, not passed by the CLItiada
Tamat masa klien15000 ms (PolicyClient timeout_ms)2 s tamat masa barisan pemerhatian
Model pelaksanaansegerak: sekat, kemudian laksanakan cebisantak segerak: laksanakan semasa cebisan seterusnya dikira

Baris siri (serialization) lebih penting daripada yang kelihatan. GR00T's MsgSerializer menolak muatan ndarray object-dtype dalam kedua-dua arah, kerana msgpack_numpy akan menyerahkannya kepada pickle. lerobot menggunakan pickle sebaliknya: policy_server.py memanggil pickle.loads pada data permintaan, robot_client.py menggunakan pickle untuk pemerhatian yang dihantarnya. Boleh dipertahankan pada LAN yang dipercayai, tidak boleh dipertahankan apabila port boleh dicapai dari internet.

Laluan A: Pelayan polisi GR00T milik NVIDIA

Ini adalah laluan yang didokumenkan oleh NVIDIA untuk perkakasan SO-100 dan SO-101, dan yang perlu digunakan jika titik semak anda datang daripada examples/finetune.sh dengan --embodiment-tag NEW_EMBODIMENT. Langkah-langkah ini menambah apa yang ditinggalkan oleh README hulu: mendapatkan port ke robot tanpa mendedahkannya kepada orang lain.

  1. 1
    Pasang GR00T pada kotak GPU sewa

    Submodul diperlukan, dan git-lfs mesti wujud sebelum klon atau fail parquet dalam demo_data tiba sebagai penunjuk. flash-attn dan TensorRT disertakan dengan pemasangan lalai. Perangkap pada imej pod baharu: torchcodec 0.8.0 adalah satu-satunya backend video yang disokong dan hanya memuatkan FFmpeg 4 hingga 7. Ubuntu 25.10 dan 26.04 menghantar FFmpeg 8, jadi GR00T gagal dengan Could not load libtorchcodec. Pasang FFmpeg di bawah versi 8 dan letakkan pustakanya pada 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
    Sahkan terhadap tulang belakang berpagar

    Setiap titik semak GR00T N1.7, termasuk penalaan halus anda sendiri, memuatkan nvidia/Cosmos-Reason2-2B yang berpagar pada penggunaan pertama. Minta akses pada halaman model dan log masuk pada pod, atau pemuatan akan gagal dengan GatedRepoError.

    bash
    uv run huggingface-cli login
    # or:  export HF_TOKEN=<your_token>
  3. 3
    Mulakan pelayan polisi

    Tujukan --model-path ke direktori titik semak anda; pada laluan itu pelayan mengabaikan --modality-config-path, yang hanya dibaca pada laluan ulang tayang. Abaikan --model-path dan hantar --dataset-path serta --execution-horizon sebaliknya untuk ReplayPolicy yang memainkan semula tindakan yang direkodkan, cara termurah untuk membuktikan pendawaian berfungsi.

    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
    Terowong port 5555 ke mesin robot

    Ikat ke gelung balik (loopback), seperti di atas, dan bawa port melalui SSH atau jaringan gaya WireGuard. Itu menyediakan penyulitan dan pengesahan yang tidak dimiliki oleh soket ZeroMQ, untuk kira-kira satu milisaat.

    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
    Jalankan klien robot di sebelah servo

    Klien memerlukan persekitaran uv sendiri: ia mahukan pemacu robot lerobot, bukan timbunan latihan. eval_so100.py mengimport so100_follower, so101_follower dan koch_follower, jadi hantar --robot.type yang sepadan dengan lengan anda (README hulu menggunakan so101_follower). Kunci kamera mesti sepadan dengan latihan: penyesuai membaca dengan tepat front dan wrist, dan menukarnya menunjukkan polisi pandangan yang salah.

    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"
Dua Lalai yang Akan Memudaratkan Anda

run_gr00t_server.py lalai kepada --host 0.0.0.0, mengikat setiap antara muka: pada pod dengan IP awam yang merupakan titik akhir inferens terbuka. Dan kelas PolicyServer menerima api_token dan mengesahkannya setiap permintaan, tetapi run_gr00t_server.py tidak pernah meluluskannya, jadi pelayan CLI tidak disahkan walau apa pun yang anda konfigurasikan. Ikat kepada 127.0.0.1 dan terowong. ZMQError: Address already in use bermaksud port 5555 sedang digunakan; hantar --port.

Laluan B: inferens async lerobot

lerobot menyelesaikan masalah yang berbeza. Daripada menyekat robot semasa model berfikir, klien terus melangkah melalui barisan yang sedia ada sementara pelayan mengira segmen seterusnya. Ini adalah pengecilan tindakan yang diperluaskan lagi, tindanan tak segerak yang diperkenalkan dengan SmolVLA. Ia juga berfungsi dengan titik semak 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
Pelayan polisi pada GPU, klien robot pada mesin dengan port USB

Pelayan bermula kosong: ia tidak tahu dasar mana yang disediakannya sehingga jabat tangan pertama klien memberitahunya, yang mudah pada pod sewaan. Dua tetapan yang menentukan sama ada lengan bergerak dengan lancar ialah actions_per_chunk dan chunk_size_threshold (dokumen lerobot memanggil yang kedua g, sempena kertas SmolVLA), dan nilai yang didokumenkan serta nilai yang dihantar tidak sepadan.

ParameterNilai dalam kod lerobot 0.6.1FungsiNota
actions_per_chunktiada lalai, diperlukanTindakan yang dikembalikan setiap panggilanJadual dokumen menyenaraikan 50; medan dataclass tiada lalai, jadi CLI memerlukan nilai
chunk_size_threshold0.5Nisbah isian barisan pada atau di bawah mana klien menghantar pemerhatian baharuJadual dokumen menyatakan 0.7; kod dan contoh dokumen sendiri menyatakan 0.5
fps30Kadar kawalan klien, menetapkan environment_dt = 1/fpsTurunkannya jika barisan terus kosong
inference_latency1/30 s (33.3 ms)Latensi inferens sasaran pada pelayanSasaran, bukan ukuran
obs_queue_timeout2 sBerapa lama pelayan menunggu pada barisan pemerhatianPautan naik yang perlahan akan kelihatan di sini dahulu
aggregate_fn_nameweighted_averageBagaimana kawasan chunk yang bertindih dicampur0.3 old + 0.7 new; latest_only, average dan conservative juga dihantar. Daftar adalah AGGREGATE_FUNCTIONS dalam configs.py, bukan robot_client.py seperti yang didakwa oleh dokumen
Pelayan dasar lerobot mempunyai RCE yang belum ditampal

CVE-2026-25874 ialah pelaksanaan kod jauh tanpa pengesahan dalam saluran paip inferens tak segerak lerobot: pickle.loads() pada data yang diterima melalui saluran gRPC tanpa pengesahan tanpa TLS, boleh dicapai melalui panggilan SendPolicyInstructions, SendObservations dan GetActions. CWE-502, skor asas CVSS 3.1 9.8 dari NVD, skor asas 4.0 9.3 dari CNA yang menetapkan. Rekod menyenaraikan LeRobot sehingga 0.5.1 sebagai terjejas dan menamakan kedua-dua pelayan dasar dan klien robot, jadi mesin di sebelah lengan anda berada dalam skop. Menaik taraf bukanlah penyelesaian: rekod memetik isu hulu 3047 dan tampalan, PR 3048, yang menukar pickle untuk safetensors ditambah JSON, dan pada 23 Ogos 2026 kedua-duanya masih terbuka. policy_server.py pada main masih memanggil pickle.loads pada data permintaan manakala serve() mengikat dengan add_insecure_port. Ikat kepada gelung balik dan jangan sekali-kali memajukan port 8080.

Aritmetik yang menentukan sama ada pautan anda cukup pantas

Orang ramai melangkau ini dan kemudian menghabiskan sehari untuk . Ia mengambil masa dua minit dan ia hampir selalu menentukan.

Dict pemerhatian yang dikomen dalam NVIDIA's eval_so100.py menyatakan apa yang dihantar melalui wayar: dua tatasusunan berbentuk (480, 640, 3) dalam uint8, enam float sendi, satu rentetan bahasa. Itu adalah 921,600 bait setiap bingkai, 1,843,200 bait untuk dua kamera, kira-kira 14.7 Mbit, dan tiada satu pun timbunan memampatkannya dengan JPEG. Bahagian yang kembali adalah beberapa dozen langkah 6 float. Muat naik anda menentukan segalanya, bukan muat turun anda.

Lebar jalur muat naikMasa untuk menghantar satu pemerhatian (14.7 Mbit)Keputusan untuk lengan 30 FPS
10 Mbit/s, muat naik rumah biasa~1.47 sTidak boleh digunakan. Lengan berhenti antara setiap cebisan.
25 Mbit/s~0.59 sHanya ambil-dan-letak yang perlahan, dengan ufuk pelaksanaan yang panjang.
50 Mbit/s~0.29 sBoleh digunakan untuk tugas yang disengajakan.
100 Mbit/s~0.15 sBaik untuk ambil-dan-letak, kelihatan pada pergerakan pantas.
1 Gbit/s gentian atau pusat data~0.015 sModel menjadi kesesakan sebaliknya.

Bajet yang perlu anda penuhi

Klien GR00T SO-100 adalah segerak: ia memanggil policy.get_action(obs), melaksanakan action_horizon langkah pertama daripada ketulan pada 30 FPS, kemudian memanggil semula. Saiz ketulan dan horizon adalah nombor yang berbeza: panduan penggunaan NVIDIA mengesyorkan saiz ketulan tindakan 16, sekurang-kurangnya 32 apabila digabungkan dengan chunking masa nyata, manakala eval_so100.py menyediakan horizon pelaksanaan 8. Lapan langkah pada 30 FPS adalah 267 ms pergerakan setiap panggilan, dan segala-galanya perlu muat di dalamnya.

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
Contoh kerja: pautan naik 100 Mbit/s, perjalanan pergi balik 30 ms, GR00T N1.7

Meningkatkan horizon adalah penyelesaian kasar dan bukan percuma: lengan bertindak berdasarkan pemerhatian yang kini sudah lama. Penyelesaian berprinsip adalah chunking masa nyata, yang mengira ketulan seterusnya semasa yang semasa berjalan, membekukan tindakan yang dijamin akan dilaksanakan dan melengkapkan selebihnya; kertas RTC melaporkannya sebagai teguh terhadap kelewatan inferens tanpa latihan semula. Semak kedudukannya terlebih dahulu. NVIDIA menandakan RTC sebagai eksperimen, primitif model peringkat rendah yang boleh dicapai melalui action_head.get_action(..., options={"rtc_overlap_steps": ..., "rtc_frozen_steps": ...}), tidak disambungkan ke Gr00tPolicy atau laluan pelayan-klien, di mana options tidak digunakan, tanpa ujian dan tanpa contoh. Melalui pelayan polisi anda mendapat pelaksanaan tak segerak, bukan RTC.

Kos model sebelum rangkaian

NVIDIA menanda aras GR00T N1.7 hujung ke hujung pada 4 langkah denoising dengan satu kamera. Pada H100 80GB HBM3: 85.8 ms (11.7 Hz) dalam PyTorch eager, 48.6 ms (20.6 Hz) dengan torch.compile, 27.9 ms (35.9 Hz) dengan saluran paip penuh TensorRT. L40 dalam mod eager mengambil 128.3 ms (7.8 Hz). NVIDIA menyatakan 10 Hz sebagai minimum yang disyorkan untuk manipulasi biasa, dan di bawah 10 Hz hanya sesuai untuk tugas yang perlahan dan tidak reaktif. Itu adalah kadar perancangan semula: polisi 10 Hz masih boleh memacu lengan 30 FPS melalui chunking tindakan. Kamera kedua menggerakkan anda ke arah yang salah.

Ukur sebelum anda percaya

Setiap nombor di atas adalah ramalan. Empat arahan mengubahnya menjadi ukuran, yang patut dijalankan sebelum memperuntukkan jam pod untuk tugas yang tidak akan berjaya.

  1. 1
    Dapatkan perjalanan pergi balik mentah

    Terhadap pod, bukan CDN. Perhatikan sisihan sama rapat dengan purata: jitter menyebabkan lengan tersentak, bukan latensi purata.

    bash
    ping -c 50 <pod-host>
    # the mdev column is the number that predicts stutter
  2. 2
    Ukur pautan atas yang anda miliki, bukan yang anda bayar

    Muat naik kediaman biasanya sebahagian kecil daripada muat turun, dan ia adalah nombor dalam jadual lebar jalur di atas.

    bash
    # on the pod
    iperf3 -s
    
    # on the robot machine, -R omitted so this measures upload
    iperf3 -c <pod-host> -t 30
  3. 3
    Baca log latensi klien sendiri

    Klien robot lerobot mencatat latensi pelayan-ke-klien dan masa penyahserialan untuk setiap cebisan. Pada laluan B anda tidak memerlukan alat luaran.

    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
    Perhatikan barisan tindakan mengalir keluar

    Luluskan --debug_visualize_queue_size=True dan klien akan memplot saiz barisan pada masa jalan. Jika ia berulang kali mencapai sifar, anda kehabisan bajet: kurangkan fps, tingkatkan actions_per_chunk, atau tingkatkan chunk_size_threshold supaya pemerhatian dihantar lebih kerap.

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

Untuk apa sebenarnya inferens jauh berguna

Polisi pada GPU sewa, lengan di meja anda
Kelebihan
  • Anda boleh menilai polisi parameter 3 B pada perkakasan sebenar tanpa memiliki kad yang berharga lebih daripada lengan.
  • GPU disewa mengikut jam, jadi titik semak yang gagal berharga beberapa dolar.
  • Bahagian robot kekal kecil: pemacu lerobot, dua kamera, port bersiri, dan anda menukar titik semak tanpa menyentuhnya.
Pertukaran
  • Pemerhatian tanpa mampatan mendominasi kos wayar, dan muat naik kediaman adalah kekangan yang mengikat.
  • Jitter lebih memudaratkan daripada kependaman: pautan purata 40 ms dengan lonjakan hingga 300 ms tersangkut manakala pautan stabil 120 ms tidak.
  • Tugas reaktif pantas tidak bertahan dalam perjalanan pergi balik pada mana-mana horizon.
  • Kedua-dua pelayan dihantar tanpa pengesahan dalam bentuk CLI, jadi kerja terowong adalah tanggungjawab anda.
  • Sambungan terputus di tengah-tengah cebisan meninggalkan lengan memegang tindakan yang lapuk. Tambah robot pengawas anda sendiri di sisi robot.
TugasBerfungsi melalui internet awam?Mengapa
Pilih objek statik, letakkannya dalam tongYaTiada apa-apa yang bergerak antara pemerhatian dan tindakan.
Susun blok pada kadar yang sengajaYa, pada action_horizon 16 atau lebihRalat terkumpul cukup perlahan untuk diperbaiki pada cebisan seterusnya.
Buka laci, masukkan objekBiasanyaKaya sentuhan tetapi perlahan. Perhatikan berhenti-dan-pergi pada sentuhan.
Ikut objek bergerakTidakPolisi bertindak berdasarkan pemerhatian berusia 300 ms hingga 1 s.
Tangkap, imbangkan, atau pulih daripada tergelincirTidakTetingkap pembetulan lebih pendek daripada satu perjalanan pergi balik.
Gelung tertutup segerak 30 HzTidakBajet adalah 33 ms hujung ke hujung. Malah LAN pun bergelut.

Jika larian jauh tersangkut pada titik yang sama dalam setiap episod, rangkaian mungkin bukan puncanya. Polisi yang teragak-agak pada sudut sendi yang sama setiap kali biasanya adalah masalah data; lihat halaman mod kegagalan, khususnya polisi yang hanya berfungsi dalam satu persediaan dan kerugian jatuh tetapi polisi tidak melakukan apa-apa.

Melakukannya sendiri berbanding melakukannya di AY-Robots

  1. Sewa GPU di pasaran spot dan tunggu VRAM yang mencukupi pada harga yang anda suka.
  2. Pasang CUDA, uv, torchcodec ffmpeg yang diterima, dan timbunan GR00T dengan submodul.
  3. Minta akses kepada tulang belakang `nvidia/Cosmos-Reason2-2B` yang berpagar dan letakkan token pada pod.
  4. Tarik checkpoint anda ke pod.
  5. Mulakan pelayan pada loopback, kemudian bina terowong SSH dari mesin robot.
  6. Pasang persekitaran kedua pada mesin robot untuk klien dan pemacu.
  7. Padankan kunci kamera, nama sendi dan arahan bahasa dengan apa yang dilihat oleh checkpoint.
  8. Pantau pod. A100 yang terlupa berjalan semalaman menelan belanja lebih daripada eksperimen.
Pod terbiar adalah kos sebenar

Bil GPU tidak berhenti apabila robot berhenti. Kebanyakan wang yang hilang pada inferens jauh pergi ke pelayan yang kekal aktif selepas semua orang pergi. Tetapkan penggera, atau automatikkan pembongkaran.

Halaman pelayan MCP AY-Robots menyenaraikan operasi platform yang didedahkan sebagai alat kepada agen AI
Halaman MCP: operasi penyediaan dan inferens didedahkan sebagai alat yang boleh dipanggil oleh agen.

Berapa kos sesi inferens jauh

Dua nombor penting: kadar jam kad, dan berapa lama anda membiarkannya berjalan. Yang pertama diterbitkan; yang kedua mengejutkan orang.

KadAwan komuniti RunpodAwan selamat RunpodSesuai untuk
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/hSama, sedikit lebih pantas
H100 PCIe 80 GB1.99 USD/h2.89 USD/hTahap terpantas; angka eager 11.7 Hz NVIDIA adalah untuk H100 80GB HBM3
L40S 48 GB0.79 USD/h0.99 USD/hInferens sahaja, melebihi had 16 GB
RTX 4090 24 GB0.34 USD/h0.74 USD/hSmolVLA, ACT

Kadar tersebut dibaca dari halaman harga Runpod pada 23 Ogos 2026, dan pasaran spot sentiasa berubah. AY-Robots pula menawarkan keseluruhan larian: 3 hingga 6 jam pada 1.20 hingga 2.00 USD sejam pada tahap A100 atau H100, kira-kira 4 hingga 12 USD untuk larian GR00T atau Pi0.5; 2 hingga 5 jam pada 0.30 hingga 0.60 USD sejam pada tahap 24 GB, 1 hingga 3 USD untuk SmolVLA atau ACT. Sesi inferens mengalahkan larian latihan dari segi kos hanya jika anda menghentikannya, itulah tujuan pengawas terbiar (idle watchdog). Lihat dokumen pengebilan dan halaman harga.

Jadual kos AY-Robots menunjukkan GPU mana yang diperlukan oleh setiap polisi, masa larian dan harga biasa, serta episod sebelum polisi berguna
Jadual kos di /try: kad mana yang diperlukan oleh setiap model dan berapa kos larian biasanya.

Jika anda lebih suka tidak melibatkan rangkaian

Inferens jarak jauh menyelesaikan masalah perkakasan dan mewujudkan masalah kependaman. Kadangkala jawapan yang lebih baik adalah polisi yang sesuai dengan perkakasan yang anda miliki.

  • ACT, kira-kira 80 J parameter dan 20 ms setiap langkah tindakan, minimum 50 episod, mana-mana kad 24 GB. Dalam persediaan tugas tunggal yang berulang, ia sering mengatasi model 3 B jarak jauh, kerana ia tidak pernah menunggu paket.
  • SmolVLA, kira-kira 450 J parameter dan 245 ms setiap langkah tindakan, minimum 30 episod. Ia mengekalkan pengkondisian bahasa yang tiada pada ACT, dan dokumen lerobot meletakkannya pada kira-kira 2 GB pada masa inferens berbanding kira-kira 14 GB untuk PI0.
  • ACT vs GR00T N1.7 untuk separuh ketepatan dalam pertukaran.

Terdapat juga jalan tengah: latih di awan, nilai secara tempatan. Penalaan halus memerlukan kad 80 GB dan tidak kisah tentang kependaman, jadi melatih GR00T N1.7 pada SO-100 dari jauh adalah tidak kontroversi. Hanya gelung penilaian yang mempunyai kekangan masa nyata; dokumen latihan dan matriks model-dan-lengan meliputi separuh itu.

Belum ada lengan robot di meja?

Pandu SO-100 sebenar dalam pelayar tanpa pendaftaran, bandingkan lima polisi yang boleh dilatih dengan nombor kependaman sebenar mereka, atau sewa GPU dan latih satu. Tiga cara untuk bermula, tiada satu pun memerlukan perkakasan yang anda tidak miliki.

Cuba tanpa perkakasan

Soalan lazim

Bolehkah saya menjalankan GR00T N1.7 pada Raspberry Pi jika GPU berada di lokasi terpencil?

Ya, itulah tujuan pembahagian klien-pelayan. Pi menjalankan pemacu lerobot, membaca dua kamera dan bas bersiri, dan menghantar pemerhatian kepada pelayan polisi; ia tidak pernah memuatkan model. Kekangan beralih daripada VRAM kepada lebar jalur muat naik: dua bingkai RGB 640x480 yang tidak dimampatkan adalah 1,843,200 bait setiap panggilan, dan tiada satu pun tumpukan memampatkannya.

Berapa banyak kependaman yang sebenarnya ditambah oleh rangkaian?

Masa pergi balik ditambah masa pemindahan pemerhatian. Masa pemindahan ialah 14.7 Mbit dibahagikan dengan lebar jalur muat naik anda: kira-kira 147 ms pada pautan 100 Mbit/s, 1.47 s pada pautan 10 Mbit/s. Kedua-duanya berada di atas masa inferens model itu sendiri, yang AY-Robots senaraikan sebagai 152 ms untuk GR00T N1.7 dan 485 ms untuk Pi0.5. Ukur dengan ping dan iperf3 terhadap pod, bukan pelayan ujian kelajuan.

Adakah inferens jauh cukup baik untuk tugas sebenar?

Untuk pilih-dan-letak yang perlahan dan sengaja, ya. Untuk apa-apa yang reaktif, tidak. Panduan penempatan NVIDIA meletakkan keperluan langkah tunggal segerak pada kira-kira 33 ms hujung ke hujung pada 30 FPS, dan menyatakan bahawa penangkapan, rangkaian, inferens dan pasca-pemprosesan secara rutin melebihi itu tanpa melibatkan internet.

Port manakah yang digunakan oleh pelayan dan adakah selamat untuk membukanya?

PolicyServer Isaac-GR00T lalai kepada port 5555 melalui ZeroMQ dan mengikat 0.0.0.0 dalam CLI-nya. lerobot lalai kepada port 8080 melalui gRPC dan mengikat localhost. Kedua-duanya tidak selamat untuk didedahkan: kelas GR00T menyokong api_token tetapi run_gr00t_server.py tidak pernah menghantarnya, dan lerobot mem-pickle data melalui saluran gRPC yang tidak selamat, iaitu CVE-2026-25874. Ikat kepada gelung balik dan gunakan terowong SSH.

Adakah menaik taraf lerobot membetulkan CVE-2026-25874?

Tidak setakat 23 Ogos 2026. Rekod CVE menyenaraikan LeRobot sehingga 0.5.1 sebagai terjejas dan PyPI menghantar 0.6.1, tetapi permintaan tarik yang akan membuang pickle daripada saluran paip async masih terbuka, dan policy_server.py pada main masih memanggil pickle.loads pada data permintaan. Anggap pengasingan rangkaian sebagai mitigasi, bukan peningkatan versi, dan anggap klien di sisi robot juga termasuk dalam skop.

Bolehkah saya menggunakan klien async lerobot dengan titik semak GR00T?

Ya. lerobot 0.6.1 menyenaraikan groot dalam SUPPORTED_POLICIES bersama act, smolvla, diffusion, tdmpc, vqbet, pi0 dan pi05, dan kedua-dua so100_follower dan so101_follower berada dalam SUPPORTED_ROBOTS. Luluskan --policy_type=groot dan halakan --pretrained_name_or_path pada titik semak anda. Anda mendapat pelaksanaan tak segerak, yang tidak dilaksanakan oleh contoh GR00T SO-100, dengan kos pengangkutan pickle.

Versi ringkas

Inferens jauh untuk polisi 3 B adalah masalah kejuruteraan yang telah diselesaikan dengan masalah fizik yang belum diselesaikan. Kejuruteraan melibatkan dua arahan dan terowong SSH. Fizik pula ialah pemerhatian 1.8 MB perlu sampai ke GPU di negara lain dan kembali sebelum lengan kehabisan tindakan. Lakukan pengiraan sebelum menyewa apa-apa, pilih tugas yang boleh menerima pemerhatian lapuk, dan tingkatkan ufuk pelaksanaan daripada mengharapkan pautan bertambah baik.

Jika anda belum merekodkan set data, rekodkan set data pertama anda dan panduan persediaan SO-100 didahulukan, dan entri format set data LeRobot menerangkan apa yang direkodkan oleh perakam. Latar belakang adalah dalam model tindakan bahasa-penglihatan dan kerja polisi padanan aliran; entri arena memautkan setiap nombor penanda aras kepada sumber.

Sources

Sources

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started