SO-100 малокостна робот рака на маса, подготвена за телеопирање и обучување на политика
DAggerSO-100Имитативно учењеVLAТелеопирање

Запуштање на DAgger циклус на SO-100 со VLA политика

AY-Robots ResearchAugust 27, 202615 мин читање

Детаљно објаснување на еден човечко-врата DAgger циклус на SO-100 рака: запусти ја политиката и снима, преземи контрола кога грешка ќе се случи, евидентирај го текот како корекција, состави мешан датасет, и продолжи обучување од контролна точка. Вклучува патека за преземање преку тастатура и лизгачи за луѓе без лидер рака, и четирите грешки што го правата циклусот бесполезен.

Твоја политика трчи. Стигнува до коцката, го затвара хватачот един сантиметар премногу рано, и продолжува како да ја има. Ништо не е грешка, и ниту количина гледање во загубата при обучување не го објаснува. Исправката не е уште 20 000 градиентни чекори врз истите демонстрации. Тоа е да ја постави твоја рака назад на раката точно каде што се случува грешката, снима што направи наместо тоа, и обучи следна контролна точка врз стари податоци плус таа исправка. Тоа е DAgger циклус, и вака еден трча на SO-100 with a vision-language-action policy.

Теоријата е некаде: зошто агрегацијата на датасет вообште работи and што човечката врата го менува за неа. Ова е оперативниот прирачник, и претпоставува обучена контролна точка, функционално множество камери, и рака која се движи. Шест чекори подолу се циклусот како имплементиран на DAgger страната на оваа платформа, но редоследот е ист од твои сопствени скрипти.

Еден циклус во кратко

  • Запусти обучена политика и снима ја, со текстот на задачата на текот наместо генеричка ознака за телеопирање.
  • Преземи контрола кога поведението станува грешно: огледало-раздавање со лидер рака, непосредно и рачно преку тастатура или лизгачи без неа.
  • Тријажира секој текст: евидентирај го како исправка, задржи го како епизода за евалуација, или отфрли го.
  • Состави мешавина рачно - оригинални демонстрации плус исправки, епизоди избрани по извор. Никогаш не обучувај само врз исправки.
  • Продолжи обучување од последната контролна точка, и забележи која контролна точка произведе која мешавина.
  • Бројот што кажува дали циклусот бил вредна што било е стопата на интервенција, не загубата при обучување.

Зошто вторитиот циклус не е само повеќе податоци

Поведенче-клонирање обучува врз состојбите што човек посетил. За време на тестирање политиката посетува состојби што ги предизвикува, и мали грешки на акција се составуваат во состојби ни една демонстрација не покрила. Ross, Gordon и Bagnell ја формализираа таа грешка за AISTATS 2011 и ја одговориле со итеративен алгоритам што обучува стационарна детерминистичка политика и, под нивната редукција, мора да работи добро под дистрибуцијата на состојба што ја индуцира: запусти тековна политика, имај експертизан ознаки состојби што вистински допирна, додај тие во датасет, преоучи, повтори. Kelly и сор го направија упитот практичен со HG-DAgger, каде што човекот одлучува кога да преземе контрола наместо означување на состојби без держење на управување; тие пријавиле подобрена работа над DAgger и поведенче-клонирање на симулирана и вистинска автономна задача на возење. Човечката врата е што го прави циклусот понослив на маса-рака - само ги движиш раце кога нешто станува грешно.

Две последици значат повеќе во практика отколку теоријата. Исправки не се обични демонстрации: се концентрираат во регионите на грлото Mandlekar и сор описуваат, каде што мало отстапување ја пушта политиката во состојби демонстрациите никогаш не покрија. И датасет направен само од тие тешки делови е лошо обликуван датасет - Belkhale, Cui и Sadigh се полемизираат од страната на податоци што разноврсност на состојба не е секогаш корисна, и че разноврсност на акција и разноврсност на преход заедно одлучуваат качество на датасет. Мешаниот датасет не е компромис, тоа е поента.

Замрзни ги овие пред циклус еден

