AY-Robots платформасындағы SmolVLA моделінің беті, параметрлер санын, GPU деңгейін, әр әрекет қадамына арналған инференс кідірісін және ең аз эпизод санын көрсетеді
SmolVLALeRobotVLA оқытуДәл баптауSO-100

SmolVLA-ны 24 ГБ GPU-да қалай үйретуге болады (lerobot 0.6.1)

AY-Robots ResearchAugust 23, 202617 min оқу

SmolVLA – бір 24 ГБ картада дәл бапталатын 450 М параметрлі VLA. Нақты lerobot 0.6.1 командалары, нақты әдепкі параметрлер, бір күнді жоғалтатын қателер және бір іске қосудың құны.

SmolVLA бір экранда

  • 450 М параметр, оның шамамен 100 М-ы ағынды сәйкестендіру әрекетінің сарапшысы. lerobot тек сол сарапшыны үйретеді және VLM-ді қатырылған күйде сақтайды, сондықтан ол бір картаға сыяды.
  • LeRobot есептеу нұсқаулығы smolvla тобын AdamW-мен 8 партияда шамамен 10-нан 16 ГБ-қа дейін ең жоғары VRAM-ға орналастырады. Демек, 24 ГБ.
  • Кіру нүктесі lerobot-train. 2025 жылғы маусымдағы SmolVLA блог жазбасында әлі де python lerobot/scripts/train.py басып шығарылады, бұл жол енді жоқ. Төмендегінің бәрі lerobot 0.6.1.
  • Косинус кестесі 30000 қадамда ыдырауға алдын ала орнатылған. lerobot 0.6.1 оны қысқарақ іске қосу үшін төмен қарай реттейді және тіркейді, бірақ ешқашан жоғары емес: 100000 қадамдық стандартты іске қосу 70000 қадам үшін 2.5e-6 деңгейінде аяқталады.
  • Отыз эпизод AY-Robots минимумы болып табылады, 24 ГБ деңгейінде бір іске қосу 1-ден 3 USD-ға дейін тұрады, ал 80 ГБ модельдер үшін 4-тен 12-ге дейін.

Нақты қолданыстағы роботқа көру-тіл-әрекет моделін қалайтын адамдардың көпшілігі аппараттық шекте тоқтайды. GR00T N1.7 және Pi0.5 әрқайсысы шамамен үш миллиард параметрге ие және A100 80 ГБ немесе H100 қажет етеді. Егер сізде RTX 4090 бар ойын компьютері болса, бұл жолдың соңы. SmolVLA ерекшелік болып табылады: 450 М параметр, LeRobot ішінде, бір тұтынушы картасында дәлдеп баптауға және CPU-дан қызмет көрсетуге арналған.

Алдымен қолмен жасау жолы: lerobot орнату, lerobot/smolvla_base чекпоинтін жүктеп алу, нақты пәрменді орындау, орындалу барысын оқу. Содан кейін платформа жолы және оның көмектеспейтін жерлері.

SmolVLA деген не, тексеруге болатын сандармен

SmolVLA – бұл ағынды сәйкестендіру саясаты шағын визуалды тіл моделіне бекітілген. Негізгі құрылымы SmolVLM2-500M-Video-Instruct; мақалада оның тіл моделінің алғашқы 16 қабаты ғана сақталған, әр камера кадры кескінді тақталаудың орнына пиксельді араластыру арқылы 64 визуалды токенмен шектелген және әр екінші блокта өзара назар аударуды өзін-өзі назар аудару қабатымен кезектестіреді. Инференция құны кейіннен ойластырылған нәрсе емес, дизайн шектеуі болды.

СипаттамаМәніДереккөз
Жалпы параметрлерabout 450 Mpaper
Әрекет сарапшысыabout 100 M, flow matchingpaper
VLM негізгі құрылымыHuggingFaceTB/SmolVLM2-500M-Video-Instructvlm_model_name
Қолданылған VLM қабаттарытіл моделінің алғашқы 16-сыnum_vlm_layers = 16
Кадрға шаққандағы визуалды токендер64, pixel shuffle, no tilingpaper
Алдын ала оқыту481 community datasets, 22.9 K episodes, 10.6 M frames; 200000 steps at global batch 256 on 4 GPUspaper

