Сторінка моделі SmolVLA на AY-Robots, що показує кількість параметрів, рівень GPU, затримку висновку на крок дії та мінімальну кількість епізодів
SmolVLALeRobotНавчання VLAДоопрацюванняSO-100

Як тренувати SmolVLA на 24 ГБ GPU (lerobot 0.6.1)

AY-Robots ResearchAugust 23, 202617 хв читання

SmolVLA — це VLA з 450 мільйонами параметрів, який доопрацьовується на одній 24 ГБ карті. Справжні команди lerobot 0.6.1, фактичні значення за замовчуванням, пастки, що коштували цілий день, і вартість одного запуску.

SmolVLA на одному екрані

  • 450 мільйонів параметрів, з яких близько 100 мільйонів — це експерт з узгодження потоків дій. lerobot тренує лише цього експерта і залишає VLM замороженим, тому він поміщається на одній карті.
  • Посібник з обчислень LeRobot вказує, що група smolvla потребує приблизно від 10 до 16 ГБ пікової VRAM при розмірі пакету 8 з AdamW. Отже, 24 ГБ.
  • Точкою входу є lerobot-train. У дописі блогу SmolVLA за червень 2025 року все ще вказується python lerobot/scripts/train.py, шлях, який більше не існує. Все нижче стосується lerobot 0.6.1.
  • Косинусний розклад заздалегідь налаштований на спад протягом 30000 кроків. lerobot 0.6.1 масштабує його вниз для коротшого запуску та логує це, але ніколи не вгору: стандартний запуск на 100000 кроків закінчується на рівні 2.5e-6 протягом 70000 кроків.
  • Тридцять епізодів — це мінімум для AY-Robots, на рівні 24 ГБ, що коштує від 1 до 3 USD за запуск проти 4 до 12 для моделей на 80 ГБ.

Більшість людей, які хочуть модель зору, мови та дії на реальній руці, зупиняються на апаратному забезпеченні. GR00T N1.7 та Pi0.5 мають близько трьох мільярдів параметрів кожна і потребують A100 80 ГБ або H100. Якщо у вас є ігровий ПК з RTX 4090, це кінець шляху. SmolVLA є винятком: 450 мільйонів параметрів, всередині LeRobot, створена для тонкого налаштування на одній споживчій карті та обслуговування з CPU.

Спочатку ручний шлях: встановіть lerobot, завантажте lerobot/smolvla_base контрольний пункт, запустіть справжню команду, читайте журнал виконання під час його роботи. Потім шлях через платформу, і де він не допомагає.

Що таке SmolVLA, у числах, які можна перевірити

SmolVLA — це узгодження потоків політика, інтегрована в невелику візуально-мовну модель. Основою є SmolVLM2-500M-Video-Instruct; у статті збережено лише перші 16 шарів її мовної моделі, кожен кадр камери обмежено 64 візуальними токенами за допомогою піксельного перемішування замість мозаїчного зображення, а перехресна увага чергується з шаром самостійної уваги через кожен другий блок. Вартість висновку була обмеженням при проектуванні, а не додатковою думкою.

ВластивістьЗначенняДжерело
Загальна кількість параметрівabout 450 Mpaper
Експерт з дійabout 100 M, flow matchingpaper
Основа VLMHuggingFaceTB/SmolVLM2-500M-Video-Instructvlm_model_name
Використані шари VLMfirst 16 of the language modelnum_vlm_layers = 16
Візуальні токени на кадр64, pixel shuffle, no tilingpaper
Попереднє навчання481 community datasets, 22.9 K episodes, 10.6 M frames; 200000 steps at global batch 256 on 4 GPUspaper

Бенчмарки — це причина, чому люди звертають увагу на модель розміром 450 M. На LIBERO вона показує в середньому 87.3 відсотка проти 76.5 для OpenVLA на 7 B і 86.0 для попередньо навченої робототехнічної Pi0 на 3.3 B; на Meta-World — 57.3 проти 47.9. На реальному обладнанні SO-100 багатозадачне навчання дає 75 відсотків на операціях «взяти і покласти», 90 на укладанні, 70 на сортуванні, в середньому 78.3, тоді як ACT навчена для кожного завдання, в середньому показала 48.3. Ті ж самі рядки знаходяться поруч з кожним опублікованим VLA у записі SmolVLA на арені та у порівнянні ACT зі SmolVLA.

