
TinyVLA ir SmolVLA įdiegia veikiantį VLA iki 1 mlrd. parametrų. Tikri skaičiai iš abiejų straipsnių, numatytosios lerobot nuostatos, išmatuota delsa ir kiek kainuoja paleidimas su 24 GB kortele.
Beveik kiekvienas regos-kalbos-veiksmų modelis, apie kurį rašoma, numato duomenų centro kortelę. OpenVLA turi 7 mlrd. parametrų. GR00T N1.7 ir Pi0.5 yra apie 3 mlrd. ir reikalauja A100 80 GB kortelės smulkiam derinimui. Jei ant jūsų stalo yra 4090 kortelė, tokios klasės modelis yra nepasiekiamas.
Du straipsniai teigia, kad jums to nereikia. TinyVLA (arXiv 2409.12514, priimtas IEEE Robotics and Automation Letters 2025 m. vasarį) sukuria VLA iš 400 mln. iki 1,3 mlrd. parametrų pagrindo ir difuzijos veiksmų galvutės. SmolVLA (arXiv 2506.01844, pateiktas 2025 m. birželio 2 d.) turi 450 mln. parametrų su atvirais svoriais, atvirais duomenimis ir scenarijumi, kuris veikia vienoje vartotojo kortelėje. Štai ką abu išmatavo ir kur argumentas, kad mažiau nei 1 mlrd. parametrų yra pakankama, nustoja galioti.
Ką reikia žinoti
- •TinyVLA siūlo tris dydžius: 422 mln. iš viso su 101 mln. apmokomų, 740 mln. su 138 mln., 1,3 mlrd. su 143 mln. Tik pirmieji du yra mažesni nei 1 mlrd.
- •Jos IV lentelėje nurodoma 14 ms vienam veiksmo numatymui TinyVLA-1B modelyje su viena A6000 kortele, palyginti su 292 ms OpenVLA-7B ir 140 ms sumažintam OpenVLA-1B.
- •Šį greitį užtikrina galvutė, o ne pagrindas: pakeitus TinyVLA-H difuzijos galvutę į ACT galvutę, penkių realių robotų užduočių vidurkis nukrenta nuo 94,0 iki vienaženklių skaičių. MLP galvutė visur surenka 0.
- •SmolVLA yra 450 mln. parametrų, iš kurių maždaug 100 mln. yra veiksmų ekspertas, iš anksto apmokytas naudojant 481 bendruomenės LeRobot duomenų rinkinį ir 10,6 mln. kadrų. Jis praneša 87,3 balus LIBERO užduotyje, palyginti su 86,0 robotikos iš anksto apmokytam Pi0 (3,3 mlrd. parametrų), ir 78,3 balus trijose realių SO-100 užduotyse, palyginti su 61,7 Pi0 (3,5 mlrd. parametrų).
- •Apmokytas vienai užduočiai be išankstinio apmokymo, SmolVLA rezultatas šiose užduotyse nukrenta iki 40,0, žemiau ACT 48,3. Mažas nereiškia automatiškai lengvas.
- •TinyVLA neturi LeRobot integracijos ir naudoja CUDA 11.7 ratų rinkinį. SmolVLA yra lerobot ir kainuoja maždaug nuo 1 iki 3 USD už paleidimą 24 GB lygyje čia.
Kas iš tikrųjų laikoma mažu VLA
Parametrų skaičius modelio kortelėje nėra vienas skaičius. Jis gali reikšti bendrą svorių skaičių, svorius, įkeltus inferencijos metu, arba svorius, kurie gauna gradientus metu. TinyVLA praneša abu, ir skirtumas yra didelis: TinyVLA-H yra 1,3 mlrd. iš viso, bet 143 mln. apmokomų, nes vizijos bokštas ir didžioji dalis kalbos modelio lieka užšaldyti, o LoRA adapteriai ir veiksmo galvutė juda. Straipsnyje nurodoma, kad apmokoma dalis sudaro apie 5 procentus.
| Modelis | Parametrai | Pagrindas | Veiksmo galvutė | Šaltinis |
|---|---|---|---|---|
| TinyVLA-S | 422 M total, 101 M trainable | Llava-Pythia ~400 M | Diffusion (droid_diffusion U-Net) | arXiv 2409.12514 |
| TinyVLA-B | 740 M total, 138 M trainable | Llava-Pythia ~700 M | Diffusion | arXiv 2409.12514 |
| TinyVLA-H | 1.3 B total, 143 M trainable | Llava-Pythia ~1.3 B | Diffusion | arXiv 2409.12514 |
| SmolVLA | 450 M, ~100 M action expert | SmolVLM2-500M-Video-Instruct | Flow matching expert | arXiv 2506.01844 |
| Octo-Small | 27 M | ViT-S scale, T5-Base text encoder | Diffusion | octo-small-1.5 card |
| ACT | ~80 M | ResNet, no language model | Direct chunk regression | AY-Robots catalog |
| OpenVLA | 7 B | Llama 2 7 B, DINOv2 and SigLIP encoders | Autoregressive action tokens | arXiv 2406.09246 |
Dvi eilutės vertos diskusijos. su maždaug 80 mln. yra mažesnis už visus kitus čia, bet neturi kalbos modelio, todėl tai nėra VLA: jis išmoksta vieną užduotį ir jam negalima nurodyti daryti kitos. su 27 mln. yra sąlygojamas per T5-Base teksto koduotuvą, o ne LLM pagrindą. Geros bazinės linijos, tačiau nė viena iš jų nesuteikia instrukcijų vykdymo, kurį numano pavadinimas.
TinyVLA-H, variantas, pateikiantis pagrindinius rezultatus, yra 1,3 mlrd. ir yra virš ribos. Geresnis klausimas yra, ar modelis telpa į 24 GB treniruočių metu ir pasiekia jūsų valdymo greitį inferencijos metu. Penkios politikos, kurias galite čia apmokyti, yra politikų puslapyje; TinyVLA turi arenos įrašą, jei norite pamatyti jo skaičius šalia visų kitų.
TinyVLA: greitis kyla iš galvos, ne iš stuburo
Akivaizdu, kad jie sumažino kalbos modelį, todėl jis tapo greitesnis. Tačiau straipsnio abliacija rodo kitaip. Pakeitus OpenVLA 7 B pagrindą maždaug 1 B pagrindu, veiksmo numatymas sumažėjo nuo 292 ms iki 140 ms, t. y. 2 kartus pagreitėjo. TinyVLA-H, turintis panašų parametrų skaičių, veikia 14 ms ant tos pačios kortelės. Kiti 10 kartų yra veiksmo galva.
| Modelis | Veiksmo numatymas | Išmatuota ant |
|---|---|---|
| OpenVLA-7B | 292 ms | single A6000 |
| OpenVLA-1B, pagrindas pakeistas TinyVLA | 140 ms | single A6000 |
| TinyVLA-1B (TinyVLA-H) | 14 ms | single A6000 |
OpenVLA išleidžia veiksmus kaip diskretizuotus žetonus per kalbos modelio galvą, po vieną kiekvienai veiksmo dimensijai, autoregresyviai. TinyVLA prijungia difuzijos dekoderį, kuris sukuria visą fragmentą vienu metu. V lentelėje pateikiama TinyVLA-H architektūra ir pakeičiama tik galva, atliekant tas pačias penkias realaus roboto užduotis. Tai yra aiškiausias įrodymas bet kuriame straipsnyje, patvirtinantis argumentą, kad srauto derinimas politikos sukuria, ir priežastis, kodėl Pi0 atsisakė žetonų dekodavimo.
| Galva ant TinyVLA-H | Padėti tenisą | Apversti puodelį | Sukrauti kubelius | Uždaryti stalčių | Atidaryti dėžę |
|---|---|---|---|---|---|
| Difuzija (droid_diffusion) | 90.0 | 98.3 | 98.3 | 96.7 | 86.7 |
| Veiksmų skaidymo transformatorius | 13.3 | 8.3 | 8.3 | 13.3 | 23.3 |
| Daugiasluoksnis perceptronas | 0 | 0 | 0 | 0 | 0 |
292 / 140 / 14 ms skaičiai yra IV lentelės duomenys, visi gauti naudojant vieną A6000. Jie yra vienam veiksmo numatymui ir neapima kameros fiksavimo, išankstinio apdorojimo ir nuoseklaus įrašymo į servovariklius. Paskelbtą delsą laikykite apatine riba, niekada ne valdymo dažniu. Mūsų pačių skaičiai turi tą pačią ribą: žr. išvadų delsa.
Ką pasiekė TinyVLA
| Etalonas | Protokolas | TinyVLA-H | Baziniai modeliai |
|---|---|---|---|
| MetaWorld, 50 užduočių, simuliacija | Daugiafunkcinė, 50 demonstracijų, 3 sėklos | 77.6 / 21.5 / 11.4 / 15.8 pagal sudėtingumą, vidutiniškai 31.6 | Diffusion Policy vidurkis 10.5 |
| Tikras Franka Panda, 5 užduotys | 100 trajektorijų užduočiai, 20 bandymų | 94.0 vidurkis | OpenVLA 68.3, Diffusion Policy 35.3 |
| Dvirankis UR5, 3 užduotys | Daugiafunkcinė, 10 bandymų užduočiai | 76.7 / 36.7 / 30.0 | OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0 |
Dvirankė eilutė turi nuobodų paaiškinimą, kurį pateikia pats straipsnis: OpenVLA yra išmokytas naudojant Open X-Embodiment, kuris susideda tik iš vienos rankos duomenų, todėl dviejų rankų veiksmų erdvė yra už pasiskirstymo ribų ir gauna nulį taškų. Difuzijos politikos bazinė linija aplenkia TinyVLA-H dviejose iš tų trijų užduočių. Daugiau informacijos rasite Open X-Embodiment aprašyme.