Бенчмарктар адамдардың 450 М моделімен неге айналысатынын көрсетеді. LIBERO-да ол 7 B OpenVLA үшін 76.5-ке және 3.3 B робототехникалық алдын ала оқытылған Pi0 үшін 86.0-ға қарсы орташа есеппен 87.3 пайызды көрсетеді; Meta-World-да 47.9-ға қарсы 57.3. Нақты SO-100 жабдығында көп тапсырмалы оқыту алу және орналастыруда 75 пайыз, жинақтауда 90, сұрыптауда 70 пайызды береді, орташа есеппен 78.3, мұнда ACT тапсырма бойынша оқытылған орташа есеппен 48.3 болды. Дәл осы қатарлар SmolVLA арена жазбасы және ACT пен SmolVLA салыстыруы.

Өлшем туралы мәлімдеменің шынайы нұсқасы

SmolVLA барлық жағынан 3 B моделінен жақсы емес. Мақаланың SO-101 кестесі мұны көрсетеді: таратуда 90 пайыз, одан тыс 50 пайыз, ешқашан алдын ала оқытылмаған платформада. Ол Pi0-ге қарағанда 6 есе аз жадта шамамен 40 пайыз жылдамырақ оқытылатынын мәлімдейді және оны растайды.

Неліктен 24 ГБ карта алғашқы іске қосу үшін дұрыс таңдау

LeRobot есептеу өлшемін анықтау нұсқаулығын ұсынады, бұл реподағы ең пайдалы бет. Ол саясаттарды негізгі архитектура өлшемі бойынша топтастырады және әр топқа бір VRAM лимитін береді, ол AdamW көмегімен 8 пакет өлшемінде өлшенген, бұл lerobot әдепкі мәні. Оңтайландырғыштың күйінің өзі тікелей және кері өтуден 30-дан 100 пайызға дейін қосады, сондықтан бұл тек салмақтарға қатысты көрсеткіштер емес.

ТопСаясаттарЕң жоғары VRAM (8 пакет, AdamW)Бастапқы GPU-лар
Жеңіл BCact, vqbet, tdmpcшамамен 2-ден 6 ГБ-қа дейінRTX 3060, L4
Диффузияdiffusion, multi_task_ditшамамен 8-ден 14 ГБ-қа дейінRTX 4070+, L4
Шағын VLAsmolvlaшамамен 10-нан 16 ГБ-қа дейінRTX 4080+, L4, A10G
Үлкен VLApi0, pi0_fast, pi05, xvla, wall_xшамамен 24-тен 40 ГБ-қа дейінA100 40 GB+
Мультимодальдыgroot, eo1шамамен 24-тен 40 ГБ-қа дейінA100 40 GB+

8 пакетте он-он алты гигабайт – бұл дәлел: 24 ГБ карта оған деректер жүктегішін қоса сыяды. AY-Robots SmolVLA-ны RTX 4090 немесе кез келген 24 ГБ картаға орналастырады, ең аз дегенде 30 эпизод, LeRobot v3.0 деректер, әрекет қадамына 245 мс. Жалға алынғанда, бұл сағатына 0.30-дан 0.60 USD-ға дейін 2-ден 5 сағат, шамамен 1-ден 3 USD-ға дейін дәл баптау іске қосу, ал GR00T және Pi0.5 қажет ететін 80 ГБ деңгейінде 4-тен 12 USD-ға дейін (баға). Сәтсіз SmolVLA іске қосу – кофе; сәтсіз GR00T іске қосу – түскі ас.