Чесна версія заяви про розмір

SmolVLA не краща за модель 3 B у всьому. Власна таблиця SO-101 у статті є доказом: 90 відсотків успіху в розподілі, 50 відсотків поза ним, на платформі, на якій вона ніколи не була попередньо навчена. Що вона стверджує і підтримує, так це те, що порівняно з Pi0 вона навчається приблизно на 40 відсотків швидше, використовуючи в 6 разів менше пам'яті.

Чому карта на 24 ГБ є правильним вибором для першого запуску

LeRobot постачає посібник з розрахунку обчислювальних ресурсів, найкориснішу сторінку в репозиторії для цього. Він групує політики за розміром основи та надає один об'єм VRAM на групу, виміряний при розмірі пакету 8 з AdamW, що є стандартним для lerobot. Сам стан оптимізатора додає від 30 до 100 відсотків до чистого прямого та зворотного проходу, тому це не лише показники ваг.

ГрупаПолітикиПіковий VRAM (пакет 8, AdamW)Початкові GPU
Легкий BCact, vqbet, tdmpcabout 2 to 6 GBRTX 3060, L4
Дифузіяdiffusion, multi_task_ditabout 8 to 14 GBRTX 4070+, L4
Малий VLAsmolvlaabout 10 to 16 GBRTX 4080+, L4, A10G
Великий VLApi0, pi0_fast, pi05, xvla, wall_xabout 24 to 40 GBA100 40 GB+
Мультимодальнийgroot, eo1about 24 to 40 GBA100 40 GB+

Десять-шістнадцять гігабайт при розмірі пакету 8 — це аргумент: карта на 24 ГБ вміщує це плюс завантажувач даних. AY-Robots розміщує SmolVLA на RTX 4090 або будь-якій карті на 24 ГБ, мінімум 30 епізодів, LeRobot v3.0 даних, 245 мс на крок дії. Орендовано, це 2-5 годин за 0.30-0.60 USD за годину, близько 1-3 USD за доналаштування запуск, проти 4-12 USD на рівні 80 ГБ, який потрібен GR00T та Pi0.5 (ціни). Невдалий запуск SmolVLA — це кава; невдалий запуск GR00T — обід.

Таблиця витрат AY-Robots: карта за політику, час виконання, ціна за виконання, необхідні епізоди
SmolVLA та ACT розташовані в рядку 24 ГБ, три моделі 3 B — у рядку 80 ГБ.
Початок роботи зі SmolVLA замість моделі 3 B
Що ви отримуєте
  • Підходить для обладнання, яке у вас вже може бути: приблизно 10-16 ГБ при пакеті 8.
  • Невдалий запуск коштує годин і кілька доларів, тому ви можете дозволити собі помилитися щодо набору даних.
  • Попередньо навчений на громадських наборах даних, поширених під тегом lerobot, з реальними результатами SO-100 та SO-101.
  • Він знаходиться в самому lerobot: немає репозиторію постачальника, і smolvla_base не є закритим.
Чим ви жертвуєте
  • 450 M — це все ще 450 M: успіх поза розподілом падає з 90 до 50 відсотків у таблиці SO-101 статті.
  • Він вимагає дані LeRobot v3.0; запис v2.1 потрібно конвертувати (dataset rejected v3).
  • 245 мс на крок дії — це компетентний контролер для операцій типу «взяти та покласти», а не реактивний.
  • Приклад у документації запускає пакет 64 на A100; на 24 ГБ ви обмінюєте розмір пакету на реальний час виконання.

Крок 0: набір даних визначає запуск, а не прапорці