TinyVLA saugykla, 2026 m. rugpjūčio mėn. duomenimis
Straipsnis geras. Kodas yra tyrimų rezultatas. Saugykla yra github.com/liyaxuanliyaxuan/TinyVLA; jos README nurodo kodo išleidimo datą 2025 m. vasario 17 d., o paskutinis įsipareigojimas – 2025 m. kovo 11 d. Tinka straipsniui atkartoti, bet problema, jei norėtumėte prižiūrimos bibliotekos.
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 pins torch==2.0.1, transformers==4.37.1, deepspeed==0.9.5, peft==0.4.0, diffusers==0.11.1, numpy==1.24.4, and the CUDA stack to the 11.x wheels: nvidia-cuda-runtime-cu11==11.7.99, nvidia-cudnn-cu11==8.5.0.96, triton==2.0.0. README reikalauja Python 3.10; lerobot 0.6.1 reikalauja 3.12 ar naujesnės versijos, todėl šios dvi negali dalytis aplinka. Pirmiausia patvirtinkite, kad „torch 2.0.1“ versija egzistuoja jūsų GPU kartai. Jei vykdymas nutrūksta dėl VRAM trūkumo, atminties trūkumo kontrolinis sąrašas yra greitesnis nei spėliojimas.
TinyVLA taip pat neskaito LeRobot duomenų rinkinių. Jo formatas yra ACT stiliaus HDF5: veiksmas, language_raw ir stebėjimų grupė su kelių vaizdų atvaizdais, joint_positions, qpos ir qvel. Saugykloje yra data_utils/rlds_to_h5py.py, skirtas RLDS įvestims, o kiekviena užduotis rankiniu būdu registruojama aloha_scripts/constants.py su savo dataset_dir, episode_len ir camera_names. Jei jūsų epizodai gauti iš lerobot arba darbalaukio kliento, konversija priklauso jums.
# 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 daro prielaidą, kad mazgas turi aštuonias korteles. Nustatykite jį į 1 ir sumažinkite paketų dydį gerokai žemiau 32. Nėra vienos GPU varianto, kuris būtų tiekiamas aukščiau, todėl komandos negalima paleisti pažodžiui ant 4090.
- --deepspeed scripts/zero2.json nurodo failą, kuris nėra aukščiausio lygio scripts kataloge. DeepSpeed konfigūracijos yra llava-pythia/scripts/zero2.json. Pataisykite kelią prieš pirmąjį paleidimą.
- README reikalauja, kad išvesties katalogo pavadinime būtų llava_pythia, plius lora, jei LoRA yra įjungta.
- Pagrindas yra atskiras atsisiuntimas: lesjie/Llava-Pythia-400M, -700M arba -1.3B. Nėra vieno bazinio kontrolinio taško, į kurį nukreiptumėte politiką taip, kaip nukreipiate į lerobot/smolvla_base.
SmolVLA: mažesnis nei 1 mlrd. parametrų modelis, kurį galite paleisti šią popietę
SmolVLA pateikia tą patį argumentą prižiūrimoje bibliotekoje. Jis turi 450 mln. parametrų ant SmolVLM2-500M-Video-Instruct pagrindo, o efektyvumas kyla iš nustatymų, kuriuos galite perskaityti iš configuration_smolvla.py, o ne iš teiginio apie jo mažumą.
| Nustatymas configuration_smolvla.py | Numatytasis | Ką tai suteikia |
|---|---|---|
| num_vlm_layers | 16 | Veikia tik pirmieji 16 kalbos modelio sluoksnių |
| expert_width_multiplier | 0.75 | Veiksmų eksperto paslėptas dydis sudaro 75 procentus VLM |
| self_attn_every_n_layers | 2 | Savaiminis dėmesys persipina su kryžminiu dėmesiu |
| chunk_size / n_action_steps | 50 / 50 | Vienas praėjimas išleidžia 50 veiksmų ir visi 50 yra vykdomi |
| num_steps | 10 | Srauto atitikimo triukšmo šalinimas fiksuotas ties 10 žingsnių |
| tokenizer_max_length | 48 | Instrukcija sutrumpinama iki 48 žetonų |
| freeze_vision_encoder / train_expert_only | True / True | Tikslinimas perkelia ekspertą, o ne vizijos bokštą |
| optimizer_lr, warmup, decay | 1e-4, 1000 steps, to 2.5e-6 over 30000 | Ne straipsnio receptas: jo išankstinis apmokymas naudojo 100 žingsnių apšilimą per 200000 žingsnių |
Išankstiniam apmokymui buvo panaudoti 481 bendruomenės LeRobot duomenų rinkiniai, 22,9 tūkst. epizodų ir 10,6 mln. kadrų ant 4 GPU, 200000 žingsnių su 256 globaliu paketu; straipsnyje visas projektas įvertinamas maždaug 30 tūkst. GPU valandų. Vienas skaičius, į kurį reikia atkreipti dėmesį: „Hugging Face“ paleidimo tinklaraštyje teigiama, kad yra 487 kuruoti duomenų rinkiniai, o straipsnio lentelėje – 481. Mes naudojame straipsnio skaičių ir pažymime neatitikimą.

