В чем разница между MLOps и AIOps

В чем разница между MLOps и AIOps

8 июня 2022 г.

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

Zeitgeist interest in MLOps and AIOps over time

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

По моему опыту, для этого есть две причины.

Первый — это неявная ссылка в словах MLOps и AIOps на более широко известную практику DevOps. Заставляет задуматься — связаны ли MLOps и AIOps с DevOps? Вытекают ли они из него? Если да, то чем они от него отличаются?

Во-вторых, очевидная двусмысленность в отношении того, чем машинное обучение отличается от ИИ, поскольку они часто используются взаимозаменяемо. Они одинаковы? Они в континууме? Если да, то где заканчивается одно и начинается другое?

Давайте сформулируем их как вопросы, на которые мы должны быть в состоянии ответить, чтобы понять MLOps и AIOps.

Вопрос №1

<цитата>

Связаны ли MLOps и AIOps с DevOps? Если да, то как?

Вопрос №2

<цитата>

Поскольку ML и AI, как правило, используются взаимозаменяемо, что означает их включение в слова MLOps и AIOps?

Запишите это! Мы вернемся к ним позже в этом посте.


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

Отчет O'Reilly Внедрение ИИ на предприятии в 2021 году иллюстрирует этот момент с помощью этого убедительная круговая диаграмма, из которой видно, что только четверть опрошенных респондентов заявили, что они успешно внедряют технологии искусственного интеллекта.

