
TinyVLA и SmolVLA позволяют использовать рабочую VLA с менее чем 1 миллиардом параметров. Реальные данные из обеих статей, настройки по умолчанию LeRobot, измеренная задержка и стоимость запуска на карте с 24 ГБ памяти.
Почти каждая визуально-языковая модель действий, о которой пишут, предполагает использование карты для дата-центра. OpenVLA имеет 7 миллиардов параметров. GR00T N1.7 и Pi0.5 имеют около 3 миллиардов параметров и требуют A100 80 ГБ для дообучения. Если на вашем столе стоит карта 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 мс на предсказание действия для TinyVLA-1B на одной A6000, против 292 мс для OpenVLA-7B и 140 мс для уменьшенной 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. SmolVLA находится в lerobot и стоит примерно от 1 до 3 USD за запуск на уровне 24 ГБ здесь.
Что на самом деле считается небольшой 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, без языковой модели | Прямая регрессия фрагментов | 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 ГБ во время обучения и достигает ли она вашей скорости управления при инференсе. Пять политик, которые вы можете обучить здесь, находятся на странице политик; TinyVLA имеет запись на арене, если вы хотите сравнить ее показатели с другими.
TinyVLA: скорость исходит от головы, а не от основы
Очевидное предположение состоит в том, что они уменьшили языковую модель, и поэтому она стала быстрее. Абляция в статье говорит об обратном. Замена основы OpenVLA с 7 B на примерно 1 B сократила время предсказания на действие с 292 мс до 140 мс, что является 2-кратным ускорением. TinyVLA-H, при сопоставимом количестве параметров, работает со скоростью 14 мс на той же карте. Остальное 10-кратное ускорение обеспечивает головка действий.
| Модель | Предсказание на действие | Измерено на |
|---|---|---|
| OpenVLA-7B | 292 ms | single A6000 |
| OpenVLA-1B, основа заменена на TinyVLA | 140 ms | single A6000 |
| TinyVLA-1B (TinyVLA-H) | 14 ms | single A6000 |
OpenVLA выдает действия в виде дискретизированных токенов через головку языковой модели, по одному на каждое измерение действия, авторегрессивно. TinyVLA использует диффузионный декодер, который производит весь фрагмент за один раз. Таблица V содержит архитектуру TinyVLA-H и меняет только головку, на тех же пяти задачах реального робота. Это самое чистое доказательство в обеих статьях в пользу аргумента сопоставление потоков политик, и причина, по которой Pi0 отказался от декодирования токенов.
| Производительность на TinyVLA-H | Положить мяч | Перевернуть кружку | Сложить кубики | Закрыть ящик | Открыть коробку |
|---|---|---|---|---|---|
| Диффузия (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 мс взяты из Таблицы IV, все получены на одном A6000. Они относятся к предсказанию одного действия и не включают захват изображения камерой, предварительную обработку и последовательную запись на сервоприводы. Относитесь к опубликованной задержке как к нижней границе, а не как к частоте управления. Наши собственные данные имеют то же ограничение: см. задержка вывода.
Результаты TinyVLA
| Бенчмарк | Протокол | TinyVLA-H | Базовые модели |
|---|---|---|---|
| MetaWorld, 50 задач, симуляция | Многозадачность, 50 демонстраций, 3 сида | 77.6 / 21.5 / 11.4 / 15.8 по сложности, в среднем 31.6 | Diffusion Policy в среднем 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 года, а последний коммит — 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: 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. Исправьте путь перед первым запуском.
- README требует, чтобы имя выходного каталога содержало llava_pythia, а также lora, если LoRA включена.
- Базовая модель загружается отдельно: lesjie/Llava-Pythia-400M, -700M или -1.3B. Нет единой базовой контрольной точки, на которую вы указываете политику так, как вы указываете на lerobot/smolvla_base.
SmolVLA: модель менее 1 миллиарда параметров, которую можно запустить сегодня днем
SmolVLA приводит тот же аргумент внутри поддерживаемой библиотеки. Она имеет 450 миллионов параметров на основе 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 тыс. эпизодов и 10,6 млн кадров на 4 GPU, 200000 шагов при глобальном размере пакета 256; в статье весь проект оценивается примерно в 30 тыс. 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, предварительно обучено для робототехники) | - |
| Meta-World в среднем, многозадачность | 57.3 | 68.24 | 47.9 (3.5 B, предварительно обучено для робототехники) | - |
| Реальный 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 мс на шаг действия и ACT со временем 20 мс в каталоге политик. TinyVLA сообщает о 14 мс на предсказание действия. Эти числа несопоставимы, и рассматривать их как таковые — самая распространенная ошибка в этой теме: некоторые измеряют время одного прямого прохода, другие делят этот проход на чанк, когда разбиение действий на чанки амортизирует его.
- SmolVLA выдает 50 действий за один прямой проход и выполняет все 50. При 30 кадрах в секунду, используемых в статье для реальных роботов, один вывод охватывает около 1.7 секунды движения.
- Асинхронный вывод вычисляет следующий чанк, пока текущий еще выполняется: 9.7 с среднее время выполнения задачи против 13.75 с синхронного, примерно на 30 процентов быстрее, и 19 циклов захвата и размещения в фиксированном 60-секундном окне против 9.
- Показатели успешности были сопоставимы, а не лучше: 78.3 синхронно против 73.3 асинхронно. Асинхронность обеспечивает пропускную способность, а не точность.
- Разбиение на чанки скрывает задержку вычислений, а не задержку сети, и делает политику менее реактивной, поскольку она привязана к 50 действиям.
AY-Robots может автоматически выделять облачный GPU-под, который обслуживает вашу политику, пока локальный клиент робота взаимодействует с этой конечной точкой, а под содержит сторожевой таймер простоя, поэтому он уничтожает себя, а не выставляет счета молча. Чего он не делает, так это не устраняет задержку, связанную с обращением к публичному интернету. Цикл управления для пяти политик здесь составляет от 20 до 485 мс на шаг действия до какой-либо сети вообще, поэтому удаленный вывод жизнеспособен для медленных операций захвата и размещения, но не для быстрых реактивных движений.