Ніщо з наведеного нижче не має значення, якщо запис поганий. Сторінка LeRobot SmolVLA прямо заявляє: еталонний набір даних складався з 50 епізодів для 5 позицій куба, по 10 на позицію, і те саме завдання з 25 епізодами виконувалося погано. Повторення для кожної варіації узагальнює, сира кількість епізодів — ні. Ніколи не записували? Почніть з запишіть свій перший набір даних за допомогою десктопного клієнта, який записує формат LeRobot із сесії телеоперації, або запозичте його з каталогу наборів даних.

  • Щонайменше 30 епізодів на AY-Robots, близько 50 для еталонного рецепту LeRobot.
  • Кожна варіація, яку ви очікуєте під час розгортання, повторена кілька разів.
  • Один рядок завдання, написаний ідентично під час запису та розгортання. Модель обумовлена цим текстом.
  • Фіксовані камери. Камера, переміщена між записом і розгортанням, є найпоширенішою причиною того, що чиста крива втрат дає нерухому руку.
  • Відкладена варіація, на якій ви ніколи не тренувалися, щоб мати щось чесне для тестування.
Пастка набору даних, яка коштує дня

SmolVLA, Pi0.5 та ACT вимагають LeRobot v3.0. GR00T N1.7 та N1.5 вимагають v2.0 або v2.1, і їхній завантажувач виходить з ладу на v3.0. Запишіть один раз, плануйте порівняти моделі пізніше, і ви конвертуєте так чи інакше: dataset rejected v3.

bash
# v2.1 -> v3.0: aggregates per-episode files into shards and writes the episode offsets
python -m lerobot.scripts.convert_dataset_v21_to_v30 --repo-id=${HF_USER}/so100_pick_place
Конвертер постачається всередині lerobot, тому нічого додаткового встановлювати не потрібно. У пакеті немає конвертера в іншому напрямку.

Більше про це в як збирати високоякісні дані для навчання VLA. Коротка версія: від 30 до 50 чистих епізодів одного завдання з навмисною варіацією перевершують 200 недбалих епізодів трьох, з перевагою, яку не закриє жоден гіперпараметр.

Встановлення lerobot 0.6.1

bash
# LeRobot needs Python 3.12 or newer as of 0.6.x
conda create -y -n lerobot python=3.12
conda activate lerobot

# TorchCodec decodes the dataset videos and wants ffmpeg
conda install ffmpeg -c conda-forge

# Base package is deliberately thin; extras pull the rest
pip install 'lerobot[smolvla,training,core_scripts]'

# Sanity check: prints the lerobot version, the GPU torch sees, and the console scripts you got
lerobot-info
Шлях PyPI. Щоб пропатчити тренажер, клонуйте репозиторій і замість цього використовуйте pip install -e ".[smolvla,training]".

Базова lerobot інсталяція є мінімальною і приховує важкі залежності за додатковими пакетами: smolvla додає transformers, num2words та accelerate, training стек даних та wandb, core_scripts залежності для апаратного забезпечення та візуалізації. У Linux шлях встановлення також визначає ваш CUDA wheel: за замовчуванням PyPI використовує cu130 wheel з мінімальною версією драйвера 580.65, тому на старому драйвері спочатку встановіть torch з індексу cu128, а потім lerobot.

policy.path та policy.type — це не одні й ті ж прапори

--policy.path=lerobot/smolvla_base loads the pretrained 450 M checkpoint and fine-tunes it. --policy.type=smolvla builds a fresh SmolVLA, and the config default load_vlm_weights = False means it does not even pull the SmolVLM2 backbone weights unless you ask. Get it wrong and the run trains happily, costs the same, and learns nothing transferable.

