Этой весной Университет ИТМО и Napoleon IT запустили новую образовательную технологию AI Talent Hub с перевернутым форматом подготовки из Junior в Middle специалистов по востребованной профессии Machine Learning Engineer. Мы подготовим более 700 высококвалифицированных инженеров по машинному обучению по задачам и кейсам более 30 компаний-партнеров к 2025 году. AI Talent Hub призван объединить таланты, ведущие ИТ-компании и экспертов из индустрии, чтобы обучить специалистов с инженерными, управленческими и гибкими навыками через практическую деятельность в рабочем процессе разработки AI-продуктов компаний.
Приглашенный спикер: Валентин Малых, старший научный сотрудник лаборатории Huawei Noah's Ark. Кандидат технических наук, ранее работал в Яндексе и ВКонтакте; во время работы в лаборатории глубокого обучения на Физтехе участвовал в создании библиотеки Deep Pavlov.
Мы часто рассказываем про идею и проект AI Talent Hub руководителям и тимлидам многих компаний. И каждый раз, упоминая, что подготовкой специалистов по обработке естественного языка занимается Валентин, слышим о том, что с этим человеком хочется пообщаться и поработать. Даже сильные эксперты, которые руководят большими командами по 20-30 человек, считают, что сотрудничество с Валентином ― важный и ценный опыт.
Мы воспользовались возможностью задать интересующие вопросы о том, что будет с рынком технологий машинного обучения и обработки естественного языка, чем занимается компания Huawei и какие исследовательские и продуктовые задачи решает.
Интервью:
Начнем с рассказа о себе. Что бы ты хотел донести до начинающих разработчиков?
- Начну с того, о чем я хотел бы рассказать коллегам. До того, как прийти в Data Science, у меня был довольно длительный опыт работы вне больших данных, собственно самой темы еще в то время не существовало. Я начинал как системный администратор, потом работал программистом. Я 10 лет занимаюсь Data Science, и мне это нравится. За время работы в Data Science я защитил кандидатскую диссертацию на тему обработки естественного языка, ее можно прочитать в открытом доступе. Я рад, что к нашей области присоединяются люди, которые только-только собираются поступить в магистратуру и выйти на рынок труда. Начинающему разработчику советую прикладывать усилия, не бояться ошибаться и много работать, и все со временем получится.
- Расскажи про свой опыт работы, какие инженерные задачи были перед тобой, как их решали, насколько это были передовые решения?
- Начну с поисковика Спутник. Я пришел в проект еще до того, как он стал известен, попал в отдел качества поиска. Там я прежде всего делал классификатор веб-страниц. После перешел в Яндекс, в команду Яндекс.Новостей, где занимался задачами ранжирования новостных кластеров — это объединение новостей, которые описывают одно и то же событие.
После Яндекса я перешел на работу в лабораторию глубокого обучения на Физтехе. Нам выделили неплохой бюджет, и мы создали Deep Pavlov — библиотеку для построения диалоговых агентов. В тот момент я работал над устойчивыми векторными представлениями слов, о чем написал диссертацию.
После я работал во ВКонтакте в сфере прикладных исследований. Одна из задач у нас была снизить нагрузку на пользовательскую техподдержку. Один из способов это сделать – по заданному вопросу предсказать некоторую категорию из сборника часто задаваемых вопросов. Эта задача была решена достаточно примитивным методами без привлечения тяжелой артиллерии, но чего было вполне достаточно. Тогда я получил серьезный урок. Если вы что-то делаете, то начинайте с простого, потому что этого может оказаться достаточно.
Последние 3 года я работаю в Huawei в исследовательском подразделении с интересным названием «Noah's Ark». Говорят, наш основатель Жэнь Чжэнфэй когда-то посмотрел одноименный фильм. Ему очень понравилась идея Ноева ковчега, и он решил назвать так лабораторию, которая будет заниматься исследованиями. Мы занимаемся диалоговыми системами, вопросно-ответными системами, ранжированием для поисковика. У Huawei есть свой поисковик, называется Petal search. Дополнительно мы работаем над задачами применения методов NLP к текстам на языках программирования.
Переходя в целом на рынок, где наши магистранты могут искать для себя возможности? Как ты сам оцениваешь потребность в кадрах на данный момент и в диапазоне 2-3 года, когда ребята окончат магистратуру?
-Прямо сейчас мы активно ищем людей в Петербурге и Москве. Я подозреваю, что потребность в кадрах сохранится. Сейчас она достаточно большая, потому что есть тенденция на развитие рынка. Я не думаю, что может что-то произойти и Data Science станет никому не нужным — потребность в кадрах будет.
- Чаще всего ты решаешь задачи, связанные с обработкой языка, какие из них ты считаешь наиболее востребованными? Кого почитать, или какие проекты, компании, open source библиотеки? Что внутри направления NLP наиболее востребовано? Что тебя вдохновляет?
-Относительно того, что самое интересное в NLP, лично мне нравится идея суммаризации. Помимо этого, основным фронтиром был и остается до сих пор машинный перевод — это передний край NLP. Есть модели супер большие, показывающие какие-то серьезные продвижения по качеству по сравнению с маленькими. Сейчас большими моделями считаются те, в которых хотя бы есть пара сотен миллиардов параметров. Такие модели сейчас принято называть Foundation models, они развиваются в новые направления, например в сторону мультимодальности. Я думаю, что Foundation models будут все дальше проникать в нашу жизнь. Будем адаптироваться к их использованию и дистиллировать, чтобы они решали текущие задачи. Большую роль в NLP играют открытые библиотеки. Мне очень нравятся три библиотеки, которые HuggingFace последнее время выпускала: Transformers, Datasets, Evaluate. Они действительно полезны и удобны, рекомендую. Из инструментов есть интересная open source библиотека Stanza. Из русскоязычных мне лично очень нравится то, что делает мой товарищ Александр Кукушкин — это проект Natasha. Еще из интересного, скоро будет конкурс от создателей Up Great ПРО//ЧТЕНИЕ про разметку медицинских данных.
На что ты обращаешь внимание, когда собеседуешь в Huawei молодого начинающего junior специалиста, каким он должен быть?
- Junior — это прежде всего человек, который знает базовые вещи. Никто не требует от джуна опыт, но он должен иметь понимание того, с чем придется работать. В нашей сфере — это умение работать с трансформерами, понимание того, как они устроены, как их запускать и модифицировать, из чего они состоят. Также джуну необходимо знать, что было до трансформеров. Я сталкиваюсь с молодыми ребятами, которые знают и могут рассказать про трансформеры, но не знают ничего, что было до них. Нужно обязательно понимать, как область развивалась последние 40 — 50 лет, чтобы быстро и легко выполнить элементарные задачи, не используя трансформеры. Это принципиальный момент, который, к сожалению, многие не учитывают.
Умение программировать в нашей области — мастхэв. Если говорить непосредственно об обязанностях, то джуну можно поставить задачу, с которой он способен разобраться за приемлемое время. Никто не требует сразу самостоятельного освоения в задачах. Главное, чтобы человек задавал вопросы: где, что, как, куда смотреть и что делать для того, чтобы решить задачу. Не надо бояться быть джуном, все большие дяденьки с бородой когда-то были джунами. Главное — не бояться ошибиться. Если вы думаете, что делаете что-то не так, то ничего страшного. Просто скажите об этом своему тимлиду. Самое основное для джуна — это знать базу и не бояться экспериментировать, задавать вопросы. Именно так и нарабатывают опыт.
- Возьмем конкретно Huawei, сколько в твоём подразделений требуется времени, чтобы junior разработчик мог стать middle?
- У нас джунов не очень много, работа с ними построена в формате летних и круглогодичных стажировок. Например, специалист проходит отбор и приступает к летней стажировке. Мы берем его на три месяца на решение маленькой изолированной задачи. Не важно, успешно он решит задачу или нет. Задание может и не решаться — это совершенно нормально, главное взаимодействовать с ментором и остальной командой, чтобы у них было понимание, как человек работает.
После трех месяцев тимлид делает оценку задачи и человека. После этого стажировка обычно продлевается. Джуну больше доверяют, ему дается участок работы, над которым он трудится. Если судить по ребятам, которые у нас приходили стажерами, то стандартно из джуна в мидла переходят за год. За это время сотрудник адаптируется и становится самостоятельной боевой единицей.
Ты не только профессионал, как ученый и верхнеуровневый исполнитель бизнес-задач, у тебя еще и серьезный опыт преподавания. Расскажи, почему для тебя важна образовательная сфера и какие выводы ты сделал за более 5 лет преподавания?
- Занимаясь образованием, я отдаю кармический долг. Я помню, как в самом начале карьеры на меня потратили время, со мной занимались ведущие специалисты, несмотря на то, что я был совершенно зеленый и задавал дурацкие вопросы. Люди не жалели свое время, чтобы дать мне образование, и я смог приносить пользу, поэтому считаю, что других людей тоже надо учить и давать им возможность обучаться. Научиться человек может исключительно сам, но если ему не давать возможности задавать вопросы, слушать лекции и семинары, то это сильно осложняет обучение.
За пять лет активного преподавания я понял, что невозможно рассказать все важные нововведения, которые происходят каждые полгода. Можно объяснить базу и осветить свежие новости. Важно дать людям возможность попробовать свои силы, создать проект, может даже ошибиться, но обязательно дать обратную связь. В нашей области полезно, чтобы человек получил практический опыт применения тех моделей, про которые я буду рассказывать в течение ближайших нескольких месяцев. Очень важно, чтобы студент сам не боялся, пробовал на практике и понимал, насколько ему интересно. Бывает, что мой курс кому-то кажется скучным, это нормально. В такой ситуации можно, например, найти другое направление в Data Science, но при этом получить базу. Надо брать максимум из той возможности, что у вас есть.
Расскажи про то, как для тебя видится идеальный ментор, эксперт, который может помочь человеку вырасти профессионально?
- В идеале у ментора всегда должно быть время для вас, но нужно понимать, что этого достигнуть невозможно. Именно поэтому я очень мало беру студентов, как правило, хорошие специалисты очень загружены. Из этого следует несколько правил. Первое — студент должен самостоятельно учиться и искать информацию. Второе — умение формулировать вопрос правильно очень поможет в жизни, вы сможете получить от компетентного человека быстрый ответ.
- Открытые курсы ты начинал реализовывать довольно давно, у тебя есть на память примеры ребят с которыми ты начинал работать как с junior специалистами и за несколько лет они выросли на твоих глазах в крутых спецов? Есть выпускные проекты, которые тебе запомнились?
- Некоторые младшие коллеги прикладывают усилия и очень быстро вырастают. На протяжении последних 5-7 лет очень много людей выстрелило. Если вспоминать проекты, которые мне интересны, то был студент, который разработал датасет, обучил модель самостоятельно для машинного перевода с английского на армянский. А студент с образованием химика применил метод NLP для химических данных. Выглядело интересно то, как понятные мне методы применяются в непонятной области. Интересно, что методы NLP применяются в Computer Vision и в рекомендациях, и много где еще.
- Будучи серьезным инженером в компании, ты понимаешь, как компания функционирует, какие у неё бизнес-задачи и цели, ты - неотъемлемая часть реализации этих целей. Поделись, почему компании вкладываются в образование, зачем запускаются новые стажировочные программы. Почему бы крупной, международной компании не приходить и не брать сильных специалистов себе. Зачем нужны эти менторские программы стажировки?
- Менторские и стажировочные программы нужны именно для того, чтобы привлечь молодёжь. У состоявшегося специалиста есть довольно конкретный круг интересов, и он может не совпадать с интересами компании. Молодежи все интересно. Они с энтузиазмом берутся и получают хорошие результаты, дольше остаются работать в компании и приносят пользу. Крупные компании (в мелких компаниях иначе) настолько большие, что внутри них всегда можно найти нишу, которая будет интересна. И не просто найти нишу, а создать. Можно договориться и делать именно ту задачу, которая вам интересна. Это то, что мне нравится в Huawei.
Полное интервью в записи на youtube канале — по ссылке.