| Etalonas | SmolVLA 0.45 B | SmolVLA 2.25 B | Pi0 | ACT |
|---|---|---|---|---|
| LIBERO vidurkis, daugiafunkcinis | 87.3 | 88.75 | 86.0 (3.3 B, robotics-pretrained) | - |
| Meta-World vidurkis, daugiafunkcinis | 57.3 | 68.24 | 47.9 (3.5 B, robotics-pretrained) | - |
| Tikras SO-100, 3 užduotys, daugiafunkcinis apmokymas | 78.3 | - | 61.7 (3.5 B) | - |
| Tikras SO-100, 3 užduotys, vienos užduoties, be robotikos išankstinio apmokymo | 40.0 | - | - | 48.3 |
| SO-101 lego paėmimas-padėjimas, vienos užduoties, pasiskirstyme | 90 | - | - | 70 |
| SO-101 lego paėmimas-padėjimas, vienos užduoties, už pasiskirstymo ribų | 50 | - | - | 40 |
LIBERO yra simuliacija, ir viskas, kas kompetentinga, dabar ten pasiekia aštuntą dešimtį. Tikroji SO-100 eilutė, kurioje 450 mln. modelis aplenkia 3,5 mlrd. modelį 16,6 punkto, yra įdomiausia; eilutė po ja yra atsvara. Pašalinus bendruomenės išankstinį apmokymą ir daugiafunkcinį apmokymą, tas pats modelis nukrenta iki 40,0, žemiau ACT. Gintinas teiginys yra tas, kad mažas modelis nėra automatiškai blogesnis, o ne tai, kad jis yra geresnis.
Vienas atsitiktinumas padeda: SmolVLA straipsnio Meta-World lentelėje pateikiami paties TinyVLA paskelbti skaičiai kaip bazinė linija, todėl šįkart abu modeliai yra vienoje lentelėje: SmolVLA-0.45B su 57.3 prieš TinyVLA-H su 31.6. Taip pat pranešama, kad SmolVLA treniruojasi maždaug 40 procentų greičiau nei Pi0, naudodamas 6 kartus mažiau atminties. Visa tai pateikė SmolVLA autoriai; arenos įrašas susieja kiekvieną reikšmę su jos šaltiniu.
Kam SmolVLA skiria savo laiką
AY-Robots nurodo SmolVLA 245 ms vienam veiksmo žingsniui ir ACT 20 ms politikų kataloge. TinyVLA praneša apie 14 ms vienam veiksmo numatymui. Šie skaičiai nėra palyginami, ir elgtis su jais taip, tarsi jie būtų, yra dažniausia klaida šioje temoje: kai kurie matuoja vieną tiesioginį praleidimą, kai kurie padalija tą praleidimą per gabalą, kai veiksmų skaidymas jį amortizuoja.
- SmolVLA išleidžia 50 veiksmų per vieną tiesioginį praleidimą ir įvykdo visus 50. Esant 30 kadrų per sekundę (fps), kuriuos straipsnis naudoja su realiais robotais, vienas išvedimas apima apie 1.7 sekundės judesio.
- Asinchroninis išvedimas apskaičiuoja kitą gabalą, kol dabartinis dar vykdomas: 9.7 s vidutinis užduoties atlikimas, palyginti su 13.75 s sinchroniniu, maždaug 30 procentų greičiau, ir 19 paėmimo-padėjimo ciklų per fiksuotą 60 sekundžių langą, palyginti su 9.
- Sėkmės rodikliai buvo palyginami, o ne geresni: 78.3 sinchroninis prieš 73.3 asinchroninį. Asinchroninis režimas padidina pralaidumą, o ne tikslumą.
- Skaidymas paslepia skaičiavimo vėlavimą, o ne tinklo vėlavimą, ir daro politiką mažiau reaktyvią, nes ji yra įsipareigojusi 50 veiksmų.
AY-Robots gali automatiškai paruošti debesies GPU podą, kuris aptarnauja jūsų politiką, o vietinis roboto klientas bendrauja su tuo galiniu tašku, ir podas turi tuščiosios eigos sargą, todėl jis sunaikina save, užuot tyliai skaičiavęs sąskaitas. Ko jis nedaro, tai nepašalina viešojo interneto kelionės pirmyn ir atgal. Valdymo ciklas per penkias čia esančias politikas yra nuo 20 iki 485 ms vienam veiksmo žingsniui prieš bet kokį tinklą, todėl nuotolinis išvados gavimas yra tinkamas lėtam paėmimui ir padėjimui, o ne greitam reaktyviam judėjimui.

