В чем разница между MLOps и AIOps
8 июня 2022 г.MLOps и AIOps — это два похожих термина, которые сегодня используются для обозначения совершенно разных дисциплин в отрасли. Как показывает эта диаграмма Google Trends, с момента введения этих терминов несколько лет назад интерес к ним в духе времени резко возрос.
И все же, за исключением горстки практиков, которые активно работают над проектами в этих областях, для большинства случайных читателей или даже энтузиастов, желающих исследовать пространство, значение 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 году иллюстрирует этот момент с помощью этого убедительная круговая диаграмма, из которой видно, что только четверть опрошенных респондентов заявили, что они успешно внедряют технологии искусственного интеллекта.
Сообщалось, что препятствиями для зрелого внедрения были нехватка квалифицированных специалистов, проблемы с качеством данных, трудности с определением соответствующих вариантов использования в бизнесе, отсутствие корпоративной культуры и проблемы с технической инфраструктурой. В отчете также отмечается явное отсутствие стандартизации современных инструментов для развертывания, мониторинга, управления версиями и отслеживания моделей и обучающих данных.
Учитывая эти проблемы, неудивительно, что непрактики сегодня сталкиваются с трудностями понимания технологий, наборов инструментов и методов MLOps и AIOps.
В этом посте я объясню, что означают MLOps и AIOps, для решения каких проблем они предназначены и какие инструменты существуют для команд, которые хотят внедрить их в свои стратегии создания продуктов и услуг.
Однако, прежде чем мы углубимся в это, мы должны сделать небольшой обзор концепций DevOps, чтобы создать контекст вокруг того, что это означает и какие проблемы они решают. Это поможет нам лучше понять суть MLOps и AIOps, а позже провести четкие различия между ними!
Что такое DevOps?
DevOps стал популярным примерно в 2007 году в ответ на распространенную организационную проблему, которая мешала командам разработчиков быстро поставлять программное обеспечение. Несмотря на то, что мы следовали методологии Agile, на выпуск версий программного обеспечения и развертывание их в рабочей среде уходили недели, если не месяцы.
Причина этого заключалась в том, что команды, которые создавали программное обеспечение (разработчики), и те, кто развертывал и поддерживал его в производстве (ИТ/эксплуатация), работали обособленно. Они подчинялись разным исполнительным руководителям внутри организации и работали независимо друг от друга — иногда даже физически на разных этажах здания или в разных зданиях.
DevOps позволил разработчикам и операционным группам сотрудничать на каждом этапе жизненного цикла разработки программного обеспечения (SDLC), а также разделять общие цели и ключевые показатели эффективности, чтобы высококачественное программное обеспечение могло поставляться гораздо чаще (часто , много раз за один день) с использованием Agile.
По своей сути DevOps состоит из трех вещей:
* Многодисциплинарные навыки: коллектив DevOps может совместно писать, тестировать, развертывать, отслеживать и управлять компонентами стека продуктов, включая основной код, постоянные хранилища, базы данных и любые третьи компоненты. используемые партийные библиотеки и службы. В процессе силосы устраняются. * Инструменты: инструменты помогают и ускоряют управление версиями программного обеспечения, автоматизацию и мониторинг, что позволяет непрерывно разрабатывать и развертывать программное обеспечение. Это известно как непрерывная интеграция и непрерывное развертывание (CICD). * Процессы. Команды DevOps следуют методологии Agile, чтобы разбить элементы дорожной карты на более мелкие этапы и задачи. Они используют эпопеи и истории как часть планирования спринта для распределения работы между членами команды. Тесная взаимосвязь между дисциплинами Dev и Ops гарантирует, что все находятся на одной странице в отношении предстоящих выпусков. Это устраняет неожиданности и ускоряет предоставление высококачественных продуктов и услуг.
Жизненный цикл DevOps
Жизненный цикл DevOps состоит из шести этапов, которые показаны здесь с использованием известного бесконечного цикла.
* План. На этом этапе команды используют Agile для определения предстоящих спринтов и этапов, а также доработки эпиков и историй, которые войдут в состав. * Сборка: фаза, на которой происходит фактическая сборка программного обеспечения. Инструменты контроля версий, такие как Git, играют здесь центральную роль, помогая в управлении ветвями, слиянии кода и распределенной разработке. * Непрерывная интеграция и развертывание: известное как CICD, это позволяет командам часто выпускать выпуски за счет автоматизации модульных и интеграционных тестов, а также развертываний в промежуточных и производственных средах. * Мониторинг: включает инструментарий для мониторинга, отслеживания и оповещения, чтобы быстро выявлять проблемы с функциональностью и производительностью и уведомлять членов команды. * Эксплуатация: включает в себя запуск продукта/услуги в производственной среде и включает настройку службы, управление конфигурацией и мониторинг инфраструктуры для обеспечения бесперебойной работы. * Постоянная обратная связь. Команды собираются для оценки каждого выпуска и обдумывания улучшений для будущих выпусков.
В этом контексте давайте углубимся в MLOps!
Что такое MLOps?
MLOps приобрели известность примерно в 2015 году благодаря обещанию решать критические операционные проблемы, связанные со сквозной доставкой конвейеров машинного обучения, подобные тем, которые DevOs решала почти десятилетием ранее.
Вы, должно быть, задаетесь вопросом — в чем заключаются проблемы с конвейерами машинного обучения? Чтобы сделать его более наглядным, представьте, как выглядит типичный конвейер машинного обучения (источник: Gartner).
Для работы с этим конвейером необходимы три различных набора навыков. Во-первых, это сам конвейер данных, в котором данные берутся, очищаются и преобразуются и принадлежат инженерам данных. Затем идет курирование обучающих наборов данных, за которым следует создание и проверка модели, и она принадлежит специалистам по данным. Наконец, развертывание, мониторинг и текущее обслуживание принадлежат отделу эксплуатации.
Итак, у нас есть три команды со специализированными наборами навыков, и им необходимо координировать друг с другом владение и эксплуатацию всего конвейера от начала до конца. Если эти команды работают изолированно и не могут сотрудничать, используя методы Agile, это приведет к задержкам доставки и проблемам с качеством всего продукта.
Напомним, что эти проблемы похожи на те, которые призван решить DevOps, и они возникают, когда разрозненные команды со специализированными наборами навыков не имеют тесной взаимосвязи между собой. Таким образом, в этом отношении вы можете думать о MLOps как о применении принципов DevOps к конвейерам машинного обучения. В то время как DevOps включает в себя междисциплинарную команду разработчиков и ИТ/эксплуататоров, MLOps добавляет к этой смеси инженеров по данным и специалистов по данным и устраняет разрозненность между ними.
Жизненный цикл MLOps
Жизненный цикл MLOps состоит из девяти этапов, которые показаны здесь с использованием модифицированной версии бесконечного цикла DevOps.
Небольшое заявление об отказе от ответственности: я объединил некоторые этапы ниже для простоты.
* План. Как и в случае с 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 — это применение машинного обучения к большим данным для достижения следующих бизнес-результатов:
- Мониторинг: обнаружение необычного поведения с точки зрения безопасности, доступности, производительности или качества обслуживания клиентов, чтобы заранее реагировать на потенциальные проблемы.
- Служба поддержки: автоматизация задач оформления билетов, решение проблем клиентов с помощью интеллектуальных автоматизированных чат-агентов или ответы на вопросы из базы знаний для быстрого и эффективного решения проблем службы поддержки.
- Автоматизация: анализ первопричин с помощью ИИ (например, для определения несовместимой версии библиотеки как причины сбоев в работе ноутбуков) или прогнозная аналитика для оповещения о потенциальных всплесках трафика, чтобы быстро решения об изменении размера инфраструктуры.
Надеюсь, это проясняет необходимость 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, их соответствующих приложений и различий!
Здоровья!
Также опубликовано здесь
Оригинал