Страницата на модела SmolVLA на AY-Robots, показваща броя на параметрите, нивото на GPU, латентността на извода за стъпка на действие и минималния брой епизоди
SmolVLALeRobotОбучение на VLAФино настройванеSO-100

Как да обучим SmolVLA на 24 GB GPU (lerobot 0.6.1)

AY-Robots ResearchAugust 23, 202617 мин четене

SmolVLA е VLA с 450 M параметъра, което се фино настройва на една 24 GB карта. Реални lerobot 0.6.1 команди, действителните настройки по подразбиране, капаните, които струват един ден, и колко струва едно изпълнение.

SmolVLA на един екран

  • 450 M параметри, около 100 M от тях са експерт по действие за съвпадение на потока. lerobot обучава само този експерт и поддържа VLM замразен, поради което се побира на една карта.
  • Ръководството за изчисления на LeRobot поставя групата smolvla на приблизително 10 до 16 GB пикова VRAM при пакет 8 с AdamW. Оттук 24 GB.
  • Входната точка е 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 GB, струващо 1 до 3 USD на изпълнение срещу 4 до 12 за моделите от 80 GB.

Повечето хора, които искат модел за визия, език и действие на истинска ръка, спират до хардуерната линия. GR00T N1.7 и Pi0.5 са около три милиарда параметри всеки и изискват A100 80 GB или H100. Ако притежавате геймърски компютър с RTX 4090, това е краят на пътя. SmolVLA е изключението: 450 M параметри, в LeRobot, създаден за фино настройване на една потребителска карта и обслужване от CPU.

Първо ръчният път: инсталирайте lerobot, изтеглете lerobot/smolvla_base контролна точка, изпълнете истинската команда, прочетете изпълнението, докато се случва. След това пътят на платформата и къде не помага.

Какво е SmolVLA, в числа, които можете да проверите

SmolVLA е съвпадение на потока политика, прикрепена към малък визуален езиков модел. Гръбнакът е SmolVLM2-500M-Video-Instruct; в статията се запазват само първите 16 слоя от неговия езиков модел, ограничава се всеки кадър от камерата до 64 визуални токена с пикселно разбъркване вместо плочки на изображението и се редува кръстосано внимание със слой за самовнимание на всеки втори блок. Разходите за инференция бяха ограничение при проектирането, а не допълнителна мисъл.

СвойствоСтойностИзточник
Общи параметриоколо 450 Mpaper
Експерт по действияоколо 100 M, съвпадение на потокаpaper
VLM backboneHuggingFaceTB/SmolVLM2-500M-Video-Instructvlm_model_name
Използвани VLM слоевепървите 16 от езиковия моделnum_vlm_layers = 16
Визуални токени на кадър64, пикселно разбъркване, без плочкиpaper
Предварително обучение481 общностни набора от данни, 22.9 K епизода, 10.6 M кадъра; 200000 стъпки при глобален пакет 256 на 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 GB карта е правилният избор за първо стартиране

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 GB карта побира това плюс зареждащия модул за данни. AY-Robots поставя SmolVLA на RTX 4090 или всяка 24 GB карта, минимум 30 епизода, LeRobot v3.0 данни, 245 ms на стъпка на действие. Нает, това е от 2 до 5 часа при 0.30 до 0.60 USD на час, около 1 до 3 USD за фина настройка изпълнение, срещу 4 до 12 USD на нивото от 80 GB, което GR00T и Pi0.5 изискват (цени). Неуспешно изпълнение на SmolVLA е едно кафе; неуспешно изпълнение на GR00T е обяд.

Таблица с разходи за AY-Robots: карта на политика, време за изпълнение, цена на изпълнение, необходими епизоди
SmolVLA и ACT са на реда за 24 GB, трите 3 B модела са на реда за 80 GB.
Започване със SmolVLA вместо с 3 B модел
Какво получавате
  • Подходящ за хардуер, който може вече да притежавате: приблизително 10 до 16 GB при batch 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 ms на стъпка на действие е компетентен контролер за вземане и поставяне, а не реактивен.
  • Примерът от документацията изпълнява batch 64 на A100; на 24 GB разменяте batch за реално време.

Стъпка 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. Запишете веднъж, планирайте да сравните модели по-късно и ще конвертирате по един или друг начин: отхвърлен набор от данни 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 зарежда предварително обучен 450 M контролен пункт и го донастройва. --policy.type=smolvla изгражда нов SmolVLA, а стандартната конфигурация load_vlm_weights = False означава, че дори не изтегля тежестите на гръбнака на SmolVLM2, освен ако не поискате. Ако сгрешите, изпълнението ще се обучи успешно, ще струва същото и няма да научи нищо преносимо.

Изпълнението на обучението, команда по команда

  1. 1
    Удостоверяване спрямо Hub

    Базовият контролен пункт идва от Hub, а вероятно и вашият набор от данни също.

    bash
    hf auth login
  2. 2
    Прочетете опциите веднъж

    Всяко поле от конфигурацията на конвейера и политиката е флаг. Прегледайте го набързо, преди да се задълбочите в изходния код.

    bash
    lerobot-train --help
  3. 3
    Стартирайте фината настройка

    Примерът в документацията изпълнява пакет 64 на един A100; собственият A100 40 GB еквивалент в ръководството за изчисления е пакет 16, а 8 е еквивалентът за 24 GB. Тук няма флаг за планировчик нарочно, вижте по-долу.

    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 GB
