
Το ρομποτικό σας μηχάνημα δεν διαθέτει GPU. Τοποθετήστε τον διακομιστή πολιτικής GR00T σε μια ενοικιαζόμενη GPU στο cloud, μεταδώστε τμήματα ενεργειών στον βραχίονα και μάθετε ακριβώς τι σας κοστίζει το δίκτυο.
Ένα Raspberry Pi είναι αρκετό για να οδηγήσει ένα μέσω σειριακού διαύλου και να τραβήξει καρέ από δύο κάμερες USB. Δεν είναι αρκετό για να εκτελέσει ένα μοντέλο τριών δισεκατομμυρίων παραμέτρων : το README της NVIDIA αναφέρει ότι η εξαγωγή συμπερασμάτων του GR00T N1.7 απαιτεί μία GPU με 16 GB ή περισσότερο VRAM. Για να δείτε τι κάνει το βελτιστοποιημένο σας checkpoint στον βραχίονα χωρίς να αγοράσετε κάρτα, τοποθετήστε την πολιτική σε μια ενοικιαζόμενη GPU στο cloud, κρατήστε τον βρόχο του ρομπότ στη μηχανή με τις θύρες USB και στείλτε παρατηρήσεις και τμήματα δράσης μέσω του δικτύου.
Λειτουργεί, δεν είναι δωρεάν και η τιμή δεν κατανέμεται ομοιόμορφα σε όλες τις εργασίες. Παρακάτω: ο δικός της διακομιστής πολιτικής της NVIDIA, η ασύγχρονη στοίβα του lerobot, η αριθμητική που λέει εκ των προτέρων αν η σύνδεσή σας είναι αρκετά γρήγορη και η διαδρομή της πλατφόρμας. Όλα αυτά ελέγχθηκαν έναντι του κύριου κλάδου του Isaac-GR00T (N1.7 GA) και του lerobot 0.6.1 στις 23 Αυγούστου 2026.
Τι πρέπει να γνωρίζετε
- •Τα GR00T N1.7, GR00T N1.5 και Pi0.5 είναι μοντέλα περίπου 3 δισεκατομμυρίων παραμέτρων. Κανένα δεν χωράει σε ελεγκτή ρομπότ χωρίς διακριτή GPU.
- •Το Isaac-GR00T και το lerobot διαθέτουν και τα δύο διαχωρισμό client-server. Δεν γράφετε εσείς τη μεταφορά.
- •Οι παρατηρήσεις κυριαρχούν στο κόστος καλωδίου, όχι οι ενέργειες: δύο ασυμπίεστα καρέ RGB 640x480 είναι 1.843.200 bytes, περίπου 14.7 Mbit ανά κλήση, και καμία στοίβα δεν τα συμπιέζει.
- •Η AY-Robots αναφέρει 20 έως 485 ms ανά βήμα δράσης ανά μοντέλο. Οι διαδρομές μετ' επιστροφής στο διαδίκτυο προστίθενται σε αυτό.
- •Η απομακρυσμένη εξαγωγή συμπερασμάτων ταιριάζει σε αργές εργασίες pick-and-place, όχι σε γρήγορη αντιδραστική κίνηση. Ένας μεγαλύτερος ορίζοντας εκτέλεσης κερδίζει χρόνο και κοστίζει σε φρεσκάδα παρατήρησης.
- •Κανένας διακομιστής δεν είναι ασφαλής σε δημόσια IP όπως παραδίδεται, και αυτός του lerobot φέρει ένα μη επιδιορθωμένο RCE. Δημιουργήστε ένα τούνελ.
Γιατί η πολιτική δεν θα χωρέσει στη μηχανή του ρομπότ
Δύο από τις πέντε πολιτικές που μπορεί να εκπαιδεύσει η AY-Robots τρέχουν σε κάρτα workstation, τρεις όχι. Η στήλη παρακάτω είναι ανά βήμα ενέργειας, και αυτός είναι ο αριθμός που ανταγωνίζεται τον χρόνο μετάδοσης του δικτύου σας.
| Πολιτική | Παράμετροι | Συμπερασματολογία ανά βήμα ενέργειας | Επίπεδο GPU για εκπαίδευση | Ελάχιστα επεισόδια | Μορφή συνόλου δεδομένων |
|---|---|---|---|---|---|
| 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 on SO-100.
Οι δύο στοίβες client-server που υπάρχουν ήδη
Το 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 enforced | pickle.dumps / pickle.loads, marked # nosec |
| Προεπιλεγμένη θύρα | 5555 | 8080 |
| Προεπιλεγμένη σύνδεση | 0.0.0.0, όλες οι διεπαφές | localhost |
| Έλεγχος ταυτότητας | api_token υποστηρίζεται από την κλάση, δεν περνιέται από το CLI | κανένας |
| Χρονικό όριο πελάτη | 15000 ms (PolicyClient timeout_ms) | 2 s χρονικό όριο ουράς παρατήρησης |
| Μοντέλο εκτέλεσης | σύγχρονο: μπλοκάρει, μετά εκτελεί το κομμάτι | ασύγχρονο: εκτελεί ενώ το επόμενο κομμάτι υπολογίζεται |
Η σειρά σειριοποίησης έχει μεγαλύτερη σημασία από ό,τι φαίνεται. Το MsgSerializer του GR00T αρνείται φορτία ndarray τύπου αντικειμένου και στις δύο κατευθύνσεις, επειδή το msgpack_numpy θα τα παρέδιδε διαφορετικά στο pickle. Το lerobot χρησιμοποιεί pickle αντ' αυτού: το policy_server.py καλεί το pickle.loads σε δεδομένα αιτήματος, το robot_client.py κάνει pickle την παρατήρηση που στέλνει. Υπερασπίσιμο σε ένα αξιόπιστο LAN, ανυπεράσπιστο μόλις η θύρα είναι προσβάσιμη από το διαδίκτυο.
Διαδρομή Α: Ο διακομιστής πολιτικής GR00T της NVIDIA
Αυτή είναι η διαδρομή που τεκμηριώνει η NVIDIA για το υλικό SO-100 και SO-101, και αυτή που πρέπει να χρησιμοποιήσετε εάν το checkpoint σας προήλθε από το examples/finetune.sh με --embodiment-tag NEW_EMBODIMENT. Τα βήματα προσθέτουν όσα παραλείπει το αρχικό README: τη μεταφορά της θύρας στο ρομπότ χωρίς να την εκθέσετε σε όλους τους άλλους.
- 1Εγκαταστήστε το GR00T στο ενοικιαζόμενο GPU box
Τα υπομονάδες είναι απαραίτητα, και το git-lfs πρέπει να υπάρχει πριν από το clone, αλλιώς τα αρχεία parquet στο
demo_dataθα φτάσουν ως δείκτες. Το flash-attn και το TensorRT περιλαμβάνονται στην προεπιλεγμένη εγκατάσταση. Η παγίδα σε μια νέα εικόνα pod: τοtorchcodec0.8.0 είναι το μόνο υποστηριζόμενο backend βίντεο και φορτώνει μόνο 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Επαληθεύστε την ταυτότητα έναντι του gated backbone
Κάθε checkpoint GR00T N1.7, συμπεριλαμβανομένου του δικού σας fine-tune, φορτώνει το gated
nvidia/Cosmos-Reason2-2Bστην πρώτη χρήση. Ζητήστε πρόσβαση στη σελίδα του μοντέλου και συνδεθείτε στο pod, αλλιώς η φόρτωση αποτυγχάνει με έναGatedRepoError.bashuv run huggingface-cli login # or: export HF_TOKEN=<your_token> - 3Εκκινήστε τον διακομιστή πολιτικής
Δείξτε το
--model-pathστον κατάλογο του checkpoint σας· σε αυτή τη διαδρομή ο διακομιστής αγνοεί το--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, δεσμεύοντας κάθε διεπαφή: σε ένα pod με δημόσια IP αυτό είναι ένα ανοιχτό σημείο τελικής χρήσης συμπερασμάτων. Και η κλάση PolicyServer δέχεται ένα api_token και το επικυρώνει ανά αίτημα, αλλά το run_gr00t_server.py δεν περνάει ποτέ ένα, οπότε ο διακομιστής CLI είναι μη πιστοποιημένος ό,τι κι αν ρυθμίσετε. Δεσμεύστε στο 127.0.0.1 και κάντε tunneling. Ένα ZMQError: Address already in use σημαίνει ότι η θύρα 5555 είναι κατειλημμένη· περάστε το --port.
Διαδρομή Β: ασύγχρονη εξαγωγή συμπερασμάτων με lerobot
Το lerobot επιλύει ένα διαφορετικό πρόβλημα. Αντί να μπλοκάρει το ρομπότ ενώ το μοντέλο σκέφτεται, ο πελάτης συνεχίζει να προχωρά στην ουρά που ήδη έχει, ενώ ο διακομιστής υπολογίζει το επόμενο κομμάτι. Αυτό είναι τεμαχισμός ενέργειας προχωρημένο, η ασύγχρονη στοίβα που εισήχθη με το SmolVLA. Λειτουργεί και με ένα checkpoint 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Ο διακομιστής ξεκινά κενός: δεν γνωρίζει ποια πολιτική εξυπηρετεί μέχρι το πρώτο handshake του πελάτη να του το πει, κάτι που είναι βολικό σε έναν ενοικιαζόμενο κόμβο. Οι δύο ρυθμίσεις που αποφασίζουν αν ο βραχίονας κινείται ομαλά είναι actions_per_chunk και chunk_size_threshold (τα έγγραφα του lerobot αναφέρουν το δεύτερο ως g, από την εργασία SmolVLA), και οι τεκμηριωμένες τιμές και οι τιμές που παρέχονται δεν συμφωνούν.
| Παράμετρος | Τιμή στον κώδικα lerobot 0.6.1 | Τι κάνει | Σημείωση |
|---|---|---|---|
| actions_per_chunk | χωρίς προεπιλογή, απαιτείται | Ενέργειες που επιστρέφονται ανά κλήση | Ο πίνακας τεκμηρίωσης αναφέρει 50· το πεδίο dataclass δεν έχει προεπιλογή, οπότε το 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 | Πόσο χρόνο περιμένει ο διακομιστής στην ουρά παρατηρήσεων | Μια αργή σύνδεση uplink εμφανίζεται πρώτα εδώ |
| 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 ως επηρεαζόμενο και ονομάζει τόσο τον διακομιστή πολιτικής όσο και τον πελάτη ρομπότ, οπότε η μηχανή δίπλα στον βραχίονά σας εμπίπτει στο πεδίο εφαρμογής. Η αναβάθμιση δεν είναι η λύση: η καταγραφή αναφέρει το upstream ζήτημα 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 bytes ανά καρέ, 1.843.200 bytes για δύο κάμερες, περίπου 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, και μετά καλεί ξανά. Το μέγεθος του τμήματος (chunk size) και ο ορίζοντας (horizon) είναι διαφορετικοί αριθμοί: ο οδηγός ανάπτυξης της NVIDIA συνιστά μέγεθος τμήματος δράσης 16, τουλάχιστον 32 όταν συνδυάζεται με real-time chunking, ενώ 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 ή στη διαδρομή server-client, όπου options δεν χρησιμοποιείται, χωρίς δοκιμές και χωρίς παράδειγμα. Μέσω ενός policy server αποκτάτε ασύγχρονη εκτέλεση, όχι 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) με την πλήρη pipeline του TensorRT. Ένα L40 σε eager mode χρειάζεται 128.3 ms (7.8 Hz). Η NVIDIA ορίζει τα 10 Hz ως το συνιστώμενο ελάχιστο για τυπική χειραγώγηση, και κάτω από 10 Hz κατάλληλο μόνο για αργές, μη αντιδραστικές εργασίες. Αυτές είναι ρυθμοί επανασχεδιασμού: μια πολιτική 10 Hz μπορεί ακόμα να κινήσει έναν βραχίονα 30 FPS μέσω του action chunking. Μια δεύτερη κάμερα σας οδηγεί σε λάθος κατεύθυνση.
Μετρήστε το πριν το εμπιστευτείτε
Κάθε αριθμός παραπάνω είναι μια πρόβλεψη. Τέσσερις εντολές τη μετατρέπουν σε μέτρηση, αξίζει να τις εκτελέσετε πριν δεσμεύσετε μια ώρα pod σε μια εργασία που δεν επρόκειτο ποτέ να λειτουργήσει.
- 1Λάβετε τον ακατέργαστο χρόνο μετ' επιστροφής
Ενάντια στο pod, όχι σε ένα CDN. Παρακολουθήστε την απόκλιση τόσο στενά όσο και τον μέσο όρο: το jitter κάνει ένα ρομποτικό βραχίονα να κολλάει, όχι ο μέσος χρόνος καθυστέρησης.
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 δισεκατομμυρίων παραμέτρων σε πραγματικό υλικό χωρίς να διαθέτετε κάρτα που κοστίζει περισσότερο από τον βραχίονα.
- Η GPU ενοικιάζεται ανά ώρα, οπότε ένα αποτυχημένο checkpoint κοστίζει μερικά δολάρια.
- Η πλευρά του ρομπότ παραμένει μικρή: lerobot drivers, δύο κάμερες, μια σειριακή θύρα, και μπορείτε να αλλάζετε checkpoints χωρίς να την αγγίζετε.
- Οι ασυμπίεστες παρατηρήσεις κυριαρχούν στο κόστος μετάδοσης, και η οικιακή μεταφόρτωση είναι ο δεσμευτικός περιορισμός.
- Το jitter βλάπτει περισσότερο από την καθυστέρηση: μια σύνδεση με μέσο όρο 40 ms και αιχμές στα 300 ms κολλάει, ενώ μια σταθερή σύνδεση 120 ms όχι.
- Οι γρήγορες αντιδραστικές εργασίες δεν επιβιώνουν το ταξίδι μετ' επιστροφής σε κανέναν ορίζοντα.
- Και οι δύο διακομιστές αποστέλλονται χωρίς έλεγχο ταυτότητας σε μορφή CLI, οπότε η εργασία σήραγγας είναι δική σας.
- Μια αποσυνδεδεμένη σύνδεση στη μέση ενός τμήματος αφήνει τον βραχίονα να κρατά μια παρωχημένη ενέργεια. Προσθέστε τον δικό σας ρομποτικό φύλακα (watchdog) στην πλευρά του ρομπότ.
| Εργασία | Λειτουργεί μέσω του δημόσιου διαδικτύου; | Γιατί |
|---|---|---|
| Διαλέξτε ένα στατικό αντικείμενο, τοποθετήστε το σε ένα δοχείο | Ναι | Τίποτα δεν κινείται μεταξύ παρατήρησης και ενέργειας. |
| Στοίβαξη κύβων με μεθοδικό ρυθμό | Ναι, με action_horizon 16 ή περισσότερο | Τα σφάλματα συσσωρεύονται αρκετά αργά ώστε να διορθωθούν στο επόμενο τμήμα. |
| Ανοίξτε ένα συρτάρι, εισάγετε ένα αντικείμενο | Συνήθως | Πλούσιο σε επαφές αλλά αργό. Προσοχή στο σταμάτα-ξεκίνα στην επαφή. |
| Ακολουθήστε ένα κινούμενο αντικείμενο | Όχι | Η πολιτική ενεργεί βάσει μιας παρατήρησης ηλικίας 300 ms έως 1 s. |
| Πιάσιμο, ισορροπία ή ανάκτηση από ολίσθηση | Όχι | Το παράθυρο διόρθωσης είναι μικρότερο από ένα ταξίδι μετ' επιστροφής. |
| Ένας σύγχρονος κλειστός βρόχος 30 Hz | Όχι | Ο προϋπολογισμός είναι 33 ms από άκρο σε άκρο. Ακόμη και ένα LAN δυσκολεύεται. |
Εάν μια απομακρυσμένη εκτέλεση κολλάει στο ίδιο σημείο σε κάθε επεισόδιο, το δίκτυο πιθανότατα δεν είναι η αιτία. Μια πολιτική που διστάζει στην ίδια γωνία άρθρωσης κάθε φορά είναι συνήθως πρόβλημα δεδομένων· δείτε τις σελίδες τρόπων αποτυχίας, ειδικότερα μια πολιτική που λειτουργεί μόνο σε μία ρύθμιση και η απώλεια μειώνεται αλλά η πολιτική δεν κάνει τίποτα.
Το να το κάνετε μόνοι σας έναντι του να το κάνετε στο AY-Robots
- Νοικιάστε μια GPU σε μια spot αγορά και περιμένετε για αρκετή VRAM σε τιμή που σας αρέσει.
- Εγκαταστήστε το CUDA, το uv, ένα ffmpeg torchcodec που είναι αποδεκτό, και το GR00T stack με τα submodules.
- Ζητήστε πρόσβαση στο gated `nvidia/Cosmos-Reason2-2B` backbone και τοποθετήστε ένα token στο pod.
- Μεταφέρετε το checkpoint σας στο pod.
- Εκκινήστε τον server σε loopback, και στη συνέχεια δημιουργήστε ένα SSH tunnel από το ρομποτικό μηχάνημα.
- Εγκαταστήστε ένα δεύτερο περιβάλλον στο ρομποτικό μηχάνημα για τον client και τους drivers.
- Αντιστοιχίστε τα κλειδιά κάμερας, τα ονόματα αρθρώσεων και την γλωσσική εντολή με αυτά που είδε το checkpoint.
- Παρακολουθήστε το pod. Ένα ξεχασμένο A100 που τρέχει όλη τη νύχτα κοστίζει περισσότερο από το πείραμα.
Ο λογαριασμός της GPU δεν σταματά όταν σταματά το ρομπότ. Τα περισσότερα χρήματα που χάνονται σε απομακρυσμένη inference πηγαίνουν σε έναν server που παρέμεινε ενεργός αφού όλοι αποχώρησαν. Ρυθμίστε ένα ξυπνητήρι ή αυτοματοποιήστε την απενεργοποίηση.
- Επιλέξτε την εκπαιδευμένη πολιτική που θέλετε να εκτελέσετε.
- Το `/api/inference/pod` αυτοματοποιεί την παροχή ενός cloud GPU pod που εξυπηρετεί αυτή την πολιτική.
- Ο τοπικός client του ρομπότ επικοινωνεί με αυτό το endpoint. Τα βασικά checkpoints είναι των ίδιων των προμηθευτών: `nvidia/GR00T-N1.7-3B`, `nvidia/GR00T-N1.5-3B`, `lerobot/pi05_base`. Το ACT δεν έχει κανένα.
- Τα pods φέρουν έναν idle watchdog και καταστρέφονται μόνα τους μετά από μια περίοδο αδράνειας, οπότε τίποτα δεν συνεχίζει να χρεώνεται σιωπηλά.
- Οι ίδιες λειτουργίες είναι διαθέσιμες από ένα τερματικό και σε AI agents, οπότε ο βρόχος μπορεί να προγραμματιστεί.
Η αυτόματη παροχή αφαιρεί την εργασία εγκατάστασης και τον λογαριασμό του ξεχασμένου pod, όχι τη φυσική. Η inference πρέπει ακόμα να βρίσκεται δίπλα στους σερβοκινητήρες για γρήγορες εργασίες: ο βρόχος ελέγχου είναι 20 έως 485 ms ανά βήμα δράσης ανάλογα με το μοντέλο, και τα round trips του δημόσιου διαδικτύου επιπλέον μετατρέπουν μια λειτουργική πολιτική σε διστακτική.
- Οδηγός client για την τοπική πλευρά της σύνδεσης
- Εκτελέστε την πρώτη σας πολιτική για την αναλυτική περιγραφή
- CLI και MCP server για την προγραμματισμένη έκδοση
- Έγγραφα ασφαλείας

