Halaman model SmolVLA di AY-Robots menampilkan jumlah parameter, tingkat GPU, latensi inferensi per langkah aksi, dan jumlah episode minimum
SmolVLALeRobotPelatihan VLAFine-TuningSO-100

Cara Melatih SmolVLA pada GPU 24 GB (lerobot 0.6.1)

AY-Robots ResearchAugust 23, 202617 menit baca

SmolVLA adalah VLA 450 J parameter yang dapat di-fine-tune pada satu kartu 24 GB. Perintah lerobot 0.6.1 yang sebenarnya, nilai default yang sebenarnya, jebakan yang memakan waktu sehari, dan berapa biaya satu kali jalankan.

SmolVLA dalam satu layar

  • 450 J parameter, sekitar 100 J di antaranya adalah pakar tindakan pencocokan aliran. lerobot hanya melatih pakar tersebut dan menjaga VLM tetap beku, itulah sebabnya ia muat di satu kartu.
  • Panduan komputasi LeRobot menempatkan grup smolvla pada sekitar 10 hingga 16 GB VRAM puncak pada batch 8 dengan AdamW. Oleh karena itu 24 GB.
  • Titik masuknya adalah lerobot-train. Postingan blog SmolVLA Juni 2025 masih mencetak python lerobot/scripts/train.py, sebuah jalur yang tidak lagi ada. Semua di bawah ini adalah lerobot 0.6.1.
  • Jadwal kosinus telah diatur untuk meluruh selama 30000 langkah. lerobot 0.6.1 menyesuaikan skala itu ke bawah untuk durasi yang lebih pendek dan mencatatnya, tetapi tidak pernah ke atas: durasi standar 100000 langkah berakhir pada batas bawah 2.5e-6 selama 70000 langkah.
  • Tiga puluh episode adalah minimum AY-Robots, pada tingkat 24 GB dengan biaya 1 hingga 3 USD per jalankan dibandingkan 4 hingga 12 untuk model 80 GB.

Kebanyakan orang yang menginginkan model tindakan bahasa visual pada lengan robot sungguhan berhenti pada batas perangkat keras. GR00T N1.7 dan Pi0.5 masing-masing sekitar tiga miliar parameter dan membutuhkan A100 80 GB atau H100. Jika yang Anda miliki adalah PC gaming dengan RTX 4090, itu adalah akhir dari perjalanan. SmolVLA adalah pengecualian: 450 J parameter, di dalam LeRobot, dibangun untuk fine-tuning pada satu kartu konsumen dan melayani dari CPU.

Rute manual terlebih dahulu: instal lerobot, tarik checkpoint lerobot/smolvla_base, jalankan perintah sebenarnya, baca jalannya saat itu terjadi. Kemudian rute platform, dan di mana itu tidak membantu.

Apa itu SmolVLA, dalam angka yang dapat Anda periksa

SmolVLA adalah pencocokan aliran kebijakan yang disematkan pada model bahasa visual kecil. Tulang punggungnya adalah SmolVLM2-500M-Video-Instruct; makalah ini hanya mempertahankan 16 lapisan pertama dari model bahasanya, membatasi setiap bingkai kamera menjadi 64 token visual dengan pengacakan piksel alih-alih pengubinan gambar, dan menyisipkan perhatian silang dengan lapisan perhatian diri setiap blok kedua. Biaya inferensi adalah batasan desain, bukan pemikiran di kemudian hari.

PropertiNilaiSumber
Total parameterabout 450 Mpaper
Pakar tindakanabout 100 M, flow matchingpaper
Tulang punggung VLMHuggingFaceTB/SmolVLM2-500M-Video-Instructvlm_model_name
Lapisan VLM yang digunakanfirst 16 of the language modelnum_vlm_layers = 16
Token visual per bingkai64, pixel shuffle, no tilingpaper
Pelatihan awal481 community datasets, 22.9 K episodes, 10.6 M frames; 200000 steps at global batch 256 on 4 GPUspaper

