Кто такой MLOps-инженер и как он участвует в машинном обучении

Маленький паровозик, который смог улучшить стык разработки и ML

Кто такой MLOps-инженер и как он участвует в машинном обучении

Привет, на связи karpov.courses!

Сегодня у нас статья про MLOps — практики для упрощения работы инженеров машинного обучения. Это сложная тема на стыке ML и разработки, но мы расскажем её просто. А если вы уже много про неё знаете, приглашаем посмотреть нашу программу для продвинутых — Hard ML.

Авторы статьи:

Александр Гущин
Автор курса How to win DS competitions на Coursera, разработчик платформы MLOps в Iterative.ai
Михаил Свешников
MLOps tools developer в Evidently AI, ex-Iterative.ai, участник ods.ai.

Что будет в статье:

Что такое MLOps и чем это отличается от DevOps

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

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

  • аудиосервис запоминает, какую музыку слушает пользователь, и предлагает ему музыку в таком же стиле;
  • чат-бот просматривает много диалогов и отвечает вместо поддержки на сайте;
  • банковская нейросеть смотрит, кто из клиентов гасит кредиты успешно, а кто нет, и вычисляет уровень надёжности для выдачи ссуды.
ML-модели<br />
ML-модели

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

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

Кто такой MLOps-инженер и как он участвует в машинном обучении

MLOps упрощает работу ML-инженеров. Это практики, которые помогают собирать данные, тренировать модели и следить за их работой. В результате процесс создания и использования моделей становится быстрее и надёжнее.

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

Ещё модели могут устаревать. Например, магазины и стриминги не могут вечно предлагать одни и те же товары, фильмы или музыку. Когда поведение пользователей меняется, алгоритм нужно дообучить. MLOps следит за своевременным обновлением данных и моделей, чтобы приложение всегда знало о последних тенденциях и изменяющихся предпочтениях покупателей.

MLOps и DevOps похожи.

DevOps появился как ответ на запросы в классической разработке: обеспечение надёжности системы, обнаружение и решение проблем, минимизация времени простоя (downtime).

MLOps тоже обеспечивает надёжность и увеличивает скорость процессов, но в машинном обучении. Для таких задач уже не хватает классического DevOps: DevOps-инженер решает задачи в классической разработке, а ML — это усложнение, потому что логика теперь зависит не только от действий человека, но и от данных. MLOps появился именно как усложнение DevOps.

Это IT-направление нужно для быстрого и частого создания надёжных ML-моделей. Можно сказать, что это вариация DevOps для моделей машинного обучения.

Как это работает

Разработка модели происходит в три этапа.

  • Разведочный анализ данных. Всё начинается с кода и собранных данных для обучения. Потом модель нужно обучить — это происходит в несколько этапов, когда ML-инженеры проводят эксперименты и ищут оптимальные настройки. Важно сохранить этапы разработки по всем версиям модели — это и код, и данные, и метрики.
  • Сохранение модели. После выбора подходящей модели мы сохраняем её, даём ей имя и версию, а затем готовим к запуску.
  • Релиз — вывод модели в готовую версию продукта. Чтобы модель выполняла свою задачу, её добавляют в приложение, где происходит работа с конечными пользователями.

Работа MLOps-инженера сосредоточена вокруг второго и третьего этапов.

На втором этапе специалисты Data Science занимаются сбором данных, обучением и валидацией моделей, а MLOps-инженеры помогают им правильно выстроить процесс. На третьем этапе главные задачи — подготовка модели к релизу, мониторинг и поддержка. Это задачи MLOps.

Модель должна быть готова к реальным нагрузкам. Основная цель — обеспечить производительность и надёжность всей системы в новой среде, которая может отличаться от условий, в которых её разработали.

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

Что даёт MLOps

В MLOps применяются определённые принципы для надёжной и эффективной работы всей системы:

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

Общий доступ: инженеры могут совместно работать над моделями.

Кто такой MLOps-инженер и как он участвует в машинном обучении

Некоторые пункты повторяют принципы DevOps — например, автоматизация и мониторинг.

Получается, что MLOps создаёт комфортную рабочую среду для всего процесса подготовки ML-моделей.

Работа инженера MLOps на примерах

Часто MLOps занимается автоматизацией процессов и внедрением системного подхода.

Например, IT-компания выполняет проект для химических заводов и разрабатывает модели для аналитики и подготовки прогнозов химических реакций. Специалисты по Data Science проводят анализ данных и обучают модели, а инженер запускает эти модели в релиз. Часто это однотипные задачи, поэтому после нескольких запусков для обеспечения надёжности и ускорения процесса MLOps-инженер может создать инструмент для автоматизации процесса.

А вот другой пример: специалисты по Data Science работают над проектом, проводят эксперименты с моделями, а результаты сохраняют в разных местах. Информация копится, и найти что-то нужное становится всё сложнее. MLOps-инженер может помочь наладить правильный процесс: дать удобный инструмент или навести порядок другим образом.

Кто такой MLOps-инженер и как он участвует в машинном обучении

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

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

Кому подходит изучение MLOps

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

Если вы хотите, чтобы модели быстрее выходили в релиз и надёжно работали под нагрузкой, приходите изучать MLOps вместе с нами на курсе Hard ML.

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

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

Вы сможете развить навыки в:

  • ранжировании и матчинге,
  • динамическом ценообразовании,
  • uplift-modelling,
  • продвинутом A/B-тестировании,
  • сценариях деплоя ML-сервисов,
  • рекомендательных системах,
  • и, конечно, MLOps — на эту часть можно записаться отдельно.
4646
19 комментариев

Я всегда говорил, что на VC и в IT не хватает метафор с поездами!

3

ну на виси может и не хватает а в айти я бы не сказал

1

И мы вас услышали!

Если я правильно понимаю, белые почтовые голуби с 2023 deprecated

2

Увы! У них было много достоинств

Буду ждать следующей статьёй полнометражную сказку про маленького паровозика, который смог доставить груз моделей по диким джунглям из хакеров, спамеров и просто недружелюбных людей

2