DAgger циклус ја спореди политиката против себеси низ времето. Што било што го менува помеѓу циклусите што не е датасет таа спореди безначална.

  • Позиции и монтажи на камера, камера на зглоб вклучена. Отпусти еден стегач и ја променила дистрибуцијата на набљудување, не политиката.
  • Експозиција и баланс на белина, ако твој збир за аквизиција ти дозволува да ги притиснеш. Автоматската експозиција која се движи помеѓу циклусите е спор, невидлив помак во домен.
  • Калибрирање на рака и позиције нула на серво. Ако мораш повторно да калибрираш, третирај се што е снимено пред тоа као одделен датасет.
  • Текстот на задачата. Секоја VLA овде зависи од него; препишување во средина циклус е различна задача.
  • Осветлување, површина на маса, сет на предмети. Нов предмет е нов експеримент, не следниот циклус.
  • Стопата на кадар при снимување. Споредување на стопи на интервенција низ два растра на примероци произведува разлики што доаѓаат од растерот.
Камерата на зглоб не е опциска намена

Hsu и сор споредиле рака-централна перспектива против обична трета-лица перспектива и нашле очи-во-раката перспектива конзистентно подобрила ефикасност на обучување и генерализација надвор од дистрибуција, упркос гледање помалку на сцената. На рака со пет зглобови, временско темпо на хватач е обично што твои исправки се оправуваат, и временско темпо на хватач е што погледот на зглоб донесува.

Циклусот, крај до крај

  1. 1
    Запусти референција и снима ја

    Почни текст против контролната точка што сакаш да подобриш, потом почни снимување во коренот на референција. Снимено на тој начин таа наследува сопствен текст на текот, што е она на што политиката била обучена, наместо задана ознака за телеопирање. Без снимување можеш да гледаш неуспех но не обучување врз него.

    bash
    # two calls, not one: the run, then its recording
    POST /inference/start      # model_id, and hf_repo_id = the checkpoint to drive
    POST /recording/start      # root=inference
    # root=inference also makes the recording inherit the run's task text
  2. 2
    Преземи контрола кога станува грешно

    Притисни Преземи контрола и избери режим на вход: лидер рака, тастатура или лизгачи. Текот паузира, ти исправи, ти врати. Кадри снимени додека си возел се означуваат како интервенције автоматски.

    bash
    POST /inference/takeover/start   # input = leader | keyboard | sliders
    POST /inference/takeover/nudge   # keyboard, relative delta per call
    POST /inference/takeover/set     # sliders, absolute target
    POST /inference/takeover/stop    # back to the policy
  3. 3
    Тријажира ги епизодите

    Одлучи по епизода: евидентирај како исправка, задржи како евалуација, или отфрли. Текст што политиката ја завршила без помош е податоци за евалуација.

  4. 4
    Синхронизирај ја датасетот на исправки

    Исправки собираат во локален датасет по политика и одат во складување во облак преку автоматска синхронизација. Ништо не е мешано во тоа што не постави таму.

  5. 5
    Состави мешан датасет

    Комбинирај оригинален датасет со исправки, избирајќи епизоди експлицитно по извор. Резултатот е обичен датасет од таа точка натаму.

    bash
    POST /training/datasets/compose
      sources  = [ original_dataset, korrekturen_<policy> ]
      episodes = explicit selection per source
  6. 6
    Продолжи обучување од контролната точка

    Обучи мешавина од претходна контролна точка наместо основниот модел. Забележи која контролна точка и која мешавина; без таа парка циклусот не е репродуцибилен.

    bash
    # field on the training job
    base_checkpoint = s3://ay-robots/checkpoints/<run>/<checkpoint>
    # the platform passes it to the training pod as BASE_CKPT_S3

Чекор 2 во детаљи: два начина да преземеш контрола

Со лидер рака

Во лидер-следбеник mode the takeover is a handover between two arms that are not in the same pose. Pressing Take over pauses the runner and drives the leader onto the follower's current pose, so nothing jumps when torque transfers. If that alignment drive times out, you align the leader by hand and release only once the two are within five degrees. From then on you teleoperate normally and the action column records what you commanded.

