
Τα TinyVLA και SmolVLA θέτουν ένα λειτουργικό VLA κάτω από 1 δισεκατομμύριο παραμέτρους. Πραγματικοί αριθμοί από τις δύο εργασίες, τις προεπιλογές του LeRobot, τη μετρούμενη καθυστέρηση, και το κόστος μιας εκτέλεσης σε κάρτα 24 GB.
Σχεδόν κάθε μοντέλο όρασης-γλώσσας-δράσης για το οποίο γράφεται, προϋποθέτει μια κάρτα κέντρου δεδομένων. Το OpenVLA έχει 7 δισεκατομμύρια παραμέτρους. GR00T N1.7 και Pi0.5 είναι περίπου 3 δισεκατομμύρια και απαιτούν μια A100 80 GB για λεπτομερή ρύθμιση (fine-tune). Αν η κάρτα στο γραφείο σας είναι μια 4090, αυτή η κατηγορία μοντέλων είναι ανέφικτη.
Δύο εργασίες υποστηρίζουν ότι δεν το χρειάζεστε. Το TinyVLA (arXiv 2409.12514, αποδεκτό από το IEEE Robotics and Automation Letters τον Φεβρουάριο του 2025) κατασκευάζει ένα VLA από ένα backbone 400 εκατομμυρίων έως 1,3 δισεκατομμυρίων συν μια κεφαλή δράσης διάχυσης. SmolVLA (arXiv 2506.01844, υποβλήθηκε στις 2 Ιουνίου 2025) διαθέτει 450 εκατομμύρια παραμέτρους με ανοιχτά βάρη, ανοιχτά δεδομένα και ένα script που τρέχει σε μία κάρτα καταναλωτή. Εδώ είναι τι μέτρησαν και τα δύο, και πού σταματά να ισχύει το επιχείρημα των κάτω του 1 δισεκατομμυρίου.
Τι πρέπει να γνωρίζετε
- •Το TinyVLA διατίθεται σε τρία μεγέθη: 422 εκατομμύρια συνολικά με 101 εκατομμύρια εκπαιδεύσιμα, 740 εκατομμύρια με 138 εκατομμύρια, 1,3 δισεκατομμύρια με 143 εκατομμύρια. Μόνο τα δύο πρώτα είναι κάτω από 1 δισεκατομμύριο.
- •Ο Πίνακας IV του μετρά 14 ms ανά πρόβλεψη δράσης για το TinyVLA-1B σε μία A6000, έναντι 292 ms για το OpenVLA-7B και 140 ms για ένα συρρικνωμένο OpenVLA-1B.
- •Η κεφαλή διατηρεί αυτή την ταχύτητα, όχι το backbone: αντικαταστήστε την κεφαλή διάχυσης του TinyVLA-H με μια κεφαλή ACT και οι πέντε εργασίες πραγματικού ρομπότ πέφτουν από μέσο όρο 94,0 σε μονοψήφια νούμερα. Μια κεφαλή MLP σκοράρει 0 παντού.
- •Το SmolVLA είναι 450 εκατομμύρια, περίπου 100 εκατομμύρια από αυτά είναι ο ειδικός δράσης, προεκπαιδευμένο σε 481 σύνολα δεδομένων κοινότητας LeRobot και 10,6 εκατομμύρια καρέ. Αναφέρει 87,3 στο LIBERO έναντι 86,0 για ένα προεκπαιδευμένο στην ρομποτική Pi0 στα 3,3 δισεκατομμύρια, και 78,3 σε τρεις πραγματικές εργασίες SO-100 έναντι 61,7 για το Pi0 στα 3,5 δισεκατομμύρια.
- •Εκπαιδευμένο σε μία μόνο εργασία χωρίς αυτή την προεκπαίδευση, το SmolVLA πέφτει στο 40,0 σε αυτές τις εργασίες, κάτω από το 48,3 του ACT. Το μικρό δεν είναι αυτόματα εύκολο.
- •Το TinyVLA δεν έχει ενσωμάτωση LeRobot και χρησιμοποιεί ένα CUDA 11.7 wheel stack. Το SmolVLA βρίσκεται στο lerobot και κοστίζει περίπου 1 έως 3 USD ανά εκτέλεση στην βαθμίδα των 24 GB εδώ.
Τι θεωρείται στην πραγματικότητα ένα μικρό VLA
Ο αριθμός παραμέτρων σε μια κάρτα μοντέλου δεν είναι ένας ενιαίος αριθμός. Μπορεί να σημαίνει συνολικά βάρη, βάρη που φορτώνονται κατά την εξαγωγή συμπερασμάτων, ή βάρη που λαμβάνουν κλίσεις κατά τη διάρκεια της . Το TinyVLA αναφέρει και τα δύο, και το χάσμα είναι μεγάλο: Το TinyVLA-H είναι 1.3 B συνολικά αλλά 143 M εκπαιδεύσιμο, επειδή ο πύργος όρασης και το μεγαλύτερο μέρος του γλωσσικού μοντέλου παραμένουν παγωμένα ενώ οι προσαρμογείς LoRA και η κεφαλή δράσης κινούνται. Η εργασία αναφέρει το εκπαιδεύσιμο μερίδιο σε περίπου 5 τοις εκατό.
| Μοντέλο | Παράμετροι | Βασικό μοντέλο | Κεφαλή δράσης | Πηγή |
|---|---|---|---|---|
| TinyVLA-S | 422 M συνολικά, 101 M εκπαιδεύσιμο | Llava-Pythia ~400 M | Διάχυση (droid_diffusion U-Net) | arXiv 2409.12514 |
| TinyVLA-B | 740 M συνολικά, 138 M εκπαιδεύσιμο | Llava-Pythia ~700 M | Διάχυση | arXiv 2409.12514 |
| TinyVLA-H | 1.3 B συνολικά, 143 M εκπαιδεύσιμο | Llava-Pythia ~1.3 B | Διάχυση | arXiv 2409.12514 |
| SmolVLA | 450 M, ~100 M ειδικός δράσης | SmolVLM2-500M-Video-Instruct | Ειδικός αντιστοίχισης ροής | arXiv 2506.01844 |
| Octo-Small | 27 M | Κλίμακα ViT-S, κωδικοποιητής κειμένου T5-Base | Διάχυση | octo-small-1.5 card |
| ACT | ~80 M | ResNet, χωρίς γλωσσικό μοντέλο | Άμεση παλινδρόμηση τμημάτων | AY-Robots catalog |
| OpenVLA | 7 B | Llama 2 7 B, κωδικοποιητές DINOv2 και SigLIP | Αυτοπαλινδρομικά διακριτικά δράσης | arXiv 2406.09246 |
Δύο σειρές αξίζουν συζήτησης. Το στα περίπου 80 M είναι μικρότερο από οτιδήποτε άλλο εδώ, αλλά δεν διαθέτει γλωσσικό μοντέλο, οπότε δεν είναι VLA: μαθαίνει μία εργασία και δεν μπορεί να του ζητηθεί να κάνει άλλη. Το στα 27 M είναι ρυθμισμένο μέσω ενός κωδικοποιητή κειμένου T5-Base, όχι ενός βασικού μοντέλου LLM. Καλές βάσεις αναφοράς, κανένα από τα δύο δεν προσφέρει την τήρηση οδηγιών που υποδηλώνει η ετικέτα.
Το TinyVLA-H, η παραλλαγή που φέρει τα αποτελέσματα των πρωτοσέλιδων, είναι 1.3 B και βρίσκεται πάνω από τη γραμμή. Το καλύτερο ερώτημα είναι αν ένα μοντέλο χωράει σε 24 GB κατά την εκπαίδευση και επιτυγχάνει τον ρυθμό ελέγχου σας κατά την εξαγωγή συμπερασμάτων. Οι πέντε πολιτικές που μπορείτε να εκπαιδεύσετε εδώ βρίσκονται στη σελίδα πολιτικών. Το TinyVLA έχει μια καταχώριση στην αρένα αν θέλετε τους αριθμούς του δίπλα σε όλους τους άλλους.
TinyVLA: η ταχύτητα προέρχεται από την κεφαλή, όχι από το backbone
Η προφανής ερμηνεία είναι ότι έκαναν το γλωσσικό μοντέλο μικρότερο, οπότε έγινε ταχύτερο. Η ανάλυση αποκοπής της εργασίας λέει το αντίθετο. Η αντικατάσταση του backbone 7 B του OpenVLA με ένα περίπου 1 B μείωσε την πρόβλεψη ανά ενέργεια από 292 ms σε 140 ms, μια αύξηση 2x. Το TinyVLA-H, με συγκρίσιμο αριθμό παραμέτρων, τρέχει στα 14 ms στην ίδια κάρτα. Το άλλο 10x είναι η κεφαλή δράσης.
| Μοντέλο | Πρόβλεψη ανά ενέργεια | Μετρήθηκε σε |
|---|---|---|
| OpenVLA-7B | 292 ms | single A6000 |
| OpenVLA-1B, backbone swapped for TinyVLA's | 140 ms | single A6000 |
| TinyVLA-1B (TinyVLA-H) | 14 ms | single A6000 |
Το OpenVLA εκπέμπει ενέργειες ως διακριτοποιημένα tokens μέσω της κεφαλής του γλωσσικού μοντέλου, ένα ανά διάσταση ενέργειας, αυτοπαλινδρομικά. Το TinyVLA προσαρτά έναν αποκωδικοποιητή διάχυσης που παράγει ολόκληρο το κομμάτι με μία κίνηση. Ο Πίνακας V περιέχει την αρχιτεκτονική στο TinyVLA-H και αλλάζει μόνο την κεφαλή, στις ίδιες πέντε εργασίες πραγματικού ρομπότ. Είναι η πιο καθαρή απόδειξη σε οποιαδήποτε εργασία για το επιχείρημα αντιστοίχιση ροής που κάνουν οι πολιτικές, και ο λόγος το Pi0 απομακρύνθηκε από την αποκωδικοποίηση token.
| Επικεφαλής στο TinyVLA-H | Τοποθέτηση Μπάλας Τένις | Αναποδογύρισμα Κούπας | Στοίβαγμα Κύβων | Κλείσιμο Συρταριού | Άνοιγμα Κουτιού |
|---|---|---|---|---|---|
| Διάχυση (droid_diffusion) | 90.0 | 98.3 | 98.3 | 96.7 | 86.7 |
| Μετασχηματιστής Τμηματοποίησης Δράσης | 13.3 | 8.3 | 8.3 | 13.3 | 23.3 |
| Πολυεπίπεδο αντίληπτρο | 0 | 0 | 0 | 0 | 0 |
Οι τιμές 292 / 140 / 14 ms είναι από τον Πίνακα IV, όλες σε μία A6000. Αφορούν την πρόβλεψη ανά ενέργεια και εξαιρούν τη λήψη από κάμερα, την προεπεξεργασία και την σειριακή εγγραφή στους σερβοκινητήρες. Να αντιμετωπίζετε τη δημοσιευμένη καθυστέρηση ως κατώτερο όριο, ποτέ ως ρυθμό ελέγχου. Οι δικοί μας αριθμοί έχουν τον ίδιο περιορισμό: δείτε καθυστέρηση συμπερασματολογίας.
Τι πέτυχε το TinyVLA
| Σημείο Αναφοράς | Πρωτόκολλο | TinyVLA-H | Βασικές Γραμμές |
|---|---|---|---|
| MetaWorld, 50 εργασίες, προσομοίωση | Πολλαπλές εργασίες, 50 επιδείξεις, 3 σπόροι | 77.6 / 21.5 / 11.4 / 15.8 ανά δυσκολία, μέσος όρος 31.6 | Μέσος όρος Diffusion Policy 10.5 |
| Πραγματικό Franka Panda, 5 εργασίες | 100 τροχιές ανά εργασία, 20 δοκιμές | Μέσος όρος 94.0 | OpenVLA 68.3, Diffusion Policy 35.3 |
| Αμφίχειρο UR5, 3 εργασίες | Πολλαπλές εργασίες, 10 δοκιμές ανά εργασία | 76.7 / 36.7 / 30.0 | OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0 |
Η αμφίχειρη σειρά έχει μια βαρετή εξήγηση που δίνει η ίδια η εργασία: Το OpenVLA είναι προεκπαιδευμένο στο Open X-Embodiment, το οποίο αποτελείται εξ ολοκλήρου από δεδομένα μονόχειρου, οπότε ένας χώρος δράσης δύο χεριών είναι εκτός κατανομής και σημειώνει μηδέν. Η βάση αναφοράς της πολιτικής διάχυσης νικά το TinyVLA-H σε δύο από αυτές τις τρεις εργασίες. Ιστορικό στο το άρθρο για το Open X-Embodiment.

