Halaman coba AY-Robots: tiga cara untuk memulai tanpa memiliki robot, termasuk menyewa GPU untuk inferensi kebijakan
GR00T N1.7Inferensi Jarak JauhCloud GPULeRobotSO-100Latensi

Jalankan Inferensi GR00T Tanpa GPU Lokal

AY-Robots ResearchAugust 23, 202619 menit baca

Mesin robot Anda tidak memiliki GPU. Tempatkan server kebijakan GR00T pada GPU cloud sewaan, alirkan potongan aksi ke lengan, dan pelajari dengan tepat berapa biaya jaringan untuk Anda.

Raspberry Pi cukup untuk menggerakkan melalui bus serial dan mengambil frame dari dua kamera USB. Ini tidak cukup untuk menjalankan model tiga miliar parameter : README NVIDIA menempatkan inferensi GR00T N1.7 pada satu GPU dengan VRAM 16 GB atau lebih. Untuk melihat apa yang dilakukan checkpoint GR00T N1.7 Anda yang telah disetel dengan baik pada lengan tanpa membeli kartu, tempatkan kebijakan pada GPU cloud sewaan, pertahankan loop robot pada mesin dengan port USB, dan kirim observasi serta potongan aksi melalui jaringan.

Ini berfungsi, tidak gratis, dan harganya tidak merata di semua tugas. Di bawah: server kebijakan NVIDIA sendiri, tumpukan asinkron lerobot, perhitungan yang menyatakan sebelumnya apakah uplink Anda cukup cepat, dan rute platform. Semua ini diperiksa terhadap cabang utama Isaac-GR00T (N1.7 GA) dan lerobot 0.6.1 pada 23 Agustus 2026.

Yang perlu Anda ketahui

  • GR00T N1.7, GR00T N1.5, dan Pi0.5 adalah model dengan sekitar 3 miliar parameter. Tidak ada yang muat di pengontrol robot tanpa GPU diskrit.
  • Isaac-GR00T dan lerobot keduanya menyediakan pemisahan klien-server. Anda tidak menulis transportnya.
  • Observasi mendominasi biaya transmisi, bukan aksi: dua frame RGB 640x480 yang tidak terkompresi adalah 1.843.200 byte, sekitar 14.7 Mbit per panggilan, dan tidak ada tumpukan yang mengompresnya.
  • AY-Robots mencantumkan 20 hingga 485 ms per langkah aksi berdasarkan model. Waktu pulang-pergi internet ditambahkan di atas itu.
  • Inferensi jarak jauh cocok untuk pengambilan dan penempatan yang lambat, bukan gerakan reaktif yang cepat. Horizon eksekusi yang lebih panjang membeli waktu dan mengorbankan kesegaran observasi.
  • Tidak ada server yang aman pada IP publik seperti yang dikirimkan, dan lerobot memiliki RCE yang belum ditambal. Lakukan tunneling.

Mengapa kebijakan tidak akan muat di mesin robot

Dua dari lima kebijakan AY-Robots yang dapat dilatih berjalan pada kartu workstation, tiga tidak. Kolom di bawah ini adalah per langkah tindakan, dan itulah angka yang bersaing dengan waktu pulang-pergi jaringan Anda.

KebijakanParameterInferensi per langkah tindakanTingkat GPU untuk pelatihanEpisode minimumFormat dataset
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 kebijakan AY-Robots yang membandingkan lima kebijakan yang dapat dilatih berdasarkan parameter, tingkat GPU, latensi inferensi, dan episode minimum
Lima baris yang sama di /policies. Kolom latensi menentukan apakah suatu kebijakan bertahan dalam lompatan jaringan.

Bacalah itu sebagai keputusan, bukan hal sepele. pada 20 ms per langkah berjalan di mesin robot dan Anda tidak akan memikirkannya lagi. pada 485 ms telah menghabiskan sepertiga detik sebelum paket meninggalkan gedung Anda. dan menambahkan sisi akurasi.

ACT tidak memiliki model dasar

GR00T N1.7, GR00T N1.5, dan Pi0.5 dimulai dari checkpoint vendor (nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B, lerobot/pi05_base). ACT tidak ada sampai Anda melatihnya pada tugas Anda sendiri, jadi tidak ada yang bisa disajikan secara remote sampai pekerjaan pelatihan telah berjalan. Lihat ACT pada SO-100.

