
TinyVLA dan SmolVLA menghadirkan VLA yang berfungsi di bawah 1 miliar parameter. Angka-angka sebenarnya dari kedua makalah, pengaturan default LeRobot, latensi terukur, dan biaya satu kali jalankan pada kartu 24 GB.
Hampir setiap model aksi-bahasa-visi yang ditulis tentangnya mengasumsikan kartu pusat data. OpenVLA memiliki 7 miliar parameter. GR00T N1.7 dan Pi0.5 berukuran sekitar 3 miliar dan membutuhkan A100 80 GB untuk fine-tuning. Jika kartu di meja Anda adalah 4090, kelas model tersebut tidak terjangkau.
Dua makalah berpendapat bahwa Anda tidak membutuhkannya. TinyVLA (arXiv 2409.12514, diterima oleh IEEE Robotics and Automation Letters pada Februari 2025) membangun VLA dari backbone 400 juta hingga 1,3 miliar ditambah kepala aksi difusi. SmolVLA (arXiv 2506.01844, diajukan 2 Juni 2025) mengirimkan 450 juta parameter dengan bobot terbuka, data terbuka, dan skrip yang berjalan pada satu kartu konsumen. Berikut adalah apa yang diukur keduanya, dan di mana argumen di bawah 1 miliar berhenti berlaku.
Apa yang perlu Anda ketahui
- •TinyVLA hadir dalam tiga ukuran: total 422 juta dengan 101 juta yang dapat dilatih, 740 juta dengan 138 juta, 1,3 miliar dengan 143 juta. Hanya dua yang pertama berada di bawah 1 miliar.
- •Tabel IV-nya mengukur 14 ms per prediksi aksi untuk TinyVLA-1B pada satu A6000, dibandingkan 292 ms untuk OpenVLA-7B dan 140 ms untuk OpenVLA-1B yang diperkecil.
- •Kepala (head) mempertahankan kecepatan itu, bukan backbone: tukar kepala difusi TinyVLA-H dengan kepala ACT dan lima tugas robot nyata turun dari rata-rata 94,0 menjadi satu digit. Kepala MLP mencetak 0 di mana-mana.
- •SmolVLA berukuran 450 juta, sekitar 100 juta di antaranya adalah pakar aksi, dilatih sebelumnya pada 481 dataset komunitas LeRobot dan 10,6 juta frame. Ini melaporkan 87,3 pada LIBERO dibandingkan 86,0 untuk Pi0 yang dilatih sebelumnya untuk robotika pada 3,3 miliar, dan 78,3 pada tiga tugas SO-100 nyata dibandingkan 61,7 untuk Pi0 pada 3,5 miliar.
- •Dilatih satu tugas tanpa pelatihan awal tersebut, SmolVLA turun menjadi 40,0 pada tugas-tugas tersebut, di bawah 48,3 milik ACT. Kecil tidak secara otomatis mudah.
- •TinyVLA tidak memiliki integrasi LeRobot dan menggunakan tumpukan roda CUDA 11.7. SmolVLA ada di lerobot dan biayanya sekitar 1 hingga 3 USD per jalankan pada tingkat 24 GB di sini.
Apa yang sebenarnya dianggap sebagai VLA kecil
Jumlah parameter pada kartu model bukanlah satu angka. Ini bisa berarti total bobot, bobot yang dimuat saat inferensi, atau bobot yang menerima gradien selama . TinyVLA melaporkan keduanya, dan perbedaannya besar: TinyVLA-H memiliki total 1,3 B tetapi 143 M dapat dilatih, karena menara visi dan sebagian besar model bahasa tetap beku sementara adaptor LoRA dan kepala aksi bergerak. Makalah ini menempatkan bagian yang dapat dilatih sekitar 5 persen.
| Model | Parameter | Backbone | Kepala Aksi | Sumber |
|---|---|---|---|---|
| TinyVLA-S | Total 422 Juta, 101 Juta dapat dilatih | Llava-Pythia ~400 M | Diffusion (droid_diffusion U-Net) | arXiv 2409.12514 |
| TinyVLA-B | Total 740 Juta, 138 Juta dapat dilatih | Llava-Pythia ~700 M | Diffusion | arXiv 2409.12514 |
| TinyVLA-H | Total 1,3 Miliar, 143 Juta dapat dilatih | Llava-Pythia ~1.3 B | Diffusion | arXiv 2409.12514 |
| SmolVLA | 450 Juta, ~100 Juta ahli aksi | SmolVLM2-500M-Video-Instruct | Flow matching expert | arXiv 2506.01844 |
| Octo-Small | 27 Juta | ViT-S scale, T5-Base text encoder | Diffusion | octo-small-1.5 card |
| ACT | ~80 Juta | ResNet, no language model | Direct chunk regression | AY-Robots catalog |
| OpenVLA | 7 Miliar | Llama 2 7 B, DINOv2 and SigLIP encoders | Autoregressive action tokens | arXiv 2406.09246 |
Dua baris patut diperdebatkan. sekitar 80 Juta lebih kecil dari yang lain di sini tetapi tidak memiliki model bahasa, jadi ini bukan VLA: ia mempelajari satu tugas dan tidak dapat diperintahkan untuk melakukan tugas lain. pada 27 Juta dikondisikan melalui encoder teks T5-Base, bukan backbone LLM. Baseline yang bagus, tetapi keduanya tidak memberikan kemampuan mengikuti instruksi seperti yang tersirat dari label.
TinyVLA-H, varian yang membawa hasil utama, adalah 1,3 Miliar dan berada di atas batas. Pertanyaan yang lebih baik adalah apakah sebuah model muat dalam 24 GB selama pelatihan dan mencapai tingkat kontrol Anda saat inferensi. Lima kebijakan yang dapat Anda latih di sini ada di halaman kebijakan; TinyVLA memiliki entri arena jika Anda ingin melihat angkanya di samping yang lain.
TinyVLA: kecepatan berasal dari kepala, bukan dari tulang punggung
Pembacaan yang jelas adalah bahwa mereka membuat model bahasa lebih kecil, sehingga menjadi lebih cepat. Ablasi dalam makalah tersebut menyatakan sebaliknya. Mengganti tulang punggung OpenVLA 7 B dengan yang kira-kira 1 B memangkas prediksi per-aksi dari 292 ms menjadi 140 ms, peningkatan 2x. TinyVLA-H, dengan jumlah parameter yang sebanding, berjalan pada 14 ms pada kartu yang sama. 10x lainnya adalah kepala aksi.
| Model | Prediksi per-aksi | Diukur pada |
|---|---|---|
| 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 mengeluarkan aksi sebagai token diskrit melalui kepala model bahasa, satu per dimensi aksi, secara autoregresif. TinyVLA melampirkan dekoder difusi yang menghasilkan seluruh bagian dalam satu kali. Tabel V memuat arsitektur pada TinyVLA-H dan hanya menukar kepalanya, pada lima tugas robot nyata yang sama. Ini adalah bukti terbersih dalam kedua makalah untuk argumen pencocokan aliran kebijakan buat, dan alasan Pi0 menjauh dari decoding token.
| Head pada TinyVLA-H | PlaceTennis | FlipMug | StackCubes | CloseDrawer | OpenBox |
|---|---|---|---|---|---|
| Difusi (droid_diffusion) | 90.0 | 98.3 | 98.3 | 96.7 | 86.7 |
| Action Chunking Transformer | 13.3 | 8.3 | 8.3 | 13.3 | 23.3 |
| Multi-layer perceptron | 0 | 0 | 0 | 0 | 0 |
Angka 292 / 140 / 14 ms adalah Tabel IV, semuanya pada satu A6000. Angka-angka ini adalah per prediksi tindakan dan tidak termasuk pengambilan gambar kamera, pra-pemrosesan, dan penulisan serial ke servo. Perlakukan latensi yang dipublikasikan sebagai batas bawah, jangan pernah sebagai tingkat kontrol. Angka-angka kami sendiri memiliki batasan yang sama: lihat latensi inferensi.
Performa TinyVLA
| Benchmark | Protokol | TinyVLA-H | Baselines |
|---|---|---|---|
| MetaWorld, 50 tugas, sim | Multi-tugas, 50 demo, 3 seed | 77.6 / 21.5 / 11.4 / 15.8 berdasarkan kesulitan, rata-rata 31.6 | Diffusion Policy rata-rata 10.5 |
| Franka Panda Nyata, 5 tugas | 100 lintasan per tugas, 20 percobaan | Rata-rata 94.0 | OpenVLA 68.3, Diffusion Policy 35.3 |
| UR5 Bimanual, 3 tugas | Multi-tugas, 10 percobaan per tugas | 76.7 / 36.7 / 30.0 | OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0 |
Baris bimanual memiliki penjelasan membosankan yang diberikan oleh makalah itu sendiri: OpenVLA dilatih sebelumnya pada Open X-Embodiment, yang seluruhnya terdiri dari data lengan tunggal, sehingga ruang aksi dua lengan berada di luar distribusi dan skornya nol. Baseline kebijakan difusi mengalahkan TinyVLA-H pada dua dari tiga tugas tersebut. Latar belakang di tulisan Open X-Embodiment.