Το αποθετήριο TinyVLA, από τον Αύγουστο του 2026
Η εργασία είναι καλή. Ο κώδικας είναι μια ερευνητική έκδοση. Το αποθετήριο είναι github.com/liyaxuanliyaxuan/TinyVLA. Το README του χρονολογεί την κυκλοφορία του κώδικα στις 17 Φεβρουαρίου 2025 και την τελευταία δέσμευση στις 11 Μαρτίου 2025. Εντάξει για την αναπαραγωγή μιας εργασίας, πρόβλημα αν θέλατε μια συντηρημένη βιβλιοθήκη.
git clone https://github.com/liyaxuanliyaxuan/TinyVLA
conda create -n tinyvla python=3.10 -y
conda activate tinyvla
pip install --upgrade pip
pip install -r requirements.txt
cd policy_heads && pip install -e .
cd ../llava-pythia && pip install -e .Το requirements.txt καθορίζει τις εκδόσεις torch==2.0.1, transformers==4.37.1, deepspeed==0.9.5, peft==0.4.0, diffusers==0.11.1, numpy==1.24.4, και τη στοίβα CUDA για τα 11.x wheels: nvidia-cuda-runtime-cu11==11.7.99, nvidia-cudnn-cu11==8.5.0.96, triton==2.0.0. Το README ζητά Python 3.10· το lerobot 0.6.1 απαιτεί 3.12 ή νεότερη έκδοση, οπότε τα δύο δεν μπορούν να μοιραστούν ένα περιβάλλον. Επιβεβαιώστε πρώτα ότι υπάρχει μια έκδοση torch 2.0.1 για τη γενιά της GPU σας. Εάν μια εκτέλεση σταματήσει λόγω VRAM, η λίστα ελέγχου για έλλειψη μνήμης είναι ταχύτερη από την εικασία.
Το TinyVLA επίσης δεν διαβάζει σύνολα δεδομένων LeRobot. Η μορφή του είναι HDF5 τύπου ACT: action, language_raw, και μια ομάδα παρατηρήσεων με εικόνες πολλαπλών όψεων, joint_positions, qpos και qvel. Το αποθετήριο περιλαμβάνει το data_utils/rlds_to_h5py.py για είσοδο RLDS, και κάθε εργασία καταχωρείται χειροκίνητα στο aloha_scripts/constants.py με το dataset_dir, episode_len και camera_names. Εάν τα επεισόδιά προήλθαν από το lerobot ή τον πελάτη επιφάνειας εργασίας, εσείς έχετε την ευθύνη της μετατροπής.
# scripts/train.sh, the real flags from the repository
ACTION_HEAD=droid_diffusion
deepspeed --master_port 29600 --num_gpus=8 --num_nodes=1 ./train_tinyvla.py \
--deepspeed scripts/zero2.json \
--lora_enable True \
--lora_module 'vit llm' \
--lora_r 64 \
--lora_alpha 256 \
--non_lora_lr 2e-5 \
--task_name "example_task_config" \
--model_name_or_path /path/to/pretrained_vlm \
--freeze_vision_tower True \
--freeze_backbone True \
--bf16 True \
--max_steps 10000 \
--per_device_train_batch_size 32 \
--gradient_accumulation_steps 1 \
--learning_rate 2e-4 \
--lr_scheduler_type "cosine" \
--warmup_ratio 0.005 \
--save_steps 1000 \
--action_head_type $ACTION_HEAD \
--use_state True \
--window_size 6- --num_gpus=8 υποθέτει έναν κόμβο οκτώ καρτών. Ορίστε το σε 1 και μειώστε το μέγεθος της δέσμης πολύ κάτω από 32. Καμία παραλλαγή μίας GPU δεν αποστέλλεται upstream, οπότε η εντολή δεν μπορεί να εκτελεστεί αυτούσια σε μια 4090.
- --deepspeed scripts/zero2.json δείχνει σε ένα αρχείο που δεν βρίσκεται στον κατάλογο scripts ανώτατου επιπέδου. Οι ρυθμίσεις DeepSpeed βρίσκονται στο llava-pythia/scripts/zero2.json. Διορθώστε τη διαδρομή πριν την πρώτη σας εκτέλεση.
- Το README απαιτεί το όνομα του καταλόγου εξόδου να περιέχει llava_pythia, συν lora εάν το LoRA είναι ενεργοποιημένο.
- Το backbone είναι μια ξεχωριστή λήψη: lesjie/Llava-Pythia-400M, -700M ή -1.3B. Δεν υπάρχει ένα ενιαίο βασικό checkpoint στο οποίο να δείχνετε μια πολιτική με τον τρόπο που δείχνετε στο lerobot/smolvla_base.
SmolVLA: το μοντέλο κάτω του 1 B που μπορείτε να εκτελέσετε σήμερα το απόγευμα
Το SmolVLA προβάλλει το ίδιο επιχείρημα μέσα σε μια συντηρούμενη βιβλιοθήκη. Έχει 450 M παραμέτρους σε ένα backbone SmolVLM2-500M-Video-Instruct, και η αποδοτικότητα προέρχεται από ρυθμίσεις που μπορείτε να διαβάσετε από το configuration_smolvla.py και όχι από έναν ισχυρισμό ότι είναι μικρό.
| Ρύθμιση στο configuration_smolvla.py | Προεπιλογή | Τι προσφέρει |
|---|---|---|
| num_vlm_layers | 16 | Μόνο τα πρώτα 16 επίπεδα του γλωσσικού μοντέλου εκτελούνται |
| expert_width_multiplier | 0.75 | Το κρυφό μέγεθος του ειδικού δράσης είναι το 75 τοις εκατό του VLM |
| self_attn_every_n_layers | 2 | Αυτο-προσοχή εναλλασσόμενη με δια-προσοχή |
| chunk_size / n_action_steps | 50 / 50 | Μία διέλευση εκπέμπει 50 ενέργειες και όλες οι 50 εκτελούνται |
| num_steps | 10 | Η αποθορυβοποίηση αντιστοίχισης ροής σταθεροποιήθηκε σε 10 βήματα |
| tokenizer_max_length | 48 | Η οδηγία περικόπτεται σε 48 tokens |
| freeze_vision_encoder / train_expert_only | True / True | Το fine-tuning μετακινεί τον expert, όχι τον πύργο όρασης |
| optimizer_lr, warmup, decay | 1e-4, 1000 steps, to 2.5e-6 over 30000 | Όχι η συνταγή της εργασίας: η προ-εκπαίδευσή του χρησιμοποίησε ένα warmup 100 βημάτων πάνω από 200000 βήματα |
Η προεκπαίδευση χρησιμοποίησε 481 σύνολα δεδομένων κοινότητας LeRobot, 22.9 K επεισόδια και 10.6 M καρέ σε 4 GPUs, 200000 βήματα με ένα συνολικό batch 256· η δημοσίευση τοποθετεί ολόκληρο το έργο σε περίπου 30 K ώρες GPU. Ένας αριθμός που πρέπει να προσέξουμε: το blog εκκίνησης της Hugging Face αναφέρει 487 επιμελημένα σύνολα δεδομένων, ενώ ο πίνακας της δημοσίευσης αναφέρει 481. Χρησιμοποιούμε τον αριθμό της δημοσίευσης και επισημαίνουμε τη διαφωνία.
| Σημείο αναφοράς | SmolVLA 0.45 B | SmolVLA 2.25 B | Pi0 | ACT |
|---|---|---|---|---|
| Μέσος όρος LIBERO, πολλαπλών εργασιών | 87.3 | 88.75 | 86.0 (3.3 B, robotics-pretrained) | - |
| Μέσος όρος Meta-World, πολλαπλών εργασιών | 57.3 | 68.24 | 47.9 (3.5 B, robotics-pretrained) | - |
| Πραγματικό SO-100, 3 εργασίες, εκπαίδευση πολλαπλών εργασιών | 78.3 | - | 61.7 (3.5 B) | - |
| Πραγματικό SO-100, 3 εργασίες, μονής εργασίας, χωρίς προεκπαίδευση ρομποτικής | 40.0 | - | - | 48.3 |
| SO-101 τοποθέτηση-αφαίρεση lego, μονής εργασίας, εντός κατανομής | 90 | - | - | 70 |
| SO-101 τοποθέτηση-αφαίρεση lego, μονής εργασίας, εκτός κατανομής | 50 | - | - | 40 |
Το LIBERO είναι προσομοίωση και όλα τα ικανά μοντέλα σημειώνουν τώρα στις ογδόντα εκεί. Η σειρά του πραγματικού SO-100, όπου ένα μοντέλο 450 M κερδίζει ένα 3.5 B κατά 16.6 μονάδες, είναι η ενδιαφέρουσα· η σειρά από κάτω της είναι το αντίβαρο. Αφαιρέστε την προεκπαίδευση κοινότητας και την εκπαίδευση πολλαπλών εργασιών και το ίδιο μοντέλο πέφτει στο 40.0, κάτω από το ACT. Ο υπερασπίσιμος ισχυρισμός είναι ότι ένα μικρό μοντέλο δεν είναι αυτόματα χειρότερο, όχι ότι είναι καλύτερο.
Ένα ατύχημα βοηθά: ο πίνακας Meta-World της δημοσίευσης SmolVLA περιέχει τους δημοσιευμένους αριθμούς του TinyVLA ως βάση, οπότε για μία φορά και τα δύο μοντέλα βρίσκονται σε έναν πίνακα, το SmolVLA-0.45B στο 57.3 έναντι του TinyVLA-H στο 31.6. Αναφέρει επίσης ότι η εκπαίδευση του SmolVLA είναι περίπου 40 τοις εκατό ταχύτερη από το Pi0 με 6 φορές λιγότερη μνήμη. Όλα αυτά προέρχονται από τους συγγραφείς του SmolVLA· η καταχώριση στην αρένα συνδέει κάθε τιμή με την πηγή της.
Πού ξοδεύει τον χρόνο του το SmolVLA
Η AY-Robots αναφέρει το SmolVLA στα 245 ms ανά βήμα ενέργειας και ACT στα 20 ms στον κατάλογο πολιτικών. Το TinyVLA αναφέρει 14 ms ανά πρόβλεψη ενέργειας. Αυτοί οι αριθμοί δεν είναι συγκρίσιμοι, και το να τους αντιμετωπίζουμε σαν να ήταν είναι το πιο κοινό λάθος σε αυτό το θέμα: κάποιοι χρονομετρούν μία forward pass, κάποιοι διαιρούν αυτή την pass σε ένα κομμάτι μόλις τεμαχισμός ενεργειών την αποσβένει.
- Το SmolVLA εκπέμπει 50 ενέργειες ανά forward pass και εκτελεί και τις 50. Στα 30 fps που χρησιμοποιεί η δημοσίευση σε πραγματικά ρομπότ, μία συμπερασματολογία καλύπτει περίπου 1.7 δευτερόλεπτα κίνησης.
- Η ασύγχρονη συμπερασματολογία υπολογίζει το επόμενο κομμάτι ενώ το τρέχον εξακολουθεί να εκτελείται: 9.7 s μέσος χρόνος ολοκλήρωσης εργασίας έναντι 13.75 s σύγχρονης, περίπου 30 τοις εκατό ταχύτερα, και 19 κύκλοι pick-and-place σε ένα σταθερό παράθυρο 60 δευτερολέπτων έναντι 9.
- Τα ποσοστά επιτυχίας ήταν συγκρίσιμα παρά καλύτερα, 78.3 σύγχρονα έναντι 73.3 ασύγχρονα. Η ασύγχρονη λειτουργία αγοράζει απόδοση, όχι ακρίβεια.
- Ο τεμαχισμός κρύβει την καθυστέρηση υπολογισμού, όχι την καθυστέρηση δικτύου, και καθιστά την πολιτική λιγότερο αντιδραστική επειδή δεσμεύεται σε 50 ενέργειες.
Οι AY-Robots μπορούν να παρέχουν αυτόματα έναν θύλακα GPU στο cloud που εξυπηρετεί την πολιτική σας, ενώ ο τοπικός πελάτης ρομπότ επικοινωνεί με αυτό το τελικό σημείο, και ο θύλακας φέρει έναν αδρανή φύλακα (watchdog) ώστε να καταστρέφεται μόνος του αντί να χρεώνει σιωπηλά. Αυτό που δεν κάνει είναι να αφαιρέσει το ταξίδι μετ' επιστροφής μέσω του δημόσιου διαδικτύου. Ο βρόχος ελέγχου στις πέντε πολιτικές εδώ είναι 20 έως 485 ms ανά βήμα δράσης πριν από οποιοδήποτε δίκτυο, οπότε η απομακρυσμένη εξαγωγή συμπερασμάτων είναι βιώσιμη για αργή επιλογή και τοποθέτηση (pick-and-place), όχι για γρήγορη αντιδραστική κίνηση.

