Halaman model SmolVLA di AY-Robots menunjukkan kiraan parameter, tahap GPU, latensi inferens setiap langkah tindakan dan kiraan episod minimum
SmolVLALeRobotLatihan VLAPenalaan HalusSO-100

Cara Melatih SmolVLA pada GPU 24 GB (lerobot 0.6.1)

AY-Robots ResearchAugust 23, 202617 min baca

SmolVLA ialah VLA 450 M parameter yang boleh ditala halus pada satu kad 24 GB. Perintah lerobot 0.6.1 sebenar, tetapan lalai sebenar, perangkap yang memakan masa sehari, dan kos satu larian.

SmolVLA dalam satu skrin

  • 450 M parameter, kira-kira 100 M daripadanya adalah pakar tindakan padanan aliran. lerobot hanya melatih pakar tersebut dan mengekalkan VLM beku, itulah sebabnya ia muat pada satu kad.
  • Panduan pengiraan LeRobot meletakkan kumpulan smolvla pada kira-kira 10 hingga 16 GB VRAM puncak pada kelompok 8 dengan AdamW. Oleh itu 24 GB.
  • Titik masuk adalah lerobot-train. Catatan blog SmolVLA Jun 2025 masih mencetak python lerobot/scripts/train.py, laluan yang tidak lagi wujud. Semua di bawah adalah lerobot 0.6.1.
  • Jadual kosinus dipratetap untuk mereput melebihi 30000 langkah. lerobot 0.6.1 mengecilkan semula itu untuk larian yang lebih pendek dan mencatatkannya, tetapi tidak pernah meningkat: larian stok 100000 langkah berakhir pada lantai 2.5e-6 untuk 70000 langkah.
  • Tiga puluh episod adalah minimum AY-Robots, pada peringkat 24 GB yang berharga 1 hingga 3 USD setiap larian berbanding 4 hingga 12 untuk model 80 GB.

Kebanyakan orang yang mahukan model tindakan bahasa penglihatan pada lengan sebenar berhenti pada had perkakasan. GR00T N1.7 dan Pi0.5 adalah sekitar tiga bilion parameter setiap satu dan memerlukan A100 80 GB atau H100. Jika apa yang anda miliki adalah PC permainan dengan RTX 4090, itu adalah penghujung jalan. SmolVLA adalah pengecualian: 450 M parameter, di dalam LeRobot, dibina untuk penalaan halus pada satu kad pengguna dan berkhidmat dari CPU.

Laluan manual dahulu: pasang lerobot, tarik lerobot/smolvla_base checkpoint, jalankan arahan sebenar, baca larian semasa ia berlaku. Kemudian laluan platform, dan di mana ia tidak membantu.

Apa itu SmolVLA, dalam nombor yang boleh anda semak

SmolVLA ialah pemadanan aliran polisi yang dipasang pada model bahasa penglihatan kecil. Tulang belakangnya ialah SmolVLM2-500M-Video-Instruct; kertas kerja ini hanya mengekalkan 16 lapisan pertama model bahasanya, mengehadkan setiap bingkai kamera kepada 64 token visual dengan pengacakan piksel dan bukannya jubin imej, serta menyisipkan perhatian silang dengan lapisan perhatian kendiri setiap blok kedua. Kos inferens adalah kekangan reka bentuk, bukan sesuatu yang difikirkan kemudian.

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

Penanda aras adalah sebab mengapa orang mengambil berat tentang model 450 M. Pada LIBERO, ia mencatatkan purata 87.3 peratus berbanding 76.5 untuk OpenVLA pada 7 B dan 86.0 untuk Pi0 yang telah dilatih robotik pada 3.3 B; pada Meta-World, 57.3 berbanding 47.9. Pada perkakasan SO-100 sebenar, latihan berbilang tugas memberikan 75 peratus pada ambil dan letak, 90 pada susun, 70 pada isih, dengan purata 78.3, di mana ACT yang dilatih mengikut tugas mencatatkan purata 48.3. Baris yang sama terletak di sebelah setiap VLA yang diterbitkan dalam entri arena SmolVLA dan perbandingan ACT dengan SmolVLA.

