Трениране на policy

AY-Robots трени policy за манипулация върху управлявани GPU, така че можете да преминете от записани епизоди до policy, работеща на вашата ръка, без да притежавате тренировъчен хардуер. Тази страница покрива поддържаните типове policy, страницата за тренировъчния run, checkpoint и какви резултати реалистично можете да очаквате при вашия брой епизоди.

Последна актуализация 2026-08-09

Трениране без собствен GPU

Тренирането на policy за манипулация е натоварване за GPU, а съвременните vision-language-action модели се нуждаят от повече VRAM, отколкото има типична работна станция. В AY-Robots тренирането се извършва на облачни GPU, управлявани от платформата: избирате dataset и тип policy, стартирате run-а и следите напредъка му от браузъра. Няма настройка на CUDA, няма съгласуване на драйвери и няма среда за поддръжка.

Входът винаги е облачен dataset от Dashboard > Datasets. Подходящо е всичко, което сте записали чрез сесии за телеоперация или качили във формат LeRobot, включително обединени дейтасети. Подберете съдържанието, преди да трените: епизодите, етикетирани Failure, обикновено нямат място в тренировъчния набор, а десет минути преглед в браузъра за епизоди спестяват часове GPU време, изразходвано за учене от лоши демонстрации.

Поддържани policy

Поддържат се четири семейства policy. Те се различават по размер, разходи за трениране и колко могат да усвоят от вашите данни, така че правилният избор зависи повече от вашата задача и dataset, отколкото от какъвто и да е общ класиране.

PolicyВидХарактеристики
ACTTransformer, action chunkingПредсказва кратки блокове бъдещи действия вместо отделни стъпки. Компактна, трени сравнително бързо и е солиден първи избор за една ясно дефинирана задача.
Diffusion PolicyДифузия върху последователности от действияМоделира цялото разпределение на демонстрираните действия, което помага, когато вашите демонстрации решават задачата по повече от един валиден начин. По-тежка за трениране и по-бавна при инференция от ACT.
SmolVLAМалък vision-language-action моделЕзиково обусловена: текстът на задачата от вашите епизоди става част от входа. Добър среден вариант, когато искате езиково обуславяне без голям foundation модел.
GR00T дообучениеДообучение на foundation моделДообучава голям, предварително трениран foundation модел за роботика върху вашите епизоди. Най-високият таван от четирите, при най-високите разходи за трениране и със строго изискване за формата на dataset.
GR00T изисква дейтасети LeRobot v2.1

Дообучението на GR00T приема изключително дейтасети във версия на формата LeRobot 2.1. Dataset във v3.0 ще се провали по време на зареждане на данните, не при подаването, така че проверете версията на формата, преди да стартирате run-а. Дейтасети, записани в платформата, могат да се използват такива, каквито са; за външни качвания първо проверете версията в meta/info.json.

Стартиране на run

  1. 1
    Изберете dataset

    Отворете Dashboard > Training и изберете dataset-а, върху който да се трени. Показват се броят епизоди и типът робот, за да потвърдите, че сте избрали правилния.

  2. 2
    Изберете policy

    Изберете един от поддържаните типове policy. Ако не сте сигурни, започнете с ACT: това е най-евтиният начин да разберете дали вашият dataset изобщо е достатъчно добър, за да се трени нещо върху него.

  3. 3
    Стартирайте

    Стартирайте run-а. Той получава job id и собствена страница за run, а вие можете да затворите браузъра: тренирането продължава от страна на сървъра и страницата показва текущото състояние, когато и да се върнете.

Страницата на тренировъчния run

Всеки run има собствена страница, която отговаря на двата въпроса, които наистина имате по време на трениране: учи ли се, и здрава ли е машината. Напредъкът в ученето се показва като графики на loss, разписанието на learning rate и нормата на градиента. Loss, който веднага се изравнява, или норма на градиента, която експлодира, ви казват рано, че не си струва да чакате този run.