Биди чесен за овој пат: врата за усогласување и раздавање на вртежен момент се најмалку тестирана дел на циклусот на вистинскиот хардвер. Тестирај раздавање на спор, безопасна позиција пред да се потпреш на неа во текст што ти кериш. Лидер рака произведува најмазни исправки од три режими, и исто има најмногу што може да се случи механички.

Без лидер рака: тастатура и лизгачи

Повеќето луѓе читајќи ја имаат една рака. Тоа е доволно. Избери вход на тастатура или лизгач во моментот кога притиснуваш Преземи контрола, и преземањето е непосредно и рачно - нема втора рака за усогласување, така нема чекор на усогласување. Следбеник го држи своја позиција и чека за вход.

Режим на входКако рака се движиГраница по-повик соопштена од серверотЗаклучено кога
Лидер ракаОгледалото го вози следбеник од аглите на зглобови на лидеротНема потисни или поставени повици во овој режим; огледалото пишува целови на следбеник континуираноНикогаш не е заклучено, и задана ако режим на вход не е даден - но потребна е втора рака; без id на лидерот преземањето се отфрлува
ТастатураРелативен потисок по притиск на копче, пратен до крајна точка на потисок за преземањеТврд стегач на 2 степена по зглоб, 4 степена за хватачОтфрлено со 409 ако преземањето беше почнато во режим на лидерот
ЛизгачиАпсолутна целна позиција, пратена до крајна точка на поставување за преземањеНајмногу 6 степена на движење кон целта по повик; интерфејсот продолжува слање околу десет пати во секундаОтфрлено со 409 ако преземањето беше почнато во режим на лидерот

Стегачите се соопштени со серверот, не во интерфејсот, затоа што погрешно наведена делта на рака со автобус-серво е судир. Исправки од тастатура излегуваат чекориски и малку груби; исправки од лизгач се мазни, затоа што серверот иде кон целта додека интерфејсот продолжува стриминг. Неважно начин, колоната на акција прима целиот командуван вектор позиција и означување интервенције е идентично на пат на лидерот, така исправки од тастатура слегуваат во ист датасет без разлика во формат.

text
Q / A   joint 1      R / F   joint 4
W / S   joint 2      T / G   joint 5
E / D   joint 3      Z / X   gripper
Ист распоред на копчиња како везде во збир, така мускулна меморија од снимување се преносува.
Прирачник за обучување што покажува подредени чекори на GR00T фина подесување запуштање на SO-100 датасет
Страната на обучување на циклусот е ист водена редослед како првото запуштање; само поле на контролна точка се разликува.

Кога да притиснеш копче

Рано наместо доцна. Исправка што почнува откако хватачот се затвора на ништо учи опоравување од неуспех што политиката не требаше да влезе, и податоци за опоравување вредат далеку помалку отколку податоци за избегнување. Прекини во првиот момент кога си сигурен траекторијата е грешна, исправи преку тешкиот дел, врати рачно како само состојба е една што политиката раньше ја имала. ThriftyDAgger автоматизира таа одлука со врата интервенције на новост и проценета ризик под фиксна буџета од човекот, но на една рака со човекот веќе гледање, врата на човекот е поефтина и подобро калибрирана отколку што било што ќе подесиш.

Возможно со отворениот извор збир и неколку скрипти. Што коштува е водење на сметки, и водење на сметки е каде DAgger циклусите умираат.

  1. Напиши кадри од твој сопствен скрипт за референција во LeRobot датасет, со ниска на задачата што политиката била обучена на.
  2. Паузирај циклус на политика, замени извор на команда, и означи секој кадар што га возиш као интервенција. Без означување, исправки изгледаат као обични демонстрации.
  3. Одлучи намерно што се случува на кадрите во преход помеѓу политиката што ја пушта контролата и твој прв вход.
  4. Задржи исправки во нивната сопствена датасет по политика, и следи индекси на епизода рачно така мешавина може да се реконструира.
  5. Насочи влезна точка на фина подесување на претходна контролна точка, и провери во логот че тие тежини се вчитале.

