Сейчас я читаю замечательную книгу MLOPs Марка Тревейла. Единственным способом, которым я всегда мог учиться, было обширное ведение заметок и формулирование моих мыслей по этому вопросу на бумаге. Я пишу этот пост как подобное упражнение, чтобы улучшить свое понимание этой увлекательной темы.

Операции машинного обучения или MLOps быстро становятся чрезвычайно важным компонентом успешной разработки корпоративных проектов ML. По определению это процесс, который помогает организациям и менеджерам создавать долгосрочную ценность при одновременном снижении рисков, связанных с наукой о данных и инициативами в области искусственного интеллекта. Учитывая снижение распространения машинного обучения в нынешнем духе времени, это все еще относительно новая концепция. Так почему же она внезапно стала настолько все более важной?

MLOps против ModelOps против AIOps

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

AIOps, несмотря на похожее звучание, сильно отличается от MLOps. AIOps относится к процессу решения операционных задач с помощью ИИ, короче говоря, ИИ для DevOps. Например, создание моделей обнаружения аномалий для прогнозирования предстоящих сбоев сети или дисков и оповещения команд DevOps до их прибытия. Работая в команде AIOps в Red Hat во время стажировки, я могу подтвердить различную природу этих парадигм в структуре команды и проектах.

Проблемы в MLOps

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

Источник: Мехрнуш Самеки ([email protected])

Мы можем разбить его еще дальше на: определить бизнес-цель, понять и очистить данные, построить модель, развернуть модель и повторить. Для большинства организаций внедрение моделей машинного обучения в производство является относительно новым явлением. Поэтому до недавнего времени меньший размер развертываний и масштаб в целом не требовал широкой заинтересованности компании в управлении жизненными циклами машинного обучения (для большинства организаций). Но модели стали чрезвычайно важными, критически важными, и параллельно также возросла потребность в управлении модельными рисками. Таким образом, реальность моделей машинного обучения в производстве намного сложнее, чем показывает нам диаграмма.

Какие проблемы усложняют этот цикл?

  • Данные постоянно меняются. Результаты должны постоянно передаваться заинтересованным сторонам бизнеса, чтобы гарантировать, что реальность модели в производстве на производственных данных продолжает соответствовать реальности ожиданий и достижению первоначальных целей.
  • Жизненный цикл машинного обучения включает людей из бизнеса, науки о данных, ИТ-команд, и часто ни одна из этих групп не использует аналогичный набор инструментов. Также возможно, что они даже не разделяют одинаковое мнение о проблеме, чтобы иметь хорошее общение.
  • Специалисты по данным не являются инженерами-программистами. Они специализируются на построении моделей и не обязательно являются экспертами в написании приложений. Это означает, что часто специалисты по данным могут жонглировать многими ролями и, следовательно, слишком напрягаться. И это становится очень проблематичным при масштабировании. Потому что, в конце концов, мы не хотим, чтобы они были слишком изолированы по вертикали из-за того, что им приходится обрабатывать модели, которые они не создавали.

Что решает MLOps

MLOps для снижения риска

MLOps важен для любой команды, у которой есть хотя бы одна рабочая модель, потому что в зависимости от модели мониторинг производительности и корректировка могут иметь важное значение. Применяя «правила», MLOps позволяет предпринимать только безопасные и надежные действия, которые играют важную роль в снижении рисков.

Хотя для снижения риска мы должны провести анализ риска. Мы должны уметь анализировать и знать:

  • Риски, которые может вызвать недоступность
  • Риски плохих прогнозов
  • Риски, связанные со снижением точности или справедливости модели со временем (дрейф концепции)

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

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

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

MLOps для ответственного ИИ

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

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

С помощью MLOps мы можем внедрить в рабочий процесс два важных принципа ответственного ИИ: интернациональность и подотчетность. Мы можем гарантировать, что модель имеет самые лучшие намерения, убедившись, что данные поступают из совместимых, непредвзятых источников. Можно использовать несколько контрольных точек для проверки систематической ошибки модели. Интенциональность также включает объяснимость, которая является основным компонентом для всех заинтересованных сторон.

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

MLOps для масштаба

MLOps важен не только для решения важной задачи оценки и снижения рисков; это также важный компонент для массового развертывания моделей машинного обучения в масштабе. Переход от нескольких моделей к сотням или тысячам требует дисциплины MLOps. С хорошей практикой MLOps мы можем:

  • Следите за версиями, особенно во время циклов разработки.
  • Понимание того, работают ли новые модели лучше, чем старые, и автоматическое сохранение лучших из них в производстве.
  • Убедитесь, что производительность модели не ухудшается в течение определенных периодов времени.

Вывод

Даже после этого краткого обсуждения мы видим, что MLOps не является факультативной практикой. Они являются неотъемлемой частью масштабирования машинного обучения на уровне предприятия. Команды, пытающиеся развернуть модели без надлежащей практики MLOps, рискуют качеством и непрерывностью.

Скоро напишу на эту тему :)

Спасибо

Первоначально опубликовано на https://rajat08.github.io 15 декабря 2020 г.