ИИ, нейросети и высоконагруженные системы: чему VK и ВШЭ учат студентов

c66bcf503b2abeda60684775da8f1ea7.jpg

Привет, Хабр! Меня зовут Анна Степанова, я директор по образовательным проектам и взаимодействию с вузами в VK. Недавно мы совместно с Высшей школой экономики создали Инженерно-математическую школу (ИМШ). Цель ИМШ — дать студентам IT-специальностей возможность познакомиться с реальными исследовательскими и коммерческими задачами крупных IT-компаний и попробовать себя в их решении. 

Уже 11 лет мы сотрудничаем с лучшими вузами страны — там мы организовываем образовательные проекты и прокачиваем навыки IT-специалистов. Но в основном эти проекты представляют собой «надстройку» над той программой обучения, которая даётся в разных учебных заведениях. Поэтому выпускников, которые приходят к нам работать, нужно ещё какое-то время дообучать и адаптировать к реалиям коммерческой разработки в большой компании и к её корпоративной культуре. 

Для решения этих задач ещё на этапе обучения мы решили встроить преподавание информационных технологий на реальных практических кейсах в учебную программу, чтобы на выходе компании получали сильных молодых специалистов, которых можно сразу забрать к себе на работу. Так появилась ИМШ. 

О том, что это такое и что ждёт студентов — читайте под катом.

Идея

В основу идеи ИМШ легла концепция федерального проекта «Передовые инженерные школы», в которую мы добавили свою IT-специфику и культуру разработки. 

Школа состоит из мастерских — лабораторий, специализированных на разных ИТ-задачах. Мы выбрали такие, которые востребованы нашими бизнес-подразделениями (то есть диктуются рынком и отраслью) и интересны для самих студентов. Так как если человеку не интересно какое-то дело, вряд ли он станет в нём мастером. 

Студенты-участники мастерских — ребята без большого опыта, которые только начинают пробовать себя в IT, так что мы старались в первую очередь удовлетворить их интерес и вдохновить на обучение. В мастерских у учеников опытные наставники — руководители от Вышки и кураторы от нашей компании :)

Мастерские у нас такие:

  • по прикладному искусственному интеллекту;

  • по компиляторам и высоконагруженным системам;

  • по аппаратному обеспечению искусственного интеллекта;

  • по виртуальным платформенным решениям.

В будущем мы планируем расширить этот список.

Методология

ИМШ — не просто ещё один образовательный проект. Школа построена по «студентоцентрической» модели: в основе учебного процесса лежат интересы и польза для студентов. На практику в Школе мы отводим не менее 50% учебного времени. И это не просто практика — мы переняли у MIT (Massachusetts Institute of Technology) и активно применяем технологическое менторство: наставники из бизнес-подразделений VK постоянно общаются со своими подопечными. Это помогает смоделировать работу в реальной IT-команде.

Ещё одна особенность ИМШ — у нас нет учебных проектов. Все задачи, над которыми работают студенты, потом пойдут в эксплуатацию. Наверняка кто-то недоумевает: «Как можно допускать учеников до прода?». Конечно, риск есть, но мы пошли на него сознательно.

Во-первых, так мы прививаем свою культуру разработки. А во-вторых, в Школу не принимают случайных людей — все студенты проходят тщательный отбор и с ними работают наши наставники, штатные сотрудники компании. Кроме того, в проектах студентов подстраховывают специалисты от вуза. Таким образом мы не только обучаем ребят, но и развиваем профессиональное сообщество института, чтобы оно лучше понимало наши задачи и инструментарий.

Помимо продуктовых мы даём студентам исследовательские задачи: ребята проверяют различные гипотезы и ищут новые технологические решения. 

На этом «изюминки» Инженерно-математической школы не заканчиваются. Мастерские — это учебные пространства, объединяющие студентов всех курсов. То есть в практических задачах у нас нет деления на уровни образования. В команды мастерских попали те студенты, которые прошли тестовые задания и собеседования с экспертами от Вышки и VK — вне зависимости от того бакалавры они или магистры и на каком курсе обучаются. Такой подход не характерен для российского образования, однако его удалось успешно применить в Школе.

Подробнее о мастерских

