Учитель для робота: чем занимается ML-инженер

Фото: Shutterstock
Фото: Shutterstock
Какие навыки и знания нужны ML-инженеру, разбираемся вместе со специалистом по машинному обучению в компании «Газпром-Медиа Дата» и автором модулей курса Data Science в SkillFactory Юлией Мочаловой

Рекомендации на YouTube, Google-переводчик, чат-бот в банковском приложении — мы взаимодействуем с искусственным интеллектом практически каждый день. Чтобы алгоритм был полезным для бизнеса и конечного потребителя, для начала его нужно научить учиться. Этим занимается ML-инженер.

Кто такой ML-инженер

ML-инженер или Machine Learning Engineer — это специалист, который создает и обучает алгоритмы работы с большими данными. ML-инженер работает в сфере Data Science рядом с дата-сайентистом, дата-аналитиком и дата-инженером.

Задачи ML-инженера — сугубо практические. Он учит компьютер находить взаимосвязи данных и на их основе принимать решения. Именно ML-инженеров стоит благодарить за «умные ленты» в социальных сетях, алгоритмы рекомендаций на музыкальных стримингах, которые подбирают контент под наши интересы. Сервисы перевода типа Google Translate и боты-помощники типа Олега банка «Тинькофф» и Алисы «Яндекса» — тоже частично заслуга ML-инженеров.

Фото:Unsplash
Индустрия 4.0 Что такое машинное обучение и как оно работает

Чем занимается ML-инженер

ML-инженер обучает искусственный интеллект решать задачи бизнеса с использованием больших данных. Он создает и развертывает ML Model — алгоритм, который описывает, как будет учиться компьютер, какие данные использовать, какие команды и в какой очередности выполнять.

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

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

Юлия Мочалова, специалист по машинному обучению в компании «Газпром-Медиа Дата»:

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

Мой обычный рабочий день состоит из задач по разработке новых моделей или улучшению существующих. Помимо этого в день проходит 1–2 встречи с командой и обсуждение текущих проблем и успехов. Также я уделяю время тому, чтобы осваивать новые инструменты. Последний изученный — новая версия фреймворка для распределенных вычислений Apache Spark».

Тренды профессии

ML-инженеры могут найти работу в компаниях, которые расширяют функционал своих продуктов за счет обучения алгоритмов. Такие сервисы не завязаны только на машинном обучении, но оно требуется им для развития. Например, Pinterest и YouTube на машинном обучении строят системы рекомендаций. Это помогает им показывать пользователю индивидуально подобранный контент. Такой подход распространен в ретейле, сфере банкинга и финансов, здравоохранении, маркетинге и науке.

Фото:Shutterstock
Индустрия 4.0 Кастомизация, ассистенты, скорость: как меняется банкинг для бизнеса

Второй тип компаний, которые нуждаются в ML-инженерах, не могут существовать без машинного обучения. На ML построен основной функционал их продукта. Пример такого сервиса — переводчик Google Translate, который постоянно копит базу и совершенствуется. В этом сегменте ML-инженер может поработать над SaaS-системами и мобильными приложениями, созданием алгоритмов для роботов и систем автопилотирования.

Рост количества данных и необходимость использовать их на пользу бизнесу привели к резкому всплеску спроса на инженеров по машинному обучению. По итогам 2021 года ML-инженеры заняли второе место в рейтинге специалистов, которых не хватает мировой IT-индустрии. Для востребованных специалистов всегда создают привлекательные условия, в том числе зарплатные. По данным исследовательского сервиса Glassdoor, средняя зарплата ML-инженера — $123 тыс. в год. Это чуть больше $10 тыс. в месяц.

Зарплаты ML-инженеров варьируются от $67 000 в год до $228 000 в год, в среднем специалисты получают $123 296
Зарплаты ML-инженеров варьируются от $67 000 в год до $228 000 в год, в среднем специалисты получают $123 296 (Фото: Glassdoor)

В России медианная зарплата специалистов — ₽165 тыс., джуниоры получают от ₽80 тыс., мидлы — от ₽200 тыс., а сеньоры — до ₽330 тыс.

Юлия Мочалова:

«Один из плюсов профессии: работать можно практически в любых сферах. Применять алгоритмы и настраивать автоматизированные процессы анализа данных можно в любых компаниях, где есть данные и желание извлечь из них пользу (прибыль). Сегодня вы можете работать в ритейле, а затем уйти в биоинформатику».

Какие навыки нужны ML-инженеру

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

Hard skills

  • Математическая база: понимание векторов и матриц, производных, теории вероятности и статистики.
  • Знание Python. Именно на нем чаще всего пишут модели для машинного обучения.
  • Умение работать с фреймворками Tensorflow, PyTorch.
  • Алгоритмическое мышление: понимать, как работают разные типы алгоритмов и структуры данных. Это поможет писать собственные алгоритмы.
  • Навыки работы с Flask, Docker, Pip, PyTest. Это сервисы создания и развертывания веб-приложений. Понадобятся, когда готовые ML-модели нужно будет преобразовать в продукт для тестирования, а позже — эксплуатации.

Soft skills

  • Аналитическое мышление, логика. В работе с алгоритмами без них не обойтись.
  • Навыки коммуникации. ML-инженер чаще всего работает в команде, поэтому важно уметь общаться с коллегами. Также коммуникативные навыки пригодятся в общении с бизнесом: когда нужно будет получить задачу, понять, какие метрики вы должны показать руководству по итогу, презентовать свою работу.
  • Проактивность. В машинном обучении важно не только создать модель, но и сделать ее эффективной: чтобы она училась как можно быстрее, выходила на новый уровень с минимальными затратами ресурсов. Искать решения самостоятельно, оптимизировать работу модели — это часть экспертизы ML-инженера.

Юлия Мочалова:

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

Основными навыками для ML-инженера является умение программировать на одном из популярных языков, сейчас это Python. Отличным дополнением станет опыт в backend-разработке, знание технологий для распределенной обработки данных (MapReduce, Spark/PySpark) и конечно, уверенное знание SQL. Важные софт-скиллы: умение работать в команде, креативность и гибкость в подходе к задачам, так как они могут быть разными даже в рамках одного проекта».

Фото:Unsplash
Экономика образования Какой язык программирования учить прямо сейчас: 9 самых востребованных

Как стать ML-инженером

Machine Learning Engineer — это профессия, которую сложно освоить с нуля. Хорошему инженеру нужна как минимум серьезная база математики, поэтому чаще всего в ML приходят из смежных специальностей: дата-инженер, дата-сайентист, дата-аналитик.

Набор инструментов и навыков ML-инженера очень широк, чтобы их освоить нужно много времени и мотивации. Понять, насколько эта работа может быть вам интересна, можно на бесплатных базовых курсах, например, на Stepik или Mooc.

Погрузиться в работу с фреймворками можно на YouTube-канале TensorFlow, а добрать базовые знания в высшей математике для программистов — у Джона Крона (видео на английском). За актуальными проектами, курсами и мероприятиями можно следить в профессиональных сообществах, таких как ods.ai и Kaggle.

Юлия Мочалова:

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

Обновлено 19.05.2022
Главная Лента Подписаться Поделиться
Закрыть