Dua tumpukan klien-server yang sudah ada

Isaac-GR00T mengirimkan server permintaan-balasan ZeroMQ; lerobot mengirimkan server gRPC yang dibangun di sekitar inferensi asinkron. Keduanya menerima GR00T checkpoint. Daftar kebijakan yang didukung lerobot di async_inference/constants.py adalah act, smolvla, diffusion, tdmpc, vqbet, pi0, pi05 dan groot; daftar robotnya adalah 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
TransportasiZeroMQ REQ/REPgRPC, add_insecure_port / insecure_channel
Serialisasimsgpack + msgpack_numpy, allow_pickle=False enforcedpickle.dumps / pickle.loads, marked # nosec
Port default55558080
Bind default0.0.0.0, semua antarmukalocalhost
Otentikasiapi_token didukung oleh kelas, tidak diteruskan oleh CLItidak ada
Batas waktu klien15000 ms (PolicyClient timeout_ms)2 s batas waktu antrean observasi
Model eksekusisinkron: blokir, lalu eksekusi potonganasinkron: eksekusi saat potongan berikutnya dihitung

Baris serialisasi lebih penting dari yang terlihat. GR00T's MsgSerializer menolak payload ndarray object-dtype di kedua arah, karena msgpack_numpy akan menyerahkannya ke pickle. lerobot menggunakan pickle sebagai gantinya: policy_server.py memanggil pickle.loads pada data permintaan, robot_client.py mem-pickle observasi yang dikirimnya. Dapat dipertahankan di LAN yang tepercaya, tidak dapat dipertahankan setelah port dapat dijangkau dari internet.

Rute A: Server kebijakan GR00T milik NVIDIA

Ini adalah jalur yang didokumentasikan NVIDIA untuk perangkat keras SO-100 dan SO-101, dan yang harus digunakan jika checkpoint Anda berasal dari examples/finetune.sh dengan --embodiment-tag NEW_EMBODIMENT. Langkah-langkah ini menambahkan apa yang tidak disebutkan dalam README upstream: mendapatkan port ke robot tanpa mengeksposnya ke orang lain.

  1. 1
    Instal GR00T di kotak GPU sewaan

    Submodul diperlukan, dan git-lfs harus ada sebelum kloning atau file parquet di demo_data tiba sebagai pointer. flash-attn dan TensorRT disertakan dengan instalasi default. Jebakan pada image pod yang baru: torchcodec 0.8.0 adalah satu-satunya backend video yang didukung dan hanya memuat FFmpeg 4 hingga 7. Ubuntu 25.10 dan 26.04 mengirimkan FFmpeg 8, sehingga GR00T gagal dengan Could not load libtorchcodec. Instal FFmpeg di bawah 8 dan letakkan pustakanya di 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
    Autentikasi terhadap backbone yang digerbang

    Setiap checkpoint GR00T N1.7, termasuk fine-tune Anda sendiri, memuat nvidia/Cosmos-Reason2-2B yang digerbang pada penggunaan pertama. Minta akses di halaman model dan masuk ke pod, atau pemuatan akan gagal dengan GatedRepoError.

    bash
    uv run huggingface-cli login
    # or:  export HF_TOKEN=<your_token>
  3. 3
    Mulai server kebijakan

    Arahkan --model-path ke direktori checkpoint Anda; pada jalur tersebut server mengabaikan --modality-config-path, yang hanya dibaca pada jalur replay. Hilangkan --model-path dan berikan --dataset-path ditambah --execution-horizon sebagai gantinya untuk ReplayPolicy yang memutar ulang tindakan yang direkam, cara termurah untuk membuktikan bahwa pengkabelan 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 loopback, seperti di atas, dan bawa port melalui SSH atau mesh bergaya WireGuard. Itu menyediakan enkripsi dan autentikasi yang tidak dimiliki soket ZeroMQ, selama sekitar satu milidetik.

    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 membutuhkan lingkungan uv-nya sendiri: ia menginginkan driver robot lerobot, bukan tumpukan pelatihan. eval_so100.py mengimpor so100_follower, so101_follower, dan koch_follower, jadi berikan --robot.type yang sesuai dengan lengan Anda (README upstream menggunakan so101_follower). Kunci kamera harus sesuai dengan pelatihan: adaptor membaca persis front dan wrist, dan menukarnya akan menunjukkan tampilan yang salah kepada kebijakan.

    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 Pengaturan Default yang Akan Menimbulkan Masalah