Мастерская по компиляторам и высоконагруженным системам (на базе ВШЭ МИЭМ)

Куратор — Александр Кирсанов, руководитель команды KPHP, ВКонтакте.

Эта мастерская построена вокруг KPHP — языка, на котором написан весь бэкенд ВКонтакте. Он превращает PHP в С++, за счёт этого ускоряя код в разы. Особенно, если он хорошо типизирован. 

Для работы есть несколько направлений: во-первых, создание компилируемых библиотек на обычном PHP, то есть по факту развитие экосистемы вокруг KPHP для нужд сообщества; во-вторых, точечная доработка рантайма (стандартной библиотеки KPHP) и добавление туда отсутствующих, но полезных функций; и в-третьих, непосредственное участие в развитии самого компилятора.

Для студентов это отличная возможность погрузиться в компиляторы и среды исполнения, а также пополнение собственного портфолио, поскольку вся работа идёт в Open Source. Для VK выгода в том, что мы совместными усилиями сделаем набор кубиков для продуктовой разработки на KPHP. Так, в обозримом будущем мы построим полноценный веб-фреймворк, чем-то похожий на Symfony — с роутингом, диспатчером, сервисами, ORM, Dependency injection, шаблонизацией и т.п. — причём это всё будет компилируемо, то есть совместимо с KPHP.

Помимо практики, студенты этой мастерской углублённо изучают С++, многопоточку, анализ языков, системное программирование, веб-разработку и другие курсы.

Планируется, что через пару лет на выходе получатся многопрофильные специалисты, способные без проблем трудоустроиться в любую топовую IT-компанию как в инфраструктурное, так и продуктовое направление.

Мастерская по аппаратному обеспечению искусственного интеллекта (на базе ВШЭ МИЭМ)

Куратор — Соловьев Дмитрий, руководитель группы нейронных сетей, департамент Технологий ИИ.

Системы искусственного интеллекта стали применяться намного чаще и всё больше компаний могут позволить себе сервисы, использующие подобные решения. Но за каждым «умным» сервисом, особенно если у него многомиллионная аудитория, стоят немалые вычислительные мощности — высокопроизводительные серверы. И чем шире внедряются системы ИИ, тем выше спрос на оборудование, которое превращается в очень заметную строку в списке инвестиций. Поэтому одну из мастерских мы посвятили аппаратному обеспечению. 

В мастерскую зачислено семь студентов, которые в осеннем семестре факультативно проходят три учебных курса от VK: машинное обучение, введение в анализ данных, углубленное программирование на C++. Параллельно проектируем отдельную магистерскую программу, в которую будут включены дополнительные дисциплины по тематике мастерской.

В наступающем году мы получим от российских производителей первые образцы оборудования и начнём эксперименты. В первую очередь прогоним бенчмарк MLPerf, а затем попытаемся портировать те нейросети, которые мы сейчас применяем для решения продуктовых задач VK. После сборки демостендов станет понятно, в каком направлении двигаться дальше.

Мастерская по виртуальным платформенным решениям (на базе ВШЭ, Санкт-Петербург)

Кураторы — Сенников Алексей, руководитель проектов и Торобаев Руслан, разработчик, команда Одноклассники.

За годы работы мы накопили большой опыт в области машинного обучения, решая различные промышленные и бизнес-задачи с помощью нейронных сетей. Сегодня мы предоставляем нашу инфраструктуру студентам, чтобы они могли экспериментировать с ней и решать настоящие задачи, которые ставит перед нами бизнес. Ребята из первого набора — мы приняли в мастерскую пять человек — будут писать ПО для инфраструктуры. Проект разбит на этапы. Первый — это MVP интерфейса, который позволит любому сотруднику или студенту обучить простые модели по классификации изображения, текстов или видео. Также у пользователей будет API-доступ к модели, которую они обучат в нашем сервисе, чтобы использовать её, к примеру, в другом проекте и с другой командой.

В будущем мы планируем передавать студентам бизнес-задачи. В качестве возможного примера могу привести такой запрос от заказчика: по многочисленным фотографиям, сделанным в разных портах и в разное время суток, научиться автоматически определять, есть ли утечки из наливных танкеров, перевозящих нефть и нефтепродукты. Результатом работы студентов может стать обученная нейросеть с API, через которую заказчик будет загружать новые фотографии и регулярно контролировать состояние кораблей.

