logo
Ещё

Специалист по машинному обучению – обзор профессии

Machine learning engineer привлекает многих новичков в программировании зарплатами и некоторым флером таинственности – фантазия при словосочетании «специалист по машинному обучению» рисует как минимум машины с автопилотом (привет, Тесла) и собакоподобных умных роботов. Что ж, ML действительно всем этим занимается, но даже ML Senior Engineer в большинстве своем на такие проекты не попадают – чаще им приходится заниматься умными лентами выдачи контента и очередным ИИ для анализа спроса зубной пасты на глобальном мировом рынке. Ниже мы расскажем, насколько эта профессия романтична, насколько она тяжела, чем ML отличается от Data Science и почему работодателям так сложно различать схожие сферы машинного обучения.


Специалист по машинному обучению – кто такой и чем занимается

Специалист по ML – это в первую очередь математик программист, который строит модели и алгоритмы машинного обучения.

Machine learning проистекает из Data science, поскольку заниматься машинными обучением – значит, скармливать созданному алгоритму большие наборы данных.

Сама Data science разбита на 3 основные категорий работы, и вам нужно понимать отличия между ними:

  • Data scientist. Непосредственно человек, который занимается построением алгоритмов для сбора и анализа информации. Может заниматься искусственным интеллектом, данными о рынке, количеством покупок зубной пасты за месяц, тенденцией заболеваемости каким-нибудь пандемийным вирусом – в общем, если есть какой-то большой кусок данных, дата сайентист сможет построить модель сбора и обработки этих данных.
  • Data engineer. Инженеры, в том числе и инженеры машинного обучения, не работают с самими данными – они работают с хранилищами для этих данных. Эта работа – сложная и ответственная, потому что моделям машинного обучения нужно обрабатывать килотонны данных (например, каждый пиксель на 100 000 фотографиях), и дата инженер должен построить такую инфраструктуру, которая будет эти данные максимально быстро и эффективно скармливать алгоритмам, придуманным дата сайентистами.
  • Data analyst. Когда алгоритмы сделали свое дело, и инженеры с помощью искусственных нейронных сетей вывели стратегию взрывного роста популярности зубной пасты клиента на основании анализа рынка, возникает проблема: а как, собственно, эту информацию предоставить заказчику? Результат работы data science – это обычно txt-файлик или набор записей в базе данных. Здесь на сцену и выходит аналитик данных, который берет всю эту информацию, компонует в красивые графики/таблички/презентации и идет показывать все это топ-менеджерам. Эта работа требует максимум софт-скилов и минимум (по сравнению с двумя предыдущими профессиями) хард-скилов.


Специалист по ML – это всегда Data scientist. Кроме того, это – узкий подвид, который занимается именно алгоритмами машинного обучения. Если профессия data scientist может предполагать работу, которая просто собирает данные и компилирует их для последующей передачи аналитику, то специалист по ML построит структуру, которая: а) будет брать сырые данные и обрабатывать их нужным образом; б) будет брать обработанные данные и на их основе делать выводы – и эти выводы будут лучше, чем если бы их делал человек.

Алгоритмы анализа уже обработанной информации – это всегда ИИ, и любой специалист по МЛ может их написать. Но есть еще алгоритмы обработки информации, и они могут быть прямолинейными (берем это и это по таким-то критериям) – в этом случае мы говорим о machine learning. Но можно алгоритм обработки информации тоже сделать интеллектуальным – в этом случае мы уже говорим о deep learning, самой продвинутой технологии искусственного интеллекта. Глубокому обучению в сфере ML посвящено много статей и книг, потому что это – крайне сложная тема.

Сделаем промежуточный вывод: специалист по ML – это инженер, который разрабатывает самообучающийся алгоритм для анализа каких-либо данных с какой-то конкретной целью. Если сбором и обработкой данных тоже занимается ИИ – мы говорим о глубоком обучении.

К специалисту по ML приставляют инженера по данным и аналитика – они, может, глубоко методы машинного обучения и не знают, но им это и не нужно, их задача – обслуживать инфраструктуру и переводить результат работы специалиста по ML в удобочитаемый вид.

Необходимые навыки

