
TinyVLA и SmolVLA поставят работещ VLA под 1 милиард параметри. Реални данни от двете статии, стандартните настройки на lerobot, измерена латентност и колко струва едно изпълнение на 24 GB карта.
Почти всеки визуално-езиков-акционен модел, за който се пише, предполага карта за център за данни. OpenVLA е със 7 милиарда параметри. GR00T N1.7 и Pi0.5 са около 3 милиарда и изискват A100 80 GB за фина настройка. Ако картата на бюрото ви е 4090, този клас модели е недостижим.
Две статии твърдят, че не ви е необходим. TinyVLA (arXiv 2409.12514, приет от IEEE Robotics and Automation Letters през февруари 2025 г.) изгражда VLA от гръбнак с 400 милиона до 1.3 милиарда параметри плюс дифузионна глава за действие. SmolVLA (arXiv 2506.01844, подаден на 2 юни 2025 г.) предлага 450 милиона параметри с отворени тегла, отворени данни и скрипт, който работи на една потребителска карта. Ето какво измериха и двата, и къде аргументът за под-1 милиард спира да е валиден.
Какво трябва да знаете
- •TinyVLA се предлага в три размера: 422 милиона общо със 101 милиона обучаеми, 740 милиона със 138 милиона, 1.3 милиарда със 143 милиона. Само първите два са под 1 милиард.
- •Таблица IV измерва 14 ms за предсказване на действие за TinyVLA-1B на един A6000, срещу 292 ms за OpenVLA-7B и 140 ms за намален OpenVLA-1B.
- •Главата поддържа тази скорост, а не гръбнакът: заменете дифузионната глава на TinyVLA-H с ACT глава и петте задачи с реален робот падат от средно 94.0 до едноцифрени стойности. MLP глава отбелязва 0 навсякъде.
- •SmolVLA е 450 милиона, като приблизително 100 милиона от тях са експертът по действие, предварително обучен на 481 общностни LeRobot набори от данни и 10.6 милиона кадъра. Той отчита 87.3 на LIBERO срещу 86.0 за предварително обучен за роботика Pi0 при 3.3 милиарда, и 78.3 на три реални SO-100 задачи срещу 61.7 за Pi0 при 3.5 милиарда.
- •Обучен за една задача без това предварително обучение, SmolVLA пада до 40.0 на тези задачи, под 48.3 на ACT. Малкото не е автоматично лесно.
- •TinyVLA няма интеграция с LeRobot и използва CUDA 11.7 wheel stack. SmolVLA е в lerobot и струва приблизително 1 до 3 щатски долара на изпълнение на нивото от 24 GB тук.
Какво всъщност се счита за малък VLA
Броят на параметрите в картата на модела не е едно число. Той може да означава общи тегла, тегла, заредени по време на инференция, или тегла, които получават градиенти по време на . TinyVLA отчита и двете, като разликата е голяма: TinyVLA-H е 1.3 B общо, но 143 M тренируеми, тъй като визуалната кула и по-голямата част от езиковия модел остават замразени, докато LoRA адаптерите и главата за действие се променят. Докладът посочва тренируемия дял на около 5 процента.
| Модел | Параметри | Гръбнак | Глава за действие | Източник |
|---|---|---|---|---|
| TinyVLA-S | 422 M общо, 101 M тренируеми | Llava-Pythia ~400 M | Diffusion (droid_diffusion U-Net) | arXiv 2409.12514 |
| TinyVLA-B | 740 M общо, 138 M тренируеми | Llava-Pythia ~700 M | Diffusion | arXiv 2409.12514 |
| TinyVLA-H | 1.3 B общо, 143 M тренируеми | Llava-Pythia ~1.3 B | Diffusion | arXiv 2409.12514 |
| SmolVLA | 450 M, ~100 M експерт по действие | 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, без езиков модел | Direct chunk regression | AY-Robots catalog |
| OpenVLA | 7 B | Llama 2 7 B, DINOv2 and SigLIP encoders | Авторегресивни токени за действие | arXiv 2406.09246 |
Два реда си струва да бъдат обсъдени. с приблизително 80 M е по-малък от всичко останало тук, но няма езиков модел, така че не е VLA: той научава една задача и не може да му бъде казано да изпълни друга. с 27 M е обусловен чрез текстов енкодер T5-Base, а не чрез LLM гръбнак. Добри базови модели, но нито един от тях не осигурява следването на инструкции, което етикетът предполага.
TinyVLA-H, вариантът, който носи основните резултати, е 1.3 B и е над линията. По-добрият въпрос е дали моделът се побира в 24 GB по време на обучение и достига желаната скорост на управление по време на инференция. Петте политики, които можете да обучите тук, са на страницата с политики; TinyVLA има запис в арената, ако искате неговите числа до тези на всички останали.
TinyVLA: скоростта идва от главата, не от гръбнака
Очевидното тълкуване е, че са направили езиковия модел по-малък, така че е станал по-бърз. Аблационният анализ на статията твърди обратното. Замяната на 7 B гръбнак на OpenVLA с приблизително 1 B намали предвиждането за действие от 292 ms на 140 ms, 2x увеличение. TinyVLA-H, със сравним брой параметри, работи на 14 ms на същата карта. Другото 10x е главата за действие.
| Модел | Предвиждане за действие | Измерено на |
|---|---|---|
| OpenVLA-7B | 292 ms | single A6000 |
| OpenVLA-1B, backbone swapped for TinyVLA's | 140 ms | single A6000 |
| TinyVLA-1B (TinyVLA-H) | 14 ms | single A6000 |
OpenVLA излъчва действия като дискретизирани токени чрез главата на езиковия модел, по един за всяко измерение на действието, авторегресивно. TinyVLA прикрепя дифузионен декодер, който произвежда целия блок наведнъж. Таблица V показва архитектурата на TinyVLA-H и заменя само главата, върху същите пет задачи с реален робот. Това е най-чистото доказателство в която и да е статия за аргумента, който съпоставяне на потоци политиките правят, и причината, поради която Pi0 се отдалечи от декодирането на токени.
| Глава на TinyVLA-H | PlaceTennis | FlipMug | StackCubes | CloseDrawer | OpenBox |
|---|---|---|---|---|---|
| Дифузия (droid_diffusion) | 90.0 | 98.3 | 98.3 | 96.7 | 86.7 |
| Трансформатор за сегментиране на действия | 13.3 | 8.3 | 8.3 | 13.3 | 23.3 |
| Многослоен перцептрон | 0 | 0 | 0 | 0 | 0 |
Цифрите от 292 / 140 / 14 ms са от Таблица IV, всички на един A6000. Те са за предвиждане на действие и изключват заснемане с камера, предварителна обработка и серийно записване към сервомоторите. Третирайте публикуваната латентност като долна граница, никога като скорост на управление. Нашите собствени числа носят същото ограничение: вижте латентност на извода.
Какво постигна TinyVLA
| Бенчмарк | Протокол | TinyVLA-H | Базови линии |
|---|---|---|---|
| MetaWorld, 50 задачи, симулация | Многозадачност, 50 демонстрации, 3 сида | 77.6 / 21.5 / 11.4 / 15.8 по трудност, средно 31.6 | Diffusion Policy average 10.5 |
| Реална Franka Panda, 5 задачи | 100 траектории на задача, 20 опита | 94.0 средно | OpenVLA 68.3, Diffusion Policy 35.3 |
| Двурък UR5, 3 задачи | Многозадачност, 10 опита на задача | 76.7 / 36.7 / 30.0 | OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0 |
Бимануалният ред има скучно обяснение, което самата статия дава: OpenVLA е предварително обучен на Open X-Embodiment, който се състои изцяло от данни за една ръка, така че пространството за действия с две ръце е извън разпределението и резултатът му е нула. Базовата линия на дифузионната политика побеждава TinyVLA-H на две от тези три задачи. Предистория в статията за Open X-Embodiment.

