AY-Robots politikos palyginimo lentelė su parametrų skaičiumi, GPU lygiais ir išvadų delsa, skirta GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA ir ACT
SmolVLATinyVLAMažas VLAVartotojo GPULeRobot

Maži VLA modeliai: TinyVLA, SmolVLA ir atvejis iki 1 mlrd. parametrų

AY-Robots ResearchAugust 23, 202619 min. skaitymo

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.

ModelisParametraiPagrindasVeiksmo galvutėŠaltinis
TinyVLA-S422 M total, 101 M trainableLlava-Pythia ~400 MDiffusion (droid_diffusion U-Net)arXiv 2409.12514
TinyVLA-B740 M total, 138 M trainableLlava-Pythia ~700 MDiffusionarXiv 2409.12514
TinyVLA-H1.3 B total, 143 M trainableLlava-Pythia ~1.3 BDiffusionarXiv 2409.12514
SmolVLA450 M, ~100 M action expertSmolVLM2-500M-Video-InstructFlow matching expertarXiv 2506.01844
Octo-Small27 MViT-S scale, T5-Base text encoderDiffusionocto-small-1.5 card
ACT~80 MResNet, no language modelDirect chunk regressionAY-Robots catalog
OpenVLA7 BLlama 2 7 B, DINOv2 and SigLIP encodersAutoregressive action tokensarXiv 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.

1 mlrd. riba yra savavališka

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.

ModelisVeiksmo numatymasIšmatuota ant
OpenVLA-7B292 mssingle A6000
OpenVLA-1B, pagrindas pakeistas TinyVLA140 mssingle A6000
TinyVLA-1B (TinyVLA-H)14 mssingle 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-HPadėti tenisąApversti puodelįSukrauti kubeliusUždaryti stalčiųAtidaryti dėžę
Difuzija (droid_diffusion)90.098.398.396.786.7
Veiksmų skaidymo transformatorius13.38.38.313.323.3
Daugiasluoksnis perceptronas00000
Ką apima TinyVLA skaičiai

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

EtalonasProtokolasTinyVLA-HBaziniai modeliai
MetaWorld, 50 užduočių, simuliacijaDaugiafunkcinė, 50 demonstracijų, 3 sėklos77.6 / 21.5 / 11.4 / 15.8 pagal sudėtingumą, vidutiniškai 31.6Diffusion Policy vidurkis 10.5
Tikras Franka Panda, 5 užduotys100 trajektorijų užduočiai, 20 bandymų94.0 vidurkisOpenVLA 68.3, Diffusion Policy 35.3
Dvirankis UR5, 3 užduotysDaugiafunkcinė, 10 bandymų užduočiai76.7 / 36.7 / 30.0OpenVLA 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.

AY-Robots arenos lyderių lentelė, rūšiuojama 85 VLA modelių lentelė su 332 etaloniniais rezultatais, kiekviena reikšmė susieta su straipsniu ar modelio kortele, iš kurios ji atsirado
Kryžminio modelio etaloniniai skaičiai yra palyginami tik tada, kai matote, iš kur kiekvienas jų atsirado.

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.

bash
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 .
TinyVLA README diegimo seka, patikrinta pagal saugyklą 2026-08-23.
Priklausomybių fiksavimas yra spąstai, suvalgantys dieną

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.

bash
# 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
Sutrumpinta iš scripts/train.sh. Kiekviena aukščiau nurodyta vėliavėlė ir reikšmė yra pateiktame faile.
  • --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.pyNumatytasisKą tai suteikia
num_vlm_layers16Veikia tik pirmieji 16 kalbos modelio sluoksnių
expert_width_multiplier0.75Veiksmų eksperto paslėptas dydis sudaro 75 procentus VLM
self_attn_every_n_layers2Savaiminis dėmesys persipina su kryžminiu dėmesiu
chunk_size / n_action_steps50 / 50Vienas praėjimas išleidžia 50 veiksmų ir visi 50 yra vykdomi
num_steps10Srauto atitikimo triukšmo šalinimas fiksuotas ties 10 žingsnių
tokenizer_max_length48Instrukcija sutrumpinama iki 48 žetonų
freeze_vision_encoder / train_expert_onlyTrue / TrueTikslinimas perkelia ekspertą, o ne vizijos bokštą
optimizer_lr, warmup, decay1e-4, 1000 steps, to 2.5e-6 over 30000Ne 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ą.

