/ Модель

Характеристики

Лицензия
CC BY-SA 4.0
Базовая модель
smolvla_base
Библиотека
lerobot
Опубликована
10 июл 2026

TPSoSe2026_SmolVLA_LeRobot_SO101_Finetuning_V5_Full

Языковая модельИзображение, текст → action

Дообученная SmolVLA для управления рукой SO-101 по изображениям, состоянию робота и английским инструкциям.

0скачиваний за 30 дней0лайковвеса обновлены19 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

SmolVLA SO-101 Multi-Task V5 Full — разработанная Project-IRA версия модели lerobot/smolvla_base, дообученная методом имитационного обучения на демонстрациях управления роботом SO-101. Модель принимает изображения с двух камер, состояние робота и инструкцию на английском языке и выдаёт действия для 6-осевого манипулятора. Обучение завершено на 100 000 шагах на наборе из 930 эпизодов; энкодер зрения оставался замороженным.

Модель предназначена для выполнения четырёх задач на роботизированной руке SO-101 по языковым инструкциям. Для работы ожидаются камеры с ключами camera1 (запястье) и camera2 (вид на стол); во время инференса изображения подаются с разрешением 640×480. Для лучшего результата рекомендуется использовать формулировки инструкций из обучающего набора.

Качество описано как рабочее, но заметно уступающее V6: характерный сбой — рука не направляется к объектам, что автор связывает с замороженным энкодером зрения. Оценка качественная, формальных показателей успешности нет. Поведение ограничено распределением демонстраций, возможны ошибки при новых сценах и формулировках; физическое выполнение требует надзора. Лицензия весов и конфигурации проекта — CC BY-SA 4.0.

Сценарии применения

  • управление рукой SO-101 по инструкции на английском языке
  • выполнение обученных манипуляционных задач на рабочем столе
  • имитация действий из телепер управляемых демонстраций
  • эксперименты с VLA-политиками для роботизированной руки
  • сравнение влияния замороженного энкодера зрения с версией V6

Ограничения

На новых сценах, объектах и формулировках качество может снижаться; модель не обучена систематическому восстановлению после ошибок и не имеет формальной оценки успешности. Энкодер зрения заморожен, поэтому автор отмечает случаи, когда рука не направляется к объектам; требуется надзор при физическом исполнении.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

SmolVLA SO-101 Multi-Task — V5 Full

SmolVLA fine-tuned on all four tasks using SmolVLA's default settings — notably with the vision encoder frozen. Superseded by V6 Full.

Part of Project-IRA — Interactive Robotic Arm. Code: https://github.com/Project-IRA/interactive-robotic-arm

Base modellerobot/smolvla_base
RobotSO-101 follower (6-DOF)
Training dataProject-IRA/TPSoSe2026_Dataset_Full_Merged_Final_LeRobot_SO101_V1
Recommended checkpoint100000
Inputscamera1 (wrist) + camera2 (desk) images — renamed keys, see Usage — 6-dim joint state, English instruction
Outputs6-dim continuous action chunks

Quality

Works, but noticeably worse than V6. Best checkpoint 100000.

The characteristic failure was the arm missing objects entirely with no directed motion toward them — the expected symptom when the vision encoder never adapts to the scene. This diagnosis is what motivated V6.

Training

SLURM job 2163390. Single L40S GPU.

SettingValue
Baselerobot/smolvla_base
Dataset930-episode merged set
Steps100000, completed (--save_freq=5000); best at 100000
Batch size64
Vision encoderfrozen (SmolVLA default)
Image augmentationoff
AMPoff
Parameters99,880,992 trainable of 450,046,176 total
Camera keysrenamed — wrist_left->camera1, desk_view->camera2
SLURM--gres=gpu:L40S:1 --cpus-per-task=16 --mem=92G --time=42:00:00
lerobot-train \
    --policy.path=lerobot/smolvla_base \
    --dataset.repo_id=TPSoSe2026_Dataset_Full_Merged_Final_LeRobot_SO101 \
    --batch_size=64 --steps=100000 --save_freq=5000 \
    --num_workers=16 --tolerance_s=0.01 \
    --output_dir=outputs/train/smolvla_full \
    --job_name=smolvla_full \
    --policy.device=cuda --policy.push_to_hub=false --wandb.enable=false \
    --rename_map='{"observation.images.wrist_left": "observation.images.camera1", "observation.images.desk_view": "observation.images.camera2"}'

Kept for comparison — the frozen/unfrozen vision encoder contrast against V6 is the clearest ablation in the project.

Usage

[!CAUTION] This model expects renamed camera keys. Training used --rename_map to remap the dataset's camera features:

Dataset featureWhat the policy expectsPhysical camera
observation.images.wrist_leftobservation.images.camera1wrist
observation.images.desk_viewobservation.images.camera2desk

If you feed this policy wrist_left / desk_view it will fail or silently misbehave. Name your cameras camera1 (wrist) and camera2 (desk) at inference time, or apply the same --rename_map when re-training. The Pi0.5 models do not do this — they use the native wrist_left / desk_view names.

[!IMPORTANT] Model files are nested under outputs_V5/, so from_pretrained on the repo ID will not work:

outputs_V5/train/smolvla_full/checkpoints/<step>/pretrained_model/

Checkpoints present: every 5000 steps from 005000 to 100000. Use 100000. Repo total ~27.7 GB.

