0: Ну что ж, уважаемые друзья, мы продолжаем напоминаю, что вопросы вы можете задавать, воспользовавшись специальным QR кодом внизу экрана, пожалуйста, сканируйте его при помощи вашего смартфона и переходите на платформу для ваших вопросов наши спикеры по возможности будут отвечать на вопросы.
1: Если будет время. Но настаиваю на том, чтобы вы все-таки ваши вопросы задавали. Надеемся, что мы сегодня сможем на них ответить, и прямо сейчас. Уважаемые друзья, продолжает нашу тему. Прямо сейчас будет совместный доклад Андрея.
2: Почта из huawei, к которому присоединяется главный эксперт по технологиям SberDevices Сбер Татьяна Шаврина.
3: Всем добрый день. Ну что же, в рамках сегодняшнего воркшопа мы с вами затрагиваем очень интересную тему. Автоматическая генерация кода. Что же это такое? Заменит ли всех программ?
4: Истов или мы просто решаем боли бизнеса. Давайте разбираться.
5: 20 21 год в машинном обучении ознаменовались приходом нового популярного термина пи элпи, или programming language processing по аналогии с энэлпи, natural language processing, или обработка естественного языка большая конфере.
6: По искусственному интеллекту kdd популяризировала этот термин, сделав своей заглавной теме в 21 году p. Элпи собственно обработка программного кода по аналогии с естественным языком, как оказалось, доста.
7: Достаточно удобно, что технологическая зрелость сегодняшних разработок в области энэлпи уже настолько высока, что мы можем автоматически, чуть чуть доучиваясь модели, такие как bird GPT-3 роберта тп.
8: 5 и прочие модели на архитектуре трансформер, чуть чуть их доучивать на машинном коде и использовать их для прикладных задач, связанных с программированием. К этим задачам в том числе относится генерация кода, продолжение кода, как
9: 9. Например, классификация кода различная, поиск уязвимостей в коде, также перевод с речи на на естественном языке в код и так далее много много разных применений уже есть и
10: Все они делаются с уже известными нам моделями. В принципе, есть даже полная аналогия между, ну, преемственность между задачами энэлпи и p. Элпи, в частности, вот самая основная из них, конечно же, это генерация кода, но
11: Всего можно, наверное, их сгруппировать на 3 основные группы. Они связаны тоже с архитектурой трансформеров. Так или иначе, у нас есть с вами архитектура трансформер, которая состоит из энкодера и декодера, и у
12: У нас есть хорошие задачи на анкодес, например, классификация кода, опять же, где у нас код написан, там не в pep 8, где там комментарий, где код, где там нужно что-то поменять, найти уязвимость это задача для там
13: Анн кодера задача для декодера это собственно, продолжение последовательности, текст на английском языке или текст на питоне, или текст на джаве моделям это в принципе не важно, можно обучить и так, и так, не меняя архитектуру и продолжение.
14: Кода и даже например написание кода по комментарию это тоже задача для декодера. Ну и наконец более сложные задачи, которые делаются с помощью архитектур трансформер, то есть энкодер плюс decoder это, например аналоги машин.
15: Перевода в коде, например, перевод с естественного языка. Что нужно сделать тз в машинный код на указанном языке или, например, написание кода по комментариям? Есть также Зада.
16: Задача ещё, например, машинного перевода с машинным кодом, извините за тавтологию, да, когда мы переводим, например, с питона на джаву, наоборот, ну, в зависимости от нашей бизнес задачи, назвать эти инструменты самостоятельными, ко
17: Конечно же, нельзя, да, никто не заметит, не заменит из трансформерных моделей настоящего программиста, но они вносят в нашу работу. Мне кажется, очень важный элемент автоматизации. Мы все Любим автоматизировать. Да, почему бы не сделать для
18: У нас модельку, которая будет писать автотесты, да, которая самые простые тесты напишет, а мы уже начнём там более глубоко вникать и допишем, например, да, или которая будет переносить стиль, которая будет переводить в pep 8, например, да, вот.
19: Это все это прекрасные элементы, которые доступны уже сейчас и очень бурно развиваются. В том числе задача, код комплишен. Это задача, которой наш с вами проект посвящён, про который мы сегодня рассказываем. Это продолжение кода.
20: Уже идёт достаточно активная разработка, и я рада здесь сказать, что Сбербанк совместно с huawei являются одними из первых, кто занимается этой темой в России. Мы сейчас наш 1 прототип разворачиваем на таких языках, как питон.
21: И java, и наша 1 модель, про которую я сегодня говорю, работает на основе архитектуры RuGPT-3. Как работает код комплишен это по сути продолже.
22: Как т 9. Мы все привыкли, как это работает, например, в телефоне. Да, поначалу эти технологии были не совсем удобны, да, когда у нас ещё были там старые телефоны, там, т 9 часто ошибался и был причиной шуток многочисленных. Однако сейчас, когда
23: Мы набираем код на смартфоне или набираем текст на смартфоне, мы даже не замечаем, как по 1 буквам он угадывает и делает наш набор быстрее. Вот Ровно тоже это делает код комплишен, и он даже способен предсказывать достаточно длинные последовательности с разной вероят.
24: Вот здесь, на скриншоте, показаны уже наши первые результаты, встроенные в идее. В частности, нейросеть ухватывает зависимости, которые, ну, ухватывает название переменных, которые вы уже написали в code выше, и предлагает
25: Их использовать, в частности, очень интересным нам показался результат, что комментарии, собственно, написанные на английском или русском языках, тоже влияют на продолжение, то есть, если написать там эта программа печатает hello world, то
26: Он и предлагает вот на питоне нам напечатать, и вы видите, что он предсказывает с некоторыми вероятностями варианты, которые ему нравятся. В данном случае он предсказывает 3 варианта. Сейчас я попрошу коллег нам включить короткое демо видео, чтобы мы посмотрели, как это рабо.
27: От вживую.
28: Наши первые прототипы работают с питоном и джавой. Можно увидеть сейчас, как это выглядит в встроенном идее. У нас слева. Нам предлагается продолжение при
29: Помощь RuGPT-3 и дальше у нас справа обычные подсказки из de которые уже были собственно стандартно при наборе 1 и того же кода это наши внутренние эксперименты с разработчиками в среднем в полтора раза быстрее.
30: Ходит набор 1 и того же кода.
31: В наших первых прототипах мы также использовали код смартапов, потому что у нас его много и мы хотим сделать работу разработчиков смартапов немножко проще. Поэтому на смартапах, собственно, мы в основном и тестируем нашу наработку.
32: Этот плагин уже доступен, на самом деле он будет доступен, я думаю, более в более широком доступе, так скажем, но сейчас он уже доступен разработчикам смартаппов в SmartApp studio там вы можете?
33: Его найти. Этот плагин, который называется джарвис, ваш помощник.
34: Спасибо, коллеги. Ну что же, по нашим 1 экспериментам, в среднем удачными оказалось почти 70% подсказок, которые модель предлагает также 49.
35: Кликов 49% кликов мы сохранили, то есть людям не пришлось набирать код заново, а приходилось только выбирать кликов на 49% меньше. В среднем в полтора раза ускоряется набор кода на питоне и джабе опять же.
36: SmartMarket studio. Приглашаем вас попользоваться нашими первыми наработками. Помимо декодернет моделей. Мы также очень активно трогаем трансформерные модели, потому что опять же не только единым продолжением кода, но ещё более сложные за
37: Задачи, например, классификация, поиск уязвимостей и все другие задачи, про которые я уже говорила, и здесь мы очень активно используем серверные мощности huawei, собственно, наши текущие разработки, затраги.
38: Вот трансформеры для задач p. Элпи начинаем опять же с питона и джавы собрали пока что около 300000 файлов, почти 400000, уже на которых мы обучаемся, это наш обучающий корпус и затрагиваем в основном.
39: Torch, ну и немножечко тоже main спор про серверную часть я приглашаю рассказать моего коллегу Андрея.
40: Всем нихау это опять Андрей, компания huawei вот большое спасибо за введение Таня очень интересный проект то есть действительно когда-то смогут разработчики пить кофе с печеньками и за них будет машина писать код.
41: Когда-то я надеюсь на это, да, это, конечно, будет интересное время. Вот хотел бы сказать, что большое спасибо команде Тани, что они согласились протестировать оборудование huawei в этом проекте. Вот, ну и дальше
42: Я немножко по технике расскажу, собственно, что использовалось здесь. То есть использовалась экосистема huawei для иай платформа атлас. И вот на данном слайде вы видите, соответственно, вся экосистема, то есть вы видите, что в принципе huawei
43: Предоставляет все компоненты, необходимые для того, чтобы от и до разработать какое-то приложение для иай. То есть это архитектура да винчи, это нейро, ускоритель, в основе которого лежит матрица перемножения.
44: Блок перемножения матриц в основе, да плюс скалярные и векторные юниты. Вот на основе этой архитектуры построены серверные решения чипов. Это асент 310 для инференса и асент 910. Также это платформа
45: Она есть в мобильных устройствах, есть в умных камерах и в принципе, все во всех продуктах huawei в сетевых устройствах получается. Вот. Но сейчас мы говорим про 310, про 910 чип это
46: Микросхема система на кристалле, которая предназначена для иай нейро, ускорителя. Ну, на самом деле, много сейчас вендоров как бы идут в этом направлении. И это вот в данном случае решение от huawei, соответственно, 310 чип это микросхема для infer.
47: Да, то есть она наиболее оптимальна с точки зрения потребляемой мощности и производительности да, то есть для edge устройств для умных камер, для Дронов, для робототехники и так далее. 910 чип это уже большая производительность.
48: Специально для задач обучения моделей таких больших моделей, которые Сбер разрабатывает, в том числе, вот. И, соответственно, уже на основе этих систем на кристалле сделаны вот средняя колонка, которую вы видите.
49: Соответственно, это уже устройство, да, то есть это age, станция атлас 500. То есть это устройство, которое позволяет работать, например, на производстве в каких-то жёстких условиях. Соответственно, на улице камера, то есть она может работать -50 + 50 пыли.
50: Защищённая, это, соответственно, карты для установки в сервер для инференса для тренинга. Это модуль атлас 200, на основе которого можно построить уже законченное устройство. Там, например, drone робот, умную камеру и так далее. Вот, ну,
51: И, конечно, сервера то есть здесь у нас 2 отдельных линейки, соответственно линейка для инференса, линейка для тренинга вот все линейки используют соответственно разработки huawei, то есть это центральный процессор arm architecture.
52: И нейро ускорители асент. Вот также на основе серверов для тренинга можно построить кластер это атлас 900. Соответственно это ai кластер для обучения боль.
53: Моделей. Вот. Дальше, на следующем слайде покажу чуть подробнее про работу с этим кластером. Вот, ну и про программное части это вот справа на слайде, да, то есть, ну во первых, мы как бы развиваем сейчас комьюнити в России, то есть
54: Большое спасибо, что такие команды, как Танина, соответственно, участвуют в этом и, соответственно, помогают нам тоже это популяризировать. Соответственно, мы также с университетами работаем с ведущими. Вот, и, в принципе, открыты для
55: Каких-то сотрудничеств, коллабораций и так далее. Вот кроме этого у нас есть платформа модел артс это облачная платформа, которая позволяет, ну не используя, не перенося, грубо говоря, железо там к себе локально в лабораторию разрабатывать
56: В облаке писать модели свои разрабатывать, запускать, датасеты хранить и так далее вот кроме этого wine спор да про который уже коллеги много рассказали то есть это фреймворк разработки huawei, оптимизированный под наши нейро ускорители.
57: Вот, и который также поддерживает асент. Соответственно, кроме этого, мы поддерживаем пайторч и тензер флоу. Соответственно, в данном проекте мы использовали пайторч, потому что команде
58: Соответственно, было удобно с ним работать, да, вот, ну, то есть, мы быстро, ну, также, я надеюсь, что мы продолжим наши исследования и в майсоре. Вот, соответственно, и также у нас есть can, это язык эйпиай, да, то есть это
59: Низкоуровневый язык, который позволяет набор функций и для работы с оборудованием на питоне и на си плюс плюс вот.
60: Ну, более подробно. То есть, вот конкретно в этом проекте, да, использовался вот 1 вот этот сервер, да, то есть это атлас 800, модель 9000, это получается сер.
61: Для обучения, да, то есть вот вы видите его картинку, то есть он 4 юнитовые по высоте, и он разделён как бы на 2 части. То есть у него есть 2 материнских платы, то есть 1 это с нейроскоп лями, вот она внизу такие 8, 8 нейро ускорителей и сверху соответствен
62: На плата общего назначения с 4 процессорами Кумпан арм архитектуры вот соответственно, хотел бы отметить, что у huawei есть так называемая опен лэп в Москве.
63: Да, в котором представлено все это оборудование. Вот, то есть представлено как, то есть это вживую его можно прийти и посмотреть, как это выглядит все вот эти чипы, да, также и можно удалённо подключиться, соответственно, и попробовать работать с ним, да.
64: Пробовать, соответственно, ну, реальные какие-то кейсы на нём. Вот, соответственно, ну, продолжая про этот сервер. То есть, как я сказал, 4 купёна, арм архитектуры, 8 нейро ускорителей память. И что важно, у каждого нейроскоп есть
65: 100 гигабитный изернет для коммуникации внутри кластера. Вот по интерфейсу рокки. Вот. Соответственно, это позволяет эти сервера объединять в большую систему и обучать соответственно, большие модели. Вот, и он
66: Потребляет этот сервер 5 и 6 киловатт, что в принципе, делает его там оптимальным решением с точки зрения объёма, дата центра, да, и вычислительной мощности. То есть мы можем на одинаковой же стойке получать большую вычислительную мощность. Вот.
67: И, соответственно, данный сервер мы использовали в этом проекте.
68: Ну, соответственно, по истории успехов с этим сервером. То есть, ну, мы активно сейчас вот мы только начинаем в России, да, вот эти вот все истории, как бы, на нём запускать. Вот. Но в Китае это уже, естественно, чуть чуть.
69: Чуть чуть раньше началось. Вот. И, например, вот 1 из историй успеха, это лаборатория Пэнчэн в Китае, вот это национальный исследовательский центр искусственного интеллекта Китая, там собран кластер из вот таких серверов. Это
70: Называется атлас 900, соответственно, у которого вычислительная мощность 1 экзафлопс. Вот, то есть на момент 2020 года. Сейчас у нас есть информация, что он будет расширяться до 16 экзафлопс. Вот.
71: Вот, соответственно, масштабироваться. И, значит, в этой лаборатории был проект обучения китайского языка. Ну, то есть обучение модели китайскому языку, то, что вот Таня рассказывала про проект Сбера, да, с русским языком, а здесь как бы китайский язык.
72: В принципе, здесь есть схожая проблема, потому что и китайский, и и русский язык, они как бы не настолько популярны в интернете, да, как английский язык. Вот. Поэтому здесь была такая общая проблема, ну, собрать.
73: Собрать датасет, да, то есть собрать хороший датасет для обучения модели. Самое важное. Вот, и было собрано где-то 1 терабайт китайских данных на китайском языке, соответственно, и использовалось 2048 чипов асент.
74: Да, вот, то есть в этом кластере, то есть вот эти все чипы, они были объединены в единую систему, и модель обучалась распределено на этих устройствах. Вот подробнее можете узнать в статье об этом. Вот. То есть она в открытом доступе, пожалуйста.
75: Ознакомьтесь с ней, вот и данный данный кластер, он занимает лидирующие сейчас позиции в рейтингах, таких как iperf 500, ао 500 и других, значит.
76: Рейтингах, посвящённых суперкомпьютерам. Вот это такая вот история успеха. И, соответственно, дальше, наверное, вернёмся. А нет, ещё пару слов про model zhu. В принципе уже коллеги.
77: Рассказывали про него. Вот, но конкретно к нашему проекту. То есть к нам пришла вот команда Таня, да, вот, и сказала, что там нам нужно модель, да, которая похожа вот на трансформер, соответственно, с чего мы можем начать. Вот, и мы предложили
78: Как вот как отправную точку для этого это model zhu. То есть это вот сборник, соответственно, моделей huawei, да, которые уже проверены. Вот там есть по различным тематикам, по computer vision по nlp.
79: Другим темам есть модели. Вот, ну вот мы взяли трансформер и для этой нашей задачи, соответственно, его использовали как отправную точку. Конечно, задача большая. Вот. То есть там и нужно больше данных. Вот. И, соответственно,
80: Мы будем это все продолжать и, соответственно, как бы обучать дальше эту модель. То есть, ну это непростая задача. Вот, но спасибо нашим партнёрам, соответственно, что мы совместно эту задачу очень интересную как-то пытаемся решить. Вот, ну и
81: Наверное, сейчас поговорим про результаты, тогда передам больше экспертному мнению Тани. Да, спасибо. Ну, на самом деле, вот сейчас продолжается наш проект на стендах. Используем сейчас для
82: Обучение трансформера 8 npu первые эксперименты на питоне пока что проводим, и вот можете увидеть там наши первые результаты по лосс функции. Пока что обучаем трансформер с длинной последовательности.
83: 128. Посмотрим, что у нас получится. Я думаю, что впереди очень интересные перспективы. Что ещё мы планируем сделать в этом направлении? Ну, безусловно, хотим, наверное, добавить ещё Языков. Может быть, расширим наши дата.
84: Это для обучения. Ну и конечно, после того, как трансформеры все дообучим будем их учить уже на непосредственно бизнесовых задачах, на то, что называется даунстрим таскс, да, это классификация кода, поиск уязвимостей.
85: Пит код и так далее. Сейчас этих задач становится очень много, очень много открытых бэнчмарков для ml моделей таких и датасетов. Это очень активно развивающаяся исследовательская область. Вот, Андрей, наверное, ты скажешь тоже, что мы
86: Планируем ещё по, да, совместному обучению. Ну, у нас мультикластерном, наверное. Да, да. То есть у нас, в принципе, значит, мы хотели протестировать. Сейчас мы используем только 1 сервер. Вот нам бы хотелось объединить
87: Несколько серверов, да, то есть сейчас уже локально в open лаб huawei, мы готовим такой проект, то есть объединить 4 сервера в кластер, да, и, ну, как бы, демонстрировать его. Вот, я думаю, тоже интересно будет с командой Тани попробовать. Вот. Ну и также мы бы хотели, что
88: Чтобы команда попробовала фреймворк майн спор, то есть его преимущества попробовала, то есть, как это, ну, как это выглядит, да, с нашей помощью там, допустим, вот это для нас было бы очень интересно. Вот. Ну и, конечно, хотелось бы тоже такую же сделать какую-то демонстрацию.
89: Соответственно, плагин, да, который можно там использовать уже в с коде, там или где-то ещё непосредственно попробовать, как это работает. Вот.
90: Наверное, все. Да, да, я думаю, что мы готовы ответить на ваши вопросы. У нас ещё есть время как раз для этого. Спасибо большое за внимание, да.
91: Спасибо большое. Действительно, есть вопросы, и надеемся услышать ответы на них. Собственно говоря, давайте вчера на церемонии награждения победителей эйджей контест говорили про создание мультизадачных моделей, которые смогут одновременно решать задачи различных модальностей.
92: Будет ли возможность применять май спорт для работы с ними? Угу, давайте я скажу пару слов буквально про соревнования. Параллельно у нас на i giorni Шёл большой хакатон соревнования фьюжен брейн челлендж и во время
93: Ну, задача соревнования была сделать мультимодальные модели, которые решают сразу много задач из нескольких модальностей. Если память мне не изменяет, их было как минимум 5, и среди них тоже был, в том числе код. Это была отдельная модальность. Соответственно, там есть точно
94: Изображение, табличные данные, код и тексты и что-то ещё в общем вот по по main спору да, я наверное добавлю ну то есть main спор это в принципе универсальный фреймворк да, то есть
95: И если там как бы используются, ну, там, известные уже сейчас подходы, например, да, то его можно использовать. Вот. То есть, как я понимаю, мультимодальность это просто объединение микс, как бы, нескольких видов задач, то есть там компьютер вижн и текста.
96: Вот но по отдельности они решают с помощью wine спорт. Поэтому я думаю в целом его тоже можно применить окей, спасибо имейте ввиду Андрей ну к вам вы сами затеяли этот разговор расскажите подробнее про пинчинг будет ли что-то подобное в России вот наверное главный вопро.
97: Да, ну, пенен, это 1 из лабораторий в Китае, конечно. Ну, то есть, в 1 очередь Китай, конечно, свои центры развивает, да, в Китае, но также, то есть huawei просто выступает как технологический партнёр этой программы в Китае. Вот, но также в России.
98: Готов выступить технологическим партнёром таких вот мероприятий с кем-то, да, то есть вот, ну то есть мы, мы открыты, то есть выступить вот, в том числе в Нижнем Новгороде, например, исследовательская лаборатория huawei может быть большая, то есть
99: Открыто, да, то есть, может быть там планируется какой-то центр. То есть, ну да, мы сейчас работаем над этим вопросом. Открыты, будет ли что-то подобное в России? Возможно. Да, да, да, да. То есть мы, мы ответ такой, что мы, мы готовы, да, то есть вот huawei с радостью выступит технологичес.
100: Партнёром, да, почему только питон и джава. Угу. Да, наверное, это ко мне. Ну, по крайней мере, для нас это были самые востребованные языки, на которых было легче всего поэкспериментировать. Есть много данных в открытом доступе.
101: Есть хорошие рейтинги репозиториев лучших, которые можно взять. Безусловно, мы ряд наших Языков будем расширять. Нет никаких препятствий условно, чтобы сделать на си плюс плюс. Да, мне кажется, что у
102: Задача у неё в принципе есть такая вот цивилизационная, ещё образовательная ценность, да, в том плане, что она может помогать людям учиться работать с кодом и снижать порог входа в профессию, потому что профессия сложная, прямо скажем, да, я думаю.
103: Что особенно это будет востребовано у людей, которые, например, учатся писать на си плюс плюс, ну а мы начали с чего-то попроще, ну там с питона, ну и с явы тоже финальный вопрос. Как оценить перфоманс? Н, ну давайте
104: Отвечу. Вот, ну, если, если мы сейчас говорим про, ну, конкретно платформу атлас, да, сенды, вот, то у нас подход следующий, да, то есть мы берём какую-то задачу, соответственно, партнёра, да, вот как в случае
105: С таниной командой, например, да, вот, и тести, и предоставляем оборудование, да, то есть оно доступно, как бы, и у нас есть набор базовых как бы, моделей, и уже сам пользователь, он может запустить эти модели непосредственно на оборудовании.
106: Как бы посмотреть перфомансы и все, что ему интересно, и как бы убедиться там в производительности и так далее. То есть у нас такой подход, то есть, как бы отдать на тест драйв, что называется. Вот. Спасибо. Это были все вопросы. Татьяна, Андрей, благодарю вас за участие в нашем прямом эфир.
107: Спасибо вам, уважаемые друзья, за ваши вопросы мы идём дальше.