Мастерская по прикладному искусственному интеллекту (на базе ВШЭ МИЭМ)

В этой мастерской есть сразу три отдельных направления: компьютерное зрение, обработка естественных языков и обработка аудио.

Компьютерное зрение

Куратор — Безбородов Роман, руководитель команды компьютерного зрения, департамент VK Видео. 

Мы выбрали два проекта, которые должны будут выполнить студенты:

  • Восстановление mesh-геометрии человека по фотографии, то есть его трёхмерная реконструкция и последующая анимация. Это может быть интересной функцией в VK Клипах.

  • Универсальная модель для наложения масок на кого угодно. Сейчас ВКонтакте работают маски для людей и кошек: наводишь камеру, и у человека или кошки появляются усы и шляпа. А мы хотим сделать маску универсальной, чтобы она могла работать на любом объекте, у которого есть что-то похожее на лицо — например, с игрушкой.

Над первым проектом будет работать четыре студента, над вторым — пять. На выходе должны получиться нейронные сети, код для обучения и соответствующие наборы данных. Ещё ребята должны написать пару статей о своей работе.

Обработка естественных языков

Кураторы — Спирин Егор и Шапошников Борис — эксперты в области обработки естественных языков из команды Прикладных исследований ВКонтакте.

Здесь студенты — их двое — будут заниматься визуальным представлением токенов текста. Обычные классические модели NLP в тексте каждое слово заменяют числом, которое затем используют. Но люди в интернете часто пишут с опечатками, а также пытаются обмануть системы, отслеживающие ругательства, заменяя различные буквы на похожие символы. Всё это может запутать обычную модель машинного обучения. 

Поэтому мы используем визуальное представление текста, из которого извлекается информация с помощью моделей компьютерного зрения. Эта информация, как правило в виде вектора, используется в стандартных моделях для работы с естественным языком. Один из студентов работает над «детектором токсичности», выявляющим в тексте замаскированные оскорбления — очень полезная для соцсетей штука. А второй работает над системой автоматического определения языка, на котором написан текст — это нужно в системах машинного перевода, а также для анализа ленты и комментариев, чтобы точнее узнавать свою целевую аудиторию, на каких языках она общается. Ещё одна сфера применения визуального представления текста — системы проверки орфографии, но это уже идея на будущее.

Мы постоянно общаемся со студентами, ставим им задачи, которые приближают нас к решению бизнес-задач, проверяем результаты, обсуждаем их и двигаемся дальше. Помимо моделей и кода ребята подготовят выступление на тематической научной конференции — визуальное представление текста снова набирает популярность, и мы надеемся предложить несколько новаторских идей. Сделанные наработки уже выложены по лицензии открытого исходного кода, и ребята продолжают их развивать и дополнять.

Обработка аудио

Куратор — Шутов Виталий, руководитель разработки звуковых технологий, департамент VK Видео. 

Для этого направления мы выбрали проект по разделению аудиосигнала на источники — над ним работает один студент. В ходе проекта предстоит разработать фреймворк для разделения аудиосигнала на составляющие без дополнительной информации об их количестве и характере. Этими составляющими могут быть сигналы человеческой речи, фоновая музыка и различные сторонние шумы. 

В более сложном случае музыку можно разделять по отдельным инструментам или, скажем, распознавать выделенный в песне вокал и автоматически генерировать текст — это задачи на перспективу развития проекта.

Будущее выпускников

Совместно с ВШЭ мы создаём Инженерно-математическую школу, чтобы обеспечить VK и другие компании молодыми специалистами с высокой квалификацией, которые будут готовы с минимальной адаптацией выйти на работу. Очевидно, что успешно завершат обучение в Школе не все — нагрузка и требования к студентам достаточно высокие. 

Но лучшим участникам проекта мы предложим стажировки, индивидуальные траектории развития и трудоустройства. Мы ожидаем, что по итогу курса на рынке появятся крутые специалисты высокого уровня — пропитанные нашей культурой разработки, обученные на актуальных задачах и владеющие всем нужным инструментарием для работы.

© Habrahabr.ru