Versi jujur tuntutan saiz

SmolVLA tidak lebih baik daripada model 3 B dalam segala hal. Jadual SO-101 kertas kerja itu sendiri adalah petunjuknya: 90 peratus kejayaan dalam pengedaran, 50 peratus di luar pengedaran, pada platform yang tidak pernah dilatih sebelumnya. Apa yang didakwa, dan disokong, ialah berbanding Pi0, ia melatih kira-kira 40 peratus lebih cepat dengan 6 kali ganda kurang memori.

Mengapa kad 24 GB adalah pilihan yang tepat untuk larian pertama

LeRobot menghantar panduan saiz pengkomputeran, halaman paling berguna dalam repo untuk ini. Ia mengelaskan polisi mengikut saiz tulang belakang dan memberikan satu sampul VRAM bagi setiap kumpulan, diukur pada saiz kelompok 8 dengan AdamW, lalai lerobot. Keadaan pengoptimum sahaja menambah 30 hingga 100 peratus berbanding laluan ke hadapan dan ke belakang yang kosong, jadi ini bukan angka berat sahaja.

KumpulanPolisiVRAM Puncak (kelompok 8, AdamW)GPU Permulaan
BC Ringanact, vqbet, tdmpcsekitar 2 hingga 6 GBRTX 3060, L4
Penyebarandiffusion, multi_task_ditsekitar 8 hingga 14 GBRTX 4070+, L4
VLA Kecilsmolvlasekitar 10 hingga 16 GBRTX 4080+, L4, A10G
VLA Besarpi0, pi0_fast, pi05, xvla, wall_xsekitar 24 hingga 40 GBA100 40 GB+
Multimodalgroot, eo1sekitar 24 hingga 40 GBA100 40 GB+

Sepuluh hingga enam belas gigabait pada kelompok 8 adalah hujah: kad 24 GB sesuai untuk itu ditambah dengan pemuat data. AY-Robots meletakkan SmolVLA pada RTX 4090 atau mana-mana kad 24 GB, minimum 30 episod, LeRobot v3.0 data, 245 ms setiap langkah tindakan. Disewa, iaitu 2 hingga 5 jam pada 0.30 hingga 0.60 USD sejam, kira-kira 1 hingga 3 USD untuk satu penalaan halus larian, berbanding 4 hingga 12 USD pada peringkat 80 GB yang diperlukan oleh GR00T dan Pi0.5 (harga). Larian SmolVLA yang gagal adalah harga secawan kopi; larian GR00T yang gagal, harga makan tengah hari.

Jadual kos AY-Robots: kad setiap polisi, masa jalan, harga setiap jalan, episod yang diperlukan
SmolVLA dan ACT berada di baris 24 GB, tiga model 3 B di baris 80 GB.
Bermula dengan SmolVLA dan bukannya model 3 B
Apa yang anda dapat
  • Sesuai dengan perkakasan yang mungkin anda sudah miliki: kira-kira 10 hingga 16 GB pada kelompok 8.
  • Jalankan yang sia-sia memakan masa berjam-jam dan beberapa dolar, jadi anda mampu untuk tersilap mengenai set data.
  • Dilatih awal pada set data komuniti yang dikongsi di bawah tag lerobot, dengan hasil SO-100 dan SO-101 sebenar.
  • Ia berada dalam lerobot itu sendiri: tiada repo vendor, dan smolvla_base tidak digated.
Apa yang anda lepaskan
  • 450 M masih 450 M: kejayaan di luar taburan menurun dari 90 kepada 50 peratus dalam jadual SO-101 kertas kerja.
  • Ia memerlukan data LeRobot v3.0; rakaman v2.1 perlu ditukar (dataset ditolak v3).
  • 245 ms setiap langkah tindakan adalah pengawal pilih dan letak yang cekap, bukan yang reaktif.
  • Contoh dokumen menjalankan kelompok 64 pada A100; pada 24 GB anda menukar kelompok untuk masa sebenar.

