SO101-04 SmolVLA
политика для SO-101: взять красный блок и положить на метку
Это файнтюн SmolVLA от jiajinda для робота SO-101. Базовая модель — lerobot/smolvla_base, 450 млн параметров; обучение шло на 50 демонстрациях из трёх датасетов LeRobot. Задача: поднять красный блок и положить его на X-метку.
👀 Ключевые особенности
- 👉 Обучен на всех 50 эпизодах (26 508 кадров) из v2/v3/v4; task string приведён к единому.
- 💪 Дообучались только 99.9 M из 450 M параметров: action expert и проекции; vision/text заморожены.
- 👀 Вход — состояние 6 суставов и камеры front (сверху) и gripper (на запястье); выход — чанк 50×6 абсолютных целевых углов.
- 😐 Чекпоинты каждые 2k шагов; в корне — 10k, также опубликован 20k после продолжения обучения.
- 🤫 Нет held-out и аппаратной оценки; offline-проверка лишь подтверждает загрузку и конечные действия.
💪 Пример
from lerobot.policies.smolvla.modeling_smolvla import SmolVLAPolicy
from lerobot.policies import make_pre_post_processors
path = 'jiajinda/so101-04-smolvla-red-block-to-target-v234'
policy = SmolVLAPolicy.from_pretrained(path).to('cuda').eval()
pre, post = make_pre_post_processors(policy.config, pretrained_path=path)
batch = pre({'observation.state': state[None], 'observation.images.front': front[None],
'observation.images.gripper': wrist[None], 'task': ['Pick up the red block and place it on the X-marked target.']})
actions = post(policy.predict_action_chunk(batch))
Подробнее
Training loss: 0.050 на 8–10k, 0.040 на 18–20k. Offline mean abs diff: 3.0° на 10k и 2.4° на 20k — на тренировочных кадрах, это fit, не generalisation.Обучение: 1× A100-40GB, batch 16, 10k обновлений ≈32.6 мин; продолжение до 20k ≈31 мин.
Ограничение: не тестировалась на роботе, нет held-out; чекпоинт лучше выбирать по реальным испытаниям.
Чекпоинт 20k лежит в
checkpoints/020000.







Комментарии