Maturity of ML / AI technology (Source: O'Reilly)

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

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

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

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


Что такое DevOps?

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

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

DevOps позволил разработчикам и операционным группам сотрудничать на каждом этапе жизненного цикла разработки программного обеспечения (SDLC), а также разделять общие цели и ключевые показатели эффективности, чтобы высококачественное программное обеспечение могло поставляться гораздо чаще (часто , много раз за один день) с использованием Agile.

По своей сути DevOps состоит из трех вещей:

* Многодисциплинарные навыки: коллектив DevOps может совместно писать, тестировать, развертывать, отслеживать и управлять компонентами стека продуктов, включая основной код, постоянные хранилища, базы данных и любые третьи компоненты. используемые партийные библиотеки и службы. В процессе силосы устраняются. * Инструменты: инструменты помогают и ускоряют управление версиями программного обеспечения, автоматизацию и мониторинг, что позволяет непрерывно разрабатывать и развертывать программное обеспечение. Это известно как непрерывная интеграция и непрерывное развертывание (CICD). * Процессы. Команды DevOps следуют методологии Agile, чтобы разбить элементы дорожной карты на более мелкие этапы и задачи. Они используют эпопеи и истории как часть планирования спринта для распределения работы между членами команды. Тесная взаимосвязь между дисциплинами Dev и Ops гарантирует, что все находятся на одной странице в отношении предстоящих выпусков. Это устраняет неожиданности и ускоряет предоставление высококачественных продуктов и услуг.

Жизненный цикл DevOps

Жизненный цикл DevOps состоит из шести этапов, которые показаны здесь с использованием известного бесконечного цикла.

DevOps Lifecycle Infinity Loop (Source: Atlassian)

* План. На этом этапе команды используют Agile для определения предстоящих спринтов и этапов, а также доработки эпиков и историй, которые войдут в состав. * Сборка: фаза, на которой происходит фактическая сборка программного обеспечения. Инструменты контроля версий, такие как Git, играют здесь центральную роль, помогая в управлении ветвями, слиянии кода и распределенной разработке. * Непрерывная интеграция и развертывание: известное как CICD, это позволяет командам часто выпускать выпуски за счет автоматизации модульных и интеграционных тестов, а также развертываний в промежуточных и производственных средах. * Мониторинг: включает инструментарий для мониторинга, отслеживания и оповещения, чтобы быстро выявлять проблемы с функциональностью и производительностью и уведомлять членов команды. * Эксплуатация: включает в себя запуск продукта/услуги в производственной среде и включает настройку службы, управление конфигурацией и мониторинг инфраструктуры для обеспечения бесперебойной работы. * Постоянная обратная связь. Команды собираются для оценки каждого выпуска и обдумывания улучшений для будущих выпусков.

В этом контексте давайте углубимся в MLOps!


Что такое MLOps?

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

Вы, должно быть, задаетесь вопросом — в чем заключаются проблемы с конвейерами машинного обучения? Чтобы сделать его более наглядным, представьте, как выглядит типичный конвейер машинного обучения (источник: Gartner).

Typical ML Pipeline (Source: Gartner)

Для работы с этим конвейером необходимы три различных набора навыков. Во-первых, это сам конвейер данных, в котором данные берутся, очищаются и преобразуются и принадлежат инженерам данных. Затем идет курирование обучающих наборов данных, за которым следует создание и проверка модели, и она принадлежит специалистам по данным. Наконец, развертывание, мониторинг и текущее обслуживание принадлежат отделу эксплуатации.

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

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

Жизненный цикл MLOps

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

MLOps Lifecycle Infinity Loop (Source: Neal Analytics)

Небольшое заявление об отказе от ответственности: я объединил некоторые этапы ниже для простоты.

* План. Как и в случае с DevOps, на этом этапе команды используют Agile для определения предстоящих спринтов и контрольных точек, а также доработки эпиков и историй, которые войдут в состав. * Создать & Данные. Включает задачи обработки данных, такие как поиск, извлечение, очистка и преобразование данных. Также включает создание набора данных для обучения, который будет использоваться позже на этапе моделирования. * Модель & Проверка. Включает создание моделей машинного обучения, их обучение с использованием обучающих наборов данных, а также проверку и точную настройку параметров модели. * Пакет & Выпуск: включает управление версиями, отслеживание, упаковку и выпуск модели, параметров модели и наборов обучающих данных в предварительную и последующую рабочую среды. * Настроить & Мониторинг. Как и в случае с DevOps, включает в себя настройку и инструменты для мониторинга, отслеживания и оповещения, чтобы быстро выявлять проблемы с функциональностью и производительностью и уведомлять членов команды.

Надеюсь, это разъясняет, что означает MLOps и как это связано с DevOps. Далее на AIOps!


Что такое AIOps?

Термин AIOps (искусственный интеллект для ИТ-операций) был придуман компанией Gartner в 2016 году, но, в отличие от MLOps, он почти не имеет ничего общего с DevOps! Скорее, это относится к использованию методов и алгоритмов AI/ML для автоматизации общих, иногда повторяющихся ИТ-задач.

Прежде чем мы углубимся в AIOps, самое время вернуться и ответить на два вопроса, которые мы задали в начале поста. Это сделает остальной контент более понятным!

Вопрос №1

<цитата>

Связаны ли MLOps и AIOps с DevOps? Если да, то как?

:::подсказка Да, MLOps связан с DevOps тем, что он привносит междисциплинарные и гибкие принципы DevOps в конвейеры машинного обучения. MLOps позволяет командам Data Engineering, Data Science и Operations управлять этими конвейерами более эффективно.

:::

:::подсказка Нет, AIOps не связан с DevOps, а скорее относится к использованию методов и алгоритмов ML / AI для автоматизации общих, иногда повторяющихся, ИТ-задач. AIOps делает ИТ-команды более эффективными.

:::

Вопрос №2

<цитата>

Поскольку ML/AI, как правило, используются взаимозаменяемо, что означает их включение в слова MLOps и AIOps?

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

:::

:::подсказка В контексте AIOps AI/ML относится к методам и алгоритмам (деревьям решений, случайным лесам и т. д.), используемым для обнаружения аномалий, анализа первопричин и автоматизации службы поддержки.

:::

Отбросив навязчивые вопросы, давайте снова сосредоточимся на AIOps. Мы должны спросить:

<цитата>

На какие бизнес-результаты нацелены AIOps? Какие примеры типичных/повторяющихся ИТ-задач можно автоматизировать с помощью AIOps?

Gartner использует следующую структуру для определения применимости и преимуществ AIOps. Давайте углубимся!

AIOps Framework (Source: Gartner)

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

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

Надеюсь, это проясняет необходимость AIOps и то, как это делает ИТ- и операционные группы более эффективными при выполнении их общих / повторяющихся задач!


Сводка MLOps и AIOps

В завершение и подведение итогов обсуждения MLOps и AIOps приведем удобную версию TLDR основных моментов из этого поста.

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

Сравнительная таблица MLOps и AIOps

| | Млопс | Млопс | |----|----|----| | Определение | Расширение принципов и практик DevOps для реализации сквозных конвейеров машинного обучения. | Применение методов и алгоритмов AI / ML для автоматизации общих и повторяющихся ИТ-задач. | | Аудитория | Междисциплинарные команды Data Engineering, Data Science и Operations, которым необходимо сотрудничать для управления конвейерами машинного обучения. | ИТ-команды, отвечающие за мониторинг инфраструктуры, безопасность, доступность услуг и службы поддержки. | | Преимущества | Повышает эффективность междисциплинарных команд, помогает отслеживать наборы данных и модели для обучения и версии, а также делает развертывание предсказуемым и воспроизводимым. | Повышает эффективность ИТ-отдела при реагировании на угрозы безопасности, принятии решений по размеру инфраструктуры и повышении качества обслуживания клиентов при взаимодействии со службой поддержки. | | Наборы инструментов | MLflow, Kubeflow, Amazon Sage Maker, Azure ML. | Dynatrace, Datadog, AppDynamics, NewRelic, ServiceNow, Splunk. |

Надеюсь, этот пост был вам полезен для разъяснения семантики MLOps, AIOps, их соответствующих приложений и различий!

Здоровья!


Также опубликовано здесь


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE