
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 M | paper |
| Експерт по действия | около 100 M, съвпадение на потока | paper |
| VLM backbone | HuggingFaceTB/SmolVLM2-500M-Video-Instruct | vlm_model_name |
| Използвани VLM слоеве | първите 16 от езиковия модел | num_vlm_layers = 16 |
| Визуални токени на кадър | 64, пикселно разбъркване, без плочки | paper |
| Предварително обучение | 481 общностни набора от данни, 22.9 K епизода, 10.6 M кадъра; 200000 стъпки при глобален пакет 256 на 4 GPUs | paper |
Бенчмарковете са причината хората да се занимават с модел от 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 |
|---|---|---|---|
| Лек BC | act, vqbet, tdmpc | about 2 to 6 GB | RTX 3060, L4 |
| Дифузия | diffusion, multi_task_dit | about 8 to 14 GB | RTX 4070+, L4 |
| Малък VLA | smolvla | about 10 to 16 GB | RTX 4080+, L4, A10G |
| Голям VLA | pi0, pi0_fast, pi05, xvla, wall_x | about 24 to 40 GB | A100 40 GB+ |
| Мултимодален | groot, eo1 | about 24 to 40 GB | A100 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 е обяд.

- Подходящ за хардуер, който може вече да притежавате: приблизително 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.
# 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Повече по този въпрос в как да събираме висококачествени данни за обучение на VLA за манипулация на роботи. Накратко: 30 до 50 чисти епизода на една задача с целенасочена вариация превъзхождат 200 небрежни епизода на три, с разлика, която никой хиперпараметър не може да затвори.
Инсталиране на lerobot 0.6.1
# 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Базовата lerobot инсталация е лека и ограничава тежките зависимости зад допълнителни пакети: smolvla добавя transformers, num2words и accelerate, training стека за данни и wandb, core_scripts хардуерните и визуализационни зависимости. На Linux пътят за инсталиране също определя вашия CUDA wheel: стандартната настройка на PyPI е cu130 wheel с минимална версия на драйвера 580.65, така че при по-стар драйвер първо инсталирайте torch от cu128 индекса, след това lerobot.
--policy.path=lerobot/smolvla_base зарежда предварително обучен 450 M контролен пункт и го донастройва. --policy.type=smolvla изгражда нов SmolVLA, а стандартната конфигурация load_vlm_weights = False означава, че дори не изтегля тежестите на гръбнака на SmolVLM2, освен ако не поискате. Ако сгрешите, изпълнението ще се обучи успешно, ще струва същото и няма да научи нищо преносимо.
Изпълнението на обучението, команда по команда
- 1Удостоверяване спрямо Hub
Базовият контролен пункт идва от Hub, а вероятно и вашият набор от данни също.
bashhf auth login - 2Прочетете опциите веднъж
Всяко поле от конфигурацията на конвейера и политиката е флаг. Прегледайте го набързо, преди да се задълбочите в изходния код.
bashlerobot-train --help - 3Стартирайте фината настройка
Примерът в документацията изпълнява пакет 64 на един A100; собственият A100 40 GB еквивалент в ръководството за изчисления е пакет 16, а 8 е еквивалентът за 24 GB. Тук няма флаг за планировчик нарочно, вижте по-долу.
bashlerobot-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Прочетете реда от лога, не само загубата
На всеки --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Съберете контролни пунктове, които можете да сравните
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Продължете, ако машината спре
Насочете --config_path към train_config.json до контролния пункт. lerobot отказва да стартира в съществуваща output_dir, освен ако не продължавате, така че не можете да презапишете изпълнение по погрешка.
bashlerobot-train \ --config_path=<path to the saved train_config.json> \ --resume=true
Флаговете, които всъщност променят резултата
| Флаг | Какво прави | На 24 GB |
|---|---|---|
| --batch_size | Примери на стъпка, приблизително линейно спрямо VRAM | 4 to 8 |
| --steps | Общ брой стъпки на оптимизатора | 20000 first pass |
| --policy.scheduler_decay_steps | Дължина на косинусното затихване, предварително зададена 30000 | Влияе само над 30000 |
| --policy.use_amp | Смесена прецизност; SmolVLA няма поле за dtype | true, когато паметта е ограничена |
| --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 първоначално |
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_steps | 50 / 50 | SmolVLAConfig |
| num_steps (flow matching denoise) | 10 | SmolVLAConfig |
| optimizer_lr | 1e-4 | SmolVLAConfig |
| scheduler_warmup_steps | 1000 | SmolVLAConfig |
| scheduler_decay_steps | 30000 | SmolVLAConfig |
| scheduler_decay_lr | 2.5e-6 | SmolVLAConfig |
| freeze_vision_encoder | true | SmolVLAConfig |
| train_expert_only | true | SmolVLAConfig |
| batch_size / steps | 8 / 100000 | TrainPipelineConfig |
| seed / save_freq / num_workers | 1000 / 20000 / 4 | TrainPipelineConfig |
Двата реда, които изненадват хората, са 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) | smolvla | 4 | около 3 до 6 ч |
| Единичен A100 40 GB | smolvla | 16 | около 1 до 2 ч |
| 4 x H100 80 GB с accelerate | smolvla | 32 | около 1 до 2 ч |
| Единичен RTX 4090 / RTX 3090 (24 GB) | act | 8 | около 30 до 60 мин |
Правилото е 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.
Изпълнение на фино настроената политика обратно върху ръката
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_place245-те ms на стъпка на действие лесно могат да бъдат разбрани погрешно: политиката излъчва chunk_size = 50 действия на едно преминаване напред и изпълнява n_action_steps = 50 от тях, така че колко често плащате тази цена се определя от тези настройки, а не от това колко често сервомоторите получават команда. Това е, което групиране на действия осигурява, и защо модел от 245 ms може да управлява 30 Hz рамо. Това, което остава, е латентност на извода в края на групата.
| Измерване (SmolVLA, реален SO-100) | Синхронно | Асинхронно |
|---|---|---|
| Време за изпълнение, взимане и поставяне, 10 опита | 13.75 s | 9.70 s |
| Цикли на взимане и поставяне във фиксиран времеви прозорец | 9 | 19 |
| Процент на успех, осреднен за трите задачи | 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 като рамото.
Извън темата за тренировъчен цикъл, но това прекратява повече 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 сами.
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Същото изпълнение зад форма: вие избирате модел и набор от данни, бекендът наема GPU според необходимата VRAM, стартира обучителя и записва контролни точки в обектно хранилище. Наборът от данни може да дойде от Hugging Face repo id, публичния директория, или вашата машина. Започнете от SmolVLA на SO-100, или матрицата на страницата за обучение.
| Поле | По подразбиране, изпратено от платформата за SmolVLA | Бележка |
|---|---|---|
| batch size | 2 | Консервативно за 24 GB ниво |
| learning rate | 1e-4 | Предварителната настройка на lerobot |
| max steps | 20000 | Референтното изпълнение в документацията на LeRobot |
| gradient accumulation | 8 | Показано във формата, но не е приложено |
| extra knobs | seed, logFreq | Seed прави изпълнението повтаряемо |
- От 2 до 5 часа на 24 GB ниво, около 1 до 3 USD на изпълнение.
- Същите операции от терминал на /cli и от AI агенти на /mcp.
- Инферентните подове имат пазач за неактивност, така че забравен под се унищожава сам, вместо да таксува тихо.
- Все още нямате ръка? /live предава на живо физически SO-100, който можете да управлявате без регистрация.
Задача, заседнала в опашката, е симптом на спот пазара, а не грешка: задача за обучение, заседнала в опашката. Стъпка по стъпка: обучете първата си политика и документацията за обучение.
Когато SmolVLA е грешен избор
Тестът дали SmolVLA е бил правилният първи опит не е дали е проработил, а дали провалът ви е казал нещо. Достигнете 60 или 70 процента и по-голям модел е разумна следваща инвестиция: данните носят сигнал. Достигнете 10 процента и 3 B модел най-вероятно също ще достигне 10 процента, което току-що научихте за три долара вместо дванадесет.