run_gr00t_server.py secara default menggunakan --host 0.0.0.0, mengikat setiap antarmuka: pada pod dengan IP publik, itu adalah titik akhir inferensi terbuka. Dan kelas PolicyServer menerima api_token dan memvalidasinya per permintaan, tetapi run_gr00t_server.py tidak pernah meneruskannya, sehingga server CLI tidak terautentikasi apa pun yang Anda konfigurasikan. Ikat ke 127.0.0.1 dan buat terowongan. Sebuah ZMQError: Address already in use berarti port 5555 sudah digunakan; teruskan --port.

Rute B: Inferensi Asinkron LeRobot

LeRobot memecahkan masalah yang berbeda. Alih-alih memblokir robot saat model berpikir, klien terus melangkah melalui antrean yang sudah dimilikinya sementara server menghitung bagian berikutnya. Ini adalah pemotongan aksi yang dikembangkan lebih lanjut, tumpukan asinkron yang diperkenalkan dengan SmolVLA. Ini juga berfungsi dengan checkpoint 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
Server kebijakan pada GPU, klien robot pada mesin dengan port USB

Server dimulai dalam keadaan kosong: ia tidak tahu kebijakan mana yang dilayaninya sampai jabat tangan pertama klien memberitahukannya, yang nyaman pada pod sewaan. Dua pengaturan yang menentukan apakah lengan bergerak dengan mulus adalah actions_per_chunk dan chunk_size_threshold (dokumen lerobot menyebut yang kedua g, mengikuti makalah SmolVLA), dan nilai-nilai yang didokumentasikan serta nilai-nilai yang dikirimkan tidak sesuai.

ParameterNilai dalam kode lerobot 0.6.1FungsinyaCatatan
actions_per_chunktidak ada default, wajibAksi yang dikembalikan per panggilanTabel dokumen mencantumkan 50; bidang dataclass tidak memiliki nilai default, sehingga CLI menuntut nilai.
chunk_size_threshold0.5Rasio pengisian antrean di atau di bawah mana klien mengirimkan observasi baruTabel dokumen mengatakan 0.7; kode dan contoh dokumen itu sendiri mengatakan 0.5.
fps30Laju kontrol klien, mengatur environment_dt = 1/fpsTurunkan jika antrean terus mengosongkan diri
inference_latency1/30 s (33.3 ms)Latensi inferensi target di serverSebuah target, bukan pengukuran
obs_queue_timeout2 sBerapa lama server menunggu antrean observasiUplink yang lambat akan terlihat di sini terlebih dahulu
aggregate_fn_nameweighted_averageBagaimana wilayah chunk yang tumpang tindih dicampur0.3 lama + 0.7 baru; latest_only, average, dan conservative juga disertakan. Registri adalah AGGREGATE_FUNCTIONS di configs.py, bukan robot_client.py seperti yang diklaim dokumen.
Server kebijakan lerobot memiliki RCE yang belum ditambal

CVE-2026-25874 adalah eksekusi kode jarak jauh tanpa autentikasi dalam pipeline inferensi asinkron lerobot: pickle.loads() pada data yang diterima melalui saluran gRPC tanpa autentikasi tanpa TLS, dapat dijangkau melalui panggilan SendPolicyInstructions, SendObservations, dan GetActions. CWE-502, skor dasar CVSS 3.1 9.8 dari NVD, skor dasar 4.0 9.3 dari CNA yang menugaskan. Catatan tersebut mencantumkan LeRobot through 0.5.1 sebagai yang terpengaruh dan menyebutkan server kebijakan serta klien robot, sehingga mesin di sebelah lengan Anda termasuk dalam cakupan. Peningkatan bukan solusinya: catatan tersebut mengutip masalah upstream 3047 dan patch, PR 3048, yang menukar pickle dengan safetensors plus JSON, dan pada 23 Agustus 2026 keduanya masih terbuka. policy_server.py di main masih memanggil pickle.loads pada data permintaan sementara serve() mengikat dengan add_insecure_port. Ikat ke loopback dan jangan pernah meneruskan port 8080.