Запуск навчання, команда за командою

  1. 1
    Автентифікація в Hub

    Базовий контрольний пункт походить з Hub, і ваш набір даних, ймовірно, також.

    bash
    hf auth login
  2. 2
    Прочитайте параметри один раз

    Кожне поле конфігурації конвеєра та політики є прапорцем. Перегляньте його, перш ніж заглиблюватися у вихідний код.

    bash
    lerobot-train --help
  3. 3
    Почніть доналаштування

    Приклад у документації запускає пакет 64 на одному A100; власний якір A100 40 ГБ у посібнику з обчислень — це пакет 16, а 8 — еквівалент 24 ГБ. Прапорець планувальника тут відсутній навмисно, дивіться нижче.

    bash
    lerobot-train \
      --policy.path=lerobot/smolvla_base \
      --dataset.repo_id=${HF_USER}/so100_pick_place \
      --batch_size=8 \
      --steps=20000 \
      --save_freq=2000 \
      --log_freq=200 \
      --seed=1000 \
      --output_dir=outputs/train/smolvla_pick_place \
      --job_name=smolvla_pick_place \
      --policy.device=cuda \
      --wandb.enable=true
  4. 4
    Читайте рядок логу, а не лише втрати

    Кожні --log_freq кроків lerobot виводить loss, grdn, lr, updt_s, data_s, smp/s і, на CUDA, mem_gb. mem_gb показує, чи поміщається пакет, lr — чи розпадається розклад, а data_s, що наближається до updt_s, означає, що вузьким місцем є завантажувач даних, а не GPU.

    bash
    # if data_s creeps toward updt_s
    lerobot-train ... --num_workers=8
  5. 5
    Збирайте контрольні пункти, які можна порівняти

    save_freq за замовчуванням становить 20000, тому запуск на 20000 кроків залишає один контрольний пункт і нічого для порівняння. Встановіть 2000. Для завантаження в Hub потрібен --policy.repo_id.

    bash
    --save_freq=2000 \
    --policy.repo_id=${HF_USER}/smolvla_pick_place \
    --save_checkpoint_to_hub=true
  6. 6
    Відновіть, якщо машина вийде з ладу

    Вкажіть --config_path на train_config.json поруч із контрольним пунктом. lerobot відмовляється запускатися в існуючий output_dir, якщо ви не відновлюєте роботу, тому ви не можете випадково перезаписати запуск.

    bash
    lerobot-train \
      --config_path=<path to the saved train_config.json> \
      --resume=true

Прапорці, які насправді змінюють результат

ПрапорецьЩо він робитьНа 24 ГБ
--batch_sizeЗразки за крок, приблизно лінійно залежить від VRAM4 to 8
--stepsЗагальна кількість кроків оптимізатора20000 first pass
--policy.scheduler_decay_stepsДовжина косинусного розпаду, попередньо встановлено 30000Діє лише після 30000
--policy.use_ampЗмішана точність; SmolVLA не має поля dtypetrue, коли пам'яті мало
--num_workersПроцеси завантажувача даних, за замовчуванням 4Збільшуйте, доки data_s не перестане зростати
--dataset.eval_splitЧастка епізодів, що виділяються для кожного завдання0.1, with --eval_steps
--policy.freeze_vision_encoderЗалишає візуальну вежу замороженоюtrue on 24 GB
--policy.train_expert_onlyЛише експерт ~100 М отримує градієнтиtrue first
Розклад: що 0.6.1 обробляє, а що ні

SmolVLA попередньо встановлює косинусний розклад: `scheduler_warmup_steps = 1000`, `scheduler_decay_steps = 30000`, `scheduler_decay_lr = 2.5e-6`. Старіші рекомендації стверджують, що запуск на 20000 кроків через це зупиняється на середині спаду. У версії 0.6.1 цього не відбувається: `CosineDecayWithWarmupSchedulerConfig.build()` отримує `--steps`, і нижче `num_decay_steps` він масштабує обидва значення, розігрів з 1000 до 666 і спад з 30000 до 20000, виводячи при цьому Auto-scaling LR scheduler. Він ніколи не масштабує вгору: спад обмежується за допомогою `min(current_step, decay_steps)`, тому стандартний `--steps=100000` залишається на мінімальному значенні з кроку 30000 до кінця, що становить 70 відсотків виконання. Лише ця довга частина все ще потребує `--policy.scheduler_decay_steps`. Стовпець `lr` – це те місце, де ви перевіряєте.

Значення за замовчуванням, які ви успадковуєте, якщо нічого не змінюєте

