Full transcript
0:05Добрый день. Меня зовут Андрей
0:07Москаленко. А я являюсь научным
0:09сотрудником команды Fusion Brain
0:11Robotics, где мы разрабатываем, в том
0:13числе V модели, с которыми очень плотно
0:16работает. Работаем. Сегодня я расскажу
0:18семинар по теме ведения в велой модели.
0:22А начнём мы с небольшого введения про
0:24что такое вообще воплощённый
0:25искусственный интеллект. поговорим про
0:27то, как его тестировать в симуляторах и
0:29в реальных условиях. А поговорим, что
0:31такое вело модели. И затем будет семинар
0:34в Юпитер ноутбуке, после которого мы ещё
0:36попытаемся собрать несколько
0:37демонстрационных траекторий с помощью а
0:40настоящих роботов.
0:42А что же такое воплощённый искусственный
0:44интеллект? Ну, существует множество
0:46определений, что такое MB TI, но почти
0:49все сходятся к тому, что это какой-то
0:51автономный агент, который может, э,
0:54выполнять определённые задачи, и он
0:56должен обладать следующими свойствами.
0:58Онже воспринимать информацию, может
1:00говорить, слышать, а, может рассуждать,
1:03то есть ризанинг в своих рассуждениях, и
1:05должен как-то действовать. То есть,
1:07собственно, действием определяется его
1:08агентность, и эти агенты должны
1:10действовать в реальном мире. Ну, мы
1:12много компаний знаем, которые занимаются
1:13сейчас роботами, там, Boston Dynamics,
1:17Figer и так далее, и они очень постоянно
1:19выкладывают вот такого рода демки. Но
1:21эти демки, они в основном как бы
1:23используют заранее предзаписанные
1:25траектории. А в полном понимании
1:28полноценный body агент должен выполнять
1:31любые задачи в любых условиях, которые
1:33для него out of distribution, то есть
1:36которых не было в обучающей выборке.
1:39А, существует множество разновидностей
1:41роботов, но вот конкретно хочется
1:44выделить роботов общего назначения,
1:45которые как раз независимо от среды
1:48могут в целом а как-то передвигаться или
1:50выполнять какие-то задачи в совсем
1:52разных условиях. Это могут быть
1:54робособаки, могут быть робособаки там с
1:57гибридный молокомоцией. И сейчас все
2:00компании нацелены на создание первых
2:01гуманоидов. Это связано не только с тем,
2:04что они как бы людям более близки, но и
2:07с тем, что данные для них на самом деле
2:09собирать оказывается проще, чем для
2:11других модальностей, потому что можно
2:12клонировать действия напрямую с движения
2:15действий человека и выполнять обучение
2:17на этих данных и не делать дорогостоящий
2:21teleопереation.
2:23А, ну, какая бы у нас ни была форма
2:25воплощения этого искусственного
2:26интеллекта и робота, у нас есть общее
2:30определение, которая характеризует все а
2:34виды моделей. Это количество степеней
2:38свободы, которыми мы можем управлять. А
2:41вот здесь приведён пример роборуки
2:43Франка Эмика Panda. Это одна из самых
2:46популярных в исследовательской области а
2:49роборук. У неё конкретно семь степеней
2:52свободы. Что это значит? У неё значит,
2:55что у неё как минимум восемь моторов и
2:57что она может выполнять
3:00вращение в разных углах по каждой из
3:01осей. А здесь вот проведена схемка
3:05нашего трёхмерного мира. И кто знает,
3:07сколько нужно минимальное число степеней
3:09свободы иметь роботу, чтобы он точно мог
3:11достичь любой сферы, любой точки на
3:14сферы вокруг себя. То есть вот у Франки,
3:16например, 7 + 1 степень свободы. Можно
3:18ли сделать меньше? Что?
3:23>> Вот, да, правильный ответшесть, потому
3:24что нам не только X Y Z, но ещё и угол,
3:27под которым у нас будет стоять рука
3:29робота. То есть вот эта рука называется
3:31гриппером или эндефектором, и у неё есть
3:34ещё направление, в которое она
3:35указывает. То есть мы определяем x YZ и
3:38Pch Roll. И, соответственно, здесь у
3:40Франки есть избыточность в этом плане,
3:42что она может держать одно и то же
3:44положение, ещё немножко двигая локтём.
3:46То есть это добавляет большей степени
3:47свободы. Если, например, вы делаете
3:49манипуляцию в каких-то стеснённых
3:51условиях, там полки магазина, то может
3:53случиться так, что вы как бы пытаетесь
3:54схватить объект, а у вас полкай там
3:56задевает соседние и вот имея
3:57дополнительную степень свободы позволяет
3:59это решить. А автономный транспорт - это
4:02своего рода тоже воплощённый
4:03искусственный интеллект. А кто может
4:05сказать, сколько степеней свободы вот у
4:07бесплотного автомобиля?
4:11>> Ну здесь есть
4:12>> Нет, не
4:13>> здесь, на самом деле, есть подсказочка.
4:15Правильный цвет две, потому что он может
4:19либо вперёд-назад, либо крутить руль. То
4:22есть даже получается у бесплатного
4:24автомобиля гораздо меньшей степени
4:26свободы оказывается, чем у обычной
4:28роборуки. Если мы говорим про сложных
4:30гуманоидных роботов, на каждую руку, на
4:32каждый там палец свой мотор. Это уже там
4:34порядка 24че степеней свободы только на
4:36кисть, что очень
4:39большая размерность.
4:42А как же управлять роботом с помощью
4:44какой-то модели и вообще какие есть
4:46способы управления? Ну вот различаю два
4:48вида управления. Это Joint Space и
4:50Gripper Space. А Joint Space - это
4:53управление посредственно каждым мотором.
4:55Здесь для простоты приведён плоский
4:57график изображения робот руки. И у него
5:00вот есть какая-то подвижная
5:03основание. Затем какой-то ещё один мотор
5:05Q3, Q4 и в конце эндеффектор, который
5:08тоже может вращаться на какой-то угол.
5:10Соответственно, у нас каждый кушка -
5:12это, собственно, мотор и это джоинт.
5:14Также можно управлять гриппером, потому
5:16что управлять моторами, вообще говоря,
5:18не очень интуитивно. То есть вот вы,
5:20например, хотите, чтобы эта рука
5:21оказалась в какой-то вот такой точке, а
5:24как нужно подвинуть мотор, чтобы она там
5:25оказалась? Ну, это довольно как бы
5:27нетривиально для человека управлять.
5:28Человеку гораздо тривиальнее управлять
5:31непосредственно от первого лица,
5:32условно, эндефектором. То есть говорить,
5:34чтобы он сдвинул, например, свою клешню
5:36на там типа 5 см вправо. Собственно, это
5:39уже называется Grippers Space. И
5:41существует переход между позойдектора и
5:44джоинтом. То есть у нас есть вот
5:46уравнение обратной кинематики, которые
5:48позволяют с помощью дифференциальных
5:49уравнений сказать, вот мы сказали
5:52роботу, что нужно подвинуть руку на 5 см
5:54вправо, насколько нужно изменить токна в
5:56каждом моторе, чтобы рука действительно
5:58сдвинулась вправо, если это возможно. То
6:00есть, если у робота число степени
6:01свободы не позволяет достичь любой позы,
6:03тогда уравнения кинематики не сойдутся,
6:05и мы какую-то близкую позу, наиболее
6:07близкую, попытаемся найти. А если
6:09больше, тогда можно накладывать,
6:11например, ограничение, чтобы мы сделали
6:12этот переход, потратив наименьшее
6:14количество энергии. То есть какая-то
6:15регуляризация появляется. Собственно,
6:18вот два основных типа управления: либо
6:20джоинтами, либо грипперами.
6:23А как же оценивать
6:25поведение а робомоделик в
6:29симуляторах реальных данных? А, ну
6:32управление и симуляция в настоящем мире,
6:36она является самым лучшим эталонным
6:38качеством, а показывает настоящее
6:40качество в самых настоящих условиях.
6:43Однако её собирать довольно сложно, и
6:45она очень дорога с точки зрения там, а,
6:49собственно, получения большого
6:50количества траекторий. То есть вам
6:52единственный способ масштабировать - это
6:53купить ещё одного робота и собирать
6:57данные об валюэйшене с параллельно
7:00нескольких роборук. А плюс есть проблемы
7:03с воспроизводимостью. То есть вот,
7:04например, если у вас задача приготовить
7:07креветку, то робот может спокойно
7:09разлить масло там на пол, сжечь вообще
7:11тут всю кухню и сделать очень плохие
7:13вещи, что у вас даже сцена типа просто
7:15перестанет существовать, и вы не сможете
7:16посчитать там, например, 50 эпизодов,
7:18чтобы просторей оценить. То есть access
7:20- это вот основная метрика в работексе,
7:22то есть насколько успешно выполняется
7:24задача. Или вот, например, у нас там с
7:26бокалом вина нужно его куда-то
7:30передвинуть. Собственно, он тоже может
7:31упасть, разбиться. У вас такого второго
7:33нет, поэтому у вас производимость очень
7:34плохая. То есть даже если есть,
7:35поставить в то же самое положение, ну,
7:37очень сложно.
7:39Альтернатива настоящему, а, настоящей
7:43оценки в реальном мире является оценка в
7:46симуляционных средах. Эти симуляционные
7:49сред собой, по сути, игровые движки,
7:52которые содержат заранее
7:54предопределённые наборы задач и критерии
7:56их успеха. Ну вот, например,
7:58какая-нибудь задача там открыть там
8:01шкаф, положить в него это яблоко. И
8:05есть критерий успеха, то есть когда
8:06яблоко касается нижней полки шкафа, мы
8:09считаем, что робот выполнил свою задачу.
8:11Нам, ну, неважно, какие способы он
8:13получил. То есть он мог этот яблоко
8:14здесь везде вот так покрутить и окинуть
8:16вниз. Мог положить на вторую полку,
8:17потом на первую. Робот ограничен только
8:19количеством шагов в среде, которой мы
8:21его выделяем. Вот здесь вот приведены
8:23два популярных симулятора. Это Simple
8:25Rent и Liber. Мы с ними сегодня
8:27познакомимся на семинаре. А LiberA
8:30состоит из нескольких
8:32страниц заданий. Они разделены по типам
8:35взаимодействий. То есть тут есть Libera,
8:36Object, Go, SPAL, Libera 100. И,
8:39собственно, велой модели после своего
8:41предобучения обычно делают файт на этих
8:43детсетах и репортят в статье уже,
8:45собственно, successe. Ну, плюсы
8:47эвалюации в симуляторах очевидны, то
8:49есть она полностью воспроизводима, то
8:51есть мы фиксируем все сиды, и
8:52исследователи в другой лаборатории, на
8:54другом конце мира могут получить такие
8:56жесрейты, как и были у нас. Она также
8:59очень масштабируемо, то есть мы теперь
9:01масштабируем не роботов и людей, которые
9:03за ними присматривают, а масштабируем
9:06просто вычислительные ресурсы, запускаем
9:07их там на кластерах и масштабирование, в
9:10общем, очень хорошее. Однако у нас тут
9:13есть большая проблема, это SIM Real Gap.
9:16И вот задача, как сделать симулятор,
9:18который бы success симулятора перенёсся
9:21на successрей в реальном мире, она
9:23довольно сложная. И этой задачей уже
9:24занимаются несколько десятилетий. И
9:26существует вот такая проблема с Sim LG.
9:29А конкретно авторы Simply Rренва в своей
9:31статье показывали, что у них очень
9:32высокая корреляция с настоящим
9:34successсрейтом. А потому что они,
9:36собственно, делали этот симулятор
9:37максимально похожим на реальные данные.
9:39То есть у них были асеты, которые у них
9:42есть условно в физическом мире, и они
9:45попытались их вот сделать подобие этих
9:47задач в своём симуляторе.
9:51А мы дошли до велой модели. Можете
9:53задавать вопросы по ходу, если у вас
9:55возникают. Да, пожалуйста. У меня просто
9:56вопрос. Если, [откашливается] например,
9:58мы делаем исследование и у нас, э, два
10:01вида эвалюации по сути таких, то есть мы
10:03можем погнать просто на модели,
10:04посмотреть, как они отвечают, допустим,
10:06модели, а, допустим, опять же, вот его
10:10сторону по безопасности, насколько
10:11хорошо они проходят тестинге, допустим,
10:13убивают или убивают.
10:15>> Мы делаем симуляцию, также смотрим,
10:18насколько она хорошо работает, и мы
10:20делаем физические тесты. Вот есть две
10:23тогда статьи. В одной самолёт связан, а
10:25в другой физический тест. Как мы можем
10:27понять, какая из них соми и что они
10:29действительно между собой равно?
10:32>> Ну, качество в реальном мире, оно всегда
10:33более ценно, чем в симуляторе, потому
10:35что под симулятор можно как бы неявно
10:37переобучиться, то есть там особая
10:39физика, то есть она не идеально
10:40воспроизводит все физические эффекты. И,
10:43ну, sucess rate симуляторе он обычно
10:44выше, чем в реальном мире. То есть
10:46получается симуляции по сравнению с
10:48реальным миром- это не настолько хорошее
10:51доказательство.
10:52>> Ну, если у вас прямо очень хорошая
10:54симуляция и successрей переносится,
10:56тогда можете эволюроваться в симуляторе.
10:58Но во всех статьях топовых обычно авторы
11:01и там, и там приводят свои результаты.
11:03То есть симуляция, чтобы другие
11:05следователи смогли воспроизвести
11:06результат, а реальный мир у себя там на
11:08кухне, чтобы показать просто, что оно
11:09действительно работает в каких-то
11:11условиях. Получается, критерий того, что
11:14симуляция она примерно соответствует
11:17планке реального мира - это равные
11:18секцис.
11:20>> Ну или хотя бы корреляции. То есть между
11:22ними, что симуляция выровнена с
11:24настоящими данными.
11:27Ещё вопросы?
11:30О'кей. Тогда
11:33короткое введение, собственно, VLA
11:34модели, про которую у нас будет сегодня
11:36семинар. А первой признаваемой VLA
11:39модели в нашем текущем понимании
11:41является модель от Гуглакс Transформер
11:442. А здесь авторы пошли путём, что
11:48заметили, что можно переиспользовать
11:50знания из больших языковых моделей и
11:52помочь тем самым роботам. Потому что,
11:54вообще говоря, в роботах огромная
11:56проблема с данными для обучения, потому
11:57что мы не можем просто так обкачать весь
12:00интернет. Нам нужны прямо траектории
12:01движения всех моторов. Даже если мы
12:03поменяли с одного робота на другой, нам
12:05заново нужно пересобирать весь датасет,
12:07потому что переносимости даже между
12:09роботами сильно нет. И использовать
12:12знания из LLM или VLM кажется довольно
12:15логичным. А авторы конкретно этой статьи
12:18предложили делать так называемый
12:19кофайтюнинг. То есть они брали часть
12:22вопросов просто из обычного ансферинга и
12:25параллельно спрашивали робота, какие
12:27действия ему нужно совершать. Действие -
12:29это, собственно, последовательность
12:30экшенов. Экшены можно
12:33представлять разными способами.
12:34Конкретно они здесь делали такинизацию.
12:36Вот следующая статье она тоже
12:37выполняется. Это мы берём из нашего
12:39словаря всех возможных токенов, как
12:42буквы, там, цифры и так далее, мы каку
12:45какие-то токены присваиваем действиям. И
12:48теперь наша лэмка, VLлэмка может
12:51общаться не только на языке текста,
12:53выдавая токены текста, но ещё и токены
12:56действий. А про то, как эти токены
12:58действия получаются, мы поговорим чуть
13:00позже. Но вот они конкретно предложили
13:03ещё делать это совместное обучение и
13:04показали, что такой способ он довольно
13:06хорошо обобщается на другие задачи. И
13:10архитектурно это выглядит следующим
13:11образом. То есть у нас там есть Vision
13:13transформе, достигает, достаёт из себя
13:15афичи и картинки. Есть большая языковая
13:17модель, а в которую мы инжектим токены
13:20из Vision трансформера и дополнительно
13:23расширяю словарь на токен экшенов.
13:24Теперь делаем next token prediction ещё
13:26и в пространстве экшенов. И они
13:29показывали ещё в экспериментах, что
13:30можно не только просить там сразу
13:31выдавать экшены на вопросах типа как
13:33нужно действовать, но и дополнительно
13:35какой-то рининг. И этот рининг им тоже
13:36повышает качество в плане скcс-рейта на
13:39работе к задачах.
13:42А следующая модель, которая прямо
13:44является, наверное, основополагающей в
13:46VLA - это модель Open VLA. Здесь авторы
13:49взяли ламу 27, взяли Vision trans и
13:53сделали обучение на довольно большом
13:55наборе данных, который называется Open
13:57Xbed. И он был собран в огромном
14:00количестве университетов, там порядка
14:01миллиона траекторий с разных роботов. И
14:04это можно считать такой как Imagnet для
14:06роботов. Но при этом понимаем, да, что
14:09скейлale в 1 млн примеров по по рамкам
14:13там VLM моделей, LLM моделей, тем более
14:15он довольно маленький. А степеней
14:17свободы как бы у робота больше. Вот,
14:20собственно, они обучили эту модель Open
14:22VLA. Они брали в качестве экшенов даже
14:24не дополнительные токены, а взяли просто
14:27самые наименее используемые словаря
14:28лмки, назначили их теперь экшенами и
14:31делали вот до обучения на предсказание
14:33траектории. Модель полностью открытая,
14:36скорее всего, поэтому она не так сильно
14:38завирусилась. И сейчас, а, после выхода
14:40этой статьи, наверное, уже порядка там
14:42200-300 работ по VLM-моделям вышло,
14:45включая топовые компании. Там вот, а,
14:48Nvidia есть grot, physical Intelligence,
14:50P0, P05 и так далее. И я вот хочу
14:54рассказать ещё маленький слайд, да, про
14:56Open VLA, что они, да, взяли 256 токенов
14:59и обучение у них там занимает, а, вот
15:01порядками
15:045-15 часов на 8А1.
15:07И можете эту модель даже запускать у
15:08себя локально. Ну, к сожалению, на
15:10ноутбуке это не получится запустить. Но
15:12если у вас есть какой-то подстольный ПК,
15:14то, в принципе, эта модель в частоте 6
15:17Гц можно инферить даже у себя локально.
15:20А я вот хочу рассказать про модель, про
15:22которую мы сегодня будем работать. Она
15:24архитектурно очень похожа как раз на
15:25ведущие модели от Physical Intelligence,
15:27но обладает гораздо меньшим количеством
15:29параметров. Это официальная модель от
15:31Хагинфейса. То есть они сделали
15:33платформу, которую называли Robot. И в
15:35этой платформе, собственно, реализовали
15:36эту как самую первую модель, чтобы
15:38сделать работотехнику более доступную
15:42для всех желающих. Потому что, вообще
15:44говоря, вот роборуки, которые там
15:45Франка, Эмикапанды и так далее, они
15:47стоят несколько миллионов рублей. А если
15:50какой-то энтузиаст хочет позаниматься
15:52работотехникой, вот команда Хагинфейса
15:54предложила вот таких вот милашек. Это
15:57SO101, SO100 роботы. Они, собственно,
16:00печатаются прямо на 3D-принтере,
16:01закупаются сервоприводы общедоступные, и
16:04ими можно решать те же самые сдачи
16:07манипуляции. Собственно, Small VLA может
16:09из коробки управлять такими моделями. А,
16:11правда, не очень хорошо, потому что она
16:14out of distribution, для неё как раз
16:15многие сцены лучше зафантинить на своих
16:18собранных траекториях. А, собственно,
16:20здесь отличие от предыдущей модели в
16:22том, что здесь экшены предсказываются
16:25просто авторегрессиона. То есть мы как
16:26будто предсказываем следующий текст. А,
16:29ну, в виде экшенов, а здесь используется
16:30диффузионная голова. И вот как раз
16:33семейство модели пай, оно как раз
16:35использует диффузионную голову. И кто
16:37может вот сказать, например, какой есть
16:40минус вот у такой токинизированного
16:42представления действий, которого нету у
16:45диффузионного подхода, когда мы прямо из
16:47шума делаем расшумление, получаем
16:49флатовый экшен, да?
16:50>> Качество действия уличенно тем, как
16:52говорили изначально наряда,
16:55>> да? То есть,
16:58>> да, правильно? То есть у нас, когда мы
17:00берём 256 бинов, у нас как бы
17:02гранулярность каждого действия
17:03ограничена. А здесь мы можем
17:04предсказывать непрерывные значения и
17:06быть более точными. И второй плюс - это
17:09то, что мы можем предсказывать сразу
17:10большой горизонт. То есть конкретно эта
17:12модель предсказывает экtion chank на 50
17:14действий вперёд. То есть она может не
17:16использовать все действия, которые она
17:17предсказала, и обновляться по мере того,
17:20как ей будут поступать новая информация.
17:22То есть сцена же тоже меняется, когда мы
17:23руку двигаем, но сама возможность, что
17:26можем сразу предсказать на более длинный
17:27горизонт, не авторегрессионно, а
17:30работает более хорошо. А также они
17:33подают сюда дополнительное состояние.
17:35Это называется проприацепция. Это
17:36состояние робота в текущий момент
17:38времени. То есть робот, а, каждый его
17:41мотор, он знает, в каком положении он
17:42находится. И, вообще говоря, эта
17:44информация полезна, потому что если бы
17:46мы её не подавали, ему бы приходилось
17:48самому себе делать poste estimation по
17:51камере. То есть у робота есть камера
17:53обычно верхняя и на руке. И поза
17:55simation даже не такая простая задача
17:57для роботов, тем более. Поэтому лучше
17:59напрямую подавать эти данные приоцепции.
18:01И они полезны ещё в нескольких случаях.
18:04Например, если мы хотим схватить
18:05какой-то объект, то по данным торку
18:09моторов мы можем понять, упёрлись мы в
18:11объект или нет. То есть просто по кадру
18:13мы этого не поймём, а по изменениям про
18:15прицепции как раз будет такой пик, и мы
18:17сможем понять, что робот действительно
18:18взял объект и можно дальше с ним
18:20взаимодействовать.
18:22Вот, собственно, это модель Small VLAs,
18:23с которой мы будем работать. А если
18:26кто-то хочет проходить со мной
18:28параллельно Google Collab, можете
18:29отсканировать QR-код. А первая секция,
18:32она решается плюс-минус в реалтайме, а
18:35остальные секции потребуют там порядка
18:38часа времени работы колаба. Поэтому
18:42можете смотреть, как я это буду делать у
18:45себя на ноутбук.
18:47Пока можете вопросы задать по
18:51мини-лекционной части.
18:53>> Я слышала, что также и пользуются.
18:57Получается, можно и то, и другое,
19:00>> да. Вот как раз модель Small VLA, она
19:02основана на Small VLM, а VLM основана на
19:06small LLM. То есть это вот прямо
19:08семейство модели от Hagen Face, и они
19:10как бы переиспользуют знания из языковой
19:12модели, из vision модели. И вот делают
19:14фантюн на роботе. Такой вопрос: а почему
19:17используются такие симуляторы? Почему не
19:19газету словнока?
19:22>> А муджока используется как раз симплерен
19:24основан на
19:26>> а на маники. На мани скил он чувствуется
19:28вот это бера и син. Я с ними вообще ни
19:32разу не работаю. Ну, то есть для каких
19:34задачи они лучше подходят эти симулято?
19:37>> Они подходят для того, чтобы в статье
19:39написать, что у тебя хороший successсрей
19:41на вот конкретно там франке руке. То
19:43есть это на одной руке она тестируется в
19:45симплере там Google и виде X рука. Ну и,
19:49собственно, ты репортишься рей на
19:51нескольких сред
19:52>> А для одного или двух, да, получается
19:54так.
19:57Ну, вообще говоря, сделать прямо хороший
19:59симулятор - это очень сложная такая
20:00техническая задача. То есть, если вы
20:02пробовали там с Айзаком, например,
20:05работать, а сделать прямо реалистичную
20:07среду того же самого робота, России.
20:10>> Нет, там есть, да, трансфер, но именно
20:13когда вы делаете какую-то прямо статью
20:15условно и вам нужно зайвалиться, вот
20:18такие варианты. У нас, кстати, есть
20:20набор сред, который использует память. И
20:22вот Егор как раз, который мимо проходит,
20:25может вам выдать такие среды.
20:28Так, по QR-коду все, кто хотел,
20:30отсканировали.
20:33Сейчас скину.
20:34>> А, о'кей.
20:35Так, я тогда открываю наш Юпитер.
20:39Здесь у нас
20:44>> только если запустить код, они появятся.
20:46>> Да, они появятся, если запустить код.
20:50Я, наверное, потом пришлю вот этот
20:52исполненный Юпитер. Я просто боюсь его
20:53обновлять, потому что здесь и с
20:55интернетом, и с колабо могут быть
20:56какие-то проблемы, поэтому,
20:59а, посмотрим в сохранённом, так сказать,
21:01режиме пока что. А, собственно, здесь мы
21:04выполняем последо экшенов из десяти
21:06шагов. И экшн у нас единичка в последнем
21:10а последней оси. Собственно, последняя
21:12ось - это сам гриппер. И, собственно,
21:14видим, что пальцы робота закрываются.
21:16Вообще говоря, у этого робота моторы
21:19есть на каждом пальце. Их можно даже
21:20раздвигать в разные стороны. Но вот для
21:22простоты во многих средах используется,
21:24что гриппер либо сдвигается, либо
21:26раздвигается. То есть такое упрощение.
21:28Вот делаем 10 шагов. А на то, что
21:31объекты скачат здесь, мы не обращаем
21:32внимания. Смотрим, что гриппер
21:34действительно закрывается.
21:36А затем делаем роутер по экшену, где мы
21:41в первую ось поставили единичку. И,
21:44собственно, смотрим на картинки с руки
21:46робота и от третьего лиса видим, что
21:48робот двигается по направлению к нам.
21:50Значит, вот первый экшен отвечает за
21:53ось, которая направлена на нас.
21:55Собственно, если бы мы двигались на
21:56минус один экшн, тогда робот двигался бы
21:59от нас.
22:01А попробуйте угадать, какое бы поведение
22:03робота с экшенами из всех единичек.
22:06>> Стоит на месте.
22:08>> Он подвинет защал
22:11и местится по диагонали.
22:13Вот это ближе всего, да? То есть он по
22:15каждому своему мотору будет пытаться
22:17провернуться и начнёт как бы в такую
22:18спираль закручиваться. Ну, по мере
22:20возможности, пока там стол не упрётся. А
22:23у кого колап работает, можете
22:25попробовать это запустить. Выглядит
22:27довольно прикольно.
22:29А теперь мы переходим к работе с
22:31Vйakeкой. Я здесь ещё чуть-чуть масштаб
22:33уменьшу, чтобы она вся влезла, потом
22:34увеличим. А, собственно, у нас эта
22:37модель принимает на входшены.
22:39Конкретно она может принимать несколько
22:41картинок, но в имплементации Либера мы
22:43будем подавать две картинки от третьего
22:45лица и от первого лица. Будет подаваться
22:47описание инструкции и подаваться про
22:49прицепция. А затем с помощью там шагов
22:52диффузии выполняется диффондирование
22:55этих экшенов, которые будем исполнять в
22:56среде.
22:58А модель берём с Хагинфейса. Это
23:01официальная реализация small VLA Libera,
23:03то есть это чекпоинт, который
23:04зафантюненion на эту а среду.
23:08И, собственно, здесь обычно машинерия.
23:11Достаём её из
23:14Хагинфейса, кладём на видеокарту на нашу
23:17Т4, которую мы выбрали, и смотрим, какие
23:20ключи ожидает робомодель у себя на
23:22входе. То есть это ключи, которые она
23:24хочет, чтобы она работала. То есть здесь
23:26есть image, image 2 и state, собственно,
23:28про прицепции и две картинки. А здесь
23:31немножко логики про то, как мы
23:33подготавливаем картинку в нужный формат.
23:34там приводим в диапазон 0,1, делаем
23:36нужные транспозы осям и как мы приводим
23:40положение робота эндектора к нужным
23:43углам поворота, на которых, собственно,
23:44модель и обучалась.
23:47А здесь функция эвала политики.
23:50Политика, собственно, принимает
23:52описание задачи, номер задачи в
23:56Taskuty. И вот здесь есть ещё параметр
23:58на единиц ID, потому что, вообще говоря,
24:00а принято тестировать одну и ту же
24:02задачу несколько раз. То есть вот
24:04конкретно есть в Liber порядка там 500
24:07инициализированных седов положений
24:09объектов. То есть задача прямо одна и та
24:11же, но объекты в разных положениях
24:13находятся. И когда в статье приводит
24:15success, они как раз считают STD между
24:17вот этими разными седами, потому что вы
24:19можете выполнить там подвинуть объект на
24:225 см вправо, у вас робот уже перестал
24:24хватать объект. Собственно, поэтому есть
24:26разные инициализирующие состояния. Мы
24:28здесь для простоты возьмём везде
24:29нулевые. А, берём, собственно,
24:32инициализацию, делаем 300 шагов в среде,
24:34подаём в observation две картинки state
24:36и описание задачки. И здесь самое важное
24:40действие - это, собственно, n в step
24:42action, который предсказал нам белый. То
24:44есть вот здесь мы уже получили семь
24:46чисел, которые мы отправляем на вход в
24:50среду.
24:52А выполняем здесь роут на одной из
24:54задач. Вот можно увидеть, что мы сошлись
24:56быстрее, чем за 300 шагов. потому что
24:58робот успешно завершил задачку. И мы,
25:00собственно, остановились по правилу, а,
25:03хардстопа внутри самой среды. Здесь вот
25:06была задача подвинуть банку супа в
25:08корзинку. И, ну, можно заметить, что вот
25:11тут занимал порядка 3 минут, поэтому вот
25:13в колабе много раз выполнить в рамках
25:15семинара у нас не получится, но у меня
25:17здесь есть сохранённые траектории,
25:19например, поксрейту. А, потому что мы
25:22хотим посчитать sucс-рей по десяти
25:23задачам. И это вот может занять порядка
25:26получаса, если вы это самостоятельно
25:27запускаете. И вот можно посмотреть, как
25:30робот зафатюненный на этом Taskю,
25:34получается, выполняет задачи. То есть в
25:35целом successрей у нас высокий,
25:37насколько я помню. Здесь вот только один
25:39фейл есть. То есть он вот здесь не смог
25:41схватить банку с томатом и положить её в
25:44корзинку. То есть он здесь как-то
25:47посопротивлялся.
25:49А [откашливается] вопрос при обучении,
25:52когда
25:55какое условие того, что модель непра,
25:58точнее робот не справился?
26:00>> Угу.
26:00>> И вот
26:02как в этом случае останавливается
26:04симуляция?
26:06>> А критерии описывается создателем
26:08задания.
26:09>> То есть есть, да, харлимит - это просто
26:11количество шагов. То есть если он не
26:13успел за 300 шагов что-то выполнить, вот
26:14здесь, например, вышли 300 шагов, и мы
26:17сказали, что он не справился.
26:18А критерии успеха определяет автор
26:20задания. То есть он кладёт, например, в
26:22корзинку какой-то if навешивает, что
26:25если там томат приблизился к какой-то
26:27границе корзинки ближе там на сколько
26:28сантиметров, мы считаем, что это успех.
26:30То есть что он действительно там
26:31выполнил задачу.
26:34>> Да.
26:34>> Вот здесь видно всем то, что он будет
26:36тёргает. Можно это как-то искать, чтобы
26:38он не дёргался движение плать
26:41ограничения. Для этого нужны велые с
26:43памятью, да, [фыркает] чтобы потому что
26:48>> то есть это можно сделать, правильно?
26:50>> Ну, можно сглаживать разными способами,
26:52есть там даже фильтр калмана и так
26:54далее, но, вообще говоря, viлейка, она
26:56не видит свои предыдущие шаги. То есть
26:58если вы смотрели на архитектуру, то она
27:00как бы одношаговая. То есть у нас есть
27:02только состояние про прицепции. Есть
27:04текущий кадр, и мы предсказываем экшн,
27:06как будто мы просто в этом кадре
27:07оказались, не зная, что было до этого.
27:10То есть мы как бы всегда пытаемся
27:11двигаться наиболее оптимальным, что ли,
27:13способом. И и из-за этого могут быть
27:16какие-то дёрганные рывки. Просто дёрга
27:18нельзя реально
27:21оно не будет работать.
27:24>> Ну, смотря на каких задачах. То есть
27:27довольно большой угловая скорость на
27:29самом деле. Может,
27:30>> сломается вторая тоже.
27:38А ещё тогда вопрос,
27:40>> да?
27:41>> А где, как прописываются вот эти
27:44условия?
27:46>> Успех,
27:47>> неудачи. Вот успехов, в принципе,
27:49понятно.
27:50>> А неудача - это вот сколько мы, да, мы
27:52переместили банк, но мы ещё параллельно
27:54четыре будинкера убили.
27:56>> А это вот хороший вопрос, да, насколько
27:59полные симуляторы отражают типа
28:00действительно то, что мы хотим. То есть
28:02обычно условия накладывается
28:03действительно только на таргет объект. И
28:05очень редко ещё есть какие-то там
28:07сторонние сайд-эффекты, что мы
28:08параллельно там с тем не свалили все
28:11объекты с полки. Вот. А конкретно здесь
28:14вот 300 шагов мы сами выбрали это число.
28:17То есть если за 30 шагов мы не получили
28:19успех, то считаем, что робот зафейлился.
28:21То есть, вообще говоря, если бы мы дали
28:22ему 3.000 шагов, он бы, может быть, бы
28:25как-то там попал в нужную позу и
28:28всё-таки смог бы схватить эту банку
28:30томата, и этот успех бы тоже засчитался.
28:35Так, у нас теперь эксперимент про робок.
28:38А у нас вот была недавно опубликована
28:41статья на Якле про то, насколько
28:43рабастныйки к текстовым
28:46переформулировкам, что вы вот сейчас
28:48посмотрели, вам скорее всего кажется,
28:49ну, там сess rate 0,8 довольно неплохо,
28:51да, то есть мы там справились почти на
28:53всех задачах и вообще задача
28:55работотехники решена. Но здесь надо
28:57понимать, что эта модель была специально
28:59зафактюнена на таскюзе либера. То есть
29:01она прямо в точности знала все эти
29:03объекты, она не знала расстановку, но
29:06именно с точки зрения out of
29:07distribution для неё а было как бы не
29:10так уж и сильно отличалось от домена, на
29:12котором она обучалась.
29:15И конкретно здесь очень простой
29:16эксперимент. А полную версию можно
29:18посмотреть в статье. Мы добавляем,
29:19например, просто префикс со словом Pleas
29:22перед текстовой командой. То есть,
29:24казалось бы, внутри Vйки есть мощная
29:26лэмка, которая знает все языковые
29:29вариации, но внезапно добавление там
29:31одного слова в контекст уже может
29:33понизить accesse. То есть вот здесь у
29:35нас ещё на первой сдаче она схватила,
29:37хотя видно, что она схватывает уже не с
29:38первого раза, потому что получается
29:41оттеншены на это слово please очень
29:42сильно влияют на контекст всех остальных
29:45токенов, которые ом предсказывают.
29:50>> Ну, please, да, pleas.
29:53И если смотреть по остальным задачам, то
29:56есть здесь был запуск ровно на тех же
29:57самых tasксютах, которые мы
29:59тестировались выше, то здесь уже гораздо
30:02больше фейлов. То есть она там схватила,
30:04отпустила, показала, что схватила и всё,
30:06замерла. Ничего не поняла, что
30:07случилось. То есть вот банка упала.
30:11А потом А здесь тоже ей, видимо,
30:14показалось, что схватила, но не
30:16схватила.
30:18А здесь уронила и не успела выполнить
30:21задачу. Вижня сначала не могла понять,
30:23где, потом уронила.
30:25Вот. И это всё от добавления всего
30:27одного слова в контекст. То есть
30:29опять-таки, потому что, видимо, слово
30:30please никогда не счалось в обучающих
30:32инструкциях в начале, собственно, оно
30:33выводит модели из себя. И мы получили
30:36суммарное падение с accessс-рейта тут
30:38порядка 50%. То есть у нас там 0,4
30:42получался в итоге successрей вот с
30:44добавлением такой инструкции.
30:48Так, есть ли вопросы по этой части?
30:52О'кей, тогда давайте поговорим про то,
30:56как вообще, а можно получать данные для
30:59обучения VLA, потому что сейчас мы,
31:01получается, взяли скачаннуютреймодель
31:04и её завалили. А есть два способа
31:08получения данных, то же самое, то есть в
31:10симуляторе и в реальном мире. А здесь
31:12вот есть некий код для установки
31:14манискила. он и установки вулкана - это,
31:18собственно, оболочка, в которой
31:20симулируется этот симулятор Simply Rent.
31:23А вы можете эту ячейку выполнить, она,
31:26а, по крайней мере, полтора часа назад
31:28работала. [тяжело вздыхает]
31:30Так, здесь вот примеры того симуляторов,
31:34которые были сделаны с помощью
31:36манискила. То есть это отдельная прямо
31:37статья, она поддерживается, у него уже
31:39третья версия вышла а этого симулятора.
31:41И на нём основано довольно много
31:43робосред, которые можно реализовать с
31:45там даже реалистичным рендерингом, в том
31:47числе.
31:49А следующая вещь, про которую хочется
31:51сказать - это Motion Planer. Э
31:55обсудили с вами управление роботов с
31:57помощью джоинтов и с помощью грипперов.
32:01А что, если мы хотим нашу задачку как бы
32:04декомпозировать на более простые
32:05подзадачки? Вот мы, например, сейчас
32:07брали банку молока, пакет молока, и его
32:10в корзинку клали. Но эту задачу можно
32:12разделить на несколько атомарных
32:13действий. То есть нужно найти молоко в
32:15сцене, навести руку над него, схватить
32:17этот объект, донести до корзинки и
32:19отпустить. И вот выполнение таких
32:21атомарных действий - это уже как бы
32:23логическая задача, сформулировать план.
32:26А вот само перемещение, вообще говоря,
32:27между этими фазами нам может быть не
32:29настолько интересно. И эту штуку можно
32:31решить даже аналитически, то есть с
32:33помощью как раз инверский кинематики.
32:35Тут нам на помощь приходит motion
32:36planer, потому что мы живём в
32:38симуляторе, и в симуляторе мы знаем
32:40положение всех объектов в точности,
32:42поэтому мы можем, а, сделать прямо явное
32:45указание поз, в которое нам нужно
32:46перейти. То есть это не то же самое, как
32:49если бы мы захардкодили прямо
32:50траекторию, которую нам нужно пройти, а
32:51мы говорим, то есть нужно оказаться руке
32:53вот в этом положении. Вот в этом
32:55положении нужно сделать захват, поднять
32:56объект и так далее. Собственно, здесь мы
32:59выполняем
33:00не скили в среде, а задачку с поднятием
33:04кубика и доставкой его в зелёненькую
33:07точку. Ну вот, вот так это будет
33:08выглядеть в самом конце. То есть мы
33:10загадали какую-то случайную точку, она
33:12там сидом определяется, и наш кубик
33:16должен оказаться в центре этого объекта.
33:18При этом мы здесь все действия делали не
33:20авторегрессионно, не Vlake, а вот просто
33:22запуская motion planer. Собственно, у
33:24motion пinerнера есть функция solve, а
33:27она знает модель робота, которую мы
33:30работаем. То есть это ей нужно, чтобы
33:32просчитывать эту кинематику. А здесь мы
33:34задаём способ подхода. То есть мы
33:37сначала получаем объект, который мы
33:39хотим схватить из сцены. Просчитываем
33:41для него позу схвата. Это по инфо. Затем
33:46просчитываем позу схвата,
33:49там смещаясь на 5 см надней. То есть это
33:52поза, когда мы достигли объект, но ещё
33:55не опустили гриппер. Вот. Потом,
33:56собственно, мы выполняем сам гресп, а в
33:59конце греспа мы закрываем гриппер и
34:01двигаемся уже в новую позу, которая у
34:03нас задумана здесь как конкретно, а
34:07зелёненькой точкой. Собственно, решая,
34:11делая вот solв этой функции, которую мы
34:14описали, Motion Planer нам предсказывает
34:15эту траекторию. Вообще говоря, эта
34:17траектория могла быть недостижима. То
34:19есть, если здесь есть какие-то объекты и
34:20мы их не учли в составлении своего
34:22плана, то робот бы просто попытался бы
34:25пройти сквозь них, потому что он их не
34:26учёл. Поэтому motion пленерам решить
34:28прямо очень сложную задачу обычно не
34:31получается, ну или получается, но с
34:33трудом, а используется он вот именно для
34:35каких-то атомарных задач. То есть там
34:38схватить объект, переносити его с одной
34:40точки на другую и так далее.
34:42Так,
34:43>> да, конечно.
34:44>> А я правильно понимаю, что пленером мы
34:46вот пользуемся как выбо.
34:50>> Ну, мы сейчас конкретно прямо полностью
34:51в симуляторе это делали. То есть мы
34:53пленеру подавали эталонные координаты.
34:56То есть мы вот координаты этого кубика
34:58взяли не с условно камеры. То есть мы
35:01могли здесь сделать deps estimation,
35:03прикинуть, где этот кубик находится, и
35:04сказать motion planнеer сдвинуться туда.
35:06Но мы для простоты взяли прямо
35:08координаты из самого симулятора. Но если
35:11в реальном мире, да, то есть вам нужно
35:12предсказать как бы эти все положения, в
35:15которые нужно сдвинуться относительно
35:16самого робота.
35:18>> А получается
35:21мы просто внутрен контексте там
35:23избегания препятствий или что-то такого.
35:26Аа можно ли это применить в какой-то
35:30более
35:32грязной среде, где нужновать,
35:35а, а, задачу на, допустим,
35:40>> а, да, то есть мы можем в условия нашей
35:42вот этой условной оптимизации докидывать
35:45ещё какие-то условия. То есть мы можем
35:46здесь поставить стен стену, и пусть он
35:48ищет путь тогда, как этот кубик должен
35:50через стену вот так перебраться. То есть
35:52это уже зависит, собственно, от солвера,
35:54который внутрь motion planer Z вязан.
36:02Какие-нибуд критерии вот именно самой
36:04траектории, например, максимальной
36:05скорость ускорения?
36:07>> Это всё,
36:08>> да, это всё можно сделать, собственно,
36:10внутри
36:12>> вот этого солвера.
36:15>> Ага.
36:17Это как раз навязка над самой рукой,
36:20которая знает кинематику этой руки. И в
36:22неё же заложены, например, максимальные
36:24скорости, с которой она может двигаться,
36:26а там трение между суставами, линки и
36:29так далее.
36:33То есть засолвить какой-то случайный
36:35робот просто по его видео она, конечно,
36:37не может. То есть ей нужно прямо
36:38точностью понимать, какая механика у
36:40этого робота под капотом через вот DF и
36:43так далее.
36:46Так, следующая секция у нас это
36:48simulлятор Simply Rent. Вот как раз
36:50здесь скриншот из их статьи. Сейчас я
36:53ещё раз уменьшу, секунду, чтобы было
36:55видно. А здесь они померили связь
36:58настоящегосрейта и с аксесс-рейтом,
37:00который они получают в симуляции. Ну и
37:03сказали, что вот довольно неплохо
37:05коррелируют здесь. А это вот две
37:08роборуки, которые они тестировали, это
37:09Google Robot и Bridge Data V2. И,
37:12собственно, Bridge Data V2 сейчас тоже
37:14активно используется, потому что у неё
37:15есть и реальная часть, и часть, которая
37:18собрана в симуляторе. То есть,
37:19собственно, Simply R - это его вот тут
37:22как раз цифровой двойник можно
37:23применить, что под эту среду оно
37:26заточено.
37:28А, ну, собственно, вот таким образом
37:30выглядят
37:34задачки из этой среды. Давайте сейчас
37:36попробую это выполнить. Здесь одна
37:38ячейка не сохранилась.
37:41А так
37:50у меня всё зависло.
37:52Ага. А и запись прервалась, походу. Так.
37:59А нет,
38:01>> сейчас прервалась.
38:03>> Непонятно. Ну вот как будто пропало на
38:05секунду здесь, но сейчас вернулась,
38:07вроде.
38:09Так, ладно, давайте тогда поверим на
38:11слово.
38:13Если выполнить ячеечку с
38:17вот этими эпизодами, там на второй
38:19позиции будет эпизод как раз, который
38:21является настоящим видео для вот этой
38:23сцены. То есть там будет как раз
38:24ложечка, будет вот это полотенчик, и
38:26нужно эту ложечку двигать на полотенчик.
38:29Собственно, сдачи из реального мира.
38:32А, и, собственно, мы сейчас переходим к
38:36самой весёлой части. Но вот небольшая
38:38предисловие, а как раз
38:41собирать данные внутри симулятора с
38:42помощью motionн плейнера может быть не
38:44так эффективно, потому что нужно как раз
38:46вот эти все особенности
38:48заранее закладывать, то есть сделать
38:50прямо и хороший симулятор, и сделать все
38:52правильно описать условия среды, в
38:54которых нужно двигаться, чтобы сол нашёл
38:56траекторию, которая будет оптимальна,
38:59довольно сложно. Поэтому сейчас очень
39:00многие используют teleоoperation для
39:02того, чтобы собирать данные. Вот самый
39:04большой датасет с телеопереationшеном,
39:06который используется в притрейне почти
39:08всех VLAК - это вот OpenX Embed. А и
39:11обычно как бы пайплайн реализации робота
39:14выглядит следующим образом. То есть вы
39:16берёте а VLэмку, делаете на Open X,
39:21чтобы она научилась предсказывать
39:22экшены. Затем вы делаете fune на своих
39:24траекториях, которые вы у себя собрали,
39:26и уже делаете infренс, собственно, у
39:28себя где-то в лаборатории. И у вас там,
39:31скорее всего, всё плюс-минус работает.
39:34Но без такого большого притрейна вряд ли
39:35бы оно завелось, если у вас достаточно
39:37много параметров. Вам просто не на чем
39:39было бы их предобучить. Здесь особая
39:41инженерная работа - это как выровнять
39:43разные бадит, потому что у вас у разных
39:46роборук разное количество степеней
39:48свободы. Бывают роботы, которые ещё
39:51имеют тележку, на которой они могут
39:52ездить. Бывают роботы, которые могут
39:54только хватать и жёстко зафиксированы. А
39:56бывают гуманоидные роботы. И конкретно
39:59авторы этой статьи сделали большую
40:00инженерную работу про то, как
40:02сопоставить все оси между всеми
40:03роботами, чтобы модель как бы
40:05одновременно а по всем
40:08воплощениям могла хоть как-то
40:10обобщаться. При этом понятно, что у нас
40:12как бы предсказываемая последость
40:13экшенов для каждого робота будет разная,
40:15потому что для одних там а семь чисел
40:17нужно предсказывать, для других там 35.
40:19То есть мы из предсказанного а вектора
40:22экшенов просто часть не используем для
40:24некоторых роботов, у которых нету
40:25соответствующих степеней свободы. Вот.
40:27Но даже вот такое предобучение всех
40:29предыдущих слоёв в целом, а, плодотворно
40:32влияет на финальное качество модельки.
40:36Так, мы с вами будем работать вот с
40:37такими роботами. А у них есть,
40:39собственно, две версии. Это ведущая и
40:42ведомая рука. Они используются для сбора
40:44данных в телеоперейшене.
40:46А здесь вот есть небольшой гайд про Так,
40:50всё, интернет нет, жив пока. Да.
40:55А, собственно, сама библиотечка
40:56Далиробот, которая объединяет внутри
40:59себя и модели, и симуляторы, которые вот
41:02мы либера оттуда сегодня брали. И ещё
41:04для вот 100 руки используются некоторые
41:07команды, которые позволяют её
41:08скалибровать, если вы там у себя на
41:103D-принтере её напечатали, собрали
41:12сервоприводы, а, чтобы она у вас
41:14завелась. И даже некоторые модели,
41:16которые из коробки на ней можно
41:17поставить. Например, вот недавно Molma
41:19Act 2 вышла, и она довольно неплохо
41:21работает. К сожалению, поинферить её
41:23сейчас в лайве мы не можем, потому что
41:25здесь нужно иметь десктопную видеокарту,
41:27прямо довольно хорошего уровня. Но если
41:31у вас есть там домашний компьютер в
41:32целом, это возможно. Если вы хотите
41:34учить, а тогда с обучением тут нужно уже
41:37гораздо несколько часов иметь. То есть в
41:40целом там можно даже на ноутбуке с
41:42м-процессорами, но обучение
41:46модельки и акт - это не VLA модель. А -
41:49это такая более упрощённая версия
41:51модели. требует вот всё равно довольно
41:53большого количества вычислительных
41:54ресурсов. Давайте попробуем включить.
41:57Надеюсь, у нас тут
41:59электричество выдержит.
42:15А может быть, кого-то есть вопросы по
42:17части, вот которой вот всё, всё, что
42:19было предыдущее.
42:22Дальше у нас такое интерактив, да? А при
42:24общении используется и картинка с руки,
42:27и картинка, которая сбо.
42:28>> А потому что сложно иногда робот
42:31перекрывает сам себя и с камеры с
42:33третьего лица просто непонятно, схватил
42:34он объект или не схватил. А при этом,
42:37используя камеру только с первого лица,
42:39мы не понимаем, где он вообще
42:41локализован в сцене. То есть вот мы
42:43смотрим, он видит какой-то кубик, а куда
42:45его класть? То есть он слева от
42:46корзинки, справа от корзинки, он уже не
42:48может понять.
42:49>> Хорошо. Вот ещё вопрос. А используется
42:52одна кабела на руке, причём, ну, обычная
42:57вот
42:59проще недальномеры ничего. То есть там
43:02даже какое-нибудь бикулярное зрение его
43:04сделает, чтобы он понимал вообще
43:07дальность, да,
43:08>> да. Вот некоторые модели поддерживают
43:09там, например, Intel Real Sense, у него
43:12есть ещё знания о глубине, но из-за
43:14того, что модели как раз обучаются на
43:16вот больших датасетах, а там у разных
43:20роботов разные сенсоры, если ещё степени
43:22свободы как-то можно уравнять, то вот
43:24разные сенсоры фьюзить как-то особо пока
43:27никто не пробовал. То есть обычно вот
43:29делают большой притрейн. И вот если уже
43:31у вас на роботе есть какой-то сенсор,
43:33например, дар, то вы собираете данные
43:36свои с лидарными данными. и подаёте эту
43:38новую модальность уже во время фантюна,
43:41то есть и тогда уже во время вашего
43:43инференса ваша вийка будет учитывать
43:47данные этой новой модальности. Вот. Но
43:49как бы базовый вариант - это камеры и
43:51всё. То есть в качестве сенсоров
43:53топкамеры и положение мотора. Если
43:55камеры нет второй, то она работает,
43:57>> да. Ну то есть вторая камера для именно
44:00запуска VLК,
44:01ну прямо значительно. То есть вот,
44:04например, Моймак, она ещё может
44:06инвариантна быть к положению а камер. То
44:08есть там, потому что, вообще говоря,
44:10траектории, которые насобирали авторы,
44:13они очень сильно завязаны на сцену. И
44:16вот как раз вот этот вот эффект, который
44:18мы с изменением языковой инструкции
44:20пронаблюдали, то есть добавление одного
44:21слова, то можете представить, что будет,
44:23если у вас, например, там, не знаю, стол
44:25другой текстуры будет, не той, на
44:26которой они учились. То есть это ещё
44:28больше несёт вклад в atttion и ещё
44:30сильнее модель может уйти в разнос.
44:32Поэтому как бы из коробки вот модели,
44:35которые прямо можно заводить, их там ну
44:37несколько штук. А если вы хотите, чтобы
44:40она прямо консистентно решала сдачу на
44:42ваших данных, то вы собираете там
44:43порядка 50 траекторий, вот HGENF
44:45рекомендует, и делаете, собственно, на
44:47них фантюн.
44:51Так, у меня здесь есть небольшая
44:52шпаргалочка по командам запуска.
44:56Так, давайте проверим, что у нас камера,
44:58во-первых, есть,
45:00да, вот у нас сейчас камера стоит,
45:01получается, на белом роботе. У него там
45:03белая такая штука сверху. И мы сейчас
45:06видим, получается, его положение. Вот я
45:07могу покрутить. То есть тут тоже
45:09отображается.
45:14А, ну, при первом запуске здесь есть
45:17несколько машинерий, которые я,
45:18наверное, сейчас пропущу, чтобы время
45:20сэкономить. А для начала там нужно
45:22выбрать порты, потому что у нас роботы
45:24по USB подключены с разными модемами.
45:27Собственно, мы определяем их айдишники,
45:29затем выбираем айдишники камеры, потому
45:31что она тоже просто по USB по сути
45:33подключена.
45:34И делаем там калибровку. А калибровка
45:37заключается в том, чтобы роботу нужно
45:38понять, какие максимальные движения
45:40джоинтов он имеет. То есть буквально
45:42типа плюс-минус какая-то траектория.
45:45Давайте попробуем запуститься.
45:49Так.
45:58Ну, в команде запуска мы здесь,
45:59наверное, здесь шрифт ещё меньше, да,
46:01чем там был,
46:04>> да? В команде запуска мы здесь
46:05указываем, собственно, что у нас у
46:06робота есть там камеры, а у камер
46:09какой-то параметр разрешения. Здесь
46:11разрешение специально уменьшено, не
46:12такое, как настоящее. И, собственно, у
46:15нас открылось окно сбора с
46:18телеоперейшеном. То есть вот если я
46:19сейчас начну двигать ведущую руку, то
46:22ведомая типа будет следовать за ней. И
46:24при этом мы параллельно записываем а
46:26координаты всех экшенов по вот всем
46:29осям. Здесь получается шесть. И можно
46:32вот смыкать, размыкать руку и, например,
46:35решать задачку расстановки кубиков.
46:38Кто-нибудь хочет законтрибьютить нам в
46:40датасет а задачку положить два кубика в
46:42коробочку?
46:44То есть нужно с помощью роба руки это
46:46выполнить.
46:48>> Да. Да.
46:52Так, сейчас я эпизод перекину.
47:01>> Да. И, соответственно, как будто вот от
47:04первого лиса вы управляете.
47:07Так.
47:10Так. Мы по камере видим как бы, что
47:13Гресп произошёл.
47:15Запоминаем траекторию.
47:19Астави.
47:20>> А всё, у нас вышло время эпизода,
47:22которое мы выставили. [смех]
47:25Серва сгорит.
47:27>> Спасайте серову.
47:28>> Да.
47:29>> Так, сейчас мы выполним следующую эту
47:33следующий луп.
47:37Так.
47:39>> Так.
47:39>> У меня полся.
47:44>> Так, сейчас можно.
47:47Ой.
47:51Ага.
47:54Так,
47:57сейчас запустим.
48:00>> Да, конечно.
48:03Ну, нам надо будет ещё проиграть один из
48:04эпизодов, потом все желающие смогут тоже
48:08попробовать. Спасибо.
48:12>> Так,
48:13>> говорить нача. Сейчас, секунду.
48:39>> Можно такой вопрос про генерализующую
48:41способность?
48:42>> Да. Вот мы собрали таким образом данные,
48:44и у нас ну вот человек это делает.
48:48>> Всё, можно давай один кубик просто в
48:50коробочку.
48:52>> Потом может учиться так, чтобы делать
48:55следующим человеком ещё как реализации
48:58или пока
49:01>> так
49:01>> сделаем какой.
49:02>> Всё, супер. Я останавливаю сбор.
49:06>> А мы можем записать там порядка, да,
49:08пятидесяти траекторий, чтобы она уже в
49:09любом положении хватала эти кубики.
49:11Потом как бы условно масштабируя,
49:14собственно, коэффициент, сколько мы на
49:15моторы усилий прилагаем, можем заставить
49:17моторы двигаться быстрее. То есть в этом
49:19плане, да.
49:19>> А именно за счёт оптимизации траектории,
49:21то есть, ну, или по модели она насколько
49:24реализирует траекторию само, ну, типа
49:27кожные мешки плохоправляются
49:29задачу,
49:30>> да, она выучит неэффективности человека.
49:32То есть она учится в behaхверлонинге и
49:34она повторяет как бы неэффективную
49:36траекторию. Но если у нас их достаточно
49:38много, у них большая вариативность, то,
49:39скорее всего, она будет всё равно
49:40действовать наиболее оптимально, как
49:42минимум, потому что у неё нет памяти в
49:43предыдущие стейты. То есть она всегда
49:46будет пытаться повторять нашу
49:48траекторию.
49:49>> Есть какие-то миксы с
49:52>> А есть сейчас работы как раз даже вот в
49:55семействе Physical Intelligence, они
49:56используют LL потом, ну, то есть ровно
49:58путь, как был в лмках. То есть мы
50:00сначала учили Next Token, потом
50:01добавляем RL и модель лучшего. Мы здесь
50:05собрали, получается, эпизод, который вот
50:07нам помогли собрать, и он попал в
50:10датасет. Здесь можно в папочке видео
50:12даже, наверное, посмотреть, а, чанк
50:14данных, который у нас был на
50:18руке.
50:22>> Вот. И, собственно,
50:24наше видео.
50:30Так, ну, всё, квадрат, кубик оказался в
50:33коробочке. Давайте теперь попробуем
50:35проиграть этот эпизод.
50:41Для этого нам нужна другая команда
50:43реплея.
50:54>> Так.
51:14Так вот, она сейчас выполняет действия,
51:16которые, собственно, выполнял студент.
51:18Мы сейчас ему подкинем этот кубик, чтобы
51:20он его схватил, и сделаем вид, что у нас
51:23траектория воспроизвелась.
51:26Вот в целом это всё, что я хотел вам
51:29сегодня показать. Кто хочет ещё
51:31поиграться, подходите. И есть ли у вас
51:33вопросы по семинару? Да.
51:35>> Ещё вопрос. А вот это последняя ось,
51:37которая отвечает за смыкание, развкание
51:40>> гриппера, да,
51:41>> шней?
51:42>> Ну, значение один смыкание. А, ну вот
51:45величина этого значения она что? силу
51:48сжатия и дре
51:50>> а скорее скорость, но она всё равно там
51:53клмпится внутри самого робота до
51:55максимального скорости смыкания мотором.
51:57То есть как бы сильно я не дёрнул
51:59быстрее, чем по ТХ этих сервоприводов,
52:03он не сделает,
52:04>> если покуратный бал, а
52:06>> гранулярность там, по-моему, 1365, то
52:08есть там можно на каждый градус условно
52:11>> довольно точно ориентироваться.
52:13>> То есть закрытие в органы графициально.
52:16>> Да, конечно. То есть я могу вот как раз
52:18вот этот курок, он отвечает за то, в
52:20каком положении робот будет там
52:22находиться. Вот сейчас я телеоб запущу.
52:25>> То есть это вот внутри симуляционных
52:27средсть.
52:31То есть я туда подаю значение, там
52:33единичку, и он там за 10 шагов от с
52:35полностью раскрытого до полностью
52:37закрытого сходится.
52:44>> Так. Так. Ещё вопросы?
52:49>> Ну, то есть мы это всё сделали именно с
52:51белой. А получается, если мы именно
52:54>> вот сейчас на половину
52:58>> ещё раз пожа
53:01если мы сделали с VLA,
53:03>> да, если мы берём VLM, то что
53:06>> а VLM из коробки не умеет на уровне
53:09экшенов нам ничего говорить, поэтому нам
53:11в любом случае её придётся дообучать. То
53:13есть мы можем как бы косвенно заставить
53:16влэмку говорить, что нужно сдвинуть
53:19гриппер на там метр вправо, там 5 смет
53:21вперёд и так далее. Но тогда нам это
53:23действие нужно будет своим пленером
53:25решать. То есть мы какие-то атомарные
53:27действия ей дадим. Ну то есть вы можете
53:29в чат GPT условно подать сейчас там, не
53:31знаю, кадр с кубиком, сказать вот куда
53:34нужно сдвинуться, чтобы кубик схватить.
53:35Ну он скажет там влево нужно сдвинуться,
53:37но исполнение действий тогда полностью
53:38на вас. А в VLA получается мы
53:41предсказываем сырые действия и сама
53:43модель следит за тем, как она выполняет
53:45эти действия.
53:46>> А на продак получается новый не в такой
53:49работотехнике, да? Не обязательно в
53:51промышленной, наверное, даже в менее
53:53уровневой такой. Там по сути по большей
53:56части VLA используется или VLM в связке
53:59с чем-то?
53:59>> А прямо в промышленной использутся
54:01заскриптованные роботы, то есть которые,
54:03>> то есть гуманоиды и так далее. А, ну вот
54:06успешное применение гуманоидов сейчас,
54:08например, у Фигр, они на заводе BMW
54:10делают с помощью агуманоидов какие-то
54:13детали переносят с одного места в
54:15другое. То есть вот это успешный кейс. А
54:18есть ещё там сортировка условно товаров
54:21на ленте, то есть там по каким-то
54:23признакам, по цветам, по форме. А это, я
54:27бы так сказал, потому что это
54:28узкоспециализированная виалейка. То есть
54:30она не может решать там ещё задачи, там
54:33перескладывания там ещё чего-либо. Она
54:35прямо конкретно зафанчунена под эту
54:37конкретную задачу.
54:39Весьма редко используется делаемые
54:41связки с чем-то в каких-то реальных
54:44рыночных задачах.
54:46>> Ну или даже более-менее таких.
54:48>> Ну пока да, потому что есть большие
54:51проблемы с обобщаемостью.
54:52>> То есть если у вас очень много данных
54:55для вашей задачи, то вы, скорее всего,
54:57без проблем зафантините VLку, и она
54:59будет типа решать любую из ваших задач.
55:01>> Угу.
55:02>> Да, пожалуйста. А вы говорите то, что
55:04там специализированные задачи для этих,
55:07а не проще заскриптовать,
55:09если это узко специализированные задачи.
55:12>> Если это какая-то конвеерная лента и вы
55:14там, не знаю, должны перенести а там
55:17кузов автомобиля с одного места в
55:18другое, и он всегда лежит в одной
55:20позиции, да, но если у вас есть хоть
55:21какая-то вариативность, то есть если,
55:23например, на производстве ещё люди есть
55:24и люди кладут эту деталь всё время
55:26как-то по-разному, то уже такой
55:28вариативности может быть достаточно,
55:30чтобы сломать ваши вристики. То есть вы
55:32там можете сегментировать центры
55:33объектов, находить что угодно, но
55:35обобщаемость будет, скорее всего ниже,
55:37чем если вы сделаете прямо типа прямо
55:39вынуждены мерни
55:41то, что решили как-то попробовать в ней,
55:43>> да? Ну, то есть вот модели, которые
55:45учатся там на Open X, они гордо в
55:47статьях пишут, что это Generalist Poce,
55:49то есть что она должна решать любые
55:50задачи и вообще говоря даже на любых
55:52роботах. То есть есть такой тоже тейк.
55:55Но вот из коробки она будет работать,
55:57скорее всего, там на Window X, потому
56:00что бридж дата есть втроение там 20%
56:02примерно в Open X данных. Может работать
56:04на Лероботе, если данные замешивали, но
56:07прямо переносимости между роботами
56:08задать не стоит. Но по задачам она как
56:10бы довольно обща, то есть она может на
56:13разных бенчмарках, разных симуляторах
56:14показывать не нулевой successс-реatйe.
56:17>> А не лучше ли комбинированные методы
56:19использовать?
56:21>> А что с чем комбинировать?
56:25естьлай у нас чётко ощнимание
56:30вообще поведение сказо и при этом
56:32добавляется ещё и как там граничный
56:36случа
56:37>> ну да то есть когда полностью
56:38детерминированный у вас стек вы делаете
56:40прямо заскриптованную версию когда а
56:43есть какая-то вариативность можете
56:44использовать такие но как бы сейчас вот
56:47все компании соревнуются кто сделал
56:48прямо полноценного первого гуманоида
56:50который бы сделал прямо домашние дела в
56:53общем Смысле, вот, например, из компании
56:551x Neo, они сейчас делают гуманоида,
56:58который вообще в режиме tле operation
57:00работает. То есть вот как мы сейчас
57:01управляли вот этой рукой вот той, а там
57:03получается вы покупаете себе по подписке
57:05робота домой и кто-то там в VR-шлеме по
57:09сути ходит у вас в доме в воплощении
57:12этого гуманоида. И они таким образом, на
57:15самом деле, могут собрать очень большое
57:17количество данных из разных домов,
57:19сделать их разнообразные и вот потом уже
57:21на них обучить какую-то мощную VLA
57:23модель. Вот. Но пока это они вот в
57:25режиме Телеопа делают, но в целом как бы
57:28все направления сейчас туда идут. То
57:29есть там Tтеesla делает, например,
57:31фабрики сбора данных. То есть они там
57:32прямо, а, параллельно можно найти видео,
57:34там типа 200 человек, 200 роботов, они
57:36там делают как хватать батарейки,
57:38например, у них на фабрике Tтеesla, и
57:41собирают траектории вот со всех вот
57:42разнообразных сценариев. Жени вопрос,
57:46почему до сих пор используются
57:48серприводы жёсткие вот эти все детали,
57:52когда, ну, вроде как, а,
57:57ну, почему не использовать что-то
57:58похожее на мышечную ткань, которая
58:00сокращается при определённом усилии,
58:04прижени? Почему не сделать мягкую
58:06клешню, которая немножко, ну, вот не
58:09фиксированная? А, да, я просто видел
58:13перетачил что ли или такие ребята,
58:16извиняюсь за очков,
58:18>> но
58:20>> нубо
58:21>> или ещё, да, типа,
58:24>> ну не тентакли, но короче дал что-нибудь
58:27подобное.
58:27>> Ну, наверное,
58:29>> постепенно, если эта технология будет
58:31превосходить по надёжности там
58:33девишевизне и качеству технологию там с
58:35моторами, наверное, они их вытеснят. Но
58:38пока как бы моторы во всех роботах
58:41используются. Мышечной ткани я пока не
58:42видел.
58:44Да, пожалуйста.
58:45>> А какие проекты вы проигрываете вот с
58:49этими роботами или с какими ещё
58:53робота? [фыркает]
58:54>> А конкретно эти роботы у нас скорее
58:56образовательные. То есть у нас там есть
58:58лаборатория совместно с месисом, и там
59:00мы в том числе их используем. А внутри
59:03арии у нас есть ещё несколько
59:04гуманоидов. И ещё несколько гуманоидов
59:06есть со стороны Сберботикса. Собственно,
59:08мы с ними более плотно работаем по вот
59:10там,
59:10>> то есть вы работаете надэто в основном,
59:13как ваши результата,
59:16>> ну, в том числе, то есть я бы так
59:18сказал, то есть
59:20>> а в чём ваши основные исследовательские
59:22интересы в этом формате аналоги и так
59:25далее?
59:26каких целях.
59:29>> Ну, тут, наверное, будет проще
59:30посмотреть по списку публикации команды,
59:32то есть понять, там на скор а примерно
59:35треки. Вот мы последняя статья была,
59:36исследовали знания в VLA, базовые
59:39знания. То есть вот после файнтюна,
59:41например, остаются ли знания о там
59:43каких-то знаменитостях, о каких-то
59:45событиях и так далее. Угу.
59:47>> Ещё вопрос?
59:49>> Обсуждали можно сказать то, что он
59:52используется в том числе для
59:53статистических данных. А насколько
59:56вообще синтетика в, ну, в роботиксе
1:00:01используется типа?
1:00:03>> Ну,
1:00:04>> ну как бы мы обсудим то, что вот мало
1:00:07данных вообще роботи по отношению к
1:00:09другим сле потому что в целом тяжело
1:00:11себя траектории и почему-то просто не
1:00:14прийти. Понятно, не просто, но просто
1:00:17как бы побольше.
1:00:20Ну, есть, потому что STAL Gap, и мы его
1:00:23как-то не контролируем особо. То есть мы
1:00:25можем повышать качество рендеринга,
1:00:27кажется, бесконечно, но всё равно быть
1:00:29далеки от там каких-то физики мира,
1:00:32изображений мира и так далее. То есть
1:00:34есть направление, например, ещё по
1:00:35аугментации человеческих траекторий, и
1:00:38там тоже мой используется. То есть мы
1:00:40можем собрать там пять траекторий
1:00:42человека, потом все промежуточные
1:00:43траектории проинтерполировать между ними
1:00:45и вот эти аугментированные подсунуть нам
1:00:47в трейн. То есть как бы искусственно
1:00:49расширить наш датасет. Вот такие подходы
1:00:51есть. Но это всё равно как бы а новые
1:00:54траектории исполнялись в симуляторе и
1:00:57факт, что будет переносимость знаний,
1:00:59никто гарантии дать не может.
1:01:03А у вас работают с робособакой?
1:01:06>> А робособаки в Сберботиксе есть. У нас
1:01:09вроде в офисе я не видел.
1:01:12Другой вопрос. Если есть на человека,
1:01:18>> который повторяет его движение,
1:01:20>> да?
1:01:21>> Да. На собаку.
1:01:22>> Гуманоид собирается проще. Там трекинг
1:01:25рук пальцев и можно даже Vision Pro,
1:01:27например, надеть и трекать просто
1:01:29пальцами рук. У нас такая демка вот
1:01:31недавно была. Собаки
1:01:34на
1:01:34>> на корточках.
1:01:36>> Я пока не видел таких.
1:01:38>> Не, не ползать, а просто собаки водеть.
1:01:42Ну да, кстати,
1:01:45>> интересно. А как а как ей промпт задать,
1:01:47чтобы она нужную задачу выполнила?
1:01:50Жено собаки.
1:01:52>> Нет, хотя бы в плане перемещения.
1:01:53>> Ну если вот специализированный, то может
1:01:55бы перемещения там преодоление
1:01:57препятствий.
1:01:58>> А
1:01:59>> как как будто идея.
1:02:03Ну, вообще говоря, именно, а вот
1:02:06сложность как раз манипуляции, а вот
1:02:08навигация, там прямо стояние хождения,
1:02:11локомоция, её вот неплохо можно врели
1:02:13решить, потому что там отчасти мы не
1:02:15завязаны на картинку, то есть нам не
1:02:17нужно ничего рендерить, мы знаем
1:02:18положение ног, центра тяжести и можем
1:02:20запустить там в Айзке миллион симуляций,
1:02:22пока не найдём гуманоида, который ходит
1:02:24быстрее всех и стабильнее всех. Собак
1:02:27хваталока ещё очень хорошая. Ты буде
1:02:29особенно. [смех]
1:02:31>> Ну, у робособак, если она есть, то она
1:02:34сверху ставится как рука, то есть. А
1:02:36именно робособаки с с клешнями я пока
1:02:39тоже в линейке роботов не видел.
1:02:44>> Да,
1:02:45>> вы же получается это рей делаете. Вы как
1:02:48сейчас у вас, когда а получается ваш
1:02:53агент он несколько шагов делает и только
1:02:56в конце вы проверяете состояние
1:02:58окружения и на в основе это вы даёте
1:03:01награду окружную или вы чисто типа
1:03:03предсказываете вставляете модель
1:03:06влескать следующие действия.
1:03:08>> Если мы про онлайн RL, он учится прямо в
1:03:11симуляторе, то есть мы смотрим, как
1:03:12среда изменилась, и выписываем или не
1:03:15выписываем реварт. То есть,
1:03:17>> вообще говоря, можно даже в реальном
1:03:19мире это делать, но тоже гораздо
1:03:20затратнее.
1:03:25>> Ну вот у нас сейчас в Айзаке есть проект
1:03:27там с
1:03:30ритейлом, условно, то есть там товары на
1:03:32полках, нужно научиться их по-разному
1:03:34схватывать и доставлять с одной точки в
1:03:35другую.
1:03:36>> А продавать,
1:03:40ну вот я видел смог прям 500 млн
1:03:44правильно. Ну вот, если у тебя есть
1:03:45возможность там 5090 взять на рюкзак на
1:03:48робота, то в целом ты можешь любую
1:03:50запустить. Если у тебя что-то
1:03:52компактное, ты ставишь там Jetsтson
1:03:54какой-нибудь и на нём infфиришь там типа
1:03:560,5B модель условно
1:04:00>> ещё. Да. А вот, ну, как я силяции
1:04:03заметил, есть огромная проблема с тем,
1:04:05чтобы хорошо схватить какой-то объект,
1:04:06потому что шля немножко промажати может
1:04:09быть и поэтому не может его поднять в
1:04:12процессе, который вот
1:04:14моторы, которые делают захват, они, я
1:04:17так понимаю,
1:04:20которые не управляются там по вектору,
1:04:22по моменту там, может быть, у вас не
1:04:24ведутся никакие исследования в плане
1:04:26того, как
1:04:27именно управлять зархватом. Может быть,
1:04:30если балбус робота лучше захватывать
1:04:33себе.
1:04:35>> Ну вот именно хардварной частью роботов
1:04:37мы не занимаемся. А есть несколько
1:04:40стартапов, которые делают специальные
1:04:41перчатки с таксильными сенсорами, и они
1:04:44определяют вот с какой стороны есть
1:04:47момент силы, когда мы схватили какой-то
1:04:49хрупкий объект или который мнётся, там,
1:04:51не знаю, пачку чипсов, например,
1:04:52схватить с помощью руки, но не так-то
1:04:54просто. А, ну, с точки зрения вот здесь
1:04:57конкретно все моторы одинаковые. То есть
1:04:59они все равноправны между собой.
1:05:01Единственное у чёрного сервы специально
1:05:03сделано слабее, чтобы их можно было
1:05:05рукой гнуть, а у того под напряжением
1:05:07моторы с трудом гнутся. То есть у них
1:05:09разные это 12 В и там 7,4.
1:05:14>> Но вообще задача греспинга - это прямо
1:05:16ещё отдельная задача у работотехники.
1:05:18Есть прямо типа задача предсказания позы
1:05:20Греспа по фотографии, например. То есть
1:05:23в каком положении дефектор должен быть.
1:05:24То есть там кружку ставим, что нужно её
1:05:26брать именно за, а,
1:05:29ручку, а не там за верх-низ и так далее.
1:05:31Кружки- это вот отдельное
1:05:34>> нечего.
1:05:36>> Ну, это уже по возможности, да.
1:05:39Так, ещё вопросы.
1:05:42Было сказано то, что есть много
1:05:44неопкситимальности чего.
1:05:47>> И вот важно, по идее, чтобы было много
1:05:49людей, чтобы были разные нептимальности,
1:05:52чтобы оно восприняли вообще. Ну,
1:05:53ассессоры разные, да? То есть
1:05:54параллельно у вас там, не знаю, 50
1:05:57нанятых
1:05:59краудсорсеров, условно, которые, а,
1:06:02собирают как бы своё видение, как нужно
1:06:04решать эту задачу. И за счёт этого как
1:06:06раз будет какая-то обобщаемость. То
1:06:07есть, если у вас один и тот же человек
1:06:09будет собирать 50 раз одну и ту же
1:06:10траекторию, то обобщаемости у вас,
1:06:12скорее всего, вообще не будет. То есть у
1:06:13вас он будет ставить всегда предмет в
1:06:15одну и ту же позицию и как бы одинаково
1:06:17решать. Если человек будет стараться
1:06:19просто по-разному решать,
1:06:21>> ну тогда будет, но скорее всего меньше,
1:06:23чем если вы ещё по людям сделаете
1:06:25агументацию.
1:06:31>> Так, ещё вопросы?
1:06:35Тогда всем спасибо и тогда семинар
1:06:38заканчиваем. Если кто-то хочет
1:06:40попробовать по телеопыть, подходите.
1:06:45>> [аплодисменты]