Aritmetika yang menentukan apakah tautan Anda cukup cepat

Orang-orang melewatkan ini dan kemudian menghabiskan sehari untuk . Ini memakan waktu dua menit dan hampir selalu menentukan.

Dict observasi yang dikomentari di NVIDIA's eval_so100.py mengatakan apa yang dikirim melalui jaringan: dua array dengan bentuk (480, 640, 3) dalam uint8, enam float sendi, sebuah string bahasa. Itu adalah 921.600 byte per bingkai, 1.843.200 byte untuk dua kamera, sekitar 14,7 Mbit, dan tidak ada tumpukan yang mengompresnya dengan JPEG. Potongan data yang kembali adalah beberapa lusin langkah dari 6 float. Unggahan Anda yang menentukan segalanya, bukan unduhan Anda.

Bandwidth unggahWaktu untuk mengirim satu observasi (14,7 Mbit)Putusan untuk lengan 30 FPS
10 Mbit/s, unggahan rumah biasa~1.47 sTidak dapat digunakan. Lengan berhenti di antara setiap potongan data.
25 Mbit/s~0.59 sHanya untuk pick-and-place lambat, dengan horizon eksekusi yang panjang.
50 Mbit/s~0.29 sDapat digunakan untuk tugas-tugas yang disengaja.
100 Mbit/s~0.15 sBaik untuk pick-and-place, terlihat pada gerakan cepat.
1 Gbit/s serat optik atau pusat data~0.015 sModel menjadi hambatan utama.

Anggaran yang harus Anda penuhi

Klien GR00T SO-100 bersifat sinkron: ia memanggil policy.get_action(obs), mengeksekusi action_horizon langkah dari chunk pada 30 FPS, lalu memanggil lagi. Ukuran chunk dan horizon adalah angka yang berbeda: panduan deployment NVIDIA merekomendasikan ukuran chunk aksi 16, setidaknya 32 jika digabungkan dengan chunking real-time, sementara eval_so100.py mengirimkan horizon eksekusi 8. Delapan langkah pada 30 FPS adalah 267 ms gerakan per panggilan, dan semua hal lain harus 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 kasus: 100 Mbit/s uplink, 30 ms round trip, GR00T N1.7

Meningkatkan horizon adalah solusi kasar dan bukan tanpa biaya: lengan bertindak berdasarkan observasi yang sudah usang. Solusi berprinsip adalah chunking real-time (RTC), yang menghitung chunk berikutnya saat chunk saat ini berjalan, membekukan tindakan yang dijamin akan dieksekusi dan mengisi sisanya; makalah RTC melaporkannya sebagai tangguh terhadap penundaan inferensi tanpa pelatihan ulang. Periksa statusnya terlebih dahulu. NVIDIA menandai RTC sebagai eksperimental, sebuah primitif model tingkat rendah yang dapat diakses melalui action_head.get_action(..., options={"rtc_overlap_steps": ..., "rtc_frozen_steps": ...}), tidak terhubung ke Gr00tPolicy atau jalur server-klien, di mana options tidak digunakan, tanpa pengujian dan tanpa contoh. Melalui server kebijakan, Anda mendapatkan eksekusi asinkron, bukan RTC.

Berapa biaya model sebelum jaringan

NVIDIA melakukan benchmark GR00T N1.7 secara end-to-end 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 pipeline penuh TensorRT. L40 dalam mode eager membutuhkan 128.3 ms (7.8 Hz). NVIDIA menyebut 10 Hz sebagai minimum yang direkomendasikan untuk manipulasi tipikal, dan di bawah 10 Hz hanya cocok untuk tugas yang lambat dan tidak reaktif. Itu adalah tingkat perencanaan ulang: kebijakan 10 Hz masih dapat menggerakkan lengan 30 FPS melalui chunking aksi. Kamera kedua akan membawa Anda ke arah yang salah.

Ukur sebelum Anda percaya

