Краткий курс IT-науки: большому учёному — большие данные
7 июня 2018
Массивы информации появились в мире не вчера. Но только бурное развитие цифровых технологий подарило новые возможности анализа данных, а главное — идеи по их использованию, которые нам раньше и не снились.
Мы уже не удивляемся тому, что поисковики в интернете мгновенно «выуживают» нужные ссылки по нашим запросам, даже голосовым. Мы привыкли получать от навигатора рекомендации по объезду пробок, а от интернет-магазина — напоминание о том, что пора пополнить запасы корма для домашнего любимца.
Многие из нас и не догадываются, что видят в интернете рекламу, подстроенную под наш возраст, пол, интересы, район проживания и даже уровень доходов. Составить столь подробные «портреты» позволяют наши «цифровые следы».
Нам уже не кажутся фантастическими перспективы мгновенного поиска преступников с помощью распознавания лиц на видеозаписях камер наружного наблюдения.
Все это и многое другое построено на анализе больших данных и технологиях машинного обучения. И все это работает благодаря людям, чья профессия появилась меньше десяти лет назад.
Где работают специалисты по Big Data и машинному обучению
Поле работы для специалистов по Big Data безгранично — любая сфера бизнеса и государственных услуг, в которой накапливаются данные, стремится сейчас упорядочить работу с ними и придумать, как их можно использовать. Где-то над этим работают собственные IT-отделы, а кто-то привлекает внешние специализированные компании.
«На сегодняшний день существует три главных критерия больших данных: объем, скорость обработки и разнообразие — данные ведь могут поступать в разном формате и из разных источников, — объясняет Евгений Гаврилов, преподаватель магистерской программы „Машинное обучение и управление большими данными“ IT-центра МАИ. — Если хотя бы один из этих показателей превышает возможности одного, пусть даже очень мощного, компьютера, то данные считаются большими, Приходится делить весь объем на части и обрабатывать их параллельно на нескольких компьютерах. Специальные алгоритмы обработки, хранения и визуализации данных при параллельной работе с ними на десятках, сотнях или даже десятках тысяч компьютеров, в огромных дата-центрах — это и есть управление большими данными».
По данным портала НН.ru на конец апреля 2018 года, на одну вакансию специалиста по Big Data приходилось в среднем три резюме.
Это очень низкий показатель, он говорит о дефиците таких специалистов. Минимальная зарплата специалистов по Big Data — 30 тыс. рублей, максимальная — 350 тыс. рублей. Большая вилка между минимумом и максимумом объясняется просто: из-за дефицита опытных специалистов, которым работодатели готовы платить много, компании вынуждены брать новичков на стартовые позиции и растить их до нужного уровня.
Как называются их профессии
Информационные аналитики (аналитики Big Data) анализируют данные, обрабатывают с помощью определенных алгоритмов и ищут в них закономерности. Но это еще не все.
Можно настроить работу с данными таким образом, чтобы система на основе математических моделей научилась решать прикладные задачи, делать успешные прогнозы для новых порций данных.
Это сейчас самая перспективная задача, и она решается с помощью машинного обучения. Таким направлением занимаются особенные специалисты. Чаще всего их называют «дата-сайентистами» (от английского Data Scientist), иногда — математиками-программистами.
«Рынок IT-специалистов глобализируется, да и специальная литература практически вся на английском, поэтому в нашей сфере так распространены англоязычные названия профессий, — объясняет Евгений Гаврилов. — По сути же инженеры в области больших данных — это технари-программисты с уклоном в базы данных. А дата-сайентисты — прикладные математики. Они должны быть знакомы с математическим анализом, линейной алгеброй, теорией вероятностей и математической статистикой, но в то же время умеют программировать, строить математические модели изучаемого объекта, подбирать или разрабатывать новый алгоритм решения задачи и доказывать его работоспособность в виде прототипа программы, обычно на языке Python».
Чем они занимаются
На портале HH.ru сотни тысяч вакансий и миллионы резюме. Они образуют триллионы возможных пар. Конечно, это большие данные. Но каждый пользователь базы не только мгновенно находит в ней вакансии по интересующим критериям, а получает еще и рекомендации.
«Разместив свое резюме в базе HH.ru, вы начинаете получать от портала рекомендации о вакансиях. Подбор вакансий строится на технологиях машинного обучения, — рассказывает Евгений Терещенко, аналитик Big Data компании HeadHunter. — Если вы ищете вакансии по нашей базе, то система поиска реагирует не только на текст вашего запроса, но и на сведения из вашего резюме, а также учитывает некоторые шаблоны действий других пользователей, похожих на вас. А пользователям-работодателям наши технологии ранжируют отклики на их вакансии и предсказывают отток соискателей».
Как это работает? Благодаря аналитикам, дата-сайентистам и инженерам Big Data.
«Чтобы система могла отправлять пользователям наиболее интересные вакансии, моя задача как аналитика — увидеть, есть ли в наших данных какие-то признаки, по которым можно примерно понять, что вакансия может быть интересна, — объясняет Евгений Терещенко. — Если есть, то я собираю под решение этой задачи подходящую выборку данных. Дальше на основе этой выборки дата-сайентист будет пробовать разные алгоритмы, чтобы добиться высокого качества предсказаний. Как только он подберет алгоритм, инженеры сделают так, чтобы прототип, созданный пока только на компьютере дата-сайентиста на отдельной выборке, заработал в огромной системе из многих компьютеров и был применим к новым данным».
Почему они учёные по призванию
Data Scientist дословно переводится как «учёный по данным». И здесь нет лишнего пафоса: хорошими специалистами действительно становятся только люди, склонные к исследовательскому труду. Дело в том, что они не только используют уже известные алгоритмы, но и создают свои.
Вот как рассказывает о своем пути в профессию Арсений Трушин, сотрудник компании HeadHunter: «Я всю жизнь хотел быть ученым. До 2014 года я был физиком: окончил физматшколу, потом физический факультет МГУ, стал аспирантом, всерьез занимался наукой, опубликовал 18 научных работ.
Но я понимал, что по финансовым соображениям мне нужен „запасной парашют“, и поэтому параллельно с наукой самостоятельно осваивал программирование.Читал книги, участвовал в онлайн-курсах и конкурсах. Сначала это было „классическое“ программирование, то есть без изучения алгоритмов машинного обучения — ими я увлекся в 2014 году. А в 2015 году я узнал про Школу анализа данных при „Яндексе“, пошёл заниматься туда, затем попал на работу в „Яндекс“. Там я встретил единомышленников, с которыми мы устраивали что-то вроде семинаров по вечерам: более опытные передавали знания менее опытным. С недавних пор я занимаюсь машинным обучением в компании HeadHunter. Но мой процесс самообразования не останавливается.
Важно понимать: даже обучение на самых лучших курсах не превратит тебя в готового классного специалиста. Data Science — сфера, в которой учиться и совершенствоваться нужно постоянно, это процесс не на один год. В голове должны сойтись математика и программирование, алгоритмы и структуры данных, методы оценки сложности алгоритмов, архитектура высоконагруженных систем — все это очень разная и специфическая информация.
Мне нравится такой образ: нужно кропотливо выстроить у себя в голове „кристалл“, в котором разные элементы знаний аккуратно взаимосвязаны между собой.
К тому же все стремительно меняется. Если хочешь оставаться в этой области на плаву, придется всё время быть в потоке новой информации. Но мне это только в удовольствие.
Мне вообще в моей работе очень нравится именно научная составляющая. Бывает, я обсуждаю с друзьями какие-то идеи, которые недавно пришли мне в голову, и кто-то вспоминает, что это тема недавно мелькала в научных публикациях. Здорово: значит, какая-то из следующих моих идей может оказаться еще не опубликованной новинкой. Жажда открытий — вот что вдохновляет».
Где и как долго они учатся
По опыту Арсения Трушина, на одно только знакомство с базовыми основами знаний, необходимых дата-сайентисту, уходит в среднем года четыре, а то и больше. Лишь после этого можно считаться начинающим специалистом и накапливать существенный опыт.
Готовых дата-сайентистов найти очень трудно. Поэтому компании, занимающиеся Big Data и машинным обучением, вынуждены растить кадры у себя. Но рост совсем с нуля — слишком долгий процесс. Сейчас мечта работодателей — кадры, которые соответствуют хотя бы уровню начинающего специалиста. Но в идеале IT-компаниям хотелось бы притока сотрудников такого уровня, которые сами могут привнесли в работу новые знания.
Поэтому от практики создания собственных кратких образовательных курсов крупные IT-компаний начали переходить к участию в основательных вузовских образовательных программах. Так, компания HeadHunter стала партнером магистерской программы «Машинное обучение и управление большими данными» IT-центра МАИ
«Мы обойдемся без зубрежки и экзаменационных билетов с вопросами, — говорит Евгений Гаврилов, один из преподавателей этой программы. — Начиная с первого-второго семестров студенты будут заниматься практическими задачами в компаниях-партнерах, участвуя в реальных проектах с Big Data. Это будет засчитываться им как спецкурс по выбору, как практика и как научная работа в семестре. Результат работы в проектах за два года обучения станет дипломной работой».