Repositori TinyVLA, per Agustus 2026
Makalahnya bagus. Kodenya adalah rilis penelitian. Repositorinya adalah github.com/liyaxuanliyaxuan/TinyVLA; README-nya mencatat rilis kode pada 17 Februari 2025 dan commit terakhir pada 11 Maret 2025. Baik untuk mereproduksi makalah, tetapi menjadi masalah jika Anda menginginkan pustaka yang terawat.
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 mengunci torch==2.0.1, transformers==4.37.1, deepspeed==0.9.5, peft==0.4.0, diffusers==0.11.1, numpy==1.24.4, dan tumpukan CUDA ke roda 11.x: nvidia-cuda-runtime-cu11==11.7.99, nvidia-cudnn-cu11==8.5.0.96, triton==2.0.0. README meminta Python 3.10; lerobot 0.6.1 memerlukan 3.12 atau yang lebih baru, sehingga keduanya tidak dapat berbagi lingkungan. Pastikan build torch 2.0.1 ada untuk generasi GPU Anda terlebih dahulu. Jika eksekusi gagal karena VRAM, daftar periksa kehabisan memori lebih cepat daripada menebak.
TinyVLA juga tidak membaca dataset LeRobot. Formatnya adalah HDF5 gaya ACT: action, language_raw, dan grup observasi dengan gambar multi-view, joint_positions, qpos, dan qvel. Repositori ini menyediakan data_utils/rlds_to_h5py.py untuk input RLDS, dan setiap tugas didaftarkan secara manual di aloha_scripts/constants.py dengan dataset_dir, episode_len, dan camera_names-nya. Jika episode Anda berasal dari lerobot atau klien desktop, Anda bertanggung jawab atas konversinya.
# 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 mengasumsikan node delapan kartu. Atur ke 1 dan turunkan ukuran batch jauh di bawah 32. Tidak ada varian GPU tunggal yang dikirimkan secara upstream, sehingga perintah tidak dapat dijalankan secara verbatim pada 4090.
- --deepspeed scripts/zero2.json menunjuk ke file yang tidak ada di direktori scripts tingkat atas. Konfigurasi DeepSpeed dikirimkan di llava-pythia/scripts/zero2.json. Perbaiki path sebelum Anda menjalankannya pertama kali.
- README mengharuskan nama direktori output berisi llava_pythia, ditambah lora jika LoRA diaktifkan.
- Backbone adalah unduhan terpisah: lesjie/Llava-Pythia-400M, -700M atau -1.3B. Tidak ada satu checkpoint dasar yang Anda tunjuk kebijakan seperti Anda menunjuk ke lerobot/smolvla_base.
SmolVLA: model sub-1 B yang dapat Anda jalankan sore ini
SmolVLA membuat argumen yang sama di dalam pustaka yang dikelola. Ini adalah 450 juta parameter pada backbone SmolVLM2-500M-Video-Instruct, dan efisiensi berasal dari pengaturan yang dapat Anda baca dari configuration_smolvla.py daripada dari klaim tentang ukurannya yang kecil.
| Pengaturan di configuration_smolvla.py | Default | Manfaatnya |
|---|---|---|
| num_vlm_layers | 16 | Hanya 16 layer model bahasa pertama yang berjalan |
| expert_width_multiplier | 0.75 | Ukuran tersembunyi expert aksi adalah 75 persen dari VLM |
| self_attn_every_n_layers | 2 | Self-attention diselingi dengan cross-attention |
| chunk_size / n_action_steps | 50 / 50 | Satu pass mengeluarkan 50 aksi dan semua 50 dieksekusi |
| num_steps | 10 | Denoising pencocokan aliran ditetapkan pada 10 langkah |
| tokenizer_max_length | 48 | Instruksi dipotong menjadi 48 token |
| freeze_vision_encoder / train_expert_only | True / True | Fine-tuning menggerakkan expert, bukan vision tower |
| optimizer_lr, warmup, decay | 1e-4, 1000 steps, to 2.5e-6 over 30000 | Bukan resep paper: pretraining-nya menggunakan warmup 100 langkah selama 200000 langkah |
Pelatihan awal menggunakan 481 dataset komunitas LeRobot, 22,9 ribu episode, dan 10,6 juta frame pada 4 GPU, 200.000 langkah dengan batch global 256; makalah tersebut menyatakan seluruh proyek membutuhkan sekitar 30 ribu jam GPU. Satu angka yang perlu diperhatikan: blog peluncuran Hugging Face menyebutkan 487 dataset yang dikurasi, sedangkan tabel makalah menyebutkan 481. Kami menggunakan angka dari makalah dan menandai ketidaksesuaian ini.