Setiap angka di atas adalah prediksi. Empat perintah mengubahnya menjadi pengukuran, yang patut dijalankan sebelum mengalokasikan pod-hour untuk tugas yang tidak akan pernah berhasil.

  1. 1
    Dapatkan waktu pulang-pergi mentah

    Terhadap pod, bukan CDN. Perhatikan deviasi sedekat mungkin dengan rata-rata: jitter menyebabkan lengan tersendat, bukan latensi rata-rata.

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

    Unggahan residensial biasanya sebagian kecil dari unduhan, dan itu adalah angka dalam tabel bandwidth 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 server-ke-klien dan waktu deserialisasi untuk setiap chunk. Pada rute B Anda tidak memerlukan alat eksternal.

    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 antrean aksi mengering

    Lewati --debug_visualize_queue_size=True dan klien akan memplot ukuran antrean saat runtime. Jika berulang kali mencapai nol, Anda kehabisan anggaran: turunkan fps, naikkan actions_per_chunk, atau naikkan chunk_size_threshold agar observasi lebih sering keluar.

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

Untuk apa sebenarnya inferensi jarak jauh itu berguna

Kebijakan pada GPU sewaan, lengan robot di meja Anda
Keuntungan
  • Anda dapat mengevaluasi kebijakan parameter 3 B pada perangkat keras nyata tanpa memiliki kartu yang harganya lebih mahal dari lengan robot.
  • GPU disewa per jam, jadi checkpoint yang gagal hanya memakan biaya beberapa dolar.
  • Sisi robot tetap kecil: driver lerobot, dua kamera, port serial, dan Anda dapat menukar checkpoint tanpa menyentuhnya.
Kompromi
  • Observasi yang tidak terkompresi mendominasi biaya transmisi, dan unggahan residensial adalah kendala utama.
  • Jitter lebih merugikan daripada latensi: tautan dengan rata-rata 40 ms dan lonjakan hingga 300 ms akan tersendat, sementara tautan stabil 120 ms tidak.
  • Tugas reaktif cepat tidak dapat bertahan dalam perjalanan pulang-pergi pada horizon mana pun.
  • Kedua server dikirim tanpa otentikasi dalam bentuk CLI, jadi pekerjaan tunneling adalah tanggung jawab Anda.
  • Koneksi terputus di tengah chunk membuat lengan memegang aksi yang usang. Tambahkan watchdog Anda sendiri di sisi robot.
TugasBerfungsi melalui internet publik?Mengapa
Pilih objek statis, letakkan di wadahYaTidak ada yang bergerak antara observasi dan aksi.
Susun balok dengan kecepatan yang disengajaYa, pada action_horizon 16 atau lebihKesalahan terakumulasi cukup lambat untuk diperbaiki pada chunk berikutnya.
Buka laci, masukkan objekBiasanyaBanyak kontak tetapi lambat. Perhatikan gerakan berhenti-dan-jalan saat kontak.
Ikuti objek bergerakTidakKebijakan bertindak berdasarkan observasi yang berusia 300 ms hingga 1 detik.
Menangkap, menyeimbangkan, atau pulih dari selipTidakJendela koreksi lebih pendek dari satu perjalanan pulang-pergi.
Loop tertutup sinkron 30 HzTidakAnggarannya adalah 33 ms ujung ke ujung. Bahkan LAN pun kesulitan.

Jika eksekusi jarak jauh tersendat pada titik yang sama di setiap episode, jaringan mungkin bukan penyebabnya. Kebijakan yang ragu-ragu pada sudut sendi yang sama setiap kali biasanya merupakan masalah data; lihat halaman mode kegagalan, khususnya kebijakan yang hanya berfungsi dalam satu pengaturan dan loss turun tetapi kebijakan tidak melakukan apa-apa.

Melakukannya sendiri vs melakukannya di AY-Robots

  1. Sewa GPU di pasar spot dan tunggu VRAM yang cukup dengan harga yang Anda inginkan.
  2. Instal CUDA, uv, torchcodec ffmpeg yang diterima, dan GR00T stack dengan submodule.
  3. Minta akses ke backbone `nvidia/Cosmos-Reason2-2B` yang dibatasi dan letakkan token di pod.
  4. Tarik checkpoint Anda ke pod.
  5. Mulai server di loopback, lalu bangun terowongan SSH dari mesin robot.
  6. Instal lingkungan kedua di mesin robot untuk klien dan driver.
  7. Cocokkan kunci kamera, nama sambungan, dan instruksi bahasa dengan apa yang dilihat checkpoint.
  8. Awasi pod. A100 yang terlupakan berjalan semalaman menghabiskan biaya lebih dari eksperimen.
Pod yang menganggur adalah biaya sebenarnya