Конфігурація політики у lerobot містить власні попередньо встановлені оптимізатор і планувальник, і якщо ви не встановите use_policy_training_preset=false, ці попередні налаштування мають пріоритет. Половина питань, які люди задають про навчання SmolVLA, відповідаються значенням за замовчуванням, про існування якого вони не знали.

НалаштуванняЗначення за замовчуванням у lerobot 0.6.1Визначено в
chunk_size / n_action_steps50 / 50SmolVLAConfig
num_steps (зіставлення потоків, усунення шуму)10SmolVLAConfig
optimizer_lr1e-4SmolVLAConfig
scheduler_warmup_steps1000SmolVLAConfig
scheduler_decay_steps30000SmolVLAConfig
scheduler_decay_lr2.5e-6SmolVLAConfig
freeze_vision_encodertrueSmolVLAConfig
train_expert_onlytrueSmolVLAConfig
batch_size / steps8 / 100000TrainPipelineConfig
seed / save_freq / num_workers1000 / 20000 / 4TrainPipelineConfig

Два рядки, які дивують людей, це freeze_vision_encoder та train_expert_only, обидва істинні. За замовчуванням ви тренуєте приблизно 100 М параметрів, а не 450 М, тому це вміщується на 24 ГБ. Власний еталонний запуск LeRobot на кластері з чотирма GPU H100 змінює обидва на хибні; на одній 24 ГБ карті це перетворює робочий запуск на збій через нестачу пам'яті.

Регулятор пам'яті, якого немає

Порада посібника, коли ви обмежені пам'яттю, полягає в тому, щоб зменшити розмір пакету (batch size) та використовувати накопичення градієнтів (gradient accumulation) для відновлення ефективного пакету. У lerobot 0.6.1 немає накопичення градієнтів: TrainPipelineConfig не має такого поля, і цей рядок ніде не зустрічається у випущеному пакеті. Форма AY-Robots показує значення накопичення градієнтів 8 для SmolVLA і також не застосовує його. Ваші важелі на 24 ГБ — це --batch_size, два значення за замовчуванням для заморожування та --policy.use_amp.

Скільки часу займає запуск і скільки кроків достатньо

LeRobot публікує часові орієнтири для five epochs на наборі даних приблизно з 50 episode, близько 45000 frames зі швидкістю 30 fps. Це приблизні цифри, як зазначено в документації, але вони є різницею між очікуванням години та дня.

НалаштуванняПолітикаПакетРеальний час
Single L4 / A10G (24 GB)smolvla4about 3 to 6 h
Single A100 40 GBsmolvla16about 1 to 2 h
4 x H100 80 GB with acceleratesmolvla32about 1 to 2 h
Single RTX 4090 / RTX 3090 (24 GB)act8about 30 to 60 min
Виконайте арифметику епох, перш ніж вибирати --steps

Правило полягає в 5-10 епохах над набором даних, а не у фіксованій кількості кроків: steps_per_epoch = ceil(total_frames / (num_gpus x batch_size)). На еталонному наборі даних, на який вказує документація, lerobot/svla_so100_pickplace, метадані повідомляють про 50 епізодів та 19631 кадр: пакет 8 дає близько 2454 кроків за епоху, тому 20000 кроків — це приблизно 8 епох. Зменшіть пакет вдвічі, і той самий бюджет дозволить отримати вдвічі менше епох, тому повторюйте це щоразу, коли змінюєте --batch_size.

Запуск доналаштованої політики на маніпуляторі

bash
lerobot-rollout \
  --strategy.type=base \
  --robot.type=so100_follower \
  --robot.port=/dev/ttyACM0 \
  --robot.id=my_follower_arm \
  --robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}}" \
  --task="Grasp the cube and put it in the box." \
  --policy.path=${HF_USER}/smolvla_pick_place
Рядок завдання має відповідати тому, з яким ви записували. Модель обумовлена цим текстом, тому перефразування є іншою інструкцією.