SmolVLA modelio puslapis AY-Robots platformoje, rodantis parametrų skaičių, 24 GB GPU lygį, išvadų vėlavimą vienam veiksmo žingsniui ir minimalų epizodų skaičių
Platformos SmolVLA puslapis: 450 mln. parametrų, 245 ms vienam veiksmo žingsniui, RTX 4090 lygis, mažiausiai 30 epizodų.
EtalonasSmolVLA 0.45 BSmolVLA 2.25 BPi0ACT
LIBERO vidurkis, daugiafunkcinis87.388.7586.0 (3.3 B, robotics-pretrained)-
Meta-World vidurkis, daugiafunkcinis57.368.2447.9 (3.5 B, robotics-pretrained)-
Tikras SO-100, 3 užduotys, daugiafunkcinis apmokymas78.3-61.7 (3.5 B)-
Tikras SO-100, 3 užduotys, vienos užduoties, be robotikos išankstinio apmokymo40.0--48.3
SO-101 lego paėmimas-padėjimas, vienos užduoties, pasiskirstyme90--70
SO-101 lego paėmimas-padėjimas, vienos užduoties, už pasiskirstymo ribų50--40
Skaitykite visą lentelę, o ne tik antraštės eilutę

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ų.
Nuotolinis išvados gavimas nėra nemokamas, ir jokia platforma nepataiso fizikos

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.

AY-Robots politikų palyginimo lentelė, rodanti GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA ir ACT su parametrų skaičiumi, reikalingu GPU lygiu, išvados vėlavimu vienam veiksmo žingsniui ir minimaliu epizodų skaičiumi, kurio reikia kiekvienam
SmolVLA (~450 M) ir ACT (~80 M) yra du, kurie telpa į 24 GB kortelę. Kitiems trims reikia A100 arba H100 80 GB.

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. 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.

    bash
    git clone https://github.com/huggingface/lerobot.git
    cd lerobot
    pip install -e ".[smolvla]"
  2. 2
    Gaukite 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
  3. 3
    Pradė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.

    bash
    cd lerobot && lerobot-train \
      --policy.path=lerobot/smolvla_base \
      --dataset.repo_id=${HF_USER}/mydataset \
      --batch_size=64 \
      --steps=20000 \
      --output_dir=outputs/train/my_smolvla \
      --job_name=my_smolvla_training \
      --policy.device=cuda \
      --wandb.enable=true
  4. 4
    Sumaž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.

    bash
    lerobot-train --help
  5. 5
    Iš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.

    bash
    lerobot-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
Kontrolinis taškas yra rezultatas

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.

  1. Gaukite 24 GB kortelę, įrašykite nuo 30 iki 50 epizodų, patikrinkite kameros srautus kadrą po kadro.
  2. pip install -e ".[smolvla]", lerobot-train prieš lerobot/smolvla_base, tada aptarnaukite kontrolinį tašką mašinoje, prie kurios prijungta roboto ranka.
  3. 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.
Privalumai
  • 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.
Kompromisai
  • 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.

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.

Pasirenkant mažesnį nei 1 B VLA
Kur jis laimi
  • 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.
Kur jis pralaimi
  • 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.

Esant tokiam dydžiui, duomenų rinkinys lemia rezultatą

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 politikas

Sprendimų lentelė, pagal kurią galite veikti

Jūsų situacijaPradėkite nuoKodėl
Viena užduotis, geros demonstracijos, be kalbosACT~80 M, 20 ms, 24 GB kortelė, nereikia atsisiųsti bazinio modelio
Kelios susijusios užduotys, po vieną instrukciją kiekvienaiSmolVLA450 M, in lerobot, 30 episode minimum, 1 to 3 USD per run
Konkrečiai atkartojant TinyVLA rezultatąTinyVLA-B or TinyVLA-HRepozitorija yra vienintelis kelias: izoliuota aplinka, konvertuoti duomenys
Daugelio užduočių, įvairios instrukcijos, A100 biudžetasGR00T N1.7 or Pi0.5~3 B, 152 ms and 485 ms per step, 4 to 12 USD per run
Dar nėra robotoDrive a real armGyvai 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.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started