Langkah 0: set data menentukan jalankan, bukan bendera

Tiada apa-apa di bawah ini penting jika rakaman itu buruk. Halaman LeRobot SmolVLA adalah terus terang: set data rujukan adalah 50 episod merentasi 5 posisi kiub, 10 setiap posisi, dan tugas yang sama pada 25 episod menunjukkan prestasi yang buruk. Pengulangan setiap variasi menggeneralisasi, kiraan episod mentah tidak. Tidak pernah merakam satu? Mulakan di rakam set data pertama anda dengan klien desktop, yang menulis format LeRobot daripada teleoperasi sesi, atau pinjam satu daripada direktori set data.

  • Sekurang-kurangnya 30 episod di AY-Robots, kira-kira 50 untuk resipi rujukan LeRobot.
  • Setiap variasi yang anda jangkakan semasa pelancaran, diulang beberapa kali.
  • Satu rentetan tugas, dieja sama semasa rakaman dan masa pelancaran. Model ini dikondisikan pada teks tersebut.
  • Kamera tetap. Kamera yang digerakkan antara rakaman dan pelancaran adalah sebab paling biasa lengkung kerugian yang bersih menghasilkan lengan yang tidak bergerak.
  • Variasi yang disimpan yang tidak pernah anda latih, supaya anda mempunyai sesuatu yang jujur untuk diuji.
Perangkap set data yang merugikan sehari

SmolVLA, Pi0.5 dan ACT memerlukan LeRobot v3.0. GR00T N1.7 dan N1.5 memerlukan v2.0 atau v2.1 dan pemuatnya ranap pada v3.0. Rakam sekali, rancang untuk membandingkan model kemudian, dan anda akan menukar dengan satu cara atau yang lain: 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
Penukar ini disertakan dalam lerobot, jadi tiada apa-apa tambahan untuk dipasang. Tiada penukar dalam arah lain dalam pakej.

Lebih lanjut mengenai ini di cara mengumpul data latihan VLA berkualiti tinggi. Versi ringkas: 30 hingga 50 episod bersih satu tugas dengan variasi yang disengajakan mengalahkan 200 episod ceroboh tiga tugas, dengan margin yang tiada hiperparameter dapat tutup.

Pasang 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
Laluan PyPI. Untuk menampal (patch) pelatih, klon repo dan gunakan `pip install -e ".[smolvla,training]"` sebagai ganti.

Pemasangan asas lerobot adalah nipis dan menyekat kebergantungan berat di sebalik tambahan (extras): smolvla menambah transformers, num2words dan accelerate, training timbunan set data dan wandb, core_scripts kebergantungan perkakasan dan visualisasi. Pada Linux, laluan pemasangan juga menentukan roda CUDA anda: lalai PyPI ialah roda cu130 dengan lantai pemacu 580.65, jadi pada pemacu yang lebih lama, pasang torch dari indeks cu128 dahulu, kemudian lerobot.

policy.path dan policy.type bukan bendera yang sama

--policy.path=lerobot/smolvla_base memuatkan titik semak (checkpoint) 450 M yang telah dilatih dan menala halusnya. --policy.type=smolvla membina SmolVLA yang baharu, dan lalai konfigurasi load_vlm_weights = False bermakna ia tidak akan menarik berat tulang belakang SmolVLM2 melainkan anda memintanya. Jika tersilap, proses akan berjalan dengan gembira, menelan kos yang sama, dan tidak mempelajari apa-apa yang boleh dipindahkan.