Tolok ukur adalah alasan orang repot-repot dengan model 450 M. Pada LIBERO, rata-ratanya 87,3 persen dibandingkan 76,5 untuk OpenVLA pada 7 B dan 86,0 untuk Pi0 yang dilatih robotika pada 3,3 B; pada Meta-World, 57,3 dibandingkan 47,9. Pada perangkat keras SO-100 yang sebenarnya, pelatihan multi-tugas memberikan 75 persen pada pengambilan dan penempatan, 90 pada penumpukan, 70 pada penyortiran, rata-rata 78,3, di mana ACT yang dilatih per tugas rata-rata 48,3. Baris yang sama berada di samping setiap VLA yang diterbitkan di entri arena SmolVLA dan perbandingan ACT dengan SmolVLA.

Versi jujur dari klaim ukuran

SmolVLA tidak lebih baik dari model 3 B dalam segala hal. Tabel SO-101 dari makalah itu sendiri adalah buktinya: 90 persen keberhasilan dalam distribusi, 50 persen di luar itu, pada platform yang tidak pernah dilatih sebelumnya. Apa yang diklaim, dan didukung, adalah bahwa dibandingkan Pi0, ia melatih sekitar 40 persen lebih cepat dengan memori 6 kali lebih sedikit.

Mengapa kartu 24 GB adalah pilihan yang tepat untuk percobaan pertama

LeRobot menyediakan panduan ukuran komputasi, halaman paling berguna di repositori untuk ini. Ini mengelompokkan kebijakan berdasarkan ukuran backbone dan memberikan satu batas VRAM per kelompok, diukur pada ukuran batch 8 dengan AdamW, standar LeRobot. Keadaan optimizer saja menambahkan 30 hingga 100 persen di atas satu kali forward dan backward pass, jadi ini bukan angka khusus bobot.

GrupKebijakanVRAM Puncak (batch 8, AdamW)GPU Pemula
BC Ringanact, vqbet, tdmpcabout 2 to 6 GBRTX 3060, L4
Difusidiffusion, multi_task_ditabout 8 to 14 GBRTX 4070+, L4
VLA Kecilsmolvlaabout 10 to 16 GBRTX 4080+, L4, A10G
VLA Besarpi0, pi0_fast, pi05, xvla, wall_xabout 24 to 40 GBA100 40 GB+
Multimodalgroot, eo1about 24 to 40 GBA100 40 GB+

Sepuluh hingga enam belas gigabyte pada batch 8 adalah argumennya: kartu 24 GB cocok untuk itu ditambah dataloader. AY-Robots menempatkan SmolVLA pada RTX 4090 atau kartu 24 GB apa pun, minimal 30 episode, LeRobot v3.0 data, 245 ms per langkah aksi. Disewa, itu adalah 2 hingga 5 jam dengan biaya 0.30 hingga 0.60 USD per jam, sekitar 1 hingga 3 USD per fine-tuning percobaan, dibandingkan 4 hingga 12 USD pada tier 80 GB yang dibutuhkan GR00T dan Pi0.5 (harga). Percobaan SmolVLA yang gagal adalah harga secangkir kopi; percobaan GR00T yang gagal, harga makan siang.

Tabel biaya AY-Robots: kartu per kebijakan, waktu berjalan, harga per jalankan, episode yang dibutuhkan
SmolVLA dan ACT berada di baris 24 GB, tiga model 3 B berada di baris 80 GB.
Memulai dengan SmolVLA alih-alih model 3 B
Apa yang Anda dapatkan
  • Sesuai dengan perangkat keras yang mungkin sudah Anda miliki: sekitar 10 hingga 16 GB pada batch 8.
  • Jalankan yang sia-sia memakan waktu berjam-jam dan biaya beberapa dolar, jadi Anda bisa salah tentang dataset.
  • Dilatih sebelumnya pada dataset komunitas yang dibagikan di bawah tag lerobot, dengan hasil SO-100 dan SO-101 yang nyata.
  • Ini ada di lerobot itu sendiri: tidak ada repo vendor, dan smolvla_base tidak dibatasi.
