Вакансия: инженер машинного обучения
По данным Indeed, с 2015 по 2018 год сфера машинного обучения выросла на 344 %. А согласно отчету LinkedIn за 2020 год, потребность в ML- инженерах увеличилась за 12 месяцев на 74 %. И востребованность этих специалистов на российском ИТ-рынке продолжает расти. Представители компаний и организаций рассказывают, каких инженеров машинного обучения они охотно берут на работу.
Данил Жеребцов, Head of ML & Analytics компании Bell Integrator.
«Немаловажным является опыт работы в команде. Самые блестящие успехи в Data Science не будут ничего значить, если человек не сможет найти общий язык с коллегами»
1. Какими знаниями и навыками должен обладать инженер машинного обучения (Machine Learning Engineer )?
Есть мнение, что ML Engineer – это специалист, который должен концептуально понимать Data Science, его основным приоритетом является не работа с данными, а внедрение и масштабирование предиктивной модели (результат работы Data Scientist). Это разделение ответственности возникло по причине ежегодного пополнения пула соискателей новыми молодыми специалистами, которые еще не вникли во все особенности полноценного создания и внедрения моделей машинного обучения в продуктивную среду. Таким образом, Data Scientist специализируется только на работе с данными, а Machine Learning Engineer занимается деплоем обученной модели в производственную среду.
Я же считаю, что инженер по машинному обучению – это full stack Data Scientist, который виртуозно работает с данными, создает предиктивную модель, настраивает весь пайплайн трансформации новых данных (данных, используемых для предсказания) и применения модели в среде заказчика. Такие компетенции приходят только с прикладным опытом решения задач с применением машинного обучения на реальных данных.
2. Каков его инструментарий?
Python и R являются основными фреймворками для работы с данными. Я начинал с R, но отдаю свое предпочтение Python, по причине кроссплатформенности и более удобного процесса встраивания готового решения в любое окружение.
Если говорить о библиотеках, то джентльменский набор: numpy, pandas, scipy, scikit-learn, matplotlib, seaborn, xgboost, lightgbm, keras, TF. Кроме навыков использования открытых библиотек, успешный соискатель должен уметь самостоятельно разрабатывать подходы и методы на основе требований решаемой задачи и с учетом глубокого анализа особенностей данных. Также полезно уметь использовать фремворки по созданию микросервисов и веб-приложений: Flask, Jango. Отличительной особенностью являются навыки работы с по-настоящему большими данными и умение пользоваться инструментами контейнеризации приложений: Docker/Kubernetes.
3. Каковы требования компании к уровню образования соискателей на место инженера машинного обучения?
Конечно, изучение фундаментальных наук является большим плюсом. Computer Science также отличный плацдарм для погружения в машинное обучение. Однако наличие профильного опыта является первостепенным условием для рассмотрения кандидата на любую позицию выше Junior.
4. Какие требования предъявляются к опыту работы?
Подтвержденный опыт самостоятельного end-to-end выполнения ряда задач по машинному обучению – хороший фундамент для успешного прохождения собеседования. Ряд успешных соискателей не имеют фактического опыта работы, но они отлично показали себя в соревнованиях на Kaggle. Такие успехи также могут являться достаточной валидацией компетенций. Немаловажным является опыт работы в команде. Самые блестящие успехи в Data Science не будут ничего значить, если человек не сможет найти общий язык с коллегами.
5. Есть ли особые требования к ML- инженерам, которые обусловлены спецификой работы вашей компании?
Многие отличные специалисты по машинному обучению являются интровертами. По моему мнению, эта отличительная особенность помогает хорошо сосредоточиться на данных и вникнуть во все детали решаемой задачи. Что называется “follow the error…”. Однако хорошо развитые коммуникативные навыки в дополнение к хорошему техническому бэкграунду – являются бесспорным плюсом.
Как правило, заказчиком аналитических моделей является бизнес, на финальном этапе реализации проекта нужно презентовать результаты своей работы и объяснить руководителям, менеджерам, финансистам, маркетологам, что такое ROC- кривая и что нам даст разработанная модель. Возможность простым и понятным языком донести сложные технические концепции – это уже компетенции технического пресейла, которые очень ценятся в любой компании.
С мнениями других участников опроса можно ознакомиться по ссылке