Pelaksanaan latihan, arahan demi arahan

  1. 1
    Mengesahkan terhadap Hub

    Titik semak asas datang dari Hub, dan set data anda mungkin juga.

    bash
    hf auth login
  2. 2
    Baca pilihan sekali

    Setiap medan konfigurasi saluran paip dan polisi adalah bendera. Imbasnya sebelum mendalami sumber.

    bash
    lerobot-train --help
  3. 3
    Mulakan penalaan halus

    Contoh dokumen menjalankan kelompok 64 pada satu A100; panduan pengiraan A100 40 GB sendiri adalah kelompok 16, dan 8 adalah setara 24 GB. Tiada bendera penjadual 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 kerugian

    Setiap --log_freq langkah, lerobot mencetak loss, grdn, lr, updt_s, data_s, smp/s dan, pada CUDA, mem_gb. mem_gb menyatakan sama ada kelompok muat, lr sama ada jadual merosot, dan data_s yang menghampiri updt_s bermakna pemuat data adalah kesesakan, bukan GPU.

    bash
    # if data_s creeps toward updt_s
    lerobot-train ... --num_workers=8
  5. 5
    Kumpul titik semak yang boleh anda bandingkan

    save_freq lalai kepada 20000, jadi larian 20000 langkah meninggalkan satu titik semak dan tiada apa untuk dibandingkan. Tetapkan 2000. Menolak 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
    Sambung semula jika mesin mati

    Tunjuk --config_path pada train_config.json di sebelah titik semak. lerobot enggan bermula ke output_dir yang sedia ada melainkan anda menyambung semula, jadi anda tidak boleh menimpa larian secara tidak sengaja.

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

Bendera yang sebenarnya mengubah hasil

BenderaApa yang dilakukannyaPada 24 GB
--batch_sizeSampel setiap langkah, kira-kira linear dalam VRAM4 hingga 8
--stepsJumlah langkah pengoptimum20000 laluan pertama
--policy.scheduler_decay_stepsPanjang pereputan kosinus, pratetap 30000Hanya berkesan di atas 30000
--policy.use_ampKetepatan campuran; SmolVLA tiada medan dtypetrue apabila memori terhad
--num_workersProses pemuat data, lalai 4Naikkan sehingga data_s berhenti meningkat
--dataset.eval_splitPecahan episod yang ditahan setiap tugas0.1, dengan --eval_steps
--policy.freeze_vision_encoderMemastikan menara penglihatan bekutrue pada 24 GB
--policy.train_expert_onlyHanya pakar ~100 Juta yang mendapat gradientrue dahulu
Jadual: apa yang 0.6.1 kendalikan, dan apa yang tidak

SmolVLA menetapkan jadual kosinus: scheduler_warmup_steps = 1000, scheduler_decay_steps = 30000, scheduler_decay_lr = 2.5e-6. Nasihat lama mengatakan larian 20000 langkah oleh itu terhenti di tengah-tengah pereputan. Dalam 0.6.1 ia tidak berlaku: CosineDecayWithWarmupSchedulerConfig.build() diberikan --steps, dan di bawah num_decay_steps ia menskala semula kedua-duanya, pemanasan 1000 kepada 666 dan pereputan 30000 kepada 20000, mencetak Auto-scaling LR scheduler semasa ia melakukannya. Ia tidak pernah menskala semula ke atas: pereputan diketatkan dengan min(current_step, decay_steps), jadi `--steps=100000` stok berada di paras terendah dari langkah 30000 hingga akhir, 70 peratus daripada larian. Hanya bahagian panjang itu masih memerlukan `--policy.scheduler_decay_steps`. Lajur lr adalah tempat anda menyemak.

Lalai yang anda warisi jika anda tidak mengubah apa-apa

Konfigurasi dalam lerobot membawa pratetap pengoptimum dan penjadualnya sendiri, dan melainkan anda menetapkan use_policy_training_preset=false pratetap tersebut akan diguna pakai. Separuh daripada soalan yang ditanya orang tentang latihan SmolVLA dijawab oleh lalai yang mereka tidak tahu wujud.