Apa yang Anda korbankan
  • 450 M tetap 450 M: keberhasilan di luar distribusi turun dari 90 menjadi 50 persen dalam tabel SO-101 di makalah.
  • Ini membutuhkan data LeRobot v3.0; rekaman v2.1 harus dikonversi (dataset rejected v3).
  • 245 ms per langkah tindakan adalah pengontrol pick and place yang kompeten, bukan yang reaktif.
  • Contoh dokumen menjalankan batch 64 pada A100; pada 24 GB Anda menukar batch dengan waktu nyata.

Langkah 0: dataset menentukan jalannya, bukan flag

Tidak ada di bawah ini yang penting jika rekaman buruk. Halaman LeRobot SmolVLA blak-blakan: dataset referensi adalah 50 episode di 5 posisi kubus, 10 per posisi, dan tugas yang sama pada 25 episode berkinerja buruk. Pengulangan per variasi menggeneralisasi, jumlah episode mentah tidak. Belum pernah merekamnya? Mulai di rekam dataset pertama Anda, dengan klien desktop, yang menulis format LeRobot dari sesi teleoperasi, atau pinjam satu dari direktori dataset.

  • Setidaknya 30 episode di AY-Robots, sekitar 50 untuk resep referensi LeRobot.
  • Setiap variasi yang Anda harapkan saat peluncuran, diulang beberapa kali.
  • Satu string tugas, dieja secara identik pada waktu perekaman dan peluncuran. Model dikondisikan pada teks tersebut.
  • Kamera tetap. Kamera yang digerakkan antara perekaman dan peluncuran adalah alasan paling umum mengapa kurva kerugian yang bersih menghasilkan lengan yang tidak bergerak.
  • Variasi yang disimpan yang belum pernah Anda latih, sehingga Anda memiliki sesuatu yang jujur untuk diuji.
Jebakan dataset yang memakan waktu sehari

SmolVLA, Pi0.5 dan ACT membutuhkan LeRobot v3.0. GR00T N1.7 dan N1.5 membutuhkan v2.0 atau v2.1 dan pemuatnya mengalami crash pada v3.0. Rekam sekali, rencanakan untuk membandingkan model nanti, dan Anda akan mengonversi dengan satu cara atau lainnya: dataset rejected v3.

bash
# v2.1 -> v3.0: aggregates per-episode files into shards and writes the episode offsets
python -m lerobot.scripts.convert_dataset_v21_to_v30 --repo-id=${HF_USER}/so100_pick_place
Konverter ini disertakan dalam lerobot, jadi tidak ada yang perlu diinstal tambahan. Tidak ada konverter ke arah sebaliknya dalam paket.

Lebih lanjut tentang ini di cara mengumpulkan data pelatihan VLA berkualitas tinggi. Versi singkatnya: 30 hingga 50 episode bersih dari satu tugas dengan variasi yang disengaja mengalahkan 200 episode ceroboh dari tiga tugas, dengan selisih yang tidak dapat ditutup oleh hyperparameter apa pun.

Instal lerobot 0.6.1

bash
# LeRobot needs Python 3.12 or newer as of 0.6.x
conda create -y -n lerobot python=3.12
conda activate lerobot

# TorchCodec decodes the dataset videos and wants ffmpeg
conda install ffmpeg -c conda-forge

# Base package is deliberately thin; extras pull the rest
pip install 'lerobot[smolvla,training,core_scripts]'

# Sanity check: prints the lerobot version, the GPU torch sees, and the console scripts you got
lerobot-info
Jalur PyPI. Untuk menambal (patch) trainer, klon repo dan gunakan pip install -e ".[smolvla,training]" sebagai gantinya.