Хранилището на TinyVLA, към август 2026 г.
Статията е добра. Кодът е изследователска разработка. Хранилището е github.com/liyaxuanliyaxuan/TinyVLA; неговият README датира пускането на кода на 17 февруари 2025 г., а последният commit е от 11 март 2025 г. Добре е за възпроизвеждане на статия, проблем е, ако искате поддържана библиотека.
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 фиксира torch==2.0.1, transformers==4.37.1, deepspeed==0.9.5, peft==0.4.0, diffusers==0.11.1, numpy==1.24.4 и CUDA стека към 11.x wheels: nvidia-cuda-runtime-cu11==11.7.99, nvidia-cudnn-cu11==8.5.0.96, triton==2.0.0. README изисква Python 3.10; lerobot 0.6.1 изисква 3.12 или по-нова, така че двете не могат да споделят една среда. Първо потвърдете, че съществува torch 2.0.1 компилация за вашето поколение GPU. Ако изпълнението спре поради VRAM, контролният списък за изчерпване на паметта е по-бърз от гадаенето.
TinyVLA също не чете набори от данни LeRobot. Форматът му е HDF5 в ACT стил: action, language_raw и група за наблюдения с многоизгледни изображения, joint_positions, qpos и qvel. Хранилището предоставя data_utils/rlds_to_h5py.py за RLDS вход, като всяка задача е регистрирана ръчно в aloha_scripts/constants.py с нейните dataset_dir, episode_len и camera_names. Ако вашите епизоди са дошли от lerobot или десктоп клиент, вие притежавате конверсията.
# 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 предполага възел с осем карти. Задайте го на 1 и намалете размера на пакета доста под 32. Няма вариант с един GPU, който да се доставя нагоре по веригата, така че командата не може да бъде изпълнена дословно на 4090.
- --deepspeed scripts/zero2.json сочи към файл, който не е в директорията scripts от най-високо ниво. Конфигурациите на DeepSpeed се доставят в llava-pythia/scripts/zero2.json. Коригирайте пътя преди първото си изпълнение.
- The README изисква името на изходната директория да съдържа llava_pythia, плюс lora, ако LoRA е активирана.
- Гръбнакът е отделно изтегляне: lesjie/Llava-Pythia-400M, -700M или -1.3B. Няма единна базова контролна точка, към която да насочите политика по начина, по който насочвате към lerobot/smolvla_base.
SmolVLA: моделът под 1 милиард, който можете да стартирате този следобед
SmolVLA използва същия аргумент в поддържана библиотека. Той е с 450 M параметри на гръбнак SmolVLM2-500M-Video-Instruct, а ефективността идва от настройки, които можете да прочетете от configuration_smolvla.py, а не от твърдение, че е малък.
| Настройка в configuration_smolvla.py | По подразбиране | Какво осигурява |
|---|---|---|
| num_vlm_layers | 16 | Работят само първите 16 слоя на езиковия модел |
| expert_width_multiplier | 0.75 | Скритият размер на експерта по действия е 75 процента от този на VLM |
| self_attn_every_n_layers | 2 | Самостоятелно внимание, преплетено с кръстосано внимание |
| chunk_size / n_action_steps | 50 / 50 | Един проход излъчва 50 действия и всички 50 се изпълняват |
| num_steps | 10 | Денойзингът чрез съвпадение на потока е фиксиран на 10 стъпки |
| tokenizer_max_length | 48 | Инструкцията е съкратена до 48 токена |
| freeze_vision_encoder / train_expert_only | True / True | Фината настройка премества експерта, а не визуалната кула |
| optimizer_lr, warmup, decay | 1e-4, 1000 steps, to 2.5e-6 over 30000 | Не е рецептата от статията: нейното предварително обучение използва 100-стъпково загряване за 200000 стъпки |
Предварителното обучение използва 481 общностни LeRobot набора от данни, 22.9 K епизода и 10.6 M кадъра на 4 графични процесора, 200000 стъпки при глобален пакет от 256; статията оценява целия проект на около 30 K GPU часа. Едно число за наблюдение: блогът за стартиране на Hugging Face казва 487 подбрани набора от данни, докато таблицата в статията казва 481. Ние използваме данните от статията и отбелязваме несъответствието.