Βελτιστοποίηση (Fine-tuning) του SmolVLA σε μία κάρτα καταναλωτή
Η χειροκίνητη διαδρομή, στο lerobot 0.6.1, την τρέχουσα έκδοση PyPI από τις 23 Αυγούστου 2026. Όλα τα παρακάτω προέρχονται από την τεκμηρίωση Hugging Face lerobot SmolVLA, που ανακτήθηκε την ίδια ημέρα· η καθοδηγούμενη έκδοση είναι πιο ήπια.
- 1Εγκαταστήστε το lerobot με την προσθήκη smolvla
Οι εξαρτήσεις του SmolVLA είναι μια προαιρετική προσθήκη, όχι μέρος της βασικής εγκατάστασης. Η εγκατάσταση χωρίς αυτές και μετά η απορία γιατί ο τύπος πολιτικής είναι άγνωστος είναι μια συνηθισμένη απώλεια μισής ώρας.
bashgit clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e ".[smolvla]" - 2Αποκτήστε ένα σύνολο δεδομένων με αρκετά επεισόδια
Η τεκμηρίωση συνιστά περίπου 50 επεισόδια και αναφέρει ότι η ίδια εργασία με 25 δεν ήταν αρκετή. Η AY-Robots ορίζει το ελάχιστο στα 30. Καταγράψτε τα δικά σας, ή ξεκινήστε από τον κατάλογο δεδομένων.
bash# any LeRobotDataset on the Hub works as --dataset.repo_id # lerobot/svla_so100_pickplace is the paper's own 50-episode set: # 5 cube positions, 10 episodes each - 3Ξεκινήστε το fine-tune
Η εντολή από τον οδηγό του lerobot, χωρίς τροποποιήσεις. Η τεκμηρίωση αναφέρει 20000 βήματα σε περίπου 4 ώρες σε μία A100. Σε κάρτα 24 GB, αναμένετε μεγαλύτερο χρόνο και μετρήστε τον.
bashcd lerobot && lerobot-train \ --policy.path=lerobot/smolvla_base \ --dataset.repo_id=${HF_USER}/mydataset \ --batch_size=64 \ --steps=20000 \ --output_dir=outputs/train/my_smolvla \ --job_name=my_smolvla_training \ --policy.device=cuda \ --wandb.enable=true - 4Μειώστε το μέγεθος δέσμης μέχρι να χωρέσει
Το batch_size=64 είναι ένα τεκμηριωμένο παράδειγμα, όχι μια υπόσχεση για την κάρτα σας. Η τεκμηρίωση συμβουλεύει να ξεκινήσετε με μικρό μέγεθος και να το αυξάνετε όσο οι χρόνοι φόρτωσης παραμένουν μικροί.
bashlerobot-train --help - 5Εφαρμόστε το checkpoint στον βραχίονα
Ίδια βιβλιοθήκη, μία εντολή. Οι σημαίες τεμαχισμού σε πραγματικό χρόνο είναι σχολιασμένες στην τεκμηρίωση και είναι αυτές που πρέπει να χρησιμοποιήσετε σε υλικό χαμηλής ισχύος.
bashlerobot-rollout \ --strategy.type=base \ --robot.type=so101_follower \ --robot.port=/dev/ttyACM0 \ --robot.id=my_blue_follower_arm \ --robot.cameras="{ front: {type: opencv, index_or_path: 8, width: 640, height: 480, fps: 30}}" \ --task="Grasp a lego block and put it in the bin." \ --policy.path=HF_USER/FINETUNE_MODEL_NAME
Όποια διαδρομή κι αν ακολουθήσετε, καταλήγετε με ένα σημείο ελέγχου (checkpoint) συν τη διαμόρφωση που το παρήγαγε. Κρατήστε την αναθεώρηση του συνόλου δεδομένων, τον αριθμό βημάτων και το seed δίπλα του. Το lerobot έχει προεπιλεγμένο seed 1000· το σημείο εισόδου fine-tuning του GR00T δεν εκθέτει κανένα seed, οπότε αυτές οι εκτελέσεις δεν είναι αναπαραγώγιμες bit-προς-bit. Οι μηχανισμοί στην τεκμηρίωση εκπαίδευσης.
Δύο τρόποι για να βάλετε ένα μικρό VLA σε έναν βραχίονα
Εσείς κατέχετε το μηχάνημα και τους τρόπους αστοχίας. Για το SmolVLA αυτό είναι λογικό: μία προσθήκη pip, μία εντολή εκπαίδευσης, μία εντολή rollout. Για το TinyVLA είναι μια αναπαραγωγή έρευνας με παγωμένα pins, μια χαλασμένη διαδρομή DeepSpeed και μια μετατροπή δεδομένων που γράφετε μόνοι σας.
- Αποκτήστε μια κάρτα 24 GB, καταγράψτε 30 έως 50 επεισόδια, επαληθεύστε τις ροές κάμερας καρέ-καρέ.
- pip install -e ".[smolvla]", εκπαιδεύστε το lerobot έναντι του lerobot/smolvla_base, και μετά σερβίρετε το checkpoint στο μηχάνημα στο οποίο είναι συνδεδεμένος ο βραχίονας.
- Για το TinyVLA: ξεχωριστό περιβάλλον conda, μετατροπή δεδομένων σε HDF5, καταχώριση της εργασίας στο constants.py, διόρθωση της διαδρομής zero2.json, μείωση του train.sh από οκτώ GPUs σε μία.
- Καμία χρέωση ανά ώρα μόλις πληρωθεί η κάρτα.
- Η εξαγωγή συμπερασμάτων βρίσκεται δίπλα στους σερβοκινητήρες, ο μόνος τρόπος για να έχετε έναν γρήγορο βρόχο ελέγχου.
- Μπορείτε να διορθώσετε τον κώδικα πολιτικής, και το TinyVLA είναι διαθέσιμο μόνο με αυτόν τον τρόπο.
- Μια 4090 αποκλείει κάθε πολιτική ~3 δισεκατομμυρίων, οπότε δεν υπάρχει τοπική σύγκριση με GR00T N1.7 ή Pi0.5.
- Η ρύθμιση του περιβάλλοντος είναι η πραγματική δουλειά. Μόνο τα pins του TinyVLA μπορούν να κοστίσουν μια μέρα.
- Καμία ουρά, καμία επανάληψη, καμία αποθήκευση checkpoint. Μια επανεκκίνηση στο βήμα 14000 σημαίνει επανεκκίνηση από την αρχή.
Το SmolVLA είναι μία από τις πέντε πολιτικές εδώ. Επιλέγετε μοντέλο και σύνολο δεδομένων σε μια φόρμα, το backend νοικιάζει μια GPU ανάλογα με την απαιτούμενη VRAM, εκτελεί τον εκπαιδευτή και γράφει σημεία ελέγχου (checkpoints) σε αποθήκευση αντικειμένων. Βήμα προς βήμα: SmolVLA στο SO-100, ή την πλήρη μήτρα στο τη σελίδα εκπαίδευσης.
| Τι στέλνει η πλατφόρμα για το SmolVLA | Τιμή |
|---|---|
| μέγεθος δέσμης | 2 |
| ρυθμός εκμάθησης | 1e-4 |
| μέγιστα βήματα | 20000 |
| συσσώρευση κλίσης | 8, και δεν φτάνει στον εκπαιδευτή |
| επιπλέον ρυθμίσεις στη φόρμα | seed, logFreq |
| Επίπεδο GPU | RTX 4090 ή οποιαδήποτε κάρτα 24 GB |
| μορφή συνόλου δεδομένων | LeRobot v3.0 |
| ελάχιστα επεισόδια | 30 |
Πρώτον, το προεπιλεγμένο μέγεθος δέσμης εδώ είναι 2, όχι το 64 στο παράδειγμα τεκμηρίωσης του lerobot, και η ρύθμιση συσσώρευσης κλίσης αποστέλλεται αλλά δεν έχει καμία επίδραση για το SmolVLA, οπότε η πραγματική αποτελεσματική δέσμη είναι 2. Αυξήστε το σκόπιμα αντί να υποθέτετε ότι η προεπιλογή ταιριάζει με την αρχική. Δεύτερον, το TinyVLA δεν είναι καθόλου εκπαιδεύσιμο εδώ.
Μια εκτέλεση στο επίπεδο 24 GB διαρκεί 2 έως 5 ώρες με 0.30 έως 0.60 USD ανά ώρα, περίπου 1 έως 3 USD. Στο επίπεδο A100, μια πολιτική ~3 δισεκατομμυρίων είναι 3 έως 6 ώρες με 1.20 έως 2.00 USD ανά ώρα, περίπου 4 έως 12 USD. Δείτε τιμολόγηση, και τις ίδιες λειτουργίες από το CLI και τον διακομιστή MCP.
Όταν ένα μικρό μοντέλο είναι η λάθος επιλογή
Και οι δύο εργασίες είναι πιο προσεκτικές εδώ από ό,τι οι περιλήψεις. Η ανάλυση αποτυχίας του TinyVLA είναι συγκεκριμένη: η παραλλαγή 0,4 B απέτυχε τρεις φορές διαβάζοντας λανθασμένα την οδηγία, κάτι που οι συγγραφείς αποδίδουν σε περιορισμένη κατανόηση γλώσσας στο μικρότερο VLM, και αυτή η λειτουργία εξαφανίστηκε στα 1,3 B. Το SmolVLA δείχνει την ίδια καμπύλη από την άλλη πλευρά: η έκδοση 2,25 B της ίδιας αρχιτεκτονικής σημειώνει 88,75 στο LIBERO και 68,24 στο Meta-World έναντι 87,3 και 57,3 για το μοντέλο 0,45 B.
- Χωράει σε κάρτα 24 GB, γεγονός που μειώνει το κόστος ενός πειράματος από δεκάδες δολάρια σε μερικά.
- Αρκετά γρήγορο για να τρέχει δίπλα στον βραχίονα, οπότε δεν υπάρχει καθυστέρηση δικτύου στον βρόχο ελέγχου.
- Κάνει fine-tuning σε δεδομένα που μπορεί να καταγράψει ένα άτομο, δεκάδες επεισόδια αντί για χιλιάδες.
- Τα βάρη, η λίστα δεδομένων και ο κώδικας του SmolVLA είναι δημόσια, οπότε ένα κακό αποτέλεσμα είναι εντοπίσιμο.
- Ασθενέστερη τήρηση οδηγιών: λιγότερες γλωσσικές παράμετροι, λιγότερη ικανότητα διαχωρισμού παρόμοιων αναφορικών εκφράσεων.
- Λιγότερη χωρική και οπτική γενίκευση σε διατάξεις που δεν καταγράψατε.
- Πιο ευαίσθητο σε ελαττώματα συνόλου δεδομένων, με λιγότερη προεκπαίδευση για να βασιστεί.
- Οι εργασίες πολλαπλών εργασιών και μακροπρόθεσμου ορίζοντα εξακολουθούν να ευνοούν μεγαλύτερα μοντέλα, συμπεριλαμβανομένης της παραλλαγής 2,25 B του SmolVLA.
Η σύγκριση που αξίζει να γίνει δεν είναι το TinyVLA έναντι του SmolVLA. Είναι το SmolVLA έναντι ACT στην δική σας εργασία, και η εργασία του SmolVLA είναι το επιχείρημα για το γιατί. Εκπαιδευμένο σε μία μόνο εργασία χωρίς προεκπαίδευση ρομποτικής, το SmolVLA είχε μέσο όρο 40,0 σε τρεις εργασίες SO-100 όπου το ACT σε μία μόνο εργασία πέτυχε 48,3. Αυτό που το ανεβάζει στο 78,3 είναι η προεκπαίδευση της κοινότητας συν η εκπαίδευση πολλαπλών εργασιών, όχι μόνο η αρχιτεκτονική. Στην εργασία lego SO-101, και οι δύο σε μία μόνο εργασία, το SmolVLA κερδίζει: 90 έναντι 70 στην κατανομή. Στη συνέχεια, το SmolVLA έναντι Pi0.5 αν το επιτρέπει ο προϋπολογισμός.
Υπάρχει λιγότερη προ-εκπαίδευση για να καλύψει κακά δεδομένα, οπότε μια καθαρή καμπύλη απώλειας σε ένα ελαττωματικό σύνολο δεδομένων σας δίνει μια πολιτική που αναπαράγει το ελάττωμα με σιγουριά. Τα έγγραφα του lerobot είναι σαφή σχετικά με τη δομή: 50 επεισόδια σε 5 θέσεις κύβων, 10 ανά θέση, λειτούργησαν· 25 όχι. Εάν η απώλεια φαίνεται εντάξει και ο βραχίονας δεν κάνει τίποτα χρήσιμο, ξεκινήστε από η απώλεια πέφτει, η πολιτική δεν κάνει τίποτα, η πολιτική λειτουργεί μόνο σε μία ρύθμιση ή συλλογή δεδομένων εκπαίδευσης VLA που είναι πραγματικά χρησιμοποιήσιμα.
Πέντε πολιτικές, ένας πίνακας σύγκρισης
GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA και ACT με πραγματικούς αριθμούς παραμέτρων, καθυστέρηση συμπερασμάτων ανά βήμα δράσης, την κατηγορία GPU που χρειάζεται το καθένα και τον ελάχιστο αριθμό επεισοδίων πριν κάνει κάτι χρήσιμο.
Συγκρίνετε τις πολιτικέςΈνας πίνακας αποφάσεων στον οποίο μπορείτε να ενεργήσετε
| Η κατάστασή σας | Ξεκινήστε με | Γιατί |
|---|---|---|
| Μία εργασία, καλές επιδείξεις, χωρίς γλώσσα | ACT | ~80 M, 20 ms, 24 GB κάρτα, χωρίς βασικό μοντέλο για λήψη |
| Λίγες σχετικές εργασίες, μία οδηγία η καθεμία | SmolVLA | 450 M, στο lerobot, ελάχιστο 30 επεισόδια, 1 έως 3 USD ανά εκτέλεση |
| Αναπαραγωγή του αποτελέσματος TinyVLA συγκεκριμένα | TinyVLA-B or TinyVLA-H | Το αποθετήριο είναι η μόνη διαδρομή: απομονωμένο περιβάλλον, μετατρεπόμενα δεδομένα |
| Πολλαπλές εργασίες, ποικίλες οδηγίες, προϋπολογισμός A100 | GR00T N1.7 or Pi0.5 | ~3 B, 152 ms και 485 ms ανά βήμα, 4 έως 12 USD ανά εκτέλεση |
| Δεν υπάρχει ρομπότ ακόμα | Οδηγήστε έναν πραγματικό βραχίονα | Ο ζωντανός βραχίονας που βασίζεται σε ουρά δεν χρειάζεται εγγραφή και υλικό |
Για την τελευταία σειρά, ο ζωντανός βραχίονας μεταδίδει έναν φυσικό SO-100 που μπορείτε να οδηγήσετε από το πρόγραμμα περιήγησης χωρίς λογαριασμό, και τους τρεις τρόπους εκκίνησης καλύπτει τα υπόλοιπα. Ο SO-100 είναι ο βραχίονας αναφοράς εδώ, περίπου 110 έως 150 EUR σε εξαρτήματα, με έναν πλήρη οδηγό εγκατάστασης.
Τι ακολουθεί μετά τα μοντέλα κάτω του 1 δισεκατομμυρίου παραμέτρων
Η μείωση του αριθμού των παραμέτρων είναι ένας τρόπος να καταστεί ένα VLA φθηνό και όχι προφανώς ο νικηφόρος. OpenVLA-OFT (arXiv 2502.19645) διατηρεί τον κορμό 7 δισεκατομμυρίων παραμέτρων και αλλάζει μόνο τον τρόπο αποκωδικοποίησης των ενεργειών, αναφέροντας αύξηση 26x στην απόδοση παραγωγής ενεργειών και άνοδο του LIBERO από 76.5 σε 97.1 τοις εκατό. BitVLA (arXiv 2506.07530) καθιστά κάθε βάρος ενός κορμού 1-bit BitNet b1.58 2B4T τριαδικό, αναφέροντας 11.0x λιγότερη μνήμη και 4.4x χαμηλότερη καθυστέρηση από άκρο σε άκρο, ενώ ταιριάζει με την πλήρη ακρίβεια του OpenVLA-OFT. X-VLA-0.9B (arXiv 2510.10274) βρίσκεται στην γραμμή του 1 δισεκατομμυρίου παραμέτρων με flow matching.
Το κοινό νήμα: ο αποκωδικοποιητής ενεργειών, όχι το γλωσσικό μοντέλο, είναι εκεί όπου βρίσκεται η καθυστέρηση. Ρωτήστε πώς μια πολιτική εκπέμπει ενέργειες πριν ρωτήσετε πόσες παραμέτρους έχει. Η αρένα διαθέτει 85 μοντέλα και 332 αποτελέσματα, το καθένα συνδεδεμένο με την πηγή του· υπάρχει μια ευρύτερη επισκόπηση στο την εισαγωγή μας στα VLA.
Μπορώ να κάνω fine-tune το SmolVLA σε μια RTX 4090;▾
Ναι. Το SmolVLA έχει 450 M παραμέτρους και η AY-Robots το τρέχει στην κατηγορία RTX 4090 / 24 GB. Το παράδειγμα του lerobot χρησιμοποιεί --batch_size=64, το οποίο είναι ένα παράδειγμα και όχι εγγύηση για την κάρτα σας. Η τεκμηρίωση συμβουλεύει να ξεκινήσετε με μικρό μέγεθος και να το αυξάνετε όσο οι χρόνοι φόρτωσης παραμένουν σύντομοι. Αναμένετε μεγαλύτερο χρόνο από τις περίπου 4 ώρες που αναφέρει η τεκμηρίωση για 20000 βήματα σε μια A100.
Είναι το TinyVLA διαθέσιμο στο lerobot ή στην AY-Robots;▾
Όχι και στα δύο. Το TinyVLA υπάρχει μόνο στο ερευνητικό του αποθετήριο, τελευταία δέσμευση 11 Μαρτίου 2025, και η μορφή του είναι HDF5 τύπου ACT και όχι LeRobot. Η AY-Robots εκπαιδεύει τα GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA και ACT. Αν θέλετε το TinyVLA, το φτιάχνετε μόνοι σας και θα πρέπει πρώτα να διορθώσετε τη διαδρομή διαμόρφωσης του DeepSpeed στο scripts/train.sh.
Είναι ένα μοντέλο 450 M πραγματικά ανταγωνιστικό με ένα μοντέλο 3 B;▾
Στα δικά τους benchmarks των συγγραφέων, ναι: 87.3 έναντι 86.0 στο LIBERO σε σύγκριση με ένα προ-εκπαιδευμένο στην ρομποτική Pi0 στα 3.3 B, και 78.3 έναντι 61.7 σε τρεις πραγματικές εργασίες SO-100 όπου η ίδια εργασία αναφέρει το Pi0 στα 3.5 B. Το όριο βρίσκεται στην ίδια εργασία: σε μονή εργασία χωρίς προ-εκπαίδευση ρομποτικής, το SmolVLA πέφτει στο 40.0, κάτω από το 48.3 του ACT.
Πόσα επεισόδια χρειάζομαι πριν ένα μικρό VLA κάνει κάτι;▾
Η AY-Robots ορίζει το ελάχιστο για το SmolVLA στα 30 επεισόδια και το ελάχιστο για το ACT στα 50. Η τεκμηρίωση του lerobot συνιστά περίπου 50 και αναφέρει ότι 25 δεν ήταν αρκετά για την ίδια εργασία. Η δομή έχει τόση σημασία όσο και ο αριθμός: το σύνολο της εργασίας χρησιμοποίησε 5 θέσεις κύβων με 10 επεισόδια το καθένα.
Γιατί οι δημοσιευμένοι αριθμοί καθυστέρησης διαφέρουν τόσο πολύ;▾
Μετρούν διαφορετικά πράγματα. Το TinyVLA αναφέρει 14 ms ανά πρόβλεψη ενέργειας σε μια A6000. Η AY-Robots αναφέρει το SmolVLA στα 245 ms και το ACT στα 20 ms ανά βήμα ενέργειας. Ορισμένα στοιχεία καλύπτουν μία forward pass, άλλα διαιρούν μια pass σε ένα τμήμα 50 ενεργειών, και σχεδόν κανένα δεν περιλαμβάνει τη λήψη από κάμερα ή την εγγραφή στους σερβοκινητήρες.
Λύνει η cloud inference το πρόβλημα της GPU;▾
Εν μέρει. Η AY-Robots παρέχει αυτόματα ένα pod που εξυπηρετεί την πολιτική, ενώ ο τοπικός πελάτης επικοινωνεί με αυτό το endpoint, με έναν αδρανή watchdog ώστε να καταστρέφεται μόνο του αντί να χρεώνει σιωπηλά. Δεν μπορεί να αφαιρέσει το round trip του δημόσιου διαδικτύου, και ο βρόχος ελέγχου είναι ήδη 20 έως 485 ms ανά βήμα ενέργειας. Καλό για αργή επιλογή και τοποθέτηση, όχι για γρήγορη αντιδραστική κίνηση.
Sources
- TinyVLA: Προς Γρήγορα, Αποδοτικά σε Δεδομένα Μοντέλα Όρασης-Γλώσσας-Δράσης για Ρομποτική Χειραγώγηση
- Επίσημο αποθετήριο κώδικα TinyVLA (README, requirements.txt, scripts/train.sh)
- Σελίδα έργου TinyVLA
- lesjie/Llava-Pythia-1.3B, τα βάρη του backbone του TinyVLA-H
- SmolVLA: Ένα Μοντέλο Όρασης-Γλώσσας-Δράσης για Προσιτή και Αποδοτική Ρομποτική
- Τεκμηρίωση lerobot: fine-tuning του SmolVLA
- lerobot: configuration_smolvla.py, οι προεπιλογές του SmolVLA
- Κάρτα μοντέλου lerobot/smolvla_base
- SmolVLA: Αποδοτικό Μοντέλο Όρασης-Γλώσσας-Δράσης (Hugging Face blog)
- lerobot στο PyPI (0.6.1, απαιτεί Python 3.12 ή νεότερο)
- OpenVLA: Ένα Ανοιχτού Κώδικα Μοντέλο Όρασης-Γλώσσας-Δράσης
- Fine-Tuning Μοντέλων Όρασης-Γλώσσας-Δράσης: Βελτιστοποίηση Ταχύτητας και Επιτυχίας (OpenVLA-OFT)
- BitVLA: Μοντέλα Όρασης-Γλώσσας-Δράσης 1-bit για Ρομποτική Χειραγώγηση
- X-VLA: Transformer με Soft-Prompt ως Κλιμακούμενο Μοντέλο Όρασης-Γλώσσας-Δράσης Δια-Ενσωμάτωσης
- Κάρτα μοντέλου rail-berkeley/octo-small-1.5 (27 M παραμέτρους)
Sources
- TinyVLA: Towards Fast, Data-Efficient Vision-Language-Action Models for Robotic Manipulation
- TinyVLA official code repository (README, requirements.txt, scripts/train.sh)
- TinyVLA project page
- lesjie/Llava-Pythia-1.3B, the TinyVLA-H backbone weights
- SmolVLA: A Vision-Language-Action Model for Affordable and Efficient Robotics
- lerobot documentation: fine-tuning SmolVLA
- lerobot: configuration_smolvla.py, the SmolVLA defaults
- lerobot/smolvla_base model card
- SmolVLA: Efficient Vision-Language-Action Model (Hugging Face blog)
- lerobot on PyPI (0.6.1, requires Python 3.12 or newer)
- OpenVLA: An Open-Source Vision-Language-Action Model
- Fine-Tuning Vision-Language-Action Models: Optimizing Speed and Success (OpenVLA-OFT)
- BitVLA: 1-bit Vision-Language-Action Models for Robotics Manipulation
- X-VLA: Soft-Prompted Transformer as Scalable Cross-Embodiment Vision-Language-Action Model
- rail-berkeley/octo-small-1.5 model card (27 M parameters)
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started