Instalasi dasar lerobot tipis dan membatasi dependensi berat di balik fitur tambahan (extras): smolvla menambahkan transformers, num2words, dan accelerate, training tumpukan dataset dan wandb, core_scripts dependensi perangkat keras dan visualisasi. Di Linux, jalur instalasi juga menentukan CUDA wheel Anda: default PyPI adalah cu130 wheel dengan batas driver 580.65, jadi pada driver yang lebih lama, instal torch dari indeks cu128 terlebih dahulu, lalu lerobot.

policy.path dan policy.type bukan flag yang sama

--policy.path=lerobot/smolvla_base memuat checkpoint 450 M yang sudah dilatih sebelumnya dan menyempurnakannya. --policy.type=smolvla membangun SmolVLA baru, dan default konfigurasi load_vlm_weights = False berarti ia bahkan tidak menarik bobot backbone SmolVLM2 kecuali Anda memintanya. Jika salah, proses akan berjalan dengan baik, biayanya sama, dan tidak mempelajari apa pun yang dapat ditransfer.

Proses pelatihan, perintah demi perintah

  1. 1
    Otentikasi ke Hub

    Checkpoint dasar berasal dari Hub, dan dataset Anda mungkin juga.

    bash
    hf auth login
  2. 2
    Baca opsi-opsinya sekali

    Setiap bidang konfigurasi pipeline dan kebijakan adalah sebuah flag. Bacalah sekilas sebelum mendalami kodenya.

    bash
    lerobot-train --help
  3. 3
    Mulai fine-tune

    Contoh di dokumentasi menjalankan batch 64 pada satu A100; panduan komputasi sendiri merekomendasikan batch 16 untuk A100 40 GB, dan 8 adalah setara untuk 24 GB. Tidak ada flag scheduler di sini dengan sengaja, lihat di bawah.

    bash
    lerobot-train \
      --policy.path=lerobot/smolvla_base \
      --dataset.repo_id=${HF_USER}/so100_pick_place \
      --batch_size=8 \
      --steps=20000 \
      --save_freq=2000 \
      --log_freq=200 \
      --seed=1000 \
      --output_dir=outputs/train/smolvla_pick_place \
      --job_name=smolvla_pick_place \
      --policy.device=cuda \
      --wandb.enable=true
  4. 4
    Baca baris log, bukan hanya loss

    Setiap --log_freq langkah, lerobot mencetak loss, grdn, lr, updt_s, data_s, smp/s dan, pada CUDA, mem_gb. mem_gb menunjukkan apakah batch muat, lr menunjukkan apakah jadwal meluruh, dan data_s yang mendekati updt_s berarti dataloader adalah bottleneck, bukan GPU.

    bash
    # if data_s creeps toward updt_s
    lerobot-train ... --num_workers=8
  5. 5
    Kumpulkan checkpoint yang dapat Anda bandingkan

    save_freq defaultnya 20000, jadi proses 20000 langkah hanya menyisakan satu checkpoint dan tidak ada yang bisa dibandingkan. Atur ke 2000. Mendorong ke Hub memerlukan --policy.repo_id.

    bash
    --save_freq=2000 \
    --policy.repo_id=${HF_USER}/smolvla_pick_place \
    --save_checkpoint_to_hub=true
  6. 6
    Lanjutkan jika mesin mati

    Arahkan --config_path ke train_config.json di samping checkpoint. lerobot menolak untuk memulai ke output_dir yang sudah ada kecuali Anda melanjutkan, jadi Anda tidak dapat menimpa proses secara tidak sengaja.

    bash
    lerobot-train \
      --config_path=<path to the saved train_config.json> \
      --resume=true

Flag yang benar-benar mengubah hasil