AY-Robots шығындар кестесі: саясат бойынша карта, орындалу уақыты, бір орындалу бағасы, қажетті эпизодтар
SmolVLA және ACT 24 ГБ қатарында, ал үш 3 B моделі 80 ГБ қатарында орналасқан.
3 B моделінің орнына SmolVLA-дан бастау
Нені аласыз
  • Сізде бар жабдыққа сәйкес келеді: 8 партияда шамамен 10-нан 16 ГБ-қа дейін.
  • Жоғалған іске қосу сағаттар мен бір таңбалы долларға тұрады, сондықтан деректер жинағы туралы қателесуге мүмкіндігіңіз бар.
  • Lerobot тегімен бөлісілген қауымдастық деректер жинақтарында алдын ала оқытылған, нақты SO-100 және SO-101 нәтижелерімен.
  • Ол lerobot-тың өзінде орналасқан: жеткізуші репозиторийі жоқ, және smolvla_base шектелмеген.
Нені жоғалтасыз
  • 450 M әлі де 450 M: таралудан тыс сәттілік қағаздағы SO-101 кестесінде 90-дан 50 пайызға дейін төмендейді.
  • Ол LeRobot v3.0 деректерін қажет етеді; v2.1 жазбасын түрлендіру қажет (деректер жинағы v3 қабылданбады).
  • Әрекет қадамына 245 мс – бұл реактивті емес, білікті таңдау және орналастыру контроллері.
  • Құжаттама мысалы A100-де 64 партияны іске қосады; 24 ГБ-та сіз партияны нақты уақытқа айырбастайсыз.

0-қадам: деректер жинағы іске қосуды шешеді, жалаушалар емес

Жазба нашар болса, төмендегі ештеңе маңызды емес. LeRobot SmolVLA беті анық айтады: эталондық деректер жинағы 5 текше позициясы бойынша 50 эпизодтан тұрды, әр позицияға 10-нан, ал 25 эпизодтағы бірдей тапсырма нашар орындалды. Вариация бойынша қайталау жалпыланады, ал шикі эпизод саны жалпыланбайды. Ешқашан жазбағансыз ба? Бастаңыз алғашқы деректер жинағыңызды жазыңыз, келесімен жұмыс үстелі клиенті, ол LeRobot форматын келесіден жазады телеоперация сессиясынан, немесе оны келесі жерден алыңыз деректер жинағы каталогы.

  • AY-Robots үшін кемінде 30 эпизод, LeRobot эталондық рецепті үшін шамамен 50.
  • Жүзеге асыру кезінде күтілетін әрбір вариация, бірнеше рет қайталанған.
  • Бір тапсырма жолы, жазу және жүзеге асыру кезінде бірдей жазылған. Модель сол мәтінге негізделген.
  • Тұрақты камералар. Жазу мен жүзеге асыру арасында жылжытылған камера – таза шығын қисығы қозғалмайтын қолды беретін ең көп таралған себеп.
  • Ешқашан үйретпеген, бөлек қалдырылған вариация, осылайша сізде тексеруге арналған шынайы нәрсе болады.
Бір күнді жоғалтатын деректер жинағының тұзағы

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 дөңгелегіңізді де анықтайды: PyPI әдепкі мәні 580.65 драйвер едені бар cu130 дөңгелегі, сондықтан ескі драйверде алдымен cu128 индексінен torch орнатыңыз, содан кейін 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
    Жіңішке баптауды бастау

    Құжаттама мысалы бір A100-де 64 пакетті іске қосады; есептеу нұсқаулығының A100 40 ГБ якорі 16 пакет, ал 8 – 24 ГБ эквиваленті. Мұнда әдейі жоспарлаушы жалаушасы жоқ, төменде қараңыз.

    bash
    lerobot-train \
      --policy.path=lerobot/smolvla_base \
      --dataset.repo_id=${HF_USER}/so100_pick_place \
      --batch_size=8 \
      --steps=20000 \
      --save_freq=2000 \
      --log_freq=200 \
      --seed=1000 \
      --output_dir=outputs/train/smolvla_pick_place \
      --job_name=smolvla_pick_place \
      --policy.device=cuda \
      --wandb.enable=true
  4. 4
    Тек шығынды емес, журнал жолын оқу

    Әрбір --log_freq қадамында lerobot шығынды, grdn, lr, updt_s, data_s, smp/s және CUDA-да mem_gb басып шығарады. mem_gb пакеттің сәйкес келетінін, lr кестенің төмендеп жатқанын, ал data_s updt_s-ке жақындауы деректер жүктегішінің кедергі екенін, GPU емес екенін білдіреді.

    bash
    # if data_s creeps toward updt_s
    lerobot-train ... --num_workers=8
  5. 5
    Салыстыруға болатын бақылау нүктелерін жинау

    save_freq әдепкі бойынша 20000, сондықтан 20000 қадамдық іске қосу бір бақылау нүктесін қалдырады және оны салыстыратын ештеңе жоқ. 2000 орнатыңыз. Hub-қа жіберу үшін --policy.repo_id қажет.

    bash
    --save_freq=2000 \
    --policy.repo_id=${HF_USER}/smolvla_pick_place \
    --save_checkpoint_to_hub=true
  6. 6
    Машина істен шықса, жалғастыру

    --config_path-ты бақылау нүктесінің жанындағы train_config.json файлына бағыттаңыз. lerobot бар output_dir-ге жалғастырмасаңыз, іске қосудан бас тартады, сондықтан сіз іске қосуды кездейсоқ қайта жаза алмайсыз.

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

