
SmolVLA е VLA со 450 милиони параметри кое се дотерува на една 24 GB картичка. Вистински lerobot 0.6.1 команди, актуелните стандардни поставки, стапиците кои чинат еден ден и колку чини едно извршување.
SmolVLA на еден екран
- •450 M параметри, од кои околу 100 M се експерт за акција со совпаѓање на проток. lerobot го тренира само тој експерт и го држи VLM замрзнат, поради што се вклопува на една картичка.
- •Водичот за пресметување на LeRobot ја става групата smolvla на приближно 10 до 16 GB врвен VRAM при batch 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, изграден за фино подесување на една потрошувачка картичка и опслужување од процесор.
Прво рачниот пат: инсталирајте lerobot, повлечете го lerobot/smolvla_base контролниот пункт, извршете ја вистинската команда, читајте го извршувањето додека се случува. Потоа патот на платформата, и каде што не помага.
Што е SmolVLA, во бројки што можете да ги проверите
SmolVLA е усогласување на проток политика прикачена на мал визуелен јазичен модел. Основата е SmolVLM2-500M-Video-Instruct; трудот ги задржува само првите 16 слоеви од неговиот јазичен модел, го ограничува секој кадар од камерата на 64 визуелни токени со мешање на пиксели наместо плочки од слика, и наизменично вметнува вкрстено внимание со слој за самовнимание на секој втор блок. Трошоците за заклучување беа ограничување на дизајнот, а не дополнителна мисла.
| Својство | Вредност | Извор |
|---|---|---|
| Вкупни параметри | околу 450 M | труд |
| Експерт за акција | околу 100 M, усогласување на проток | труд |
| VLM основа | HuggingFaceTB/SmolVLM2-500M-Video-Instruct | vlm_model_name |
| Користени VLM слоеви | првите 16 од јазичниот модел | num_vlm_layers = 16 |
| Визуелни токени по кадар | 64, мешање на пиксели, без плочки | труд |
| Пред-обука | 481 збирки податоци од заедницата, 22.9 K епизоди, 10.6 M кадри; 200000 чекори при глобална серија 256 на 4 графички процесори | труд |
Бенчмарците се причината зошто луѓето се занимаваат со модел од 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 испорачува водич за димензионирање на пресметковна моќ, најкорисната страница во репозиториумот за ова. Ги групира политиките според големината на 'backbone' и дава по еден VRAM опсег по група, мерено со големина на 'batch' од 8 со AdamW, стандардната поставка на lerobot. Само состојбата на оптимизаторот додава 30 до 100 проценти над голото 'forward' и 'backward' поминување, така што ова не се бројки само за тежини.
| Група | Политики | Врвен VRAM (batch 8, AdamW) | Почетни графички процесори |
|---|---|---|---|
| Лесен BC | act, vqbet, tdmpc | околу 2 до 6 GB | RTX 3060, L4 |
| Дифузија | diffusion, multi_task_dit | околу 8 до 14 GB | RTX 4070+, L4 |
| Мал VLA | smolvla | околу 10 до 16 GB | RTX 4080+, L4, A10G |
| Голем VLA | pi0, pi0_fast, pi05, xvla, wall_x | околу 24 до 40 GB | A100 40 GB+ |
| Мултимодален | groot, eo1 | околу 24 до 40 GB | A100 40 GB+ |
Десет до шеснаесет гигабајти при 'batch' од 8 е аргументот: картичка од 24 GB го собира тоа плус 'dataloader'. 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 при серија 8.
- Потрошено извршување чини часови и едноцифрени долари, така што можете да си дозволите да згрешите во врска со сетот на податоци.
- Претходно трениран на податочни множества од заедницата споделени под ознаката lerobot, со реални резултати SO-100 и SO-101.
- Живее во самиот lerobot: нема репозиториум на продавач, и smolvla_base не е ограничен.
- 450 M сè уште е 450 M: успехот надвор од дистрибуцијата паѓа од 90 на 50 проценти во табелата SO-101 на трудот.
- Бара податоци од LeRobot v3.0; снимка од v2.1 мора да се конвертира (одбиен сет на податоци v3).
- 245 ms по чекор на акција е компетентен контролер за земање и поставување, а не реактивен.
- Примерот од документацијата извршува серија 64 на A100; на 24 GB го менувате серијата за реално време.
Чекор 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 значи дека вчитувачот на податоци е тесно грло, а не графичкиот процесор.
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
Знаменца кои всушност го менуваат исходот
| Flag | Што прави | На 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 first |
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, печатејќи Автоматско скалирање на распоредувачот на стапката на учење како што прави. Никогаш не скалира нагоре: опаѓањето е ограничено со `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 | Дефинирано во |
|---|---|---|
| големина на парче / број на чекори на акција | 50 / 50 | SmolVLAConfig |
| број на чекори (отстранување шум со усогласување на проток) | 10 | SmolVLAConfig |
| стапка на учење на оптимизаторот | 1e-4 | SmolVLAConfig |
| чекори за загревање на распоредувачот | 1000 | SmolVLAConfig |
| чекори за опаѓање на распоредувачот | 30000 | SmolVLAConfig |
| стапка на учење за опаѓање на распоредувачот | 2.5e-6 | SmolVLAConfig |
| замрзни визиски енкодер | true | SmolVLAConfig |
| обучувај само експерт | true | SmolVLAConfig |
| големина на серија / чекори | 8 / 100000 | TrainPipelineConfig |
| семе / фреквенција на зачувување / број на работници | 1000 / 20000 / 4 | TrainPipelineConfig |
Двете линии што изненадуваат се freeze_vision_encoder и train_expert_only, и двете вистинити. Веднаш по инсталацијата тренирате приближно 100 M параметри, а не 450 M, поради што се вклопува на 24 GB. Референтниот запуск на LeRobot на кластер со четири GPU H100 ги префрла двете на false; на една 24 GB картичка тоа претвора работен запуск во пад поради недоволна меморија.
Советот од водичот кога сте ограничени со меморија е да ја намалите големината на пакетот (batch size) и да користите акумулација на градиенти за да го вратите ефективниот пакет. Нема акумулација на градиенти во 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 | about 3 to 6 h |
| Единечен A100 40 GB | smolvla | 16 | about 1 to 2 h |
| 4 x H100 80 GB со забрзување | smolvla | 32 | about 1 to 2 h |
| Единечен RTX 4090 / RTX 3090 (24 GB) | act | 8 | about 30 to 60 min |
Правилото е 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 по чекор на акција во зависност од моделот, а кружните патувања преку јавниот интернет дополнително ја претвораат работната политика во колеблива. Далечинското заклучување е изводливо за бавно земи и постави, но не и за брзо реактивно движење: ако задачата бара брзи корекции, графичкиот процесор треба да биде на истата локална мрежа како и раката.
Надвор од темата за тренинг, но тоа завршува повеќе 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Истото извршување зад форма: вие избирате модел и податочно множество, позадината изнајмува графички процесор според потребната VRAM, го извршува тренерот и ги запишува контролните точки во складиштето за објекти. Податочното множество може да дојде од Hugging Face repo id, јавниот директориум, или вашата машина. Започнете на SmolVLA на SO-100, или матрицата на страницата за обука.
| Поле | Стандардно што платформата испраќа за SmolVLA | Забелешка |
|---|---|---|
| големина на серија | 2 | Конзервативно за нивото од 24 GB |
| стапка на учење | 1e-4 | Претходно поставено од lerobot |
| максимум чекори | 20000 | Референтна извршување во LeRobot документацијата |
| акумулација на градиент | 8 | Прикажано во формата, не е применето |
| дополнителни контроли | seed, logFreq | Seed го прави извршувањето повторливо |
- 2 до 5 часа на нивото од 24 GB, околу 1 до 3 УСД по извршување.
- Истите операции од терминал на /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 УСД по извршување.
Отворете ги водичите за обукаМоже ли навистина да го дотерам 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