До това се показва здравето на машината: натоварване и памет на GPU, плюс метриките на хост машината за трениране. Времева линия на фазите показва къде точно се намира run-ът в момента, от подготовката на средата през зареждането на данните и самия тренировъчен цикъл до качването на checkpoint. Когато нещо изглежда нередно, вграденият преглед на логове ви дава суровите тренировъчни логове без достъп през SSH, което обикновено е достатъчно, за да видите дали проблемът е във вашия dataset, или в самия run.

Checkpoint и продължаване

Checkpoint се съхраняват по run, а не в общ пул, така че checkpoint, изброени на страница за run, винаги принадлежат точно на този run и неговата конфигурация. Това тежи повече, отколкото звучи: смесването на checkpoint между run-ове с различни настройки е класически източник на тихо развалени policy.

Ако run бъде прекъснат, можете да продължите от последния му checkpoint, вместо да започвате отначало. Междинните checkpoint също са полезни сами по себе си: когато дълъг run започне да пренаучава към края, по-ранен checkpoint често работи по-добре на реалната ръка от финалния.

Пускане на тренираната policy на вашата ръка

Готова policy може да бъде пусната директно обратно на вашия робот. В кокпита изберете тренираната policy за свързаната ви ръка и стартирайте инференция: policy сега произвежда командите за ставите, които преди сте произвеждали чрез телеоперация. Ръката трябва да е от същия тип робот, върху който е записан dataset-ът, а сцената трябва да прилича на тренировъчните сцени, включително разположението на камерите.

Третирайте първите run-ове на инференция като експерименти, не като демонстрации. Дръжте аварийното спиране на разстояние, започнете от начално състояние, близко до онова, което сте демонстрирали, и очаквайте, че policy е чувствителна към неща, които вие дори не бихте забелязали: преместена камера, различна светлина или обект, който dataset-ът никога не е съдържал.

Колко епизода са ви нужни

Най-честата грешка при трениране в платформата не е грешен хиперпараметър, а трениране върху твърде малко данни и последващото заключение, че типът policy не работи. Като общо правило за една задача на маса: около 50 епизода дават policy с тясна генерализация, която успява от начални състояния, близки до тези, които сте демонстрирали. Около 100 до 200 епизода дават използваема устойчивост в работното пространство за тази една задача, при условие че сте варирали разположението на обектите между епизодите.

По-способните типове policy не отменят това правило. GR00T дообучение върху 20 епизода все още ще генерализира зле; онова, което по-големите модели ви дават, е по-висок таван, щом данните вече ги има. Ако бюджетът ви е ограничен, изхарчете го първо за повече и по-разнообразни епизоди, после за по-голям модел.

Често задавани въпроси

Колко време отнема тренировъчен run?

Зависи от типа policy и размера на dataset-а, така че няма честно единствено число. ACT обикновено е най-бързата от четирите, GR00T дообученията са най-бавни. Времевата линия на фазите и графиките на loss на страницата за run показват рано дали run-ът напредва.

Мога ли да тренирам върху обединен dataset?

Да. Обединените дейтасети са обикновени дейтасети; валидацията при обединяване вече е гарантирала последователни fps, признаци и тип робот. Обединяването на записи от една и съща задача е един от най-ефективните начини да достигнете диапазона от 100 до 200 епизода.

Моят GR00T run се проваля при зареждане на данните. Какво да проверя първо?

Версията на формата на dataset-а. Дообучението на GR00T изисква LeRobot v2.1, а dataset във v3.0 се проваля точно там. Проверете версията в meta/info.json на вашия dataset.

Трябва ли да премахна неуспешните епизоди преди трениране?

Обикновено да. Епизодите, етикетирани Failure, учат policy на провалящото се поведение. Епизодите Recovery са различни: те показват как се коригира грешка и често си струва да бъдат запазени.

Трябва ли да държа браузъра отворен по време на трениране?

Не. Run-овете се изпълняват от страна на сървъра. Страницата за run показва текущото състояние, графики и логове, когато и да се върнете, а checkpoint се запазват независимо дали някой наблюдава.