Цель этой модели зрелости — помочь уточнить принципы и методики Машинное обучение Operations (MLOps). Модель зрелости показывает непрерывное улучшение создания и эксплуатации среды приложения машинного обучения на уровне рабочей среды. Его можно использовать в качестве метрики для установления прогрессивных требований, необходимых для измерения зрелости рабочей среды машинного обучения и связанных с ним процессов.
Модель зрелости
Модель зрелости MLOps помогает уточнить принципы и методики, необходимые для запуска успешной среды MLOps. Она предназначена для выявления пробелов в попытке существующей организации реализовать такую среду. Это также способ показать, как увеличить возможности MLOps приращения, а не перегружены требованиями полностью зрелой среды. Используйте его в качестве руководства:
Оцените область работы для новых взаимодействий.
Установите реалистичные критерии успешности.
Определите конечные типы, которые вы перейдете к выводу об участии.
Как и в большинстве моделей зрелости, модель зрелости MLOps качественно оценивает людей, культуру, процессы, структуры и объекты и технологии. По мере увеличения уровня зрелости вероятность увеличивается, что инциденты или ошибки приводят к улучшению качества процессов разработки и производства.
Модель зрелости MLOps включает пять уровней технических возможностей:
Level |
Description |
Советы |
Технология |
0 |
Нет MLOps |
- Сложно управлять полным жизненным циклом модели машинного обучения
- Команды разрозненные и выпуски болезненные
- Большинство систем существуют как "черные ящики", мало отзывов во время или после развертывания
|
- Сборки и развертывания вручную
- Ручное тестирование модели и приложения
- Централизованное отслеживание производительности модели
- Обучение модели вручную
|
1 |
DevOps, но не MLOps |
- Выпуски менее болезненны, чем No MLOps, но полагаются на группу данных для каждой новой модели
- По-прежнему ограниченные отзывы о том, насколько хорошо модель работает в рабочей среде
- Трудно трассировать и воспроизводить результаты
|
- Автоматизированные сборки
- Автоматизированные тесты для кода приложения
|
2 |
Автоматическое обучение |
- Среда обучения полностью управляема и трассировка
- Простое воспроизведение модели
- Выпуски являются вручную, но низкие трения
|
- Автоматическое обучение модели
- Централизованное отслеживание производительности обучения модели
- управление моделью;
|
3 |
Автоматическое развертывание модели |
- Выпуски являются низкими трениями и автоматическими
- Полная трассировка от развертывания обратно к исходным данным
- Управление всей средой: обучение > тестовой > рабочей среды
|
- Встроенное тестирование производительности модели A/B для развертывания
- Автоматизированные тесты для всего кода
- Централизованное отслеживание производительности обучения модели
|
4 |
Полные автоматизированные операции MLOps |
- Полная система автоматизированного и легко отслеживаемого
- Рабочие системы предоставляют информацию о том, как улучшить и, в некоторых случаях, автоматически улучшить с помощью новых моделей
- Подход к системе нулевого простоя
|
- Автоматическое обучение и тестирование моделей
- Подробные, централизованные метрики из развернутой модели
|
Таблицы, следуйте указаниям подробных характеристик для этого уровня зрелости процесса. Модель будет продолжать развиваться.
Уровень 0. Нет MLOps
Люди |
Создание модели |
Выпуск модели |
Интеграция приложений |
- Специалисты по обработке и анализу данных: разложенные, а не в регулярных коммуникациях с более крупной командой
- Инженеры данных (если существуют): разложенные, а не в регулярных сообщениях с более крупной командой
- Инженеры программного обеспечения: siloed, получение модели удаленно от других членов команды
|
- Данные, собранные вручную
- Вычисление, скорее всего, не управляется
- Эксперименты не прогнозируемо отслеживаются
- Конечный результат может быть одним файлом модели вручную, переданным с входными и выходными данными
|
- Ручной процесс
- Скрипт оценки может быть создан вручную после экспериментов, а не управляемых версий
- Выпуск, обрабатываемый специалистом по обработке данных или инженером данных только
|
- В значительной степени зависит от опыта специалистов по обработке и анализу данных для реализации
- Выпуски вручную каждый раз
|
Уровень 1. DevOps нет MLOps
Люди |
Создание модели |
Выпуск модели |
Интеграция приложений |
- Специалисты по обработке и анализу данных: разложенные, а не в регулярных коммуникациях с более крупной командой
- Инженеры данных (если существуют): разложенные, а не в регулярном взаимодействии с более крупной командой
- Инженеры программного обеспечения: siloed, получение модели удаленно от других членов команды
|
- Конвейер данных собирает данные автоматически
- Вычисление или не управляется
- Эксперименты не прогнозируемо отслеживаются
- Конечный результат может быть одним файлом модели вручную, переданным с входными и выходными данными
|
- Ручной процесс
- Скрипт оценки может быть создан вручную после экспериментов, скорее всего, версия, контролируемая версия
- Передается инженерам программного обеспечения
|
- Базовые тесты интеграции существуют для модели
- В значительной степени зависит от опыта специалистов по обработке и анализу данных для реализации модели
- Выпуски автоматически
- Код приложения содержит модульные тесты
|
Уровень 2. Автоматическое обучение
Люди |
Создание модели |
Выпуск модели |
Интеграция приложений |
- Специалисты по обработке и анализу данных: работа непосредственно с инженерами данных для преобразования кода экспериментирования в повторяемые скрипты и задания
- Инженеры данных: работа с специалистами по обработке и анализу данных
- Инженеры программного обеспечения: siloed, получение модели удаленно от других членов команды
|
- Конвейер данных собирает данные автоматически
- Управляемые вычислительные ресурсы
- Результаты эксперимента отслеживаются
- Обучающий код и результирующий модели управляются версиями
|
- Выпуск вручную
- Скрипт оценки управляется версиями с помощью тестов
- Выпуск, управляемый командой разработчиков программного обеспечения
|
- Базовые тесты интеграции существуют для модели
- В значительной степени зависит от опыта специалистов по обработке и анализу данных для реализации модели
- Код приложения содержит модульные тесты
|
Уровень 3. Автоматическое развертывание модели
Люди |
Создание модели |
Выпуск модели |
Интеграция приложений |
- Специалисты по обработке и анализу данных: работа непосредственно с инженерами данных для преобразования кода экспериментирования в повторяемые скрипты и задания
- Инженеры данных: работа с специалистами по обработке и анализу данных и инженерами программного обеспечения для управления входными и выходными данными
- Инженеры программного обеспечения: работа с инженерами данных для автоматизации интеграции моделей в код приложения
|
- Конвейер данных собирает данные автоматически
- Управляемые вычислительные ресурсы
- Результаты эксперимента отслеживаются
- Обучающий код и результирующий модели управляются версиями
|
- Автоматический выпуск
- Скрипт оценки управляется версиями с помощью тестов
- Выпуск, управляемый конвейером непрерывной доставки (CI/CD)
|
- Модульные и интеграции тесты для каждого выпуска модели
- Менее зависят от опыта специалистов по обработке и анализу данных для реализации модели
- Код приложения содержит модульные или интеграции тесты
|
Уровень 4. Автоматическое переобучение полного MLOps
Люди |
Создание модели |
Выпуск модели |
Интеграция приложений |
- Специалисты по обработке и анализу данных. Работа непосредственно с инженерами данных для преобразования кода экспериментирования в повторяемые скрипты и задания. Работа с инженерами программного обеспечения для идентификации маркеров для инженеров данных
- Инженеры данных: работа с специалистами по обработке и анализу данных и инженерами программного обеспечения для управления входными и выходными данными
- Инженеры программного обеспечения: работа с инженерами данных для автоматизации интеграции моделей в код приложения. Реализация сбора метрик после развертывания
|
- Конвейер данных собирает данные автоматически
- Переобучение активируется автоматически на основе рабочих метрик
- Управляемые вычислительные ресурсы
- Результаты эксперимента отслеживаются
- Обучающий код и результирующий модели управляются версиями
|
- Автоматический выпуск
- Скрипт оценки управляется версиями с помощью тестов
- Выпуск, управляемый непрерывной интеграцией и конвейером CI/CD
|
- Модульные тесты и тесты интеграции для каждого выпуска модели
- Менее зависят от опыта специалистов по обработке и анализу данных для реализации модели
- Код приложения содержит модульные или интеграции тесты
|
Следующий шаг