Чекор 3 во детаљи: тријажирањето одлучува за квалитетот

По текстот имаш снимување со некои кадри означени како интервенције. Три дестинаци постојат, и грешната тивко го отрива следниот циклус.

  • Евидентирај като исправка кога интервенција беше вистинска исправка: политиката се движела нанекаде грешно и твој вход показал правилна ствар од состојба што политиката сама произведе.
  • Задржи као евалуација за чисти автономни текстови и за текстови што ги преземе из превид. Епизоди евалуације се како мериш следна контролна точка, и тие никогаш не смеат да се обучуваат.
  • Отфрли текстови од нешто несврзано - пустена камера рамка, заглавена серво, предмет што го собрал. Неуредна исправка е полоша отколку ниту исправка.
Замрзнати кадри припаѓаат во сирово снимување, не во обучување податоци

Помеѓу политиката што ја пушта контролата и твој прв вход, раката стои мирна додека рекордерот продолжува писање - текст на идентични позиции спарени со малку различни слики. Овде тие кадри на раздавање остануваат во сирово снимување и надвор од датасетот на исправки. Ако го гради циклусот сам, ги сече намерно: политика обучена врз нив учи да паузира каде што требаше да дејствува.

Чекор 5 во детаљи: составување на мешавина

Составување го зема оригиналниот датасет плус датасетот на исправки и произведува нов, обичен LeRobot датасет што обучува како било кој друг. Важното својство е че избор на епизода е експлицитен по извор - ништо не е мешано автоматски. Тоа звучи мало додека не первиот пат политика се однесува чудно и мораш да реконструираш на што беше обучена.

Отворено прашање е односот, и никој нема број што се пренесува. Она што литературата согласна е че исправки требаше да броиме повеќе од нивната дел на кадар. Mandlekar и сор преоучува итеративно врз податоци нивниот систем на интервенција собира, така политиката учи да преминува преку грлото, и пријавиме че агенти обучени на тај начин надмину агенти обучени на еквивалентен број на примероци од не-интервенциски демонстратори. Sirius иди натаму и повторно ги пондерира примероци при обучување по приближна човечка доверба, пријавувајќи 8 процент добивка во симулација и 27 процент на вистински хардвер во стопа успех на политика против методи што ги спореди, на двојно брзина конвергенције. Ниту еден влез на обучување овде не е изложен на копче за пондерирање примероци, така груба замена е да задржи секоја епизода исправка додека подпримероци оригиналните демонстрации - и да напиша што направи.

Преглед на снимување датасет што покажува епизоди на SO-100 датасет со токови на камера
Епизоди исправки се обични епизоди со означување на интервенција по-кадар, така се составуваат со оригиналниот датасет без конверзија.

Чекор 6 во детаљи: што значи заиста продолжување од контролна точка

Обучување мешавина од основниот модел работи но отфрла претходниот циклус и коштува целиот текст. Продолжување од претходниот checkpoint is faster and usually better. It is also more limited than the phrase suggests.

Инијализација на тежина не е резиме на оптимизатор

Контролна точка само-тежина содржи параметри и ништо друго. Вчитувањето даје следниот текст подобра почетна точка отколку основниот модел, но момenti оптимизатор, позиција график на стопа обучување и редослед на податоци сите почнуваат од нула. Очекуј шав од загуба на почетокот на продолжениот текст, не читај то като неуспех, и не нарекувај циклусот резиме. Тоа е топла почетна точка.

ПолитикаВеличинаНиво на GPUРеференција по чекор на акцијаФормат на датасетЕпизоди пред да вредна е да пробаш
GR00T N1.7околу 3 B, груло 40 M обучено при фина подесувањеA100 80 GB или H100 80 GBоколу 152 мсLeRobot v2.0 или v2.150
GR00T N1.5околу 3 BA100 80 GB или H100 80 GBоколу 165 мсLeRobot v2.0 или v2.150
Pi0.5околу 3 B на PaliGemma основаA100 80 GB или H100 80 GBоколу 485 мсLeRobot v3.050
SmolVLAоколу 450 MRTX 4090 или било која 24 GB картичкаоколу 245 мсLeRobot v3.030
ACTоколу 80 M, обучено од скречRTX 4090 или било која 24 GB картичкаоколу 20 мсLeRobot v3.050