Нәтижені шынымен өзгертетін жалаушалар

ЖалаушаНе істейді24 ГБ-та
--batch_sizeӘр қадамдағы үлгілер, VRAM-да шамамен сызықты4-тен 8-ге дейін
--stepsОңтайландырғыштың жалпы қадамдарыБірінші өтуде 20000
--policy.scheduler_decay_stepsКосинус ыдырау ұзындығы, алдын ала орнатылған 30000Тек 30000-нан жоғарыда әсер етеді
--policy.use_ampАралас дәлдік; SmolVLA-да dtype өрісі жоқЖад жетіспегенде true
--num_workersДеректер жүктегішінің процестері, әдепкі 4data_s өсуін тоқтатқанша арттырыңыз
--dataset.eval_splitӘр тапсырма үшін бөлінген эпизодтардың үлесі0.1, --eval_steps-пен бірге
--policy.freeze_vision_encoderКөру мұнарасын қатырылған күйде ұстайды24 ГБ-та true
--policy.train_expert_onlyТек ~100 М сарапшы градиенттерді аладыАлдымен 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, екеуі де true. Әдепкі бойынша сіз шамамен 100 M параметрді үйретесіз, 450 M емес, сондықтан ол 24 ГБ-қа сыяды. LeRobot-тың төрт GPU H100 кластеріндегі өзінің эталондық іске қосуы екеуін де false-қа өзгертеді; бір 24 ГБ картада бұл жұмыс істеп тұрған іске қосуды .

Жоқ жад реттегіші

Жад шектеулі болған кезде нұсқаулықтың кеңесі - пакет өлшемін азайту және тиімді пакетті қалпына келтіру үшін градиентті жинақтауды қолдану. lerobot 0.6.1-де градиентті жинақтау жоқ: TrainPipelineConfig-те мұндай өріс жоқ және бұл жол шығарылған пакетте еш жерде кездеспейді. AY-Robots формасы SmolVLA үшін градиентті жинақтау мәнін 8 деп көрсетеді, бірақ оны қолданбайды. 24 ГБ-тағы сіздің тетіктеріңіз: --batch_size, екі freeze әдепкі мәні және --policy.use_amp.

Іске қосу қанша уақыт алады және қанша қадам жеткілікті

LeRobot шамамен 50 эпизодтық деректер жиынтығында бес дәуір үшін, 30 кадр/сек жылдамдықпен шамамен 45000 кадр үшін нақты уақыт көрсеткіштерін жариялайды. Құжаттарда айтылғандай, бұл шамамен мәндер, бірақ олар бір сағат пен бір күн арасындағы айырмашылықты көрсетеді.

ОрнатуСаясатПакетНақты уақыт
Бір L4 / A10G (24 ГБ)smolvla4шамамен 3-тен 6 сағатқа дейін
Бір A100 40 ГБsmolvla16шамамен 1-ден 2 сағатқа дейін
4 x H100 80 ГБ accelerate-пенsmolvla32шамамен 1-ден 2 сағатқа дейін
Бір RTX 4090 / RTX 3090 (24 ГБ)act8шамамен 30-дан 60 минутқа дейін
<code>--steps</code> таңдамас бұрын дәуір арифметикасын жасаңыз