| Tolok Ukur | SmolVLA 0.45 B | SmolVLA 2.25 B | Pi0 | ACT |
|---|---|---|---|---|
| Rata-rata LIBERO, multi-tugas | 87.3 | 88.75 | 86.0 (3.3 B, robotics-pretrained) | - |
| Rata-rata Meta-World, multi-tugas | 57.3 | 68.24 | 47.9 (3.5 B, robotics-pretrained) | - |
| SO-100 Nyata, 3 tugas, pelatihan multi-tugas | 78.3 | - | 61.7 (3.5 B) | - |
| SO-100 Nyata, 3 tugas, tugas tunggal, tanpa pelatihan awal robotika | 40.0 | - | - | 48.3 |
| SO-101 lego pick-place, tugas tunggal, dalam distribusi | 90 | - | - | 70 |
| SO-101 lego pick-place, tugas tunggal, di luar distribusi | 50 | - | - | 40 |
LIBERO adalah simulasi dan semua skor yang kompeten di sana sekarang berada di angka delapan puluhan. Baris SO-100 nyata, di mana model 450 juta mengalahkan model 3,5 miliar sebesar 16,6 poin, adalah yang menarik; baris di bawahnya adalah penyeimbang. Hilangkan pelatihan awal komunitas dan pelatihan multi-tugas, dan model yang sama turun menjadi 40,0, di bawah ACT. Klaim yang dapat dipertahankan adalah bahwa model kecil tidak secara otomatis lebih buruk, bukan bahwa itu lebih baik.
Satu kebetulan membantu: tabel Meta-World dalam makalah SmolVLA memuat angka-angka yang diterbitkan TinyVLA sendiri sebagai dasar, sehingga untuk sekali ini kedua model berada dalam satu tabel, SmolVLA-0.45B pada 57.3 berbanding TinyVLA-H pada 31.6. Ini juga melaporkan pelatihan SmolVLA sekitar 40 persen lebih cepat daripada Pi0 dengan memori 6x lebih sedikit. Semua ini berasal dari penulis SmolVLA; entri arena menautkan setiap nilai ke sumbernya.
Di mana SmolVLA menghabiskan waktunya
AY-Robots mencantumkan SmolVLA pada 245 ms per langkah tindakan dan ACT pada 20 ms dalam katalog kebijakan. TinyVLA melaporkan 14 ms per prediksi tindakan. Angka-angka tersebut tidak sebanding, dan memperlakukannya seolah-olah sebanding adalah kesalahan paling umum dalam topik ini: beberapa mengukur satu forward pass, beberapa membagi pass tersebut ke seluruh chunk setelah pengelompokan tindakan mengamortisasinya.
- SmolVLA mengeluarkan 50 tindakan per forward pass dan mengeksekusi semua 50. Pada 30 fps yang digunakan makalah ini pada robot nyata, satu inferensi mencakup sekitar 1.7 detik gerakan.
- Inferensi asinkron menghitung chunk berikutnya sementara yang saat ini masih dieksekusi: rata-rata penyelesaian tugas 9.7 detik dibandingkan 13.75 detik sinkron, kira-kira 30 persen lebih cepat, dan 19 siklus pick-and-place dalam jendela 60 detik tetap dibandingkan 9.
- Tingkat keberhasilan sebanding daripada lebih baik, 78.3 sinkron dibandingkan 73.3 asinkron. Asinkron membeli throughput, bukan akurasi.
- Pengelompokan menyembunyikan latensi komputasi, bukan latensi jaringan, dan itu membuat kebijakan kurang reaktif karena berkomitmen pada 50 tindakan.
AY-Robots dapat secara otomatis menyediakan pod GPU cloud yang melayani kebijakan Anda sementara klien robot lokal berkomunikasi dengan endpoint tersebut, dan pod tersebut membawa watchdog idle sehingga menghancurkan dirinya sendiri daripada menagih secara diam-diam. Yang tidak dilakukannya adalah menghilangkan perjalanan pulang-pergi internet publik. Loop kontrol di kelima kebijakan ini adalah 20 hingga 485 ms per langkah tindakan sebelum jaringan apa pun, jadi inferensi jarak jauh dapat dilakukan untuk pick-and-place yang lambat, bukan untuk gerakan reaktif yang cepat.