245 мс на крок дії легко неправильно зрозуміти: політика видає chunk_size = 50 дій за один прямий прохід і виконує n_action_steps = 50 з них, тому частота оплати цих витрат визначається цими параметрами, а не тим, як часто сервоприводи отримують команду. Це те, що розбиття дій на фрагменти дає, і чому модель з 245 мс може керувати рукою з частотою 30 Гц. Залишається затримка висновку наприкінці фрагмента.

Вимірювання (SmolVLA, реальний SO-100)СинхроннийАсинхронний
Час виконання, захоплення та розміщення, 10 спроб13.75 s9.70 s
Цикли захоплення та розміщення у фіксованому часовому вікні919
Показник успішності в середньому за трьома завданнями78.3 %73.3 %

Цей третій рядок більшість описів пропускають. Асинхронний висновок приблизно на 30 відсотків швидший і приблизно подвоює пропускну здатність у фіксованому вікні, а в статті показники успішності називаються порівнянними, якими вони в середньому і є. При цьому сортування впало з 70 до 50 відсотків, тоді як захоплення та розміщення зросло на 5. lerobot 0.6.1 містить інший важіль у тому ж бінарному файлі: --inference.type=rtc перемикає розгортання на фрагментування в реальному часі, що рекомендується власним блоком використання скрипта для повільних VLA, Pi0, Pi0.5 та SmolVLA.

Висновок має бути поруч із сервоприводами

Цикл керування становить від 20 до 485 мс на крок дії залежно від моделі, а кругові поїздки через публічний інтернет перетворюють робочу політику на нерішучу. Віддалений висновок є життєздатним для повільного захоплення та розміщення, але не для швидкого реактивного руху: якщо завдання потребує швидких корекцій, графічний процесор має бути в тій же локальній мережі, що й рука.

7.4 В, а не 12 В

Не за темою навчального запуску, але це завершує більше проєктів SO-100, ніж будь-який гіперпараметр. Сервоприводи Feetech STS3215 у SO-100 та SO-101 працюють при 7.4 В; 12 В їх знищує. LeKiwi поєднує 7.4 В руку з 12 В основою, саме так неправильний роз'єм живлення знаходить неправильне гніздо.

Два шляхи до однієї контрольної точки

Ви володієте машиною, середовищем та налагодженням. Єдина хмарна залежність — це завантаження базової контрольної точки з Hub. Це правильний шлях, якщо ви хочете змінити політику, якщо дані не можуть покинути вашу мережу, або якщо карта простоює.

  • Ви контролюєте CUDA, драйвер, збірку ffmpeg та завантажувач даних.
  • Ви можете виправити configuration_smolvla.py та перенавчити того ж дня.
  • Ви платите за електроенергію та час, а не за запуск, і налагоджуєте TorchCodec самостійно.
bash
pip install 'lerobot[smolvla,training,core_scripts]'
hf auth login

lerobot-train \
  --policy.path=lerobot/smolvla_base \
  --dataset.repo_id=${HF_USER}/so100_pick_place \
  --batch_size=8 --steps=20000 \
  --save_freq=2000 --seed=1000 \
  --output_dir=outputs/train/smolvla_pick_place \
  --job_name=smolvla_pick_place \
  --policy.device=cuda --wandb.enable=true
Весь ручний маршрут в одному блоці, lerobot 0.6.1.

Коли SmolVLA є неправильним вибором

Тест на те, чи був SmolVLA правильним першим запуском, полягає не в тому, чи він спрацював, а в тому, чи невдача щось вам сказала. Досягніть 60 або 70 відсотків, і більша модель є розумною наступною інвестицією: дані несуть сигнал. Досягніть 10 відсотків, і модель 3 B, швидше за все, також досягне 10 відсотків, про що ви щойно дізналися за три долари замість дванадцяти.

Матриця навчання AY-Robots: п'ять політик як рядки, чотири роботизовані руки як стовпці
Кожна клітинка є власним посібником. SmolVLA має по одному для кожної з чотирьох рук.

Варто прочитати перед тим, як витрачати більше: Pi0.5 проти SmolVLA для більшої потужності за тією ж ідеєю, та GR00T N1.7 проти SmolVLA для маршруту NVIDIA, обидва рівня 80 GB за 4-12 USD за запуск. Іншим шляхом, ACT є дешевшою базовою лінією: 80 M параметрів, 20 ms на крок дії, без мовного кондиціонування. Усі п'ять знаходяться на сторінці політик; арена має 85 моделей та 332 результати бенчмарків.