Ереже деректер жиынтығы бойынша 5-тен 10-ға дейінгі дәуірді құрайды, белгіленген қадам саны емес: steps_per_epoch = ceil(total_frames / (num_gpus x batch_size)). Құжаттар көрсететін эталондық деректер жиынтығында, lerobot/svla_so100_pickplace, метадеректер 50 эпизод пен 19631 кадрды көрсетеді: 8 пакет дәуіріне шамамен 2454 қадам береді, сондықтан 20000 қадам шамамен 8 дәуірге тең. Пакетті екі есе азайтыңыз, сонда сол бюджет дәуірлердің жартысын сатып алады, сондықтан --batch_size параметрін өзгерткен сайын мұны қайталаңыз.

Жетілдірілген саясатты қолға қайта іске қосу

bash
lerobot-rollout \
  --strategy.type=base \
  --robot.type=so100_follower \
  --robot.port=/dev/ttyACM0 \
  --robot.id=my_follower_arm \
  --robot.cameras="{ front: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}}" \
  --task="Grasp the cube and put it in the box." \
  --policy.path=${HF_USER}/smolvla_pick_place
Тапсырма жолы сіз жазған жолға сәйкес келуі керек. Модель сол мәтінге негізделген, сондықтан қайта тұжырымдау басқа нұсқау болып табылады.

Әрекет қадамына 245 мс-ті қате түсіну оңай: саясат шығарады chunk_size = 50 әрекетті бір алға басуда және орындайды n_action_steps = 50 олардың, сондықтан бұл шығынды қаншалықты жиі төлейтініңіз сервоприводтар команданы қаншалықты жиі алатынымен емес, осы реттегіштермен анықталады. Міне, осыны қамтамасыз етеді және неліктен 245 мс модель 30 Гц қолды басқара алады. Қалғаны бөліктің соңында.

Өлшем (SmolVLA, нақты SO-100)СинхрондыАсинхронды
Аяқтау уақыты, алу және орналастыру, 10 сынақ13.75 s9.70 s
Белгіленген уақыт аралығындағы алу және орналастыру циклдері919
Үш тапсырма бойынша орташа сәттілік деңгейі78.3 %73.3 %

Бұл үшінші жолды көптеген жазбалар өткізіп жібереді. Асинхронды инференс шамамен 30 пайызға жылдамырақ және белгіленген уақыт аралығында өткізу қабілетін шамамен екі есе арттырады, ал мақалада сәттілік деңгейлері салыстырмалы деп аталады, бұл орташа алғанда солай. Оның астында сұрыптау 70-тен 50 пайызға дейін төмендеді, ал алу және орналастыру 5 пайызға өсті. lerobot 0.6.1 сол бинарлық файлда басқа тетікті қамтиды: --inference.type=rtc орындалуды нақты уақыттағы бөліктеуге ауыстырады, мұны сценарийдің өзінің қолдану блогы баяу VLA-лар, Pi0, Pi0.5 және SmolVLA үшін ұсынады.

Инференс сервоприводтардың жанында орналасуы керек

Басқару циклі модельге байланысты әрекет қадамына 20-дан 485 мс-ке дейін, ал қоғамдық интернет арқылы қосымша айналымдар жұмыс істеп тұрған саясатты екіұшты етеді. Қашықтағы инференс баяу алу және орналастыру үшін жарамды, бірақ жылдам реактивті қозғалыс үшін емес: егер тапсырма жылдам түзетулерді қажет етсе, GPU қолмен бірдей LAN желісінде болуы керек.

7.4 В, 12 В емес

Оқу жұмысы үшін тақырыптан тыс, бірақ ол кез келген гиперпараметрге қарағанда SO-100 жобаларын көп аяқтайды. SO-100 және SO-101 роботтарындағы Feetech STS3215 сервомоторлары 7.4 В кернеуде жұмыс істейді; 12 В оларды істен шығарады. LeKiwi 7.4 В қолды 12 В негізбен араластырады, бұл қате штепсельдің қате ұяға қалай түсетінін көрсетеді.