Одложеност се составува внатре DAgger циклус на начин на кој не прави при демо: при груло 485 мс по чекор на акција ти преземаш контрола затоа што рака поколеба, не затоја што беше грешно, и исправки за колебање не се корисни обучување податоци. Ако итерираш врз податоци наместо го гониш окончален стопа успех, итерирај врз брз модел. Shukor и сор опишуваат SmolVLA както дизајниран да обучува на една GPU и разврста на потрошач GPU или CPU, со асинхрон збир на референција што го раздвојува предвидување на акција од извршување на дозволи повисоки стопи контрола - svojstvo што го држи циклус на преземање одговорен.

Формати на датасет не се исто заменливи. GR00T зема LeRobot v2.0 или v2.1, и депозиториум Isaac-GR00T описува неговиот вход као вид на формат LeRobot v2 со додадена датотека со описување на модалност; новите обучувачи овде очекуваат v3.0. Мешавина составена во грешна верзија не успева при вчитување времето наместо производство лоша политика - podобра режим на неуспех, сѐ уште засегнувано место во редица. документација на датасет lists which format each trainer takes.

Циклусът, со водење на сметки веќе направено

Преземање со лидер рака, тастатура или лизгачи; означување на интервенција по-кадар; евидентирање текстови както исправки или евалуации; составување мешан датасет со експлицитен избор на епизода по извор; и продолжување обучување од контролна точка наместо основниот модел. Што останува твоја одлука е кој текст ја брои както исправка, што одат во мешавина, и кога стопата на интервенција престанала да паѓа.

Види како DAgger циклусът е поврзан

Четири начини да ја потрошиш круг

1. Обучување само врз исправки

Најчеста грешка и најфорсирана пречица. Датасет само-исправка е скоро целина тешкиот средина на задачата, со приближување и отступ недостатни; политиката станува подобра на тешкиот дел и заборава како да стигне таму. Агрегација не е детаљ на имплементација на метод, тоа е механизам: старите податоци се она што го држи остатокот од поведението на месте додека исправки го движат еден дел од тоа.

2. Движење на камера помеѓу циклусите

Камера што се движи два сантиметра помеѓу циклусите произведува политика полоша отколку она што почна, и дијагноза што коштува ден. Секоја VLA овде зависи од слики; състојба на зглоб сама не разјаснува каде што предметот е. Фотографирај комбинација пред първиот циклус и провери таа фотография пред секој подоцнешен.

3. Допуштање на кадри од раздавање во обучување

Покрито горе, и на листа затоа што е невидливо. Симптомът е политика што застанува за дел од секунда точно каде што оператор на претходниот циклус ја преземаше контрола. Изгледа както колебање; тоа е имитација.

4. Нарекување на топла почетна точка резиме

Ако верува че състојба оптимизатор пренесена, почетна загуба пик чита както баг и идеш ловење на корумпирани податоци. Ако знаи че оптимизатор почна свежо, пик е очекуван и гледаш што доаѓа по него. Исти броеви, спротивни заклучоци.

Мерење на циклусът

Метрика за човечко-врата циклус е стопата на интервенција: кадри снимени додека ти ја имаше контролата, поделено със вкупни кадри на текстът. Тоа е във статус на преземање, и тоа е единствениот број што одговара прашање циклусът прашал. Обучување загуба паѓа без разлика дали политиката подобрена; стопа успех е бинарна и бучна на големини на примероци рака маса произведува. Стопа на интервенција е континуирна, мерена врз состојби што политиката сама предизвикала, и паѓа както политиката те потребува помалку.