TetapanLalai dalam lerobot 0.6.1Ditakrifkan dalam
chunk_size / n_action_steps50 / 50SmolVLAConfig
num_steps (flow matching denoise)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 ialah freeze_vision_encoder dan train_expert_only, kedua-duanya benar. Secara lalai anda melatih kira-kira 100 J parameter, bukan 450 J, itulah sebabnya ia muat pada 24 GB. Larian rujukan LeRobot sendiri pada kluster H100 empat-GPU menukar kedua-duanya kepada palsu; pada satu kad 24 GB itu mengubah larian yang berfungsi menjadi .

Tombol memori yang tiada

Nasihat panduan apabila anda terhad memori adalah untuk mengurangkan saiz kelompok (batch size) dan menggunakan pengumpulan gradien (gradient accumulation) untuk memulihkan kelompok berkesan. Tiada pengumpulan gradien dalam lerobot 0.6.1: TrainPipelineConfig tiada medan sedemikian dan rentetan itu tidak muncul di mana-mana dalam pakej yang dikeluarkan. Borang AY-Robots menunjukkan nilai pengumpulan gradien 8 untuk SmolVLA dan tidak menerapkannya juga. Tuas anda pada 24 GB ialah --batch_size, dua lalai pembekuan, dan --policy.use_amp.

Berapa lama larian mengambil masa, dan berapa banyak langkah yang mencukupi

LeRobot menerbitkan penanda jam dinding untuk lima epok merentasi set data kira-kira 50 episod, kira-kira 45000 bingkai pada 30 fps. Angka magnitud, kata dokumen, tetapi ia adalah perbezaan antara menjangkakan sejam dan sehari.

PersediaanPolisiKelompokMasa sebenar
L4 / A10G Tunggal (24 GB)smolvla4kira-kira 3 hingga 6 jam
A100 40 GB Tunggalsmolvla16kira-kira 1 hingga 2 jam
4 x H100 80 GB dengan acceleratesmolvla32kira-kira 1 hingga 2 jam
RTX 4090 / RTX 3090 Tunggal (24 GB)act8kira-kira 30 hingga 60 min
Lakukan aritmetik epok sebelum anda memilih --steps

Peraturannya ialah 5 hingga 10 epok ke atas set data, bukan kiraan langkah tetap: steps_per_epoch = ceil(total_frames / (num_gpus x batch_size)). Pada set data rujukan yang ditunjukkan oleh dokumen, lerobot/svla_so100_pickplace, metadata melaporkan 50 episod dan 19631 bingkai: kelompok 8 memberikan kira-kira 2454 langkah setiap epok, jadi 20000 langkah adalah kira-kira 8 epok. Kurangkan separuh kelompok dan bajet yang sama akan membeli separuh epok, jadi ulangi ini setiap kali anda menyentuh --batch_size.

Menjalankan semula polisi yang telah ditala 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
Rentetan tugas mesti sepadan dengan yang anda rakamkan. Model ini dikondisikan pada teks tersebut, jadi parafrasa adalah arahan yang berbeza.

245 ms per langkah tindakan mudah disalah tafsir: polisi mengeluarkan chunk_size = 50 tindakan per laluan hadapan dan melaksanakan n_action_steps = 50 daripadanya, jadi kekerapan anda membayar kos itu ditetapkan oleh tetapan tersebut, bukan oleh kekerapan servo menerima arahan. Itulah yang tawarkan, dan mengapa model 245 ms boleh menggerakkan lengan 30 Hz. Apa yang tinggal ialah pada akhir cebisan.

Pengukuran (SmolVLA, SO-100 sebenar)SinkronAsinkron
Masa siap, ambil dan letak, 10 percubaan13.75 s9.70 s
Kitaran ambil dan letak dalam tetingkap masa tetap919
Kadar kejayaan purata bagi ketiga-tiga tugas78.3 %73.3 %