Бір бақылау нүктесіне екі жол

Машинаны, ортаны және жөндеуді сіз басқарасыз. Жалғыз бұлтты тәуелділік – негізгі бақылау нүктесін Hub-тан жүктеп алу. Егер сіз саясатты өзгерткіңіз келсе, деректер желіңізден шыға алмайтын болса немесе карта бос тұрса, бұл дұрыс жол.

  • Сіз CUDA дөңгелегін, драйверді, ffmpeg құрастыруын және деректер жүктегішін басқарасыз.
  • Сіз configuration_smolvla.py файлын патчтап, сол күні қайта оқыта аласыз.
  • Сіз әр іске қосу үшін емес, электр энергиясы мен уақыт үшін төлейсіз және TorchCodec-ті өзіңіз жөндеуге тура келеді.
bash
pip install 'lerobot[smolvla,training,core_scripts]'
hf auth login

lerobot-train \
  --policy.path=lerobot/smolvla_base \
  --dataset.repo_id=${HF_USER}/so100_pick_place \
  --batch_size=8 --steps=20000 \
  --save_freq=2000 --seed=1000 \
  --output_dir=outputs/train/smolvla_pick_place \
  --job_name=smolvla_pick_place \
  --policy.device=cuda --wandb.enable=true
Бір блоктағы толық қолмен орындалатын маршрут, lerobot 0.6.1.

SmolVLA қате таңдау болғанда

SmolVLA дұрыс алғашқы іске қосу болды ма деген сынақ оның жұмыс істегені емес, керісінше сәтсіздік сізге бірдеңе айтты ма дегенде. 60 немесе 70 пайызға жетсеңіз, үлкенірек модель келесі ақша жұмсауға тұрарлық: деректерде сигнал бар. 10 пайызға жетсеңіз, 3 B моделі де 10 пайызға жетуі ықтимал, мұны сіз он екі доллардың орнына үш долларға білдіңіз.

AY-Robots оқыту матрицасы: бес саясат қатарлар ретінде, төрт робот қолы бағандар ретінде
Әрбір ұяшық өзінің жеке нұсқаулығы болып табылады. SmolVLA-да төрт қолдың әрқайсысына арналған бір нұсқаулық бар.

Көбірек ақша жұмсамас бұрын оқуға тұрарлық: Pi0.5 SmolVLA-ға қарсы бір идея бойынша көбірек мүмкіндік алу үшін, және GR00T N1.7 SmolVLA-ға қарсы NVIDIA бағыты үшін, екеуі де 80 GB деңгейінде, бір іске қосу үшін 4-тен 12 USD. Басқа жолмен, ACT арзанырақ базалық нұсқа: 80 M параметр, әрекет қадамына 20 ms, тілдік шарттау жоқ. Барлық бесеуі орналасқан саясаттар бетінде; аренада 85 модель және 332 эталондық нәтиже бар.

AY-Robots саясаттарын салыстыру: параметрлер, GPU деңгейі, кідіріс, ең аз эпизодтар
Іске қосуды шешетін төрт сан.

Кез келген нәрсені масштабтамас бұрынғы тексеру тізімі

  1. `lr` өзінің 2.5e-6 ең төменгі шегіне жетті ме? 30000 қадамнан төмен lerobot ыдырауды қайта масштабтайды және іске қосу кезінде бұл туралы хабарлайды; одан жоғары болса, `--policy.scheduler_decay_steps` параметрін өзіңіз орнатыңыз.
  2. Бірнеше бақылау нүктесі және `--dataset.eval_split` арқылы бөлінген эпизодтар, сонда бағалау шығынының мағынасы болады.
  3. Саясат мүлдем қозғала ма? Қозғалмайтын қолмен шығынның төмендеуінің нақты себептері бар: шығын төмендейді, саясат ештеңе істемейді.
  4. Ол көрініс өзгергенде жұмыс істей ме? Егер жоқ болса: саясат тек бір конфигурацияда жұмыс істейді.
  5. Сіз тұқымды жазып алдыңыз ба? lerobot әдепкі бойынша 1000-ға орнатылған, сондықтан екі өзгертілмеген іске қосу салыстырмалы болып қалады.
  6. Тек содан кейін: көбірек эпизодтар, көбірек вариация немесе үлкенірек модель. Осы ретпен.