FlagFungsinyaPada 24 GB
--batch_sizeSampel per langkah, kira-kira linear dengan VRAM4 to 8
--stepsTotal langkah optimizer20000 langkah pertama
--policy.scheduler_decay_stepsPanjang peluruhan kosinus, preset 30000Hanya berlaku di atas 30000
--policy.use_ampPresisi campuran; SmolVLA tidak memiliki bidang dtypetrue saat memori terbatas
--num_workersProses dataloader, default 4Tingkatkan sampai data_s berhenti naik
--dataset.eval_splitFraksi episode yang ditahan per tugas0.1, with --eval_steps
--policy.freeze_vision_encoderMenjaga vision tower tetap bekutrue on 24 GB
--policy.train_expert_onlyHanya expert ~100 M yang mendapatkan gradientrue pada awalnya
Jadwal: apa yang ditangani 0.6.1, dan apa yang tidak

SmolVLA mengatur jadwal kosinus: `scheduler_warmup_steps = 1000`, `scheduler_decay_steps = 30000`, `scheduler_decay_lr = 2.5e-6`. Saran lama mengatakan bahwa eksekusi 20000 langkah akan terhenti di tengah-tengah peluruhan. Pada 0.6.1 tidak demikian: `CosineDecayWithWarmupSchedulerConfig.build()` diberikan `--steps`, dan di bawah `num_decay_steps` ia menskalakan ulang keduanya, pemanasan 1000 menjadi 666 dan peluruhan 30000 menjadi 20000, mencetak Auto-scaling LR scheduler saat melakukannya. Ia tidak pernah menskalakan ulang ke atas: peluruhan dibatasi dengan `min(current_step, decay_steps)`, sehingga `--steps=100000` standar berada di dasar dari langkah 30000 hingga akhir, 70 persen dari eksekusi. Hanya sisi panjang itu yang masih membutuhkan `--policy.scheduler_decay_steps`. Kolom `lr` adalah tempat Anda memeriksa.

Pengaturan default yang Anda warisi jika Anda tidak mengubah apa pun

Sebuah kebijakan konfigurasi di lerobot membawa preset pengoptimal dan penjadwalnya sendiri, dan kecuali Anda mengatur use_policy_training_preset=false preset tersebut akan berlaku. Setengah dari pertanyaan yang diajukan orang tentang pelatihan SmolVLA dijawab oleh pengaturan default yang tidak mereka ketahui keberadaannya.

PengaturanDefault di lerobot 0.6.1Didefinisikan dalam
chunk_size / n_action_steps50 / 50SmolVLAConfig
num_steps (denoise pencocokan aliran)10SmolVLAConfig
optimizer_lr1e-4SmolVLAConfig
scheduler_warmup_steps1000SmolVLAConfig
scheduler_decay_steps30000SmolVLAConfig
scheduler_decay_lr2.5e-6SmolVLAConfig
freeze_vision_encodertrueSmolVLAConfig
train_expert_onlytrueSmolVLAConfig
batch_size / steps8 / 100000TrainPipelineConfig
seed / save_freq / num_workers1000 / 20000 / 4TrainPipelineConfig

Dua baris yang mengejutkan orang adalah freeze_vision_encoder dan train_expert_only, keduanya benar. Secara default, Anda melatih sekitar 100 M parameter, bukan 450 M, itulah sebabnya ia muat di 24 GB. Referensi LeRobot sendiri yang berjalan pada klaster H100 empat-GPU mengubah keduanya menjadi false; pada satu kartu 24 GB, hal itu mengubah jalannya proses yang berfungsi menjadi .

Pengaturan memori yang tidak ada

Saran panduan ketika Anda terikat memori adalah mengurangi ukuran batch dan menggunakan akumulasi gradien untuk memulihkan batch yang efektif. Tidak ada akumulasi gradien di lerobot 0.6.1: TrainPipelineConfig tidak memiliki bidang tersebut dan string tersebut tidak muncul di mana pun dalam paket yang dirilis. Formulir AY-Robots menunjukkan nilai akumulasi gradien 8 untuk SmolVLA dan juga tidak menerapkannya. Pengaturan Anda pada 24 GB adalah --batch_size, dua default pembekuan, dan --policy.use_amp.