Baris ketiga itu adalah apa yang kebanyakan penulisan abaikan. Inferens asinkron adalah kira-kira 30 peratus lebih pantas dan secara kasarnya menggandakan daya pemprosesan dalam tetingkap tetap, dan kertas kerja itu menyatakan kadar kejayaan adalah setanding, yang secara purata memang begitu. Di bawahnya, pengisihan menurun dari 70 kepada 50 peratus manakala ambil dan letak meningkat 5. lerobot 0.6.1 membawa tuil lain dalam binari yang sama: --inference.type=rtc menukar pelaksanaan kepada pengecilan masa nyata, yang disyorkan oleh blok penggunaan skrip itu sendiri untuk VLA yang perlahan, Pi0, Pi0.5 dan SmolVLA.

Inferens perlu berada di sebelah servo

Gelung kawalan adalah 20 hingga 485 ms per langkah tindakan bergantung pada model, dan perjalanan pergi balik internet awam di atasnya mengubah polisi yang berfungsi menjadi ragu-ragu. Inferens jauh boleh dilaksanakan untuk ambil dan letak yang perlahan, bukan gerakan reaktif yang pantas: jika tugas memerlukan pembetulan pantas, GPU perlu berada di LAN yang sama dengan lengan.

7.4 V, bukan 12 V

Tidak berkaitan dengan sesi latihan, tetapi ia menamatkan lebih banyak projek SO-100 berbanding mana-mana hiperparameter. Servo Feetech STS3215 dalam SO-100 dan SO-101 beroperasi pada 7.4 V; 12 V akan merosakkannya. LeKiwi menggabungkan lengan 7.4 V dengan tapak 12 V, yang merupakan punca bicu tong yang salah menemui soket yang salah.

Dua laluan ke pusat pemeriksaan yang sama

Anda memiliki mesin, persekitaran dan penyahpepijatan. Satu-satunya kebergantungan awan ialah muat turun Hub bagi pusat pemeriksaan asas. Laluan yang betul jika anda ingin mengubah suai polisi, jika data tidak boleh meninggalkan rangkaian anda, atau jika kad tidak digunakan.

  • Anda mengawal roda CUDA, pemacu, binaan ffmpeg dan pemuat data.
  • Anda boleh menampal configuration_smolvla.py dan melatih semula pada petang yang sama.
  • Anda membayar dalam elektrik dan masa, bukan setiap larian, dan menyahpepijat 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
Keseluruhan laluan manual dalam satu blok, lerobot 0.6.1.

Apabila SmolVLA adalah pilihan yang salah

Ujian sama ada SmolVLA adalah percubaan pertama yang betul bukanlah sama ada ia berjaya, tetapi sama ada kegagalan itu memberitahu anda sesuatu. Capai 60 atau 70 peratus dan model yang lebih besar adalah perbelanjaan seterusnya yang munasabah: data membawa isyarat. Capai 10 peratus dan model 3 B kemungkinan besar juga mencapai 10 peratus, yang baru anda pelajari dengan tiga dolar dan bukannya dua belas.

Matriks latihan AY-Robots: lima polisi sebagai baris, empat lengan robot sebagai lajur
Setiap sel adalah panduannya sendiri. SmolVLA mempunyai satu untuk setiap empat lengan.

Berbaloi dibaca sebelum berbelanja lebih: Pi0.5 berbanding SmolVLA untuk kapasiti lebih pada idea yang sama, dan GR00T N1.7 berbanding SmolVLA untuk laluan NVIDIA, kedua-duanya tier 80 GB pada 4 hingga 12 USD setiap larian. Cara lain, ACT adalah garis dasar yang lebih murah: 80 M parameter, 20 ms setiap langkah tindakan, tiada pengkondisian bahasa. Kesemua lima berada di halaman polisi; arena mempunyai 85 model dan 332 hasil penanda aras.

Perbandingan polisi AY-Robots: parameter, tier GPU, latensi, episod minimum
Empat nombor yang menentukan satu larian.