SmolVLA tikslinimas vienoje vartotojo kortelėje
Rankinis kelias, naudojant lerobot 0.6.1, dabartinį PyPI leidimą nuo 2026 m. rugpjūčio 23 d. Viskas, kas aprašyta toliau, paimta iš Hugging Face lerobot SmolVLA dokumentacijos, gautos tą pačią dieną; vadovaujama versija yra švelnesnė.
- 1Įdiekite lerobot su smolvla priedu
SmolVLA priklausomybės yra pasirenkamas priedas, neįeinantis į bazinį diegimą. Įdiegus be jo ir vėliau stebintis, kodėl politikos tipas nežinomas, dažnai prarandama pusvalandis.
bashgit clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e ".[smolvla]" - 2Gaukite duomenų rinkinį su pakankamai epizodų
Dokumentacijoje rekomenduojama apie 50 epizodų ir teigiama, kad tos pačios užduoties su 25 nepakako. AY-Robots nustato minimumą ties 30. Įrašykite savo, arba pradėkite nuo duomenų rinkinių katalogo.
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 - 3Pradėkite tikslų derinimą
Komanda iš lerobot vadovo, nepakeista. Dokumentacijoje nurodoma, kad 20000 žingsnių užtrunka maždaug 4 valandas su viena A100. Su 24 GB kortele tikėkitės ilgesnio laiko ir jį išmatuokite.
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 - 4Sumažinkite partijos dydį, kol tilps
batch_size=64 yra dokumentuotas pavyzdys, o ne pažadas dėl jūsų kortelės. Dokumentacijoje patariama pradėti nuo mažo dydžio ir didinti, kol įkėlimo laikas išlieka trumpas.
bashlerobot-train --help - 5Išleiskite kontrolinį tašką ant roboto rankos
Ta pati biblioteka, viena komanda. Realaus laiko skaidymo vėliavėlės dokumentacijoje yra užkomentuotos ir yra tos, kurias reikia naudoti mažos galios aparatinėje įrangoje.
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
Kad ir kokiu keliu eitumėte, gausite kontrolinį tašką ir jį sukūrusią konfigūraciją. Šalia laikykite duomenų rinkinio reviziją, žingsnių skaičių ir sėklą. lerobot numatytasis sėklos skaičius yra 1000; GR00T tikslaus derinimo įėjimo taškas visai neatskleidžia sėklos, todėl tie paleidimai nėra bitas po bito atkuriami. Mechanika mokymo dokumentacijoje.
Du būdai, kaip įdiegti mažą VLA ant roboto rankos
Jūs valdote mašiną ir gedimų režimus. SmolVLA atveju tai pagrįsta: vienas pip priedas, viena treniravimo komanda, viena išleidimo komanda. TinyVLA atveju tai yra tyrimų reprodukcija su užšaldytais kaiščiais, sugedusiu DeepSpeed keliu ir duomenų konvertavimu, kurį rašote patys.
- Gaukite 24 GB kortelę, įrašykite nuo 30 iki 50 epizodų, patikrinkite kameros srautus kadrą po kadro.
- pip install -e ".[smolvla]", lerobot-train prieš lerobot/smolvla_base, tada aptarnaukite kontrolinį tašką mašinoje, prie kurios prijungta roboto ranka.
- TinyVLA atveju: atskira conda aplinka, konvertuokite duomenis į HDF5, užregistruokite užduotį constants.py, pataisykite zero2.json kelią, sumažinkite train.sh nuo aštuonių GPU iki vieno.
- Jokio valandinio apmokestinimo, kai kortelė apmokėta.
- Išvados yra šalia servovariklių, tai vienintelis būdas gauti greitą valdymo ciklą.
- Galite pataisyti politikos kodą, o TinyVLA prieinama tik tokiu būdu.
- 4090 atmeta kiekvieną ~3 B politiką, todėl nėra vietinio palyginimo su GR00T N1.7 ar Pi0.5.
- Aplinkos nustatymas yra tikrasis darbas. Vien TinyVLA kaiščiai gali kainuoti dieną.
- Jokios eilės, jokio pakartotinio bandymo, jokios kontrolinio taško saugyklos. Perkrovimas 14000 žingsnyje reiškia, kad reikia pradėti iš naujo.
SmolVLA yra viena iš penkių politikų čia. Jūs pasirenkate modelį ir duomenų rinkinį formoje, foninė sistema nuomoja GPU pagal reikalingą VRAM, paleidžia treniruoklį ir rašo kontrolinius taškus į objektų saugyklą. Žingsnis po žingsnio: SmolVLA ant SO-100, arba visa matrica mokymo puslapyje.
| Ką platforma siunčia SmolVLA | Vertė |
|---|---|
| batch size | 2 |
| learning rate | 1e-4 |
| max steps | 20000 |
| gradient accumulation | 8, and it does not reach the trainer |
| extra knobs in the form | seed, logFreq |
| GPU tier | RTX 4090 or any 24 GB card |
| dataset format | LeRobot v3.0 |
| minimum episodes | 30 |
Pirma, numatytasis partijos dydis čia yra 2, o ne 64, kaip lerobot dokumentacijos pavyzdyje, ir gradientų kaupimo nustatymas yra siunčiamas, bet neturi jokio poveikio SmolVLA, todėl efektyvus partijos dydis iš tikrųjų yra 2. Padidinkite jį sąmoningai, o ne manydami, kad numatytasis atitinka aukštesnįjį lygį. Antra, TinyVLA čia visai negali būti treniruojama.
Paleidimas 24 GB lygyje užtrunka nuo 2 iki 5 valandų, kainuojant 0.30 iki 0.60 USD per valandą, maždaug nuo 1 iki 3 USD. A100 lygyje ~3 B politika užtrunka nuo 3 iki 6 valandų, kainuojant 1.20 iki 2.00 USD per valandą, maždaug nuo 4 iki 12 USD. Žr. kainodarą, ir tas pačias operacijas iš CLI ir MCP serverio.
Kai mažas modelis yra netinkamas pasirinkimas
Abu straipsniai čia yra atidesni nei jų santraukos. TinyVLA gedimų analizė yra specifinė: 0,4 B variantas tris kartus nepavyko neteisingai perskaičius instrukciją, ką autoriai priskiria ribotam kalbos supratimui mažesniame VLM, ir šis režimas išnyko ties 1,3 B. SmolVLA rodo tą pačią kreivę iš kito galo: 2,25 B identiškos architektūros versija LIBERO įvertina 88,75, o Meta-World – 68,24, palyginti su 87,3 ir 57,3 0,45 B modeliui.
- Telpa į 24 GB kortelę, o tai sumažina eksperimento kainą nuo dešimčių dolerių iki poros.
- Pakankamai greitas, kad veiktų šalia roboto rankos, todėl valdymo cikle nėra tinklo šuolio.
- Tiksliai derinamas su duomenimis, kuriuos gali įrašyti vienas asmuo, dešimtys epizodų, o ne tūkstančiai.
- SmolVLA svoriai, duomenų sąrašas ir kodas yra vieši, todėl blogas rezultatas yra derinamas.
- Silpnesnis instrukcijų vykdymas: mažiau kalbos parametrų, mažesnis gebėjimas atskirti panašias nuorodas.
- Mažesnis erdvinis ir vizualinis apibendrinimas nustatymams, kurių neįrašėte.
- Jautresnis duomenų rinkinio defektams, su mažiau išankstinio apmokymo, į kurį galima remtis.
- Daugiaprogramis ir ilgalaikis darbas vis dar palankesnis didesniems modeliams, įskaitant paties SmolVLA 2,25 B variantą.
Palyginimas, kurį verta atlikti, nėra TinyVLA prieš SmolVLA. Tai SmolVLA prieš ACT jūsų pačių užduotyje, ir SmolVLA straipsnis yra argumentas, kodėl. Apmokytas vienos užduoties režimu be robotikos išankstinio apmokymo, SmolVLA vidutiniškai pasiekė 40,0 per tris SO-100 užduotis, kur vienos užduoties ACT pasiekė 48,3. Kas pakelia jį iki 78,3, tai bendruomenės išankstinis apmokymas plius daugiaprogramis apmokymas, o ne vien architektūra. SO-101 lego užduotyje, abi vienos užduoties, SmolVLA laimi: 90 prieš 70 pasiskirstyme. Tada SmolVLA prieš Pi0.5 jei leidžia biudžetas.
Yra mažiau išankstinio apmokymo, skirto blogiems duomenims padengti, todėl švari nuostolių kreivė su defektiniu duomenų rinkiniu suteikia jums politiką, kuri užtikrintai atkuria defektą. „lerobot“ dokumentacija aiškiai nurodo struktūrą: 50 epizodų per 5 kubo pozicijas, po 10 kiekvienai pozicijai, veikė; 25 neveikė. Jei nuostoliai atrodo gerai, o ranka nedaro nieko naudingo, pradėkite nuo nuostoliai krenta, politika nieko nedaro, politika veikia tik vienoje sąrankoje arba tikrai tinkamų VLA mokymo duomenų rinkimo.
Penkios politikos, viena palyginimo lentelė
GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA ir ACT su realiais parametrų skaičiais, išvadų vėlavimu vienam veiksmo žingsniui, reikalingu GPU lygiu ir minimaliu epizodų skaičiumi, kol jie pradeda daryti ką nors naudingo.
Palyginkite politikasSprendimų lentelė, pagal kurią galite veikti
| Jūsų situacija | Pradėkite nuo | Kodėl |
|---|---|---|
| Viena užduotis, geros demonstracijos, be kalbos | ACT | ~80 M, 20 ms, 24 GB kortelė, nereikia atsisiųsti bazinio modelio |
| Kelios susijusios užduotys, po vieną instrukciją kiekvienai | SmolVLA | 450 M, in lerobot, 30 episode minimum, 1 to 3 USD per run |
| Konkrečiai atkartojant TinyVLA rezultatą | TinyVLA-B or TinyVLA-H | Repozitorija yra vienintelis kelias: izoliuota aplinka, konvertuoti duomenys |
| Daugelio užduočių, įvairios instrukcijos, A100 biudžetas | GR00T N1.7 or Pi0.5 | ~3 B, 152 ms and 485 ms per step, 4 to 12 USD per run |
| Dar nėra roboto | Drive a real arm | Gyvai valdomai rankai, veikiančiai eilės principu, nereikia registracijos ir jokios aparatinės įrangos |
Paskutinei eilutei, tiesioginė ranka transliuoja fizinį SO-100, kurį galite valdyti iš naršyklės be paskyros, o trys būdai pradėti apima likusius. SO-100 yra etaloninė ranka, kainuojanti maždaug nuo 110 iki 150 EUR dalimis, su išsamiu nustatymo vadovu.
Kas seka po mažesnių nei 1 mlrd. modelių
Parametrų skaičiaus mažinimas yra vienas iš būdų, kaip padaryti VLA pigų, ir ne akivaizdžiai laimintis. OpenVLA-OFT (arXiv 2502.19645) išlaiko 7 mlrd. pagrindą ir keičia tik veiksmų dekodavimo būdą, pranešdamas apie 26 kartus didesnį veiksmų generavimo pralaidumą ir LIBERO padidėjimą nuo 76,5 iki 97,1 procento. BitVLA (arXiv 2506.07530) kiekvieną 1 bito BitNet b1.58 2B4T pagrindo svorį padaro trejybiniu, pranešdamas apie 11,0 karto mažesnę atmintį ir 4,4 karto mažesnį galutinio vėlavimą, atitinkantį pilno tikslumo OpenVLA-OFT. X-VLA-0.9B (arXiv 2510.10274) yra 1 mlrd. linijoje su srauto atitikimu.
Bendra gija: veiksmų dekoderis, o ne kalbos modelis, yra vieta, kur atsiranda vėlavimas. Paklauskite, kaip politika išleidžia veiksmus, prieš klausdami, kiek parametrų ji turi. arena turi 85 modelius ir 332 rezultatus, kiekvienas susietas su savo šaltiniu; platesnė apžvalga pateikiama mūsų VLA įvade.
Ar galiu tiksliai sureguliuoti SmolVLA su RTX 4090?▾
Taip. SmolVLA turi 450 M parametrų, o AY-Robots ją paleidžia RTX 4090 / 24 GB lygiu. lerobot pavyzdys naudoja --batch_size=64, kas yra pavyzdys, o ne garantija jūsų kortelei; dokumentuose patariama pradėti nuo mažo dydžio ir didinti, kol įkėlimo laikas išlieka trumpas. Tikėkitės ilgesnio laiko nei maždaug 4 valandos, kurias dokumentai nurodo 20000 žingsnių su A100.
Ar TinyVLA pasiekiama lerobot ar AY-Robots?▾
Ne, abiem atvejais. TinyVLA egzistuoja tik savo tyrimų saugykloje, paskutinis įsipareigojimas 2025 m. kovo 11 d., ir jos formatas yra ACT stiliaus HDF5, o ne LeRobot. AY-Robots apmoko GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA ir ACT. Jei norite TinyVLA, turite ją sukurti patys, ir pirmiausia turėsite pataisyti DeepSpeed konfigūracijos kelią scripts/train.sh.
Ar 450 M modelis tikrai gali konkuruoti su 3 B modeliu?▾
Pagal pačių autorių etalonus, taip: 87.3 prieš 86.0 LIBERO atveju, palyginti su robotikai iš anksto apmokytu Pi0, turinčiu 3.3 B, ir 78.3 prieš 61.7 trijose realiose SO-100 užduotyse, kur tas pats straipsnis žymi Pi0 kaip 3.5 B. Apribojimas yra tame pačiame straipsnyje: vienos užduoties be robotikos išankstinio apmokymo, SmolVLA nukrenta iki 40.0, žemiau ACT 48.3.
Kiek epizodų man reikia, kol mažas VLA ką nors padarys?▾
AY-Robots nustato SmolVLA minimumą ties 30 epizodų, o ACT minimumą ties 50. lerobot dokumentai rekomenduoja apie 50 ir praneša, kad 25 nepakako tai pačiai užduočiai. Struktūra yra tokia pat svarbi kaip ir skaičius: straipsnyje naudotas rinkinys su 5 kubo pozicijomis, po 10 epizodų kiekvienai.
Kodėl paskelbti vėlavimo skaičiai taip smarkiai skiriasi?▾
Jie matuoja skirtingus dalykus. TinyVLA praneša 14 ms vienam veiksmo numatymui su A6000; AY-Robots nurodo SmolVLA ties 245 ms, o ACT ties 20 ms vienam veiksmo žingsniui. Kai kurie skaičiai apima vieną tiesioginį praleidimą, kai kurie padalija praleidimą per 50 veiksmų bloką, ir beveik nė vienas neapima kameros fiksavimo ar įrašymo į servovariklius.
Ar debesų išvados sprendžia GPU problemą?▾
Iš dalies. AY-Robots automatiškai aprūpina podą, kuris aptarnauja politiką, o vietinis klientas bendrauja su tuo galiniu tašku, su tuščiosios eigos stebėjimo sistema, kad jis sunaikintų save, o ne tyliai apmokestintų. Jis negali pašalinti viešojo interneto kelionės pirmyn ir atgal, o valdymo ciklas jau yra nuo 20 iki 485 ms vienam veiksmo žingsniui. Tinka lėtam paėmimui ir padėjimui, bet ne greitam reaktyviam judėjimui.
Sources
- TinyVLA: link greitų, duomenų efektyvių vizijos-kalbos-veiksmo modelių robotų manipuliacijai
- TinyVLA oficiali kodo saugykla (README, requirements.txt, scripts/train.sh)
- TinyVLA projekto puslapis
- lesjie/Llava-Pythia-1.3B, TinyVLA-H pagrindinio tinklo svoriai
- SmolVLA: vizijos-kalbos-veiksmo modelis prieinamai ir efektyviai robotikai
- lerobot dokumentacija: SmolVLA tikslus sureguliavimas
- lerobot: configuration_smolvla.py, SmolVLA numatytosios reikšmės
- lerobot/smolvla_base modelio kortelė
- SmolVLA: efektyvus vizijos-kalbos-veiksmo modelis (Hugging Face tinklaraštis)
- lerobot PyPI (0.6.1, reikalingas Python 3.12 arba naujesnis)
- OpenVLA: atvirojo kodo vizijos-kalbos-veiksmo modelis
- Vizijos-kalbos-veiksmo modelių tikslus sureguliavimas: greičio ir sėkmės optimizavimas (OpenVLA-OFT)
- BitVLA: 1 bito vizijos-kalbos-veiksmo modeliai robotų manipuliacijai
- X-VLA: minkštai raginamas transformatorius kaip keičiamo mastelio kryžminio įkūnijimo vizijos-kalbos-veiksmo modelis
- rail-berkeley/octo-small-1.5 modelio kortelė (27 M parametrų)
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