Berapa lama proses berjalan, dan berapa banyak langkah yang cukup

LeRobot menerbitkan patokan waktu nyata untuk lima epoch di atas dataset sekitar 50 episode, sekitar 45000 frame pada 30 fps. Angka-angka orde besaran, kata dokumen, tetapi itu adalah perbedaan antara mengharapkan satu jam dan satu hari.

PenyiapanKebijakanBatchWaktu sebenarnya
Single L4 / A10G (24 GB)smolvla4about 3 to 6 h
Single A100 40 GBsmolvla16about 1 to 2 h
4 x H100 80 GB with acceleratesmolvla32about 1 to 2 h
Single RTX 4090 / RTX 3090 (24 GB)act8about 30 to 60 min
Lakukan perhitungan epoch sebelum Anda memilih --steps

Aturannya adalah 5 hingga 10 epoch di atas dataset, bukan jumlah langkah yang tetap: steps_per_epoch = ceil(total_frames / (num_gpus x batch_size)). Pada dataset referensi yang ditunjuk oleh dokumen, lerobot/svla_so100_pickplace, metadata melaporkan 50 episode dan 19631 frame: batch 8 menghasilkan sekitar 2454 langkah per epoch, jadi 20000 langkah kira-kira 8 epoch. Kurangi separuh batch dan anggaran yang sama akan menghasilkan separuh epoch, jadi ulangi ini setiap kali Anda mengubah --batch_size.

Menjalankan kembali kebijakan yang telah disetel halus pada lengan robot

bash
lerobot-rollout \
  --strategy.type=base \
  --robot.type=so100_follower \
  --robot.port=/dev/ttyACM0 \
  --robot.id=my_follower_arm \
  --robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}}" \
  --task="Grasp the cube and put it in the box." \
  --policy.path=${HF_USER}/smolvla_pick_place
String tugas harus sesuai dengan yang Anda rekam. Model dikondisikan pada teks tersebut, jadi parafrase adalah instruksi yang berbeda.

245 ms per langkah aksi mudah disalahartikan: kebijakan mengeluarkan chunk_size = 50 aksi per forward pass dan mengeksekusi n_action_steps = 50 di antaranya, jadi seberapa sering Anda membayar biaya tersebut diatur oleh parameter tersebut, bukan oleh seberapa sering servo menerima perintah. Itulah yang dibeli oleh pemotongan aksi (action chunking), dan mengapa model 245 ms dapat menggerakkan lengan 30 Hz. Yang tersisa adalah latensi inferensi di akhir potongan.

Pengukuran (SmolVLA, SO-100 nyata)SinkronAsinkron
Waktu penyelesaian, ambil dan letakkan, 10 percobaan13.75 s9.70 s
Siklus ambil dan letakkan dalam jendela waktu tetap919
Tingkat keberhasilan rata-rata dari tiga tugas78.3 %73.3 %

Baris ketiga itulah yang dilewatkan sebagian besar tulisan. Inferensi asinkron sekitar 30 persen lebih cepat dan kira-kira menggandakan throughput dalam jendela waktu tetap, dan makalah tersebut menyebut tingkat keberhasilan sebanding, yang rata-rata memang demikian. Di baliknya, penyortiran turun dari 70 menjadi 50 persen sementara ambil dan letakkan naik 5. lerobot 0.6.1 membawa tuas lain dalam biner yang sama: --inference.type=rtc mengalihkan rollout ke real time chunking, yang direkomendasikan oleh blok penggunaan skrip itu sendiri untuk VLA yang lambat, Pi0, Pi0.5, dan SmolVLA.

Inferensi harus berada di dekat servo

