От Shadow Mode до полной автоматизации: как правильно внедрять ML-модели

DeepLearning.AI 35,9 тыс. 11 мин 4 мин 21.04.2022
Главное

В шестом уроке курса специализации Machine Learning Engineering for Production (MLOps) от DeepLearning.AI основатель проекта Эндрю Ын подробно разбирает критический этап перехода от обучения модели к её эксплуатации. Основная идея занятия заключается в том, что деплой — это не разовое включение системы, а постепенный процесс управления рисками, требующий выбора специфических паттернов развёртывания в зависимости от бизнес-задач.

🛠️ Сценарии и общие принципы развёртывания 0:00

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

  1. Запуск нового продукта или функции. Например, внедрение сервиса распознавания речи, которого раньше не было в портфеле компании . В этом случае стандартным подходом является постепенное наращивание трафика.
  2. Автоматизация или помощь в выполнении задач, которые ранее делал человек. Типичный пример — инспекция смартфонов на заводе на наличие царапин . Здесь наличие «человеческого эталона» открывает дополнительные возможности для мониторинга.
  3. Замена существующей ML-системы на обновлённую версию. Цель здесь — заменить старую модель на более эффективную .

Для любого из этих сценариев характерны две ключевые темы: постепенное наращивание нагрузки (ramp up) с постоянным мониторингом и возможность быстрого отката (rollback) к предыдущему состоянию, если алгоритм покажет неудовлетворительные результаты .

👁️ Shadow Mode: параллельный запуск без риска 2:22

Один из наиболее безопасных паттернов, особенно эффективный при автоматизации человеческого труда, — это «теневое развёртывание» (Shadow Mode). В этом режиме алгоритм работает параллельно с человеком или старой системой, но его выводы никак не влияют на реальные бизнес-процессы .

Принципы работы Shadow Mode:

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

🐦 Canary Deployment: проверка на малой доле трафика 4:08

Когда команда обретает уверенность в модели, она переходит к «канареечному развёртыванию» (Canary Deployment). Этот паттерн предполагает передачу новой модели лишь малой части реального трафика — например, всего 5% или даже меньше .

Название метода отсылает к английской идиоме «канарейка в угольной шахте» (canary in a coal mine). В прошлом шахтёры брали с собой птиц, чтобы те первыми реагировали на утечку газа . Аналогично в ML:

🔵🟢 Blue-Green Deployment: мгновенное переключение и откат 5:27

Ещё один классический паттерн — сине-зелёное развёртывание (Blue-Green Deployment). В этой схеме используются две идентичные среды: «синяя» (старая версия ПО) и «зелёная» (новая версия с ML-алгоритмом) .

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

  1. Роутер направляет весь трафик на синюю версию.
  2. Инженеры запускают зелёную версию и подготавливают её к работе .
  3. В определённый момент роутер мгновенно перенаправляет 100% трафика на зелёную версию .

Главным преимуществом такой схемы Эндрю Ын называет простоту отката. Если в новой версии обнаружится баг, достаточно перенастроить роутер обратно на синюю версию, которая всё это время продолжала работать в фоновом режиме . Хотя классический Blue-Green подразумевает резкое переключение, спикер уточняет, что его можно комбинировать с постепенным переносом нагрузки .

📊 Спектр автоматизации и Human-in-the-Loop 7:38

Одной из самых полезных концепций Эндрю Ын считает взгляд на деплой не как на бинарное состояние (включено/выключено), а как на спектр уровней автоматизации .

По мнению спикера, существует пять основных этапов внедрения ИИ :

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

💬 Цитаты

«Лучший способ развернуть систему — это не просто включить её и надеяться на лучшее.»

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

👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Shadow Mode
Режим работы ML-модели, при котором она делает предсказания, но они не используются для принятия решений и не видны пользователю.
Canary Deployment
Метод развертывания, при котором новая версия продукта доступна только небольшой части пользователей для тестирования стабильности.
Blue-Green Deployment
Стратегия выпуска ПО с использованием двух идентичных сред для мгновенного переключения трафика и быстрого отката.
MLOps
Набор практик, направленных на надежное и эффективное развертывание и обслуживание моделей машинного обучения в производстве.
Human-in-the-Loop
Модель взаимодействия, при которой человек участвует в процессе работы алгоритма, проверяя его результаты или помогая в сложных случаях.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Andrew Ng MLOps Canary Deployment Blue-Green Deployment DeepLearning.AI