Порівняння політик AY-Robots: параметри, рівень GPU, затримка, мінімальна кількість епізодів
Чотири числа, які визначають запуск.

Контрольний список перед масштабуванням

  1. Чи досяг lr свого мінімуму 2.5e-6? Нижче 30000 кроків lerobot перемасштабовує спад і повідомляє про це при запуску; вище цього значення встановіть --policy.scheduler_decay_steps самостійно.
  2. Більше одного контрольного пункту та епізоди, виділені за допомогою --dataset.eval_split, щоб втрати оцінки мали сенс.
  3. Чи рухається політика взагалі? Падіння втрат при нерухомій руці має конкретні причини: втрати падають, політика нічого не робить.
  4. Чи витримує вона зміну сцени? Якщо ні: політика працює лише в одному налаштуванні.
  5. Ви записали початкове значення (seed)? lerobot за замовчуванням використовує 1000, тому два незмінені запуски залишаються порівнянними.
  6. Тільки тоді: більше епізодів, більше варіацій або більша модель. У такому порядку.

Щодо того, чому існують ці моделі та що вони роблять з мовним вводом, є основою; проводить збірку через до першого запуску. Для завершеного контрольного пункту, ; якщо рука ніколи не з'являється, .

Навчіть SmolVLA на власній руці

Виберіть модель та руку, і посібник надасть вам точні значення за замовчуванням, формат набору даних та вартість запуску. SmolVLA знаходиться на рівні 24 ГБ за ціною від 1 до 3 доларів США за запуск.

Відкрити посібники з навчання
Чи можу я дійсно доналаштувати SmolVLA на RTX 4090?

Так. Посібник з обчислень LeRobot вказує, що SmolVLA потребує приблизно 10-16 ГБ пікової VRAM при пакеті 8 з AdamW і зазначає, що споживчі карти на 24 ГБ є комфортними для цього. Пакет 64 у прикладі документації поєднується з однією A100. Пам'ять масштабується приблизно лінійно з розміром пакета, тому використовуйте 4 або 8 і стежте за mem_gb.

Скільки епізодів мені насправді потрібно?

AY-Robots встановлює мінімум на 30. Документація LeRobot рекомендує близько 50 і повідомляє, що 25 епізодів одного й того ж завдання показали погані результати. Структура важливіша за кількість: еталонний набір складався з 5 позицій куба по 10 епізодів кожна, і саме це повторення узагальнюється.

Документація говорить пакет 64, платформа надсилає пакет 2. Що правильно?

Обидва, для різного обладнання. Приклад у документації використовує пакет 64 і вказує близько 4 годин для 20000 кроків на одній A100; для A100 40 ГБ у посібнику з обчислень вказано пакет 16. Пакет 2 – це те, що AY-Robots надсилає для рівня 24 ГБ. Локально 4-8 є середнім значенням, і з ним змінюється арифметика епох.

SmolVLA чи ACT для першого запуску на SO-100?

ACT, якщо завдання полягає в одному повторюваному русі і ви хочете найшвидший цикл: 20 мс на крок дії, 80 M параметрів, без мовного кондиціонування. SmolVLA, якщо ви хочете мовне кондиціонування, кілька рядків завдань в одному контрольному пункті та попередньо навчену базу. Обидва працюють на рівні 24 ГБ, тому вибір залежить від завдання, а не від бюджету.

Чи потрібно мені встановлювати --policy.scheduler_decay_steps?

Лише коли --steps перевищує 30000. SmolVLA попередньо встановлює косинусний розпад на 30000 кроків, а lerobot 0.6.1 самостійно масштабує його вниз для коротшого запуску, реєструючи "Auto-scaling LR scheduler" при цьому. Він ніколи не масштабується вгору, тому стандартний --steps=100000 залишає останні 70000 кроків на рівні 2.5e-6.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started