Python и математика. Может, Python – и не самый идеальный язык, но именно для него написаны основные библиотеки с технологиями машинного обучения – numPy, pandas, OpenCV, NLTK. Но язык и библиотеки – это просто инструменты, навыков программирования будет недостаточно. Разработкой алгоритмов МЛ занимаются математики, которые хорошо знают вышмат: статистику, моделирование, теорию вероятности, теорию игр, дисперсионный анализ, статистические гипотезы.

Софт-скилы: усидчивость, внимание к деталям, сильная логика. Из дополнительных навыков можно отметить умение работать с базами данных (как реляционными, так и нереляционными) и английский от B1. Английский – навык для ML-инженера очень важный, потому что большинство свежих материалов по математике и ИИ изначально появляется именно на английском, и переводится на русский либо с большим опозданием, либо вообще не переводится. Поэтому инженер должен уметь читать сложную техническую литературу на английском.

Кому подойдет профессия специалиста по ML

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

Обзор рынка и зарплаты специалистов

Вакансии появляются не очень часто – конкретно ML-инженеров на hh.ru по состоянию на август 2022 года ищут 400 работодателей. Зарплата указана у 77 вакансий – то есть в подавляющем большинстве случаев работодатель и работник договариваются о зарплате уже на собеседовании. У 69 вакансий зарплата начинается со 160 000 рублей, у 25 вакансий зарплата начинается с 355 000 рублей.


Возможный карьерный сценарий

Если вы не имеете опыта в программировании и высшего математического образования – вам нужно сначала пройти какие-нибудь очень сильные курсы и попытаться устроиться в качестве trainee ML engineer/data analyst/data engineer, после чего уже доучиваться на работе и медленно переползать в статус junior ML engineer.

Если же у вас есть сильные навыки разработчика и/или высшее математическое образование – закончите любые (более-менее качественные) курсы и ищите работу junior ML engineer.

Обучение на специалиста

Платные курсы

Курсы, которые позволяют довольно глубоко изучить профессию. Длительность – около года.

Бесплатные курсы

Все курсы – базовые, вводят в машинное обучение и дата сайенс в целом:

Плюсы и минусы работы

Плюсы:

  • Большая зарплата.
  • В большинстве своем интересные проекты.
  • Работа – не рутинная.
  • Хороших специалистов постоянно хантят, предлагая более высокие зарплаты и релокацию.
  • Софт-скилы, связанные с общением, не нужны.

Минусы:

  • Интеллектуально тяжелая работа.
  • Довольно большая ответственность.
  • Новичку очень сложно устроиться сразу на позицию ML-инженера.

На какие еще направления стоит обратить внимание

Если хотите работать в этой сфере, но сомневаетесь в своих математических способностях – присмотритесь к смежным специальностям:

  • Data scientist. Тоже нужны математические способности, но все же не настолько жесткие, как для применения машинного обучения. В основном нужны способности применения алгоритмов работы с данными – то есть статистика.
  • Data engineer. Меньше программирования Python, больше работы с базами данных, намного меньше математики. В эту профессию лучше идти из администраторов баз данных.
  • Data analyst. Профессия специалиста предполагает в равных долях программирование и общение, математика по сравнению с ML сведена к минимуму. 
  • Deep learning ML. На это направление вам нужно будет обратить внимание после того, как вы «обживетесь» в качестве ML-инженера. Работа – еще более сложная и интересная, платят тоже больше.

Что почитать по теме

FAQ

Насколько тяжело учиться?

Очень и очень, особенно, если у вас нет математической подготовки. Приготовьтесь к изучению как минимум Python и библиотек, а также глубокому погружению в алгоритмизацию и вышмат.

Сколько можно получать при релокации?

С США хорошие специалисты по ML получают 140 000 – 150 000$ в год, в Европе можно рассчитывать на 120 000 – 130 000$ в год.

Подведем итоги

Тезисно:

  • ML – это ответвление от Data science.
  • ML-инженеры создают нейронные сети (искусственный интеллект), который, пользуясь алгоритмами и данными, приходит к какому-то выводу по конкретному вопросу.
  • Основной скилл ML-инженера – это крепкие знания в высшей математике.
  • Если у вас нет высшего математического образования – стать ML-инженером будет очень сложно.
  • Можете присмотреться с профессиям, связанным с ML, но требующим меньше знаний – Data analyst, Data engineer, Data scientist.
  • Будьте готовы к тому, что мелкие работодатели будут хотеть от вас и навыков ML, и навыков аналитика, и навыков дата инженера.
Часто ищут