Бұл модельдер не үшін бар екенін және олар тілдік енгізумен не істейтінін түсіну үшін, негіз болып табылады; құрастыруды арқылы бірінші іске қосуға дейін жүргізеді. Дайын бақылау нүктесі үшін, ; егер қол ешқашан пайда болмаса, .

SmolVLA-ны өз қолыңызда үйретіңіз

Модельді және қолды таңдаңыз, сонда нұсқаулық сізге нақты әдепкі мәндерді, деректер жиынтығының форматын және іске қосу құнын береді. SmolVLA 24 ГБ деңгейінде, бір іске қосу үшін 1-ден 3 АҚШ долларына дейін тұрады.

Оқыту нұсқаулықтарын ашыңыз
SmolVLA-ны RTX 4090-да шынымен де дәл баптай аламын ба?

Иә. LeRobot есептеу нұсқаулығы SmolVLA-ны AdamW-мен batch 8-де шамамен 10-нан 16 ГБ-қа дейін ең жоғары VRAM-да орналастырады және 24 ГБ тұтынушылық карталарды оған ыңғайлы деп санайды. Құжаттама мысалындағы batch 64 бір A100-мен жұптастырылған. Жад batch-пен шамамен сызықты түрде масштабталады, сондықтан 4 немесе 8-ді пайдаланыңыз және mem_gb-ны бақылаңыз.

Маған нақты қанша эпизод қажет?

AY-Robots ең аз мөлшерді 30 деп белгілейді. LeRobot құжаттамасы шамамен 50-ді ұсынады және бірдей тапсырманың 25 эпизоды нашар орындалғанын хабарлайды. Құрылым санынан маңыздырақ: анықтамалық жиынтық әрқайсысы 10 эпизодтан тұратын 5 текше позициясы болды, және бұл қайталау жалпыланады.

Құжаттамада batch 64 делінген, платформа batch 2 жібереді. Қайсысы дұрыс?

Екеуі де, әртүрлі жабдықтар үшін. Құжаттама мысалында batch 64 қолданылады және бір A100-де 20000 қадам үшін шамамен 4 сағатты көрсетеді; есептеу нұсқаулығының A100 40 ГБ якорі batch 16. Batch 2 - бұл AY-Robots 24 ГБ деңгейінде жіберетін нәрсе. Жергілікті жерде 4-тен 8-ге дейін орташа, және эпоха арифметикасы онымен бірге өзгереді.

SO-100-де бірінші іске қосу үшін SmolVLA ма әлде ACT ма?

Егер тапсырма бір қайталанатын қозғалыс болса және сіз ең жылдам циклді қаласаңыз, ACT: әрекет қадамына 20 мс, 80 М параметр, тілдік шарттау жоқ. Егер сіз тілдік шарттауды, бір чекпойнтта бірнеше тапсырма жолын және алдын ала оқытылған базаны қаласаңыз, SmolVLA. Екеуі де 24 ГБ деңгейінде орналасқан, сондықтан таңдау бюджетте емес, тапсырмада.

--policy.scheduler_decay_steps параметрін орнатуым керек пе?

Тек --steps 30000-нан жоғары болғанда ғана. SmolVLA косинус ыдырауын 30000 қадамда алдын ала орнатады, ал lerobot 0.6.1 оны қысқарақ іске қосу үшін өзі төмен қарай масштабтайды, бұл кезде "Auto-scaling LR scheduler" деп журналға жазады. Ол ешқашан жоғары қарай масштабталмайды, сондықтан --steps=100000 әдепкі мәні соңғы 70000 қадамды 2.5e-6 деңгейінде қалдырады.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started