Тонкая настройка 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 ГБ ожидайте большего времени и измерьте его.
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Развернуть контрольную точку на манипуляторе
Та же библиотека, одна команда. Флаги для чанкинга в реальном времени закомментированы в документации и предназначены для использования на маломощном оборудовании.
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 ГБ, запишите от 30 до 50 эпизодов, покадрово проверьте потоки с камер.
- pip install -e ".[smolvla]", lerobot-train с использованием lerobot/smolvla_base, затем разверните контрольную точку на машине, к которой подключен манипулятор.
- Для TinyVLA: отдельное окружение conda, преобразование данных в HDF5, регистрация задачи в constants.py, исправление пути zero2.json, сокращение train.sh с восьми GPU до одного.
- Нет почасовой оплаты после покупки карты.
- Инференс находится рядом с сервоприводами, это единственный способ получить быстрый контур управления.
- Вы можете патчить код политики, и TinyVLA доступен только таким способом.
- 4090 исключает каждую политику размером ~3 млрд параметров, поэтому локальное сравнение с GR00T N1.7 или Pi0.5 невозможно.
- Настройка окружения — это настоящая работа. Только зависимости TinyVLA могут занять целый день.
- Нет очереди, нет повторных попыток, нет хранения контрольных точек. Перезагрузка на шаге 14000 означает начало заново.
SmolVLA — одна из пяти политик здесь. Вы выбираете модель и набор данных в форме, бэкенд арендует GPU в соответствии с требуемой VRAM, запускает трейнер и записывает контрольные точки в объектное хранилище. Пошагово: SmolVLA на SO-100, или полная матрица на странице обучения.
| Что платформа отправляет для SmolVLA | Значение |
|---|---|
| размер пакета | 2 |
| скорость обучения | 1e-4 |
| максимум шагов | 20000 |
| накопление градиента | 8, и это не доходит до трейнера |
| дополнительные параметры в форме | seed, logFreq |
| уровень GPU | RTX 4090 или любая карта на 24 ГБ |
| формат набора данных | LeRobot v3.0 |
| минимум эпизодов | 30 |
Во-первых, размер пакета по умолчанию здесь равен 2, а не 64, как в примере документации lerobot, и настройка накопления градиента отправляется, но не имеет эффекта для SmolVLA, поэтому эффективный размер пакета действительно равен 2. Увеличивайте его намеренно, а не предполагайте, что значение по умолчанию соответствует исходному. Во-вторых, TinyVLA здесь вообще не поддается обучению.
Запуск на уровне 24 ГБ занимает от 2 до 5 часов по цене от 0.30 до 0.60 USD в час, что составляет примерно от 1 до 3 USD. На уровне A100 политика размером ~3 млрд параметров занимает от 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 | The repo is the only route: isolated env, converted data |
| Многозадачность, разнообразные инструкции, бюджет A100 | GR00T N1.7 or Pi0.5 | ~3 B, 152 ms and 485 ms per step, 4 to 12 USD per run |
| Робота пока нет | Управляйте настоящей рукой | The queue-based live arm needs no signup and no hardware |
Для последней строки, живая рука транслирует физический SO-100, которым можно управлять из браузера без учетной записи, а три способа начать охватывают остальное. SO-100 является здесь эталонной рукой, стоимостью примерно от 110 до 150 евро в запчастях, с полным руководством по настройке.
Что идет после моделей с числом параметров менее 1 млрд
Сокращение количества параметров — один из способов сделать VLA дешевым, но не обязательно выигрышный. OpenVLA-OFT (arXiv 2502.19645) сохраняет 7-миллиардную основу и изменяет только способ декодирования действий, сообщая о 26-кратном увеличении пропускной способности генерации действий и росте LIBERO с 76,5 до 97,1 процента. BitVLA (arXiv 2506.07530) делает каждый вес 1-битной основы BitNet b1.58 2B4T троичным, сообщая о 11,0-кратном снижении потребления памяти и 4,4-кратном снижении сквозной задержки при сохранении точности OpenVLA-OFT. X-VLA-0.9B (arXiv 2510.10274) находится на линии 1 миллиарда с согласованием потоков.
Общая нить: задержка кроется в декодере действий, а не в языковой модели. Сначала спросите, как политика генерирует действия, а потом уже о количестве ее параметров. Арена содержит 85 моделей и 332 результата, каждый из которых связан со своим источником; более широкий обзор представлен в нашем введении в VLA.
Могу ли я дообучить SmolVLA на RTX 4090?▾
Да. SmolVLA имеет 450 млн параметров, и AY-Robots запускает его на уровне RTX 4090 / 24 ГБ. Пример 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 млн параметров конкурентоспособна с моделью в 3 млрд?▾
По собственным бенчмаркам авторов, да: 87.3 против 86.0 на LIBERO по сравнению с предварительно обученным для робототехники Pi0 в 3.3 млрд, и 78.3 против 61.7 на трех реальных задачах SO-100, где та же статья указывает Pi0 в 3.5 млрд. Ограничение указано в той же статье: для одной задачи без предварительного обучения робототехнике SmolVLA падает до 40.0, что ниже 48.3 у ACT.
Сколько эпизодов мне нужно, прежде чем небольшой VLA начнет что-то делать?▾
AY-Robots устанавливает минимум для SmolVLA в 30 эпизодов, а для ACT — в 50. Документация lerobot рекомендует около 50 и сообщает, что 25 было недостаточно для той же задачи. Структура имеет такое же значение, как и количество: в наборе данных статьи использовалось 5 позиций куба по 10 эпизодов для каждой.
Почему опубликованные данные о задержке так сильно расходятся?▾
Они измеряют разные вещи. TinyVLA сообщает о 14 мс на предсказание действия на A6000; AY-Robots указывает SmolVLA на уровне 245 мс и ACT на уровне 20 мс на шаг действия. Некоторые цифры охватывают один прямой проход, некоторые делят проход на блок из 50 действий, и почти ни одна не включает захват камеры или запись на сервоприводы.
Решает ли облачный инференс проблему с GPU?▾
Частично. AY-Robots автоматически выделяет под, который обслуживает политику, в то время как локальный клиент взаимодействует с этой конечной точкой, с функцией контроля простоя, чтобы он уничтожался сам, а не выставлял счета впустую. Это не устраняет задержку кругового пути через публичный интернет, а цикл управления уже составляет от 20 до 485 мс на шаг действия. Подходит для медленных операций типа «взять и положить», но не для быстрых реактивных движений.
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 млн параметров)
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