Tagihan GPU tidak berhenti saat robot berhenti. Sebagian besar uang yang hilang pada inferensi jarak jauh masuk ke server yang tetap aktif setelah semua orang pergi. Atur alarm, atau otomatiskan pembongkaran.

Halaman server MCP AY-Robots yang mencantumkan operasi platform yang diekspos sebagai alat untuk agen AI
Halaman MCP: operasi penyediaan dan inferensi yang diekspos sebagai alat yang dapat dipanggil agen.

Berapa biaya sesi inferensi jarak jauh

Dua angka penting: tarif per jam kartu, dan berapa lama Anda membiarkannya berjalan. Yang pertama dipublikasikan; yang kedua mengejutkan orang.

KartuRunpod community cloudRunpod secure cloudCocok 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 cepat
H100 PCIe 80 GB1.99 USD/h2.89 USD/hTingkat tercepat; angka eager 11.7 Hz NVIDIA adalah untuk H100 80GB HBM3
L40S 48 GB0.79 USD/h0.99 USD/hHanya inferensi, di atas batas 16 GB
RTX 4090 24 GB0.34 USD/h0.74 USD/hSmolVLA, ACT

Tarif tersebut dibaca dari halaman harga Runpod pada 23 Agustus 2026, dan pasar spot bergerak. AY-Robots mengutip seluruh jalankan sebagai gantinya: 3 hingga 6 jam dengan 1.20 hingga 2.00 USD per jam pada tingkat A100 atau H100, sekitar 4 hingga 12 USD untuk jalankan GR00T atau Pi0.5; 2 hingga 5 jam dengan 0.30 hingga 0.60 USD per jam pada tingkat 24 GB, 1 hingga 3 USD untuk SmolVLA atau ACT. Sesi inferensi mengalahkan jalankan pelatihan dalam biaya hanya jika Anda menghentikannya, itulah fungsi idle watchdog. Lihat dokumen penagihan dan halaman harga.

Tabel biaya AY-Robots yang menunjukkan GPU mana yang dibutuhkan setiap kebijakan, waktu jalankan dan harga tipikal, serta episode sebelum kebijakan berguna
Tabel biaya di /try: kartu apa yang dibutuhkan setiap model dan berapa biaya jalankan biasanya.

Jika Anda lebih suka tidak melibatkan jaringan dalam loop

Inferensi jarak jauh memecahkan masalah perangkat keras dan menciptakan masalah latensi. Terkadang jawaban yang lebih baik adalah kebijakan yang sesuai dengan perangkat keras yang Anda miliki.

  • ACT, sekitar 80 juta parameter dan 20 ms per langkah aksi, 50 episode minimum, kartu 24 GB apa pun. Dalam pengaturan tugas tunggal yang berulang, ini sering mengalahkan model 3 B jarak jauh, karena tidak pernah menunggu paket.
  • SmolVLA, sekitar 450 juta parameter dan 245 ms per langkah aksi, 30 episode minimum. Ini mempertahankan pengkondisian bahasa yang tidak dimiliki ACT, dan dokumen lerobot menempatkannya sekitar 2 GB pada waktu inferensi dibandingkan sekitar 14 GB untuk PI0.
  • ACT vs GR00T N1.7 untuk separuh akurasi dari pertukaran.

Ada juga jalan tengah: latih di cloud, evaluasi secara lokal. Penyetelan halus membutuhkan kartu 80 GB dan tidak peduli dengan latensi, jadi melatih GR00T N1.7 pada SO-100 secara jarak jauh tidak kontroversial. Hanya loop evaluasi yang memiliki batasan waktu nyata; dokumen pelatihan dan matriks model dan lengan mencakup separuh itu.

Belum ada lengan robot di meja?

Kendalikan SO-100 sungguhan di browser tanpa perlu mendaftar, bandingkan lima kebijakan yang dapat dilatih dengan angka latensi nyatanya, atau sewa GPU dan latih salah satunya. Tiga cara untuk memulai, tidak ada yang membutuhkan perangkat keras yang tidak Anda miliki.

Coba tanpa perangkat keras

Pertanyaan yang sering diajukan

Bisakah saya menjalankan GR00T N1.7 di Raspberry Pi jika GPU-nya jarak jauh?

