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

Источник: https://www.youtube.com/watch?v=ErNp43wcudY
Канал: DeepLearning.AI
Опубликовано: 21.04.2022

---

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

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

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

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

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

## 👁️ Shadow Mode: параллельный запуск без риска
[[JUMP:02:22]]

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

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

*   Алгоритм получает те же данные, что и человек-инспектор.
*   Система выносит свои предсказания «в тишине» (в логах).
*   Результаты работы модели сравниваются с решениями человека, чтобы оценить точность [3:29].

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

## 🐦 Canary Deployment: проверка на малой доле трафика
[[JUMP:04:08]]

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

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

*   Если новая модель совершает критические ошибки, они затронут лишь небольшую долю пользователей или продукции [4:33].
*   Инженеры мониторят систему и только при отсутствии проблем постепенно увеличивают процент трафика, направляемого на новую модель [4:48].

## 🔵🟢 Blue-Green Deployment: мгновенное переключение и откат
[[JUMP:05:27]]

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

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

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

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

## 📊 Спектр автоматизации и Human-in-the-Loop
[[JUMP:07:38]]

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

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

*   **Отсутствие автоматизации:** всё делает человек.
*   **Shadow Mode:** модель работает параллельно, но её решения не используются.
*   **AI Assistance (Помощь ИИ):** система подсвечивает подозрительные зоны (например, царапины на смартфоне) в интерфейсе, чтобы помочь инспектору быстрее принять решение [8:19]. Дизайн интерфейса здесь становится критически важным фактором.
*   **Partial Automation (Частичная автоматизация):** если модель уверена в ответе на 99%, она принимает решение сама. Если уверенность низкая, задача передаётся человеку [8:59]. Это позволяет использовать вердикты человека как новые данные для дообучения модели [9:13].
*   **Full Automation (Полная автоматизация):** алгоритм принимает каждое решение самостоятельно [9:53].

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