--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 M получава градиентиtrue първоначално
Графикът: какво обработва 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, отпечатвайки Автоматично мащабиране на LR планировчика, докато го прави. То никога не мащабира нагоре: затихването е ограничено с 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 (flow matching denoise)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 M параметъра, а не 450 M, поради което се побира на 24 GB. Собственият референтен тест на LeRobot на клъстер от четири H100 GPU обръща и двете на false; на една 24 GB карта това превръща работещ тест в срив поради недостиг на памет.

Липсващият регулатор на паметта

Съветът на ръководството, когато сте ограничени от паметта, е да намалите размера на пакета (batch size) и да използвате натрупване на градиенти (gradient accumulation), за да възстановите ефективния пакет. Няма натрупване на градиенти в lerobot 0.6.1: TrainPipelineConfig няма такова поле и низът не се появява никъде в пуснатия пакет. Формулярът на AY-Robots показва стойност за натрупване на градиенти от 8 за SmolVLA и също не я прилага. Вашите лостове на 24 GB са --batch_size, двете настройки по подразбиране за замразяване и --policy.use_amp.

Колко време отнема изпълнението и колко стъпки са достатъчни

LeRobot публикува реални времеви ориентири за пет епохи върху набор от данни от приблизително 50 епизода, около 45000 кадъра при 30 fps. Цифри от порядъка на величината, казват документите, но те са разликата между очакване на час и ден.

НастройкаПолитикаПакетРеално време
Единичен L4 / A10G (24 GB)smolvla4около 3 до 6 ч
Единичен A100 40 GBsmolvla16около 1 до 2 ч
4 x H100 80 GB с acceleratesmolvla32около 1 до 2 ч
Единичен RTX 4090 / RTX 3090 (24 GB)act8около 30 до 60 мин
Извършете аритметиката на епохите, преди да изберете --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-те ms на стъпка на действие лесно могат да бъдат разбрани погрешно: политиката излъчва chunk_size = 50 действия на едно преминаване напред и изпълнява n_action_steps = 50 от тях, така че колко често плащате тази цена се определя от тези настройки, а не от това колко често сервомоторите получават команда. Това е, което групиране на действия осигурява, и защо модел от 245 ms може да управлява 30 Hz рамо. Това, което остава, е латентност на извода в края на групата.

Измерване (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 ms на стъпка на действие в зависимост от модела, а кръговите пътувания през публичния интернет отгоре превръщат работещата политика в колеблива. Отдалеченият извод е жизнеспособен за бавно взимане и поставяне, но не и за бързо реактивно движение: ако задачата изисква бързи корекции, GPU трябва да е в същата LAN като рамото.

7.4 V, не 12 V

Извън темата за тренировъчен цикъл, но това прекратява повече SO-100 проекти от всеки хиперпараметър. Сервомоторите Feetech STS3215 в SO-100 и SO-101 работят на 7.4 V; 12 V ги унищожава. LeKiwi комбинира 7.4 V рамо с 12 V основа, което е начинът, по който грешният захранващ конектор намира грешния контакт.

Два пътя до една и съща контролна точка

Вие притежавате машината, средата и отстраняването на грешки. Единствената зависимост от облака е изтеглянето на базовата контролна точка от 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. Записахте ли си сида? lerobot по подразбиране е 1000, така че две непроменени изпълнения остават сравними.
  6. Едва тогава: повече епизоди, повече вариации или по-голям модел. В този ред.

Защо съществуват тези модели и какво правят с езиковия вход, е фонът; преминава през сглобяване чрез до първото изпълнение. За завършената контролна точка, ; ако ръката никога не се появи, .

Обучете SmolVLA на собствената си ръка

Изберете модела и ръката и ръководството ще ви даде точните настройки по подразбиране, формата на набора от данни и колко струва изпълнението. SmolVLA е на нивото от 24 GB на цена от 1 до 3 USD на изпълнение.

Отворете ръководствата за обучение
Мога ли наистина да фино настроя SmolVLA на RTX 4090?

Да. Ръководството за изчисления на LeRobot поставя SmolVLA на приблизително 10 до 16 GB пикова VRAM при batch 8 с AdamW и изброява 24 GB потребителски карти като удобни за него. Batch 64 в примера от документацията е сдвоен с един A100. Паметта се мащабира приблизително линейно с batch, така че използвайте 4 или 8 и следете mem_gb.

Колко епизода всъщност са ми необходими?

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

Документацията казва batch 64, платформата изпраща batch 2. Кое е правилното?

И двете, за различен хардуер. Примерът от документацията използва batch 64 и цитира около 4 часа за 20000 стъпки на един A100; A100 40 GB референтната точка от ръководството за изчисления е batch 16. Batch 2 е това, което AY-Robots изпраща на нивото от 24 GB. Локално 4 до 8 е средата, и аритметиката на епохите се променя с това.

SmolVLA или ACT за първо изпълнение на SO-100?

ACT, ако задачата е едно повтарящо се движение и искате най-бързия цикъл: 20 ms на стъпка на действие, 80 M параметъра, без езиково обуславяне. SmolVLA, ако искате езиково обуславяне, няколко низа на задачи в един чекпойнт и предварително обучена база. И двете са на нивото от 24 GB, така че изборът е задачата, а не бюджетът.

Трябва ли да задам --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