Senarai semak sebelum anda menskalakan apa-apa

  1. Adakah lr mencapai had bawah 2.5e-6? Di bawah 30000 langkah, lerobot menskalakan semula pereputan dan menyatakan demikian semasa permulaan; di atasnya, tetapkan --policy.scheduler_decay_steps sendiri.
  2. Lebih daripada satu titik semak, dan episod yang dikecualikan dengan --dataset.eval_split supaya kerugian penilaian bermakna sesuatu.
  3. Adakah polisi bergerak sama sekali? Kerugian yang menurun dengan lengan yang tidak bergerak mempunyai punca tertentu: kerugian menurun, polisi tidak melakukan apa-apa.
  4. Adakah ia bertahan dalam perubahan suasana? Jika tidak: polisi hanya berfungsi dalam satu persediaan.
  5. Adakah anda mencatat benih (seed)? lerobot lalai kepada 1000, jadi dua larian yang tidak disentuh kekal setanding.
  6. Hanya selepas itu: lebih banyak episod, lebih banyak variasi, atau model yang lebih besar. Mengikut urutan itu.

Untuk mengapa model-model ini wujud dan apa yang mereka lakukan dengan input bahasa, adalah latar belakang; menjalankan pemasangan melalui kepada larian pertama. Untuk titik semak yang telah siap, ; jika lengan tidak pernah muncul, .

Latih SmolVLA pada lengan anda sendiri

Pilih model dan lengan, dan panduan akan memberikan anda tetapan lalai yang tepat, format set data dan kos larian. SmolVLA berada pada tahap 24 GB dengan kos 1 hingga 3 USD setiap larian.

Buka panduan latihan
Bolehkah saya benar-benar melakukan fine-tune SmolVLA pada RTX 4090?

Ya. Panduan pengiraan LeRobot meletakkan SmolVLA pada kira-kira 10 hingga 16 GB VRAM puncak pada batch 8 dengan AdamW dan menyenaraikan kad pengguna 24 GB sebagai selesa untuknya. Batch 64 dalam contoh dokumen dipasangkan dengan satu A100. Memori berskala secara linear dengan batch, jadi gunakan 4 atau 8 dan perhatikan mem_gb.

Berapa banyak episod yang sebenarnya saya perlukan?

AY-Robots menetapkan minimum pada 30. Dokumen LeRobot mengesyorkan kira-kira 50 dan melaporkan bahawa 25 episod tugas yang sama menunjukkan prestasi yang buruk. Struktur lebih penting daripada bilangan: set rujukan adalah 5 posisi kiub dengan 10 episod setiap satu, dan pengulangan itulah yang membolehkan generalisasi.

Dokumen menyatakan batch 64, platform menghantar batch 2. Yang mana satu betul?

Kedua-duanya, untuk perkakasan yang berbeza. Contoh dokumen menggunakan batch 64 dan menyatakan kira-kira 4 jam untuk 20000 langkah pada satu A100; panduan pengiraan A100 40 GB menggunakan batch 16. Batch 2 adalah apa yang AY-Robots hantar pada peringkat 24 GB. Secara tempatan 4 hingga 8 adalah pertengahan, dan aritmetik epoch berubah dengannya.

SmolVLA atau ACT untuk larian pertama pada SO-100?

ACT jika tugasnya adalah satu gerakan berulang dan anda mahukan gelung terpantas: 20 ms setiap langkah tindakan, 80 M parameter, tiada pengkondisian bahasa. SmolVLA jika anda mahukan pengkondisian bahasa, beberapa rentetan tugas dalam satu checkpoint, dan pangkalan pra-latih. Kedua-duanya berada pada peringkat 24 GB, jadi pilihannya adalah tugas, bukan bajet.

Adakah saya perlu menetapkan --policy.scheduler_decay_steps?

Hanya apabila --steps melebihi 30000. SmolVLA menetapkan pereputan kosinus pada 30000 langkah, dan lerobot 0.6.1 mengubah skalanya sendiri untuk larian yang lebih pendek, mencatat "Auto-scaling LR scheduler" apabila ia berlaku. Ia tidak pernah meningkatkan skala, jadi --steps=100000 yang asal meninggalkan 70000 langkah terakhir pada paras 2.5e-6.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started