hf download Project-IRA/TPSoSe2026_SmolVLA_LeRobot_SO101_Finetuning_V5_Full \
  --include 'outputs_V5/train/smolvla_full/checkpoints/100000/pretrained_model/*' \
  --local-dir ./smolvla_v5
import torch
from lerobot.policies.smolvla.modeling_smolvla import SmolVLAPolicy

policy = SmolVLAPolicy.from_pretrained("Project-IRA/TPSoSe2026_SmolVLA_LeRobot_SO101_Finetuning_V5_Full")
policy = policy.to("cuda").eval()

On-robot rollout:

lerobot-record \
  --robot.type=so101_follower \
  --robot.port=/dev/ttyACM0 \
  --robot.id=$ROBOT_ID \
  --robot.cameras='{
      camera1: {type: opencv, index_or_path: /dev/v4l/by-path/$WRIST_PATH, width: 640, height: 480, fps: 30},
      camera2: {type: opencv, index_or_path: /dev/v4l/by-path/$DESK_PATH,  width: 640, height: 480, fps: 30}
  }' \
  --policy.path=Project-IRA/TPSoSe2026_SmolVLA_LeRobot_SO101_Finetuning_V5_Full \
  --dataset.repo_id=$HF_USER/eval_run \
  --dataset.single_task="Sort the lego by color" \
  --episodes=10

Use one of the exact training prompts (see the dataset card) as the task string. Both cameras run at 640x480 at inference time even though desk_view was recorded at 800x600.

Robot setup

RobotSO-101 follower arm (6-DOF), robot_type: so_follower
TeleoperationSO-101 leader arm
Control frequency30 fps
State / action space6-dim: shoulder_pan.pos, shoulder_lift.pos, elbow_flex.pos, wrist_flex.pos, wrist_roll.pos, gripper.pos
Camera observation.images.desk_view800x600, h264 (recording)
Camera observation.images.wrist_left640x480, h264 (recording)

Inference note: both cameras are run at 640x480 during inference, not at their recording resolutions, to reduce the payload sent to the inference server.

Environment notes

All training ran on a SLURM cluster with L40S GPUs. Two environment details were required and are easy to miss when reproducing:

  • ffmpeg libraries for torchcodec. A minimal conda env supplies the shared libraries that torchcodec discovers at runtime: export LD_LIBRARY_PATH=$CONDA_PREFIX/envs/ffmpeg_libs_v8/lib:<venv>/lib/python3.12/site-packages/nvidia/npp/lib:$LD_LIBRARY_PATH
  • --tolerance_s=0.01 on every run, to accommodate timestamp jitter in the recorded episodes.

Multi-GPU runs additionally set PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True. Datasets and the virtualenv were copied to node-local /scratch before training rather than read from shared storage.

No Weights & Biases logging was enabled for any run (--wandb.enable=false), so there are no public training curves — the job.*.err SLURM logs are the record.

Tasks and prompts

The model is conditioned on English natural-language instructions. Prompt phrasing was varied roughly every 10 episodes during recording, giving 93 distinct prompts in the merged dataset. Use one of the training prompts verbatim for best results — the full lists are on the dataset card.

Limitations

  • Behaviour cloning. The policy imitates teleoperated demonstrations and has no notion of recovery beyond what was demonstrated. It is susceptible to covariate shift and can fail to recover from states outside the demonstration distribution.
  • Recovery data is incidental, not systematic. Recovery behaviour appears in the data only where the operator happened to make and correct a mistake during recording; no recovery episodes were scripted deliberately.
  • Single environment. All data comes from one lab desk with one lighting setup, one camera geometry, and one set of physical objects. Expect degradation elsewhere.
  • Prompt sensitivity. Language conditioning was trained on a fixed set of phrasings (listed in the dataset card). Prompts far from those phrasings may behave unpredictably.
  • No formal evaluation. Quality assessments below are qualitative, from operators observing rollouts on the physical arm. There are no success-rate numbers.
  • Not safety-rated. Supervise all physical execution and keep the workspace clear.

Upstream licensing & attribution

This model is a derivative work of Apache-2.0 licensed components:

ComponentUpstreamLicense
LeRobot frameworkhttps://github.com/huggingface/lerobotApache-2.0
lerobot/smolvla_basehttps://huggingface.co/lerobot/smolvla_baseApache-2.0

Apache-2.0 permits relicensing derivative works. We retain the upstream copyright notices, license text, and NOTICE files for the incorporated material, as Apache-2.0 Section 4 requires. The upstream components remain under Apache-2.0 — only this project's own contributions (the fine-tuned weights and training configuration) are offered under CC BY-SA 4.0.

CC BY-SA 4.0 was chosen because it is share-alike: derivatives must be released under the same licence, so this work cannot be taken closed-source. The project's source code lives in a separate repository under its own licence — see https://github.com/Project-IRA/interactive-robotic-arm.

Citation

@misc{project_ira_2026,
  title        = {Project-IRA: Interactive Robotic Arm},
  author       = {Baten, Cleo and Keppler, Bela and Sapper, Jonas},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/Project-IRA}},
  note         = {Code: \url{https://github.com/Project-IRA/interactive-robotic-arm}}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · lerobot

Нельзя запустить

Модели для роботов не запускаются как сервис инференса.

Ревизия весов
95e933f

0 моделей