Loop kontrol adalah 20 hingga 485 ms per langkah aksi tergantung pada model, dan perjalanan pulang-pergi internet publik di atasnya mengubah kebijakan yang berfungsi menjadi ragu-ragu. Inferensi jarak jauh dapat dilakukan untuk tugas ambil dan letakkan yang lambat, bukan gerakan reaktif yang cepat: jika tugas membutuhkan koreksi cepat, GPU harus berada di LAN yang sama dengan lengan.

7.4 V, bukan 12 V

Tidak relevan untuk sesi pelatihan, tetapi ini mengakhiri lebih banyak proyek SO-100 daripada hyperparameter lainnya. Servo Feetech STS3215 pada SO-100 dan SO-101 beroperasi pada 7.4 V; 12 V akan merusaknya. LeKiwi menggabungkan lengan 7.4 V dengan dasar 12 V, itulah mengapa jack barel yang salah dapat menemukan soket yang salah.

Dua jalur menuju checkpoint yang sama

Anda memiliki mesin, lingkungan, dan proses debugging. Satu-satunya ketergantungan cloud adalah unduhan checkpoint dasar dari Hub. Ini adalah jalur yang tepat jika Anda ingin memodifikasi kebijakan, jika data tidak dapat meninggalkan jaringan Anda, atau jika kartu grafis sedang tidak digunakan.

  • Anda mengontrol CUDA wheel, driver, build ffmpeg, dan dataloader.
  • Anda dapat menambal configuration_smolvla.py dan melatih ulang pada sore yang sama.
  • Anda membayar dalam listrik dan waktu, bukan per sesi, dan melakukan debug TorchCodec sendiri.
bash
pip install 'lerobot[smolvla,training,core_scripts]'
hf auth login

lerobot-train \
  --policy.path=lerobot/smolvla_base \
  --dataset.repo_id=${HF_USER}/so100_pick_place \
  --batch_size=8 --steps=20000 \
  --save_freq=2000 --seed=1000 \
  --output_dir=outputs/train/smolvla_pick_place \
  --job_name=smolvla_pick_place \
  --policy.device=cuda --wandb.enable=true
Seluruh rute manual dalam satu blok, lerobot 0.6.1.

Ketika SmolVLA adalah pilihan yang salah

Uji apakah SmolVLA adalah percobaan pertama yang tepat bukanlah apakah itu berhasil, tetapi apakah kegagalannya memberi tahu Anda sesuatu. Capai 60 atau 70 persen dan model yang lebih besar adalah pengeluaran berikutnya yang masuk akal: data membawa sinyal. Capai 10 persen dan model 3 B kemungkinan besar juga mencapai 10 persen, yang baru saja Anda pelajari dengan biaya tiga dolar alih-alih dua belas.

Matriks pelatihan AY-Robots: lima kebijakan sebagai baris, empat lengan robot sebagai kolom
Setiap sel adalah panduannya sendiri. SmolVLA memiliki satu untuk masing-masing dari empat lengan.

Penting untuk dibaca sebelum mengeluarkan lebih banyak biaya: Pi0.5 against SmolVLA untuk kapasitas lebih besar dengan ide yang sama, dan GR00T N1.7 against SmolVLA untuk jalur NVIDIA, keduanya tier 80 GB dengan biaya 4 hingga 12 USD per eksekusi. Di sisi lain, ACT adalah dasar yang lebih murah: 80 M parameters, 20 ms per langkah aksi, tanpa pengkondisian bahasa. Kelima-limanya ada di halaman kebijakan; arena memiliki 85 model dan 332 hasil benchmark.

Perbandingan kebijakan AY-Robots: parameter, tier GPU, latensi, episode minimum
Empat angka yang menentukan sebuah eksekusi.