Ya, itulah tujuan pemisahan klien-server. Pi menjalankan driver lerobot, membaca dua kamera dan bus serial, dan mengirimkan observasi ke server policy; ia tidak pernah memuat model. Batasan berpindah dari VRAM ke bandwidth unggah: dua frame RGB 640x480 yang tidak terkompresi adalah 1.843.200 byte per panggilan, dan tidak ada stack yang mengompresnya.

Berapa banyak latensi yang sebenarnya ditambahkan oleh jaringan?

Waktu pulang-pergi ditambah waktu transfer observasi. Waktu transfer adalah 14.7 Mbit dibagi dengan bandwidth unggah Anda: kira-kira 147 ms pada tautan 100 Mbit/s, 1.47 s pada tautan 10 Mbit/s. Keduanya berada di atas waktu inferensi model itu sendiri, yang AY-Robots daftarkan sebagai 152 ms untuk GR00T N1.7 dan 485 ms untuk Pi0.5. Ukur dengan ping dan iperf3 terhadap pod, bukan server uji kecepatan.

Apakah inferensi jarak jauh cukup baik untuk tugas nyata?

Untuk tugas pick-and-place yang lambat dan disengaja, ya. Untuk apa pun yang reaktif, tidak. Panduan deployment NVIDIA menetapkan persyaratan langkah tunggal sinkron sekitar 33 ms ujung ke ujung pada 30 FPS, dan mencatat bahwa penangkapan, jaringan, inferensi, dan pasca-pemrosesan secara rutin melebihi itu tanpa melibatkan internet.

Port mana yang digunakan server dan apakah aman untuk membukanya?

PolicyServer Isaac-GR00T secara default menggunakan port 5555 melalui ZeroMQ dan mengikat 0.0.0.0 di CLI-nya. lerobot secara default menggunakan port 8080 melalui gRPC dan mengikat localhost. Keduanya tidak aman untuk diekspos: kelas GR00T mendukung api_token tetapi run_gr00t_server.py tidak pernah meneruskannya, dan lerobot mem-pickle data melalui saluran gRPC yang tidak aman, yang merupakan CVE-2026-25874. Ikat ke loopback dan gunakan terowongan SSH.

Apakah peningkatan lerobot memperbaiki CVE-2026-25874?

Tidak per 23 Agustus 2026. Catatan CVE mencantumkan LeRobot hingga 0.5.1 sebagai yang terpengaruh dan PyPI mengirimkan 0.6.1, tetapi permintaan pull yang akan menghapus pickle dari pipeline asinkron masih terbuka, dan policy_server.py di main masih memanggil pickle.loads pada data permintaan. Perlakukan isolasi jaringan sebagai mitigasi, bukan peningkatan versi, dan asumsikan klien sisi robot juga termasuk dalam cakupan.

Bisakah saya menggunakan klien asinkron lerobot dengan checkpoint GR00T?

Ya. lerobot 0.6.1 mencantumkan groot di SUPPORTED_POLICIES bersama act, smolvla, diffusion, tdmpc, vqbet, pi0, dan pi05, dan so100_follower serta so101_follower ada di SUPPORTED_ROBOTS. Teruskan --policy_type=groot dan arahkan --pretrained_name_or_path ke checkpoint Anda. Anda mendapatkan eksekusi asinkron, yang tidak diimplementasikan oleh contoh GR00T SO-100, dengan biaya transportasi pickle.

Versi singkat

Inferensi jarak jauh untuk 3 B policy adalah masalah rekayasa yang terpecahkan dengan masalah fisika yang belum terpecahkan. Rekayasa tersebut adalah dua perintah dan terowongan SSH. Fisikanya adalah bahwa observasi 1.8 MB harus mencapai GPU di negara lain dan kembali sebelum lengan kehabisan tindakan. Lakukan perhitungan sebelum menyewa apa pun, pilih tugas yang mentolerir observasi yang usang, dan tingkatkan horizon eksekusi daripada berharap tautan membaik.

Jika Anda belum merekam dataset, rekam dataset pertama Anda dan panduan pengaturan SO-100 didahulukan, dan entri format dataset LeRobot menjelaskan apa yang direkam oleh perekam. Latar belakangnya ada di model aksi bahasa-visi dan karya kebijakan pencocokan aliran; entri arena menautkan setiap angka benchmark ke sumber.

Sources

Sources

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started