Страницата на моделот SmolVLA на AY-Robots која го прикажува бројот на параметри, нивото на графичкиот процесор, латентноста на заклучување по чекор на акција и минималниот број на епизоди
SmolVLALeRobotVLA ТренингДотерувањеSO-100

Како да се тренира SmolVLA на 24 GB графички процесор (lerobot 0.6.1)

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

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-Instructvlm_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)Почетни графички процесори
Лесен BCact, vqbet, tdmpcоколу 2 до 6 GBRTX 3060, L4
Дифузијаdiffusion, multi_task_ditоколу 8 до 14 GBRTX 4070+, L4
Мал VLAsmolvlaоколу 10 до 16 GBRTX 4080+, L4, A10G
Голем VLApi0, pi0_fast, pi05, xvla, wall_xоколу 24 до 40 GBA100 40 GB+
Мултимодаленgroot, eo1околу 24 до 40 GBA100 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, ручек.

Табела со трошоци на AY-Robots: картичка по политика, време на извршување, цена по извршување, потребни епизоди
SmolVLA и ACT се наоѓаат во редот од 24 GB, трите модели од 3 B во редот од 80 GB.
Започнување со SmolVLA наместо со модел од 3 B
Што добивате
  • Одговара на хардвер што можеби веќе го поседувате: приближно 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.

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 значи дека вчитувачот на податоци е тесно грло, а не графичкиот процесор.

    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

Знаменца кои всушност го менуваат исходот

FlagШто правиНа 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 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, печатејќи Автоматско скалирање на распоредувачот на стапката на учење како што прави. Никогаш не скалира нагоре: опаѓањето е ограничено со `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 / 50SmolVLAConfig
број на чекори (отстранување шум со усогласување на проток)10SmolVLAConfig
стапка на учење на оптимизаторот1e-4SmolVLAConfig
чекори за загревање на распоредувачот1000SmolVLAConfig
чекори за опаѓање на распоредувачот30000SmolVLAConfig
стапка на учење за опаѓање на распоредувачот2.5e-6SmolVLAConfig
замрзни визиски енкодерtrueSmolVLAConfig
обучувај само експертtrueSmolVLAConfig
големина на серија / чекори8 / 100000TrainPipelineConfig
семе / фреквенција на зачувување / број на работници1000 / 20000 / 4TrainPipelineConfig

Двете линии што изненадуваат се 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)smolvla4about 3 to 6 h
Единечен A100 40 GBsmolvla16about 1 to 2 h
4 x H100 80 GB со забрзувањеsmolvla32about 1 to 2 h
Единечен 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 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 по чекор на акција во зависност од моделот, а кружните патувања преку јавниот интернет дополнително ја претвораат работната политика во колеблива. Далечинското заклучување е изводливо за бавно земи и постави, но не и за брзо реактивно движење: ако задачата бара брзи корекции, графичкиот процесор треба да биде на истата локална мрежа како и раката.

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 УСД по извршување.

Отворете ги водичите за обука
Може ли навистина да го дотерам 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