Струва си да прочетете, преди да похарчите повече: Pi0.5 срещу SmolVLA за повече капацитет по същата идея, и GR00T N1.7 срещу SmolVLA за пътя на NVIDIA, и двата от 80 GB ниво на 4 до 12 USD на изпълнение. От друга страна, ACT е по-евтината базова линия: 80 M параметри, 20 ms на стъпка на действие, без езиково обуславяне. Всичките пет са на страницата с политики; арената има 85 модела и 332 резултата от бенчмаркове.

Контролен списък преди да мащабирате каквото и да е
- Достигна ли
lrсвоя минимум от 2.5e-6? Под 30000 стъпки lerobot премащабира затихването и го съобщава при стартиране; над тази стойност, задайте--policy.scheduler_decay_stepsсами. - Повече от една контролна точка и епизоди, отделени с
--dataset.eval_split, така че загубата при оценка да има смисъл. - Движи ли се изобщо политиката? Намаляваща загуба с неподвижна ръка има специфични причини: загубата намалява, политиката не прави нищо.
- Оцелява ли при промяна на сцената? Ако не: политиката работи само в една настройка.
- Записахте ли си сида? lerobot по подразбиране е 1000, така че две непроменени изпълнения остават сравними.
- Едва тогава: повече епизоди, повече вариации или по-голям модел. В този ред.
Защо съществуват тези модели и какво правят с езиковия вход, е фонът; преминава през сглобяване чрез до първото изпълнение. За завършената контролна точка, ; ако ръката никога не се появи, .
Обучете 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.
Sources
- SmolVLA: Модел за визия, език и действие за достъпна и ефективна роботика
- SmolVLA: Ефективен модел за визия, език и действие (блог на Hugging Face)
- lerobot/smolvla_base карта на модела
- Документация на LeRobot: SmolVLA
- Документация на LeRobot: Ръководство за изчислителен хардуер за обучение с LeRobot
- Документация на LeRobot: Инсталация
- Документация на LeRobot: LeRobotDataset v3.0 и конверторът за v2.1
- Документация на LeRobot: Асинхронно извеждане
- lerobot v0.6.1: configuration_smolvla.py
- lerobot v0.6.1: TrainPipelineConfig
- lerobot v0.6.1: CosineDecayWithWarmupSchedulerConfig
- lerobot v0.6.1: lerobot_rollout.py (стратегии и RTC извеждане)
- lerobot v0.6.1: pyproject.toml (екстри и входни точки за конзолата)
- lerobot в PyPI
- lerobot/svla_so100_pickplace набор от данни (50 епизода, 19631 кадъра, v3.0)
Sources
- SmolVLA: A Vision-Language-Action Model for Affordable and Efficient Robotics
- SmolVLA: Efficient Vision-Language-Action Model (Hugging Face blog)
- lerobot/smolvla_base model card
- LeRobot docs: SmolVLA
- LeRobot docs: Compute HW Guide for LeRobot Training
- LeRobot docs: Installation
- LeRobot docs: LeRobotDataset v3.0 and the v2.1 converter
- LeRobot docs: Asynchronous Inference
- lerobot v0.6.1: configuration_smolvla.py
- lerobot v0.6.1: TrainPipelineConfig
- lerobot v0.6.1: CosineDecayWithWarmupSchedulerConfig
- lerobot v0.6.1: lerobot_rollout.py (strategies and RTC inference)
- lerobot v0.6.1: pyproject.toml (extras and console entry points)
- lerobot on PyPI
- lerobot/svla_so100_pickplace dataset (50 episodes, 19631 frames, v3.0)
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started