Τι κοστίζει μια απομακρυσμένη συνεδρία inference
Δύο αριθμοί έχουν σημασία: η ωριαία τιμή της κάρτας και πόσο καιρό την αφήνετε να λειτουργεί. Ο πρώτος δημοσιεύεται· ο δεύτερος εκπλήσσει τους ανθρώπους.
| Κάρτα | Runpod κοινοτικό cloud | Runpod ασφαλές cloud | Κατάλληλο για |
|---|---|---|---|
| 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 eager της 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, και οι αγορές spot μεταβάλλονται. Η AY-Robots αναφέρει μια ολόκληρη εκτέλεση αντ' αυτού: 3 έως 6 ώρες με 1.20 έως 2.00 USD ανά ώρα στην βαθμίδα A100 ή H100, περίπου 4 έως 12 USD για μια εκτέλεση GR00T ή Pi0.5· 2 έως 5 ώρες με 0.30 έως 0.60 USD ανά ώρα στην βαθμίδα 24 GB, 1 έως 3 USD για SmolVLA ή ACT. Μια συνεδρία συμπερασματολογίας είναι πιο οικονομική από μια εκτέλεση εκπαίδευσης μόνο αν την σταματήσετε, για αυτό υπάρχει ο επόπτης αδράνειας. Δείτε τα έγγραφα χρέωσης και τη σελίδα τιμολόγησης.