Спореди го само нив текстове снимени под идентични услови. Целиот аргумент, и како да гради сет за евалуација што преживува повеќе од два циклуса, е во написот за мерење DAgger циклусът. Циклус еден е реалистично тест за изводливост: ти проверува че преземањето работи на твој хардвер, че исправки слегуваат със нивни означување, и че продолжениот текст вчитал контролна точка што наименуваше. Циклусът втор и трет се каде што стопата требаше да почне да се движи. Ако не се движила до циклусът четири, проблемът е пред DAgger.

Напиши по циклусЗошто значи подоцна
Контролна точка што беше возенаБез неа не можеш да припишеш подобрување на мешавина
Режим на вход користен за преземањеИсправки од тастатура се груби отколку исправки од лидер, и тоа се покажува во податоци
Број на текстови и както секој беше тријажиранДали циклусът имал доволно исправки да значи
Стопа на интервенција по текст, и просекътМетрика напредок на циклусът
Точен избор на епизода по изворЕдинствениот начин да репродуцира или разубави циклусът
Топла почетна точка или свежо обучувањеОбјаснува крива загуба што ќе гледаш за неделја

Ако нема контролна точка уште

Циклусът нема влезна точка без еден. Снима първиот датасет, обучи първа политика, запусти ја - recording, обучување and запуштање на политика покриваат тој пат. Клиентът на снимување е на страната за преземање, нивои на GPU и часовни стопи на страната за цени, и както изгледа употребувачка епизода във SO-100 прирачник на събирање на податоци. Добави ги демонстрациите в ред пред исправките: DAgger е механизм за поправка, и работи далеку подобро врз нешто што беше скоро точно веќе.

Можам ли да запустам DAgger циклус без лидер рака?

Да. Избери вход на тастатура или лизгач кога притиснуваш Преземи контрола: преземањето е непосредно и рачно, со ниту втора рака за усогласување. Тастатура пишува релативни потисни че серверот стегач силно на 2 степена по зглоб и 4 за хватач; лизгачи пишуваат апсолутна цел и серверот се движи најмногу 6 степена кон неа по повик, додека интерфејсът продолжува стриминг. Колона на акција и означување на интервенција се исти както во режим на лидерът, така исправки се неразликувачи во датасету.

Колку исправки требува еден циклус?

Нема брањив универзален број, и број на кадар значи повеќе отколку број на епизода. Работното правило е че исправки не смеат да се изгубят во мешавина: със 200 оригиналних епизоди и три епизоди исправки, ништо не ќе се движи. Циљајте исправки што го покриваат неуспешно поведување од неколку почетни конфигурации наместо три повторувања на истото спасување.

Зошто обучување само врз исправки е толку лоша идеја?

Затоја что исправки се скоро целина тешкиот средина на задачата. Приближување, усогласување и отступ се недостатни, така политиката губи што веќе направила добро додека подобрува дел що го исправи. Задржување на стари податоци и додавање на них е механизмът сам, не опциска дополнување.

Дали продолжување од контролна точка резимира претходниот текст на обучување?

Не. Контролна точка само-тежина ги восстановува параметри и ништо друго: моменти оптимизатор, позиција график на стопа обучување и редослед на податоци почнуваат свежо. Тоа е топла почетна точка, и почетна пик загуба е очекувана наместо симптом. Напиши која од двете всушност направи, така правилно читаш крива неделја подоцна.

Што ако стопата на интервенција не паѓа?

Запри додавање циклусите. Равна стопа значи че исправки не учат што мислиш. Вообичаените причини се пред: камера се движи, исправки почнуваат премногу доцна да бидат податоци за избегнување, кадри на раздавање се во сет на обучување, или задачата е пададодредена од набљудувањата што политиката вистински добива.

Ниту тоа е решен проблем и ниту тоа е еден клик. Интерактивно имитативно учење е активна област на истражување точно затоја што неговите прашања - кога да интервениира, както да пондерира што човекот направи, колку стари податоци да задржи - немаат устоено одговори; анкета од Celemin и сор ја картирува она што сѐ уште е отворено. Она што циклусът вистински има е измерување конвергенција кога е запустена внимателно, на хардвер što коштува неколку стотини евра. Замрзни комбинација, интервенција рано, тријажира чесно, мешај намерно, и снима стопа на интервенција секој пат.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started