Penyetelan halus SmolVLA pada satu kartu konsumen
Jalur manual, pada lerobot 0.6.1, rilis PyPI saat ini per 23 Agustus 2026. Semua di bawah ini berasal dari dokumentasi Hugging Face lerobot SmolVLA, yang diambil pada hari yang sama; versi terpandu lebih lembut.
- 1Instal lerobot dengan tambahan smolvla
Dependensi SmolVLA adalah tambahan opsional, bukan bagian dari instalasi dasar. Menginstal tanpa itu dan kemudian bertanya-tanya mengapa jenis kebijakan tidak diketahui adalah setengah jam yang sering terbuang sia-sia.
bashgit clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e ".[smolvla]" - 2Dapatkan dataset dengan episode yang cukup
Dokumentasi merekomendasikan sekitar 50 episode dan menyatakan bahwa tugas yang sama dengan 25 episode tidak cukup. AY-Robots menetapkan minimum 30. Rekam sendiri, atau mulai dari direktori dataset.
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 - 3Mulai fine-tune
Perintah dari panduan lerobot, tidak dimodifikasi. Dokumentasi menyebutkan 20000 langkah membutuhkan waktu sekitar 4 jam pada satu A100. Pada kartu 24 GB, perkirakan lebih lama dan ukur.
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 - 4Turunkan ukuran batch sampai sesuai
batch_size=64 adalah contoh yang didokumentasikan, bukan janji tentang kartu Anda. Dokumentasi menyarankan untuk memulai dari yang kecil dan meningkatkannya selama waktu pemuatan tetap singkat.
bashlerobot-train --help - 5Terapkan checkpoint pada lengan robot
Pustaka yang sama, satu perintah. Flag chunking real-time dikomentari dalam dokumentasi dan merupakan yang harus digunakan pada perangkat keras berdaya rendah.
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
Apa pun jalur yang Anda ambil, Anda akan mendapatkan checkpoint ditambah konfigurasi yang menghasilkannya. Simpan revisi dataset, jumlah langkah, dan seed di sampingnya. lerobot default ke seed 1000; titik masuk fine-tuning GR00T tidak mengekspos seed sama sekali, sehingga proses tersebut tidak dapat direproduksi bit-per-bit. Mekanisme dalam dokumentasi pelatihan.
Dua cara untuk memasang VLA kecil ke lengan robot
Anda memiliki mesin dan mode kegagalannya. Untuk SmolVLA itu masuk akal: satu pip extra, satu perintah train, satu perintah rollout. Untuk TinyVLA itu adalah reproduksi penelitian dengan pin yang dibekukan, jalur DeepSpeed yang rusak, dan konversi data yang Anda tulis sendiri.
- Dapatkan kartu 24 GB, rekam 30 hingga 50 episode, verifikasi aliran kamera bingkai demi bingkai.
- pip install -e ".[smolvla]", lerobot-train terhadap lerobot/smolvla_base, lalu sajikan checkpoint pada mesin tempat lengan robot dicolokkan.
- Untuk TinyVLA: lingkungan conda terpisah, konversi data ke HDF5, daftarkan tugas di constants.py, perbaiki jalur zero2.json, potong train.sh dari delapan GPU menjadi satu.
- Tidak ada tagihan per jam setelah kartu dibayar.
- Inferensi berada di samping servo, satu-satunya cara untuk mendapatkan loop kontrol yang cepat.
- Anda dapat menambal kode kebijakan, dan TinyVLA hanya tersedia dengan cara ini.
- RTX 4090 mengeliminasi setiap kebijakan ~3 B, jadi tidak ada perbandingan lokal terhadap GR00T N1.7 atau Pi0.5.
- Penyiapan lingkungan adalah pekerjaan sebenarnya. Pin TinyVLA saja bisa memakan waktu sehari.
- Tidak ada antrean, tidak ada percobaan ulang, tidak ada penyimpanan checkpoint. Reboot pada langkah 14000 berarti memulai lagi.
SmolVLA adalah salah satu dari lima kebijakan di sini. Anda memilih model dan dataset dalam formulir, backend menyewa GPU berdasarkan VRAM yang dibutuhkan, menjalankan trainer dan menulis checkpoint ke penyimpanan objek. Langkah demi langkah: SmolVLA pada SO-100, atau matriks lengkap pada halaman pelatihan.
| Apa yang dikirim platform untuk SmolVLA | Nilai |
|---|---|
| ukuran batch | 2 |
| tingkat pembelajaran | 1e-4 |
| langkah maks | 20000 |
| akumulasi gradien | 8, dan tidak mencapai trainer |
| tombol tambahan dalam formulir | seed, logFreq |
| Tingkat GPU | RTX 4090 or any 24 GB card |
| format dataset | LeRobot v3.0 |
| episode minimum | 30 |
Pertama, ukuran batch default di sini adalah 2, bukan 64 dalam contoh dokumentasi lerobot, dan pengaturan akumulasi gradien dikirim tetapi tidak berpengaruh untuk SmolVLA, jadi batch efektif sebenarnya adalah 2. Tingkatkan secara sengaja daripada mengasumsikan default cocok dengan upstream. Kedua, TinyVLA sama sekali tidak dapat dilatih di sini.
Satu kali jalankan pada tingkat 24 GB membutuhkan waktu 2 hingga 5 jam dengan biaya 0.30 hingga 0.60 USD per jam, kira-kira 1 hingga 3 USD. Pada tingkat A100, kebijakan ~3 B membutuhkan waktu 3 hingga 6 jam dengan biaya 1.20 hingga 2.00 USD per jam, kira-kira 4 hingga 12 USD. Lihat harga, dan operasi yang sama dari CLI dan server MCP.
Ketika model kecil adalah pilihan yang salah
Kedua makalah lebih berhati-hati di sini daripada ringkasannya. Analisis kegagalan TinyVLA spesifik: varian 0.4 B gagal tiga kali karena salah membaca instruksi, yang oleh penulis dikaitkan dengan pemahaman bahasa yang terbatas pada VLM yang lebih kecil, dan mode tersebut menghilang pada 1.3 B. SmolVLA menunjukkan kurva yang sama dari sisi lain: versi 2.25 B dari arsitektur yang identik mencetak 88.75 pada LIBERO dan 68.24 pada Meta-World dibandingkan 87.3 dan 57.3 untuk model 0.45 B.
- Muat di kartu 24 GB, yang menurunkan biaya eksperimen dari puluhan dolar menjadi beberapa dolar.
- Cukup cepat untuk dijalankan di samping lengan, sehingga tidak ada lompatan jaringan dalam loop kontrol.
- Melakukan fine-tuning pada data yang dapat direkam oleh satu orang, puluhan episode daripada ribuan.
- Bobot, daftar data, dan kode SmolVLA bersifat publik, sehingga hasil yang buruk dapat di-debug.
- Kepatuhan instruksi yang lebih lemah: parameter bahasa yang lebih sedikit, kemampuan yang lebih rendah untuk memisahkan ekspresi referensi yang serupa.
- Generalisasi spasial dan visual yang lebih rendah ke pengaturan yang tidak Anda rekam.
- Lebih sensitif terhadap cacat dataset, dengan pra-pelatihan yang lebih sedikit untuk dijadikan cadangan.
- Pekerjaan multi-tugas dan horizon panjang masih mendukung model yang lebih besar, termasuk varian 2.25 B milik SmolVLA.
Perbandingan yang layak dijalankan bukanlah TinyVLA melawan SmolVLA. Ini adalah SmolVLA melawan ACT pada tugas Anda sendiri, dan makalah SmolVLA adalah argumen mengapa demikian. Dilatih satu tugas tanpa pra-pelatihan robotika, SmolVLA rata-rata 40.0 di tiga tugas SO-100 di mana ACT satu tugas berhasil 48.3. Yang mengangkatnya menjadi 78.3 adalah pra-pelatihan komunitas ditambah pelatihan multi-tugas, bukan arsitekturnya saja. Pada tugas lego SO-101, keduanya satu tugas, SmolVLA memang menang: 90 berbanding 70 dalam distribusi. Kemudian SmolVLA melawan Pi0.5 jika anggaran memungkinkan.
Ada lebih sedikit pra-pelatihan sebelumnya untuk menutupi data yang buruk, sehingga kurva loss yang bersih pada dataset yang cacat memberi Anda kebijakan yang mereproduksi cacat tersebut dengan percaya diri. Dokumen lerobot blak-blakan tentang struktur: 50 episode di 5 posisi kubus, 10 per posisi, berhasil; 25 tidak. Jika loss terlihat baik-baik saja dan lengan tidak melakukan sesuatu yang berguna, mulailah dari loss turun, kebijakan tidak melakukan apa-apa, kebijakan hanya berfungsi dalam satu pengaturan atau mengumpulkan data pelatihan VLA yang benar-benar dapat digunakan.
Lima kebijakan, satu tabel perbandingan
GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA dan ACT dengan jumlah parameter sebenarnya, latensi inferensi per langkah tindakan, tingkat GPU yang dibutuhkan masing-masing, dan jumlah episode minimum sebelum melakukan sesuatu yang berguna.
Bandingkan kebijakanTabel keputusan yang dapat Anda tindak lanjuti
| Situasi Anda | Mulai dengan | Mengapa |
|---|---|---|
| Satu tugas, demonstrasi bagus, tanpa bahasa | ACT | ~80 M, 20 ms, 24 GB card, no base model to download |
| Beberapa tugas terkait, satu instruksi masing-masing | SmolVLA | 450 M, in lerobot, 30 episode minimum, 1 to 3 USD per run |
| Mereproduksi hasil TinyVLA secara spesifik | TinyVLA-B or TinyVLA-H | The repo is the only route: isolated env, converted data |
| Multi-tugas, instruksi bervariasi, anggaran A100 | GR00T N1.7 or Pi0.5 | ~3 B, 152 ms and 485 ms per step, 4 to 12 USD per run |
| Belum ada robot | Menggerakkan lengan robot sungguhan | Lengan robot langsung berbasis antrean tidak memerlukan pendaftaran dan perangkat keras |
Untuk baris terakhir, lengan langsung mengalirkan SO-100 fisik yang dapat Anda kendalikan dari browser tanpa akun, dan tiga cara untuk memulai mencakup sisanya. SO-100 adalah lengan referensi di sini, kira-kira 110 hingga 150 EUR dalam suku cadang, dengan panduan pengaturan lengkap.
Apa yang datang setelah model di bawah 1 M
Mengecilkan jumlah parameter adalah salah satu cara untuk membuat VLA murah dan belum tentu merupakan cara yang paling unggul. OpenVLA-OFT (arXiv 2502.19645) mempertahankan tulang punggung 7 M dan hanya mengubah cara tindakan didekodekan, melaporkan peningkatan 26x dalam throughput generasi tindakan dan LIBERO naik dari 76,5 menjadi 97,1 persen. BitVLA (arXiv 2506.07530) membuat setiap bobot tulang punggung 1-bit BitNet b1.58 2B4T menjadi terner, melaporkan memori 11,0x lebih sedikit dan latensi ujung-ke-ujung 4,4x lebih rendah sambil menyamai OpenVLA-OFT presisi penuh. X-VLA-0.9B (arXiv 2510.10274) berada pada garis 1 M dengan pencocokan aliran.
Benang merahnya: dekoder tindakan, bukan model bahasa, adalah tempat latensi berada. Tanyakan bagaimana suatu kebijakan mengeluarkan tindakan sebelum Anda menanyakan berapa banyak parameter yang dimilikinya. arena memiliki 85 model dan 332 hasil, masing-masing terhubung ke sumbernya; ada gambaran umum yang lebih luas di pengantar VLA kami.
Bisakah saya melakukan fine-tune SmolVLA pada RTX 4090?▾
Ya. SmolVLA memiliki 450 M parameter dan AY-Robots menjalankannya pada tingkatan RTX 4090 / 24 GB. Contoh lerobot menggunakan --batch_size=64, yang merupakan contoh dan bukan jaminan untuk kartu Anda; dokumentasi menyarankan untuk memulai dari yang kecil dan meningkatkannya selama waktu pemuatan tetap singkat. Perkirakan waktu yang lebih lama dari sekitar 4 jam yang disebutkan dalam dokumentasi untuk 20000 langkah pada A100.
Apakah TinyVLA tersedia di lerobot atau di AY-Robots?▾
Tidak untuk keduanya. TinyVLA hanya ada di repositori penelitiannya, komit terakhir 11 Maret 2025, dan formatnya adalah HDF5 gaya ACT, bukan LeRobot. AY-Robots melatih GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA, dan ACT. Jika Anda menginginkan TinyVLA, Anda harus membuatnya sendiri, dan Anda harus memperbaiki jalur konfigurasi DeepSpeed di scripts/train.sh terlebih dahulu.
Apakah model 450 M benar-benar kompetitif dengan model 3 B?▾
Berdasarkan tolok ukur penulis sendiri, ya: 87.3 berbanding 86.0 pada LIBERO versus Pi0 yang telah dilatih sebelumnya untuk robotika pada 3.3 B, dan 78.3 berbanding 61.7 pada tiga tugas SO-100 nyata di mana makalah yang sama melabeli Pi0 pada 3.5 B. Batasannya ada di makalah yang sama: tugas tunggal tanpa pelatihan awal robotika, SmolVLA turun menjadi 40.0, di bawah ACT 48.3.
Berapa banyak episode yang saya butuhkan sebelum VLA kecil dapat melakukan sesuatu?▾
AY-Robots menetapkan minimum SmolVLA pada 30 episode dan minimum ACT pada 50. Dokumentasi lerobot merekomendasikan sekitar 50 dan melaporkan bahwa 25 tidak cukup untuk tugas yang sama. Struktur sama pentingnya dengan jumlah: set makalah menggunakan 5 posisi kubus dengan masing-masing 10 episode.
Mengapa angka latensi yang dipublikasikan sangat berbeda?▾
Mereka mengukur hal yang berbeda. TinyVLA melaporkan 14 ms per prediksi tindakan pada A6000; AY-Robots mencantumkan SmolVLA pada 245 ms dan ACT pada 20 ms per langkah tindakan. Beberapa angka mencakup satu forward pass, beberapa membagi pass di seluruh chunk 50 tindakan, dan hampir tidak ada yang menyertakan pengambilan kamera atau penulisan ke servo.
Apakah inferensi cloud menyelesaikan masalah GPU?▾
Sebagian. AY-Robots secara otomatis menyediakan pod yang melayani kebijakan sementara klien lokal berkomunikasi dengan endpoint tersebut, dengan watchdog idle sehingga pod tersebut menghancurkan dirinya sendiri daripada menagih secara diam-diam. Ini tidak dapat menghilangkan perjalanan pulang-pergi internet publik, dan loop kontrol sudah 20 hingga 485 ms per langkah tindakan. Baik untuk pick-and-place yang lambat, tetapi tidak untuk gerakan reaktif yang cepat.
Sources
- TinyVLA: Menuju Model Visi-Bahasa-Tindakan yang Cepat dan Efisien Data untuk Manipulasi Robotika
- Repositori kode resmi TinyVLA (README, requirements.txt, scripts/train.sh)
- Halaman proyek TinyVLA
- lesjie/Llava-Pythia-1.3B, bobot backbone TinyVLA-H
- SmolVLA: Model Visi-Bahasa-Tindakan untuk Robotika yang Terjangkau dan Efisien
- Dokumentasi lerobot: fine-tuning SmolVLA
- lerobot: configuration_smolvla.py, pengaturan default SmolVLA
- Kartu model lerobot/smolvla_base
- SmolVLA: Model Visi-Bahasa-Tindakan yang Efisien (blog Hugging Face)
- lerobot di PyPI (0.6.1, membutuhkan Python 3.12 atau yang lebih baru)
- OpenVLA: Model Visi-Bahasa-Tindakan Sumber Terbuka
- Fine-Tuning Model Visi-Bahasa-Tindakan: Mengoptimalkan Kecepatan dan Keberhasilan (OpenVLA-OFT)
- BitVLA: Model Visi-Bahasa-Tindakan 1-bit untuk Manipulasi Robotika
- X-VLA: Transformer dengan Soft-Prompt sebagai Model Visi-Bahasa-Tindakan Lintas-Embodimen yang Skalabel
- Kartu model rail-berkeley/octo-small-1.5 (27 M parameter)
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