Αν προτιμάτε να μην έχετε το δίκτυο στον βρόχο
Η απομακρυσμένη εξαγωγή συμπερασμάτων λύνει ένα πρόβλημα υλικού και δημιουργεί ένα πρόβλημα καθυστέρησης. Μερικές φορές η καλύτερη απάντηση είναι μια πολιτική που ταιριάζει στο υλικό που διαθέτετε.
- ACT, περίπου 80 M παραμέτρους και 20 ms ανά βήμα ενέργειας, 50 επεισόδια ελάχιστο, οποιαδήποτε κάρτα 24 GB. Σε μια επαναλαμβανόμενη ρύθμιση μονής εργασίας συχνά ξεπερνά ένα απομακρυσμένο μοντέλο 3 B, επειδή δεν περιμένει ποτέ ένα πακέτο.
- SmolVLA, περίπου 450 M παραμέτρους και 245 ms ανά βήμα ενέργειας, 30 επεισόδια ελάχιστο. Διατηρεί την γλωσσική προσαρμογή που λείπει από το ACT, και τα lerobot docs το τοποθετούν περίπου στα 2 GB κατά τον χρόνο εξαγωγής συμπερασμάτων έναντι περίπου 14 GB για το PI0.
- ACT vs GR00T N1.7 για το μισό της ακρίβειας της ανταλλαγής.
Υπάρχει επίσης μια μέση οδός: εκπαίδευση στο cloud, αξιολόγηση τοπικά. Βελτιστοποίηση χρειάζεται την κάρτα 80 GB και δεν ενδιαφέρεται για την καθυστέρηση, οπότε η εκπαίδευση του GR00T N1.7 σε ένα SO-100 απομακρυσμένα είναι αδιαμφισβήτητη. Μόνο ο βρόχος αξιολόγησης έχει περιορισμό πραγματικού χρόνου· τα έγγραφα εκπαίδευσης και μήτρα μοντέλου και βραχίονα καλύπτουν αυτό το μισό.
Δεν έχετε ακόμα βραχίονα στο γραφείο;
Οδηγήστε ένα πραγματικό SO-100 στον περιηγητή χωρίς εγγραφή, συγκρίνετε τις πέντε εκπαιδεύσιμες πολιτικές με τους πραγματικούς αριθμούς καθυστέρησης, ή νοικιάστε μια GPU και εκπαιδεύστε μία. Τρεις τρόποι για να ξεκινήσετε, κανένας δεν απαιτεί υλικό που δεν διαθέτετε.
Δοκιμάστε το χωρίς υλικόΣυχνές ερωτήσεις
Μπορώ να τρέξω το GR00T N1.7 σε ένα Raspberry Pi αν η GPU είναι απομακρυσμένη;▾
Ναι, γι' αυτό υπάρχει ο διαχωρισμός client-server. Το Pi τρέχει τους drivers του lerobot, διαβάζει δύο κάμερες και ένα σειριακό δίαυλο, και στέλνει παρατηρήσεις στον policy server· δεν φορτώνει ποτέ το μοντέλο. Ο περιορισμός μετατοπίζεται από τη VRAM στο εύρος ζώνης αποστολής: δύο ασυμπίεστα καρέ RGB 640x480 είναι 1.843.200 bytes ανά κλήση, και καμία στοίβα δεν τα συμπιέζει.
Πόση καθυστέρηση προσθέτει πραγματικά το δίκτυο;▾
Χρόνος μετ' επιστροφής συν χρόνος μεταφοράς παρατήρησης. Ο χρόνος μεταφοράς είναι 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 έναντι του pod, όχι ενός διακομιστή δοκιμής ταχύτητας.
Είναι η απομακρυσμένη συμπερασματολογία αρκετά καλή για μια πραγματική εργασία;▾
Για αργή, προσεκτική επιλογή και τοποθέτηση (pick-and-place), ναι. Για οτιδήποτε αντιδραστικό, όχι. Ο οδηγός ανάπτυξης της NVIDIA θέτει την απαίτηση συγχρονισμένου μονοβήματου στα περίπου 33 ms από άκρο σε άκρο στα 30 FPS, και σημειώνει ότι η λήψη, το δίκτυο, η συμπερασματολογία και η μετα-επεξεργασία υπερβαίνουν συνήθως αυτό, χωρίς να εμπλέκεται το διαδίκτυο.
Ποια θύρα χρησιμοποιούν οι servers και είναι ασφαλές να την ανοίξω;▾
Ο PolicyServer του Isaac-GR00T χρησιμοποιεί ως προεπιλογή τη θύρα 5555 μέσω ZeroMQ και δεσμεύει το 0.0.0.0 στο CLI του. Το lerobot χρησιμοποιεί ως προεπιλογή τη θύρα 8080 μέσω gRPC και δεσμεύει το localhost. Κανένα από τα δύο δεν είναι ασφαλές για έκθεση: η κλάση GR00T υποστηρίζει ένα api_token αλλά το run_gr00t_server.py δεν περνάει ποτέ ένα, και το lerobot κάνει pickle δεδομένα μέσω ενός μη ασφαλούς καναλιού gRPC, το οποίο είναι το CVE-2026-25874. Δεσμεύστε σε loopback και χρησιμοποιήστε ένα SSH tunnel.
Διορθώνει η αναβάθμιση του lerobot το CVE-2026-25874;▾
Όχι από τις 23 Αυγούστου 2026. Η καταγραφή CVE αναφέρει το LeRobot έως την έκδοση 0.5.1 ως επηρεαζόμενο και το PyPI διανέμει την 0.6.1, αλλά το pull request που θα αφαιρούσε το pickle από τον ασύγχρονο αγωγό είναι ακόμα ανοιχτό, και το policy_server.py στο main εξακολουθεί να καλεί το pickle.loads στα δεδομένα αιτήματος. Αντιμετωπίστε την απομόνωση δικτύου ως μέτρο μετριασμού, όχι ως αναβάθμιση έκδοσης, και υποθέστε ότι ο client στην πλευρά του ρομπότ είναι επίσης εντός πεδίου εφαρμογής.
Μπορώ να χρησιμοποιήσω τον ασύγχρονο client του lerobot με ένα GR00T checkpoint;▾
Ναι. Το 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 στο checkpoint σας. Έχετε ασύγχρονη εκτέλεση, την οποία το παράδειγμα GR00T SO-100 δεν υλοποιεί, με κόστος τη μεταφορά pickle.
Η σύντομη εκδοχή
Η απομακρυσμένη συμπερασματολογία για ένα 3 B πολιτική είναι ένα λυμένο μηχανολογικό πρόβλημα με ένα άλυτο φυσικό πρόβλημα συνδεδεμένο. Η μηχανική είναι δύο εντολές και ένα SSH tunnel. Η φυσική είναι ότι μια παρατήρηση 1.8 MB πρέπει να φτάσει σε μια GPU σε άλλη χώρα και να επιστρέψει πριν ο βραχίονας ξεμείνει από ενέργειες. Κάντε τους υπολογισμούς πριν νοικιάσετε οτιδήποτε, επιλέξτε μια εργασία που ανέχεται μια παρωχημένη παρατήρηση και αυξήστε τον ορίζοντα εκτέλεσης αντί να ελπίζετε ότι η σύνδεση θα βελτιωθεί.
Εάν δεν έχετε καταγράψει ακόμα ένα σύνολο δεδομένων, καταγράψτε το πρώτο σας σύνολο δεδομένων και ο οδηγός εγκατάστασης SO-100 προηγούνται, και η μορφή συνόλου δεδομένων LeRobot καταχώριση εξηγεί τι καταγράφει ο καταγραφέας. Το υπόβαθρο βρίσκεται στα μοντέλα όρασης-γλώσσας-δράσης και την εργασία πολιτικής flow-matching· η καταχώριση arena συνδέει κάθε αριθμό αναφοράς με μια πηγή.
Sources
- NVIDIA Isaac-GR00T: N1.7 αποθετήριο και README (ελάχιστο όριο συμπερασματολογίας 16 GB, εγκατάσταση, gated 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 παράδειγμα: μετατροπή συνόλου δεδομένων, finetune και εντολές αξιολόγησης κλειστού βρόχου
- Isaac-GR00T Οδηγός Ανάπτυξης σε Πραγματικό Κόσμο: ο σύγχρονος προϋπολογισμός 33 ms, stop-and-go, μέγεθος τμήματος δράσης, κατάσταση 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: ωριαίες τιμές κοινοτικού και ασφαλούς cloud για 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