Daftar periksa sebelum Anda menskalakan apa pun

  1. Apakah lr mencapai batas bawah 2.5e-6? Di bawah 30000 langkah, lerobot menskalakan ulang peluruhan dan mengatakannya saat startup; di atas itu, atur --policy.scheduler_decay_steps sendiri.
  2. Lebih dari satu checkpoint, dan episode yang ditahan dengan --dataset.eval_split agar kerugian evaluasi berarti.
  3. Apakah kebijakan bergerak sama sekali? Kerugian yang menurun dengan lengan yang tidak bergerak memiliki penyebab spesifik: kerugian menurun, kebijakan tidak melakukan apa-apa.
  4. Apakah ia bertahan dalam perubahan adegan? Jika tidak: kebijakan hanya berfungsi dalam satu pengaturan.
  5. Apakah Anda mencatat seed-nya? lerobot secara default menggunakan 1000, sehingga dua eksekusi yang tidak tersentuh tetap sebanding.
  6. Baru kemudian: lebih banyak episode, lebih banyak variasi, atau model yang lebih besar. Dalam urutan tersebut.

Untuk mengapa model-model ini ada dan apa yang mereka lakukan dengan masukan bahasa, adalah latar belakangnya; menjalankan perakitan melalui ke pertama. Untuk checkpoint yang sudah selesai, ; jika lengan tidak pernah muncul, .

Latih SmolVLA pada lengan Anda sendiri

Pilih model dan lengan, dan panduan akan memberikan default yang tepat, format dataset, dan biaya eksekusi. SmolVLA berada di tingkat 24 GB dengan biaya 1 hingga 3 USD per eksekusi.

Buka panduan pelatihan
Bisakah saya benar-benar melakukan fine-tune SmolVLA pada RTX 4090?

Ya. Panduan komputasi LeRobot menempatkan SmolVLA pada sekitar 10 hingga 16 GB VRAM puncak pada batch 8 dengan AdamW dan mencantumkan kartu konsumen 24 GB nyaman untuk itu. Batch 64 dalam contoh dokumen dipasangkan dengan satu A100. Memori berskala kira-kira linier dengan batch, jadi gunakan 4 atau 8 dan pantau mem_gb.

Berapa banyak episode yang sebenarnya saya butuhkan?

AY-Robots menetapkan minimum 30. Dokumen LeRobot merekomendasikan sekitar 50 dan melaporkan bahwa 25 episode dari tugas yang sama berkinerja buruk. Struktur lebih penting daripada jumlah: set referensi adalah 5 posisi kubus dengan masing-masing 10 episode, dan pengulangan itulah yang menggeneralisasi.

Dokumen mengatakan batch 64, platform mengirimkan batch 2. Mana yang benar?

Keduanya, untuk perangkat keras yang berbeda. Contoh dokumen menggunakan batch 64 dan mengutip sekitar 4 jam untuk 20000 langkah pada satu A100; jangkar A100 40 GB panduan komputasi adalah batch 16. Batch 2 adalah yang dikirim AY-Robots pada tingkat 24 GB. Secara lokal 4 hingga 8 adalah tengahnya, dan aritmatika epoch berubah dengannya.

SmolVLA atau ACT untuk percobaan pertama pada SO-100?

ACT jika tugasnya adalah satu gerakan berulang dan Anda menginginkan loop tercepat: 20 ms per langkah aksi, 80 M parameter, tanpa pengkondisian bahasa. SmolVLA jika Anda menginginkan pengkondisian bahasa, beberapa string tugas dalam satu checkpoint, dan basis yang sudah dilatih. Keduanya berada pada tingkat 24 GB, jadi pilihannya adalah tugasnya, bukan anggarannya.

Apakah saya harus mengatur --policy.scheduler_decay_steps?

Hanya ketika --steps di atas 30000. SmolVLA mengatur ulang peluruhan kosinus pada 30000 langkah, dan lerobot 0.6.1 menyesuaikannya sendiri untuk durasi yang lebih pendek, mencatat "Auto-scaling LR scheduler" saat melakukannya. Ini tidak pernah menskalakan ke atas, jadi --steps=100000 standar meninggalkan 70000 langkah terakhir pada batas bawah 2.5e-6.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started