| Бенчмарк | SmolVLA 0.45 B | SmolVLA 2.25 B | Pi0 | ACT |
|---|---|---|---|---|
| LIBERO средно, многозадачно | 87.3 | 88.75 | 86.0 (3.3 B, robotics-pretrained) | - |
| Meta-World средно, многозадачно | 57.3 | 68.24 | 47.9 (3.5 B, robotics-pretrained) | - |
| Реален SO-100, 3 задачи, многозадачно обучение | 78.3 | - | 61.7 (3.5 B) | - |
| Реален SO-100, 3 задачи, еднозадачно, без предварително обучение по роботика | 40.0 | - | - | 48.3 |
| SO-101 лего вземане-поставяне, еднозадачно, в разпределение | 90 | - | - | 70 |
| SO-101 лего вземане-поставяне, еднозадачно, извън разпределение | 50 | - | - | 40 |
LIBERO е симулация и всичко компетентно вече постига резултати в осемдесетте там. Редът с реалния SO-100, където модел от 450 M побеждава такъв от 3.5 B с 16.6 точки, е интересният; редът под него е противотежестта. Премахнете предварителното обучение от общността и многозадачното обучение и същият модел пада до 40.0, под ACT. Защитимото твърдение е, че малък модел не е автоматично по-лош, а не че е по-добър.
Един инцидент помага: таблицата Meta-World на статията за SmolVLA съдържа собствените публикувани числа на TinyVLA като база, така че за първи път и двата модела са в една таблица, SmolVLA-0.45B при 57.3 срещу TinyVLA-H при 31.6. Също така се съобщава, че обучението на SmolVLA е около 40 процента по-бързо от Pi0 с 6 пъти по-малко памет. Всичко това идва от авторите на SmolVLA; запис в арената свързва всяка стойност с нейния източник.
Къде SmolVLA прекарва времето си
AY-Robots изброява SmolVLA на 245 ms за стъпка на действие и ACT на 20 ms в каталога с политики. TinyVLA отчита 14 ms за предсказване на действие. Тези числа не са сравними и да се третират като такива е най-честата грешка по тази тема: някои измерват едно преминаване напред, други разделят това преминаване върху част, след като групиране на действия го амортизира.
- SmolVLA излъчва 50 действия на едно преминаване напред и изпълнява всичките 50. При 30 кадъра в секунда, които статията използва за реални роботи, едно извеждане покрива около 1.7 секунди движение.
- Асинхронното извеждане изчислява следващия блок, докато текущият все още се изпълнява: 9.7 s средно време за изпълнение на задачата срещу 13.75 s синхронно, приблизително 30 процента по-бързо, и 19 цикъла на взимане и поставяне във фиксиран 60-секунден прозорец срещу 9.
- Процентът на успех беше сравним, а не по-добър, 78.3 синхронно срещу 73.3 асинхронно. Асинхронността купува пропускателна способност, не точност.
- Групирането скрива латентността на изчисленията, а не латентността на мрежата, и прави политиката по-малко реактивна, защото е обвързана с 50 действия.
AY-Robots може автоматично да осигури облачен GPU под, който обслужва вашата политика, докато локалният клиент на робота комуникира с тази крайна точка, а подът носи неактивен наблюдател, така че се самоунищожава, вместо да таксува мълчаливо. Това, което не прави, е да премахне двупосочното пътуване през публичния интернет. Контролният цикъл за петте политики тук е от 20 до 485 ms на стъпка на действие преди каквато и да е мрежа, така че отдалеченият извод е жизнеспособен за бавно взимане и поставяне, а не за бързо реактивно движение.

Фина настройка на SmolVLA на една потребителска карта
Ръчният път, на lerobot 0.6.1, текущата PyPI версия към 23 август 2026 г. Всичко по-долу идва от документацията на Hugging Face lerobot SmolVLA, извлечена същия ден; насочваната версия е по-лесна.
- 1Инсталирайте lerobot с добавката smolvla
Зависимостите на SmolVLA са незадължителна добавка, която не е част от основната инсталация. Инсталирането без тях и последващото чудене защо типът на политиката е неизвестен е често срещана загуба на половин час.
bashgit clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e ".[smolvla]" - 2Вземете набор от данни с достатъчно епизоди
Документацията препоръчва около 50 епизода и посочва, че същата задача с 25 не е била достатъчна. AY-Robots определя минимума на 30. Запишете свои собствени, или започнете от директорията с набори от данни.
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Стартирайте фината настройка
Командата от ръководството на lerobot, непроменена. Документацията посочва 20000 стъпки за приблизително 4 часа на един A100. На 24 GB карта очаквайте по-дълго време и го измерете.
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 - 4Намалете размера на пакета, докато пасне
batch_size=64 е документиран пример, а не обещание за вашата карта. Документацията съветва да започнете с малък размер и да го увеличавате, докато времето за зареждане остава кратко.
bashlerobot-train --help - 5Разгърнете контролната точка на рамото
Същата библиотека, една команда. Флаговете за chunking в реално време са коментирани в документацията и са тези, към които да се обърнете при хардуер с ниска мощност.
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
Какъвто и път да изберете, в крайна сметка ще получите контролна точка плюс конфигурацията, която я е създала. Запазете ревизията на набора от данни, броя на стъпките и сида до нея. lerobot по подразбиране използва сид 1000; входната точка за фина настройка на GR00T изобщо не излага сид, така че тези изпълнения не са възпроизводими бит по бит. Механизми в документацията за обучение.
Два начина да поставите малък VLA на роботизирано рамо
Вие притежавате машината и режимите на отказ. За SmolVLA това е разумно: една pip добавка, една команда за обучение, една команда за разгръщане. За TinyVLA това е възпроизвеждане на изследване със замразени пинове, счупен DeepSpeed път и преобразуване на данни, което пишете сами.
- Вземете 24 GB карта, запишете 30 до 50 епизода, проверете видео потоците кадър по кадър.
- pip install -e ".[smolvla]", lerobot-train срещу lerobot/smolvla_base, след това обслужвайте контролната точка на машината, към която е включено рамото.
- За TinyVLA: отделна conda среда, конвертирайте данни в HDF5, регистрирайте задачата в constants.py, поправете пътя на zero2.json, намалете train.sh от осем GPU на един.
- Без почасово таксуване, след като картата е платена.
- Изводът е до сервомоторите, единственият начин да се получи бърз контролен цикъл.
- Можете да пачнете кода на политиката, а TinyVLA е достъпен само по този начин.
- 4090 изключва всяка ~3 B политика, така че няма локално сравнение с GR00T N1.7 или Pi0.5.
- Настройката на средата е истинската работа. Само пиновете на TinyVLA могат да струват един ден.
- Без опашка, без повторен опит, без съхранение на контролни точки. Рестартиране на стъпка 14000 означава започване отначало.
SmolVLA е една от петте политики тук. Избирате модел и набор от данни във форма, бекендът наема GPU според необходимата VRAM, стартира обучителя и записва контролни точки в обектно хранилище. Стъпка по стъпка: SmolVLA на SO-100, или пълната матрица на страницата за обучение.
| Какво изпраща платформата за SmolVLA | Стойност |
|---|---|
| размер на пакета | 2 |
| скорост на обучение | 1e-4 |
| максимални стъпки | 20000 |
| акумулация на градиент | 8, and it does not reach the trainer |
| допълнителни настройки във формата | seed, logFreq |
| ниво на GPU | RTX 4090 or any 24 GB card |
| формат на набора от данни | LeRobot v3.0 |
| минимален брой епизоди | 30 |
Първо, размерът на пакета по подразбиране тук е 2, а не 64, както е в примера от документацията на lerobot, и настройката за акумулация на градиент се изпраща, но няма ефект за SmolVLA, така че ефективният пакет наистина е 2. Увеличете го умишлено, вместо да приемате, че стойността по подразбиране съвпада с тази нагоре по веригата. Второ, TinyVLA изобщо не може да бъде обучен тук.
Изпълнение на ниво 24 GB отнема 2 до 5 часа при 0.30 до 0.60 USD на час, приблизително 1 до 3 USD. На ниво A100, политика от ~3 B е 3 до 6 часа при 1.20 до 2.00 USD на час, приблизително 4 до 12 USD. Вижте ценообразуване, и същите операции от CLI и MCP сървъра.
Когато малък модел е грешен избор
И двата документа са по-внимателни тук, отколкото са резюметата. Анализът на отказите на TinyVLA е специфичен: вариантът от 0.4 B се провали три пъти, като неправилно прочете инструкцията, което авторите приписват на ограниченото езиково разбиране в по-малкия VLM, и този режим изчезна при 1.3 B. SmolVLA показва същата крива от другия край: версията от 2.25 B на идентичната архитектура постига 88.75 точки на LIBERO и 68.24 на Meta-World срещу 87.3 и 57.3 за модела от 0.45 B.
- Побира се на 24 GB карта, което намалява цената на експеримент от десетки до няколко долара.
- Достатъчно бърз, за да работи до рамото, така че няма мрежов скок в контролния цикъл.
- Фино настройва се върху данни, които един човек може да запише, десетки епизоди, а не хиляди.
- Теглата, списъкът с данни и кодът на SmolVLA са публични, така че лош резултат може да бъде отстранен.
- По-слабо следване на инструкциите: по-малко езикови параметри, по-малка способност за разделяне на подобни референтни изрази.
- По-малка пространствена и визуална обобщаемост към настройки, които не сте записали.
- По-чувствителен към дефекти в набора от данни, с по-малко предварително обучение, на което да разчита.
- Многозадачната работа и работата с дълъг хоризонт все още предпочитат по-големи модели, включително собствения вариант на SmolVLA от 2.25 B.
Сравнението, което си струва да се направи, не е TinyVLA срещу SmolVLA. Това е SmolVLA срещу ACT на ваша собствена задача, а документът за SmolVLA е аргументът защо. Обучен за една задача без предварително обучение по роботика, SmolVLA постигна средно 40.0 точки в три SO-100 задачи, където ACT за една задача постигна 48.3. Това, което го издига до 78.3, е предварителното обучение в общността плюс многозадачното обучение, а не само архитектурата. При задачата SO-101 с лего, и двете еднозадачни, SmolVLA печели: 90 срещу 70 в разпределението. След това SmolVLA срещу Pi0.5 ако бюджетът позволява.
Има по-малко предварително обучение, което да покрие лоши данни, така че чиста крива на загубите при дефектен набор от данни ви дава политика, която уверено възпроизвежда дефекта. Документацията на lerobot е директна относно структурата: 50 епизода в 5 позиции на куб, по 10 на позиция, проработиха; 25 не. Ако загубата изглежда добре и ръката не прави нищо полезно, започнете от загубата пада, политиката не прави нищо, политиката работи само в една настройка или събиране на VLA данни за обучение, които са наистина използваеми.
Пет политики, една сравнителна таблица
GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA и ACT с реални бройки параметри, латентност на извода за стъпка на действие, нивото на GPU, което всеки изисква, и минималния брой епизоди, преди да направи нещо полезно.
Сравнете политикитеТаблица за решения, по която можете да действате
| Вашата ситуация | Започнете с | Защо |
|---|---|---|
| Една задача, добри демонстрации, без език | ACT | ~80 M, 20 ms, 24 GB card, no base model to download |
| Няколко свързани задачи, по една инструкция за всяка | SmolVLA | 450 M, in lerobot, 30 episode minimum, 1 to 3 USD per run |
| Конкретно възпроизвеждане на резултата от TinyVLA | TinyVLA-B or TinyVLA-H | Репозиторито е единственият път: изолирана среда, конвертирани данни |
| Многозадачност, разнообразни инструкции, бюджет за A100 | GR00T N1.7 or Pi0.5 | ~3 B, 152 ms and 485 ms per step, 4 to 12 USD per run |
| Все още няма робот | Управлявайте истинска ръка | Живата ръка, базирана на опашка, не изисква регистрация и хардуер |
За последния ред, живата ръка предава на живо физически SO-100, който можете да управлявате от браузъра без акаунт, а трите начина да започнете покрива останалото. SO-100 е референтната ръка тук, приблизително 110 до 150 EUR за части, с пълно ръководство за настройка.
Какво следва след моделите под 1 милиард
Намаляването на броя на параметрите е един от начините да се направи VLA евтин и не е очевидно печелившият. OpenVLA-OFT (arXiv 2502.19645) запазва 7 милиардната основа и променя само начина, по който се декодират действията, отчитайки 26-кратно увеличение на пропускателната способност за генериране на действия и нарастване на LIBERO от 76.5 на 97.1 процента. BitVLA (arXiv 2506.07530) прави всяка тежест на 1-битова BitNet b1.58 2B4T основа троична, отчитайки 11.0x по-малко памет и 4.4x по-ниска латентност от край до край, докато съвпада с пълнопрецизния OpenVLA-OFT. X-VLA-0.9B (arXiv 2510.10274) се намира на линията от 1 милиард с flow matching.
Общата нишка: декодерът на действията, а не езиковият модел, е мястото, където се крие латентността. Питайте как една политика излъчва действия, преди да попитате колко параметри има. Арената има 85 модела и 332 резултата, всеки свързан със своя източник; има по-широк преглед в нашето въведение във VLA.
Мога ли да фино настроя SmolVLA на RTX 4090?▾
Да. SmolVLA е с 450 M параметри и AY-Robots го изпълнява на ниво RTX 4090 / 24 GB. Примерът с lerobot използва --batch_size=64, което е пример, а не гаранция за вашата карта; документацията съветва да започнете с малък размер и да го увеличавате, докато времето за зареждане остава кратко. Очаквайте по-дълго време от приблизително 4-те часа, които документацията цитира за 20000 стъпки на A100.
Наличен ли е TinyVLA в lerobot или на AY-Robots?▾
Не и за двете. TinyVLA съществува само в своето изследователско хранилище, последното кометване е от 11 март 2025 г., и неговият формат е HDF5 в ACT-стил, а не LeRobot. AY-Robots обучава GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA и ACT. Ако искате TinyVLA, трябва да го изградите сами и първо ще трябва да поправите пътя до конфигурацията на DeepSpeed в scripts/train.sh.
Наистина ли модел с 450 M параметри е конкурентен на такъв с 3 B?▾
Според собствените бенчмаркове на авторите, да: 87.3 срещу 86.0 на LIBERO спрямо предварително обучен за роботика Pi0 с 3.3 B, и 78.3 срещу 61.7 на три реални SO-100 задачи, където същата статия етикетира Pi0 с 3.5 B. Ограничението е в същата статия: при единична задача без предварително обучение за роботика, SmolVLA пада до 40.0, под 48.3 на ACT.
Колко епизода са ми необходими, преди малък VLA да започне да прави нещо?▾
AY-Robots определя минимума за SmolVLA на 30 епизода, а минимума за ACT на 50. Документацията на lerobot препоръчва около 50 и съобщава, че 25 не са били достатъчни за същата задача. Структурата е също толкова важна, колкото и броят: наборът от статията е използвал 5 позиции на кубчета с по 10 епизода за всяка.
Защо публикуваните данни за латентност се различават толкова много?▾
Те измерват различни неща. TinyVLA отчита 14 ms за предсказване на действие на A6000; AY-Robots посочва SmolVLA на 245 ms и ACT на 20 ms за стъпка на действие. Някои цифри покриват едно преминаване напред, някои разделят преминаването през 50-действена част, и почти нито едно не включва заснемане с камера или запис към сервомоторите.
Решава ли облачният инференс проблема с GPU?▾
Отчасти. AY-Robots автоматично осигурява под, който обслужва политиката, докато локалният клиент комуникира с тази крайна точка, с неактивен наблюдател, така че да се самоунищожи, вместо да таксува мълчаливо. Той не може да премахне пътуването напред-назад през публичния интернет, а контролният цикъл вече е от 20 до 485 ms за стъпка на действие. Добре е за бавно вземане и поставяне, но не и за бързо реактивно движение.
Sources
- TinyVLA: Към бързи, ефективни по отношение на данни визуално-езиково-акционни модели за роботизирана манипулация
- Официално хранилище с код на TinyVLA (README, requirements.txt, scripts/train.sh)
- Проектна страница на TinyVLA
- lesjie/Llava-Pythia-1.3B, теглата на гръбнака на TinyVLA-H
- SmolVLA: Визуално-езиково-акционен модел за достъпна и ефективна роботика
- Документация на lerobot: фино настройване на SmolVLA
- lerobot: configuration_smolvla.py, настройките по подразбиране на SmolVLA
- Карта на модела lerobot/smolvla_base
- SmolVLA: Ефективен визуално-езиково-акционен модел (блог на Hugging Face)
- lerobot на PyPI (0.6.1, изисква Python 3.12 или по-нова версия)
- OpenVLA: Модел с отворен код за визуално-езиково-акционни задачи
- Фино настройване на визуално-езиково-акционни модели: Оптимизиране на скоростта и успеха (OpenVLA-OFT)
- BitVLA: 1-битови визуално-езиково-акционни модели за роботизирана манипулация
- X-VLA: Трансформатор с меки подкани като мащабируем визуално-езиково-акционен модел за различни въплъщения
- Карта на модела rail-berkeley/octo-small-1.5 (27 M параметри)
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