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

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

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

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

Как мы видим, у каждого есть важная роль.

Почему МЛОпс?

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

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

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

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

Сравнение MLOps и DevOps

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

Что общего у DevOps и MLOps, так это то, что они оба делают упор на автоматизацию процессов. Данные используются для точных прогнозов; программное обеспечение создает более эффективные процессы, повышает скорость и качество обслуживания и т.д.

Анализ моделей в режиме реального времени позволяет вашей команде отслеживать, контролировать и корректировать модели, уже находящиеся в производстве. Узнайте больше уроков на местах с экспертами Comet.

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

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

Принципы MLOps

Следующие принципы регулируют операции машинного обучения:

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

Непрерывный: как следует из названия, он включает в себя непрерывную интеграцию, развертывание, тестирование и мониторинг. Это способствует быстрому и последовательному развертыванию моделей.

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

Мониторинг. Убедитесь, что модели машинного обучения работают должным образом. Мониторинг производительности и точности развернутых моделей и сбор отзывов пользователей для обсуждения будущих повторений и улучшений. Когда в реальном мире появляются новые и неизвестные данные или когда меняется среда и изменяется последовательность обучения модели, производительность модели может со временем снижаться. Вот почему необходим мониторинг, чтобы убедиться, что модель работает правильно.

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

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

Как работает Млопс

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

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

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

В целом операция происходит следующим образом:

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

Заключение

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

Ознакомьтесь с этими ресурсами, чтобы узнать больше о MLOps:





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

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

Если вы хотите внести свой вклад, перейдите к нашему призыву к участию. Вы также можете подписаться на получение нашего еженедельного информационного бюллетеня (Еженедельник глубокого обучения), заглянуть в блог Comet, присоединиться к нам в Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов и событий. и многое другое, что поможет вам быстрее создавать более качественные модели машинного обучения.