Эндрю Ын: «Развертывание модели — это не конец, а начало итерации»

DeepLearning.AI 30 тыс. 10 мин 4 мин 21.04.2022
Главное

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

📊 Мониторинг как стратегия: от дашбордов до поиска проблем 0:00

Самым распространенным инструментом контроля за состоянием ML-системы является использование визуальных дашбордов для отслеживания показателей во времени . Однако выбор того, что именно выводить на графики, не должен быть случайным. Эндрю Ын рекомендует начинать проектирование системы мониторинга с мозгового штурма внутри команды .

Порядок действий при выборе метрик:

Примером может служить резкий скачок трафика, который приведет к перегрузке сервиса. В этом случае ключевым индикатором станет загрузка сервера (server load) . Если же речь идет о структурированных данных, критически важно отслеживать долю пропущенных значений (missing values): любое изменение в этом показателе может означать, что формат или источник входных данных изменился .

🖥 Программные и статистические показатели здоровья 1:58

Все метрики мониторинга можно разделить на две большие группы. Первая — это чисто программные показатели (software metrics), которые помогают следить за здоровьем инфраструктуры, на которой запущен алгоритм .

К ним относятся:

Вторая группа — это показатели статистического здоровья модели, которые Эндрю Ын разделяет на метрики входных данных ($X$) и метрики выходных данных ($Y$).

Метрики входных данных (Input metrics) 2:38

Они позволяют понять, изменилось ли распределение данных, поступающих на вход модели. В системе распознавания речи (speech recognition) лектор советует мониторить среднюю длину аудиоклипа в секундах и среднюю громкость входящего сигнала . Если эти параметры меняются, качество работы алгоритма может снизиться. В задачах визуального контроля на производстве (visual inspection) важно следить за яркостью изображений, так как изменение условий освещения в цеху напрямую влияет на точность распознавания дефектов .

Метрики выходных данных (Output metrics) 3:45

Эти показатели помогают косвенно оценить качество работы модели без наличия эталонной разметки в реальном времени.

Примеры индикаторов проблем:

🔄 Итеративный цикл развертывания 5:16

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

По словам лектора, на практике требуется несколько попыток, чтобы прийти к правильному набору метрик . Нередко бывает, что спустя пару недель эксплуатации обнаруживается проблема, которую никто не предвидел — тогда команда добавляет новую метрику. И наоборот: если какой-то показатель не меняется неделями и не несет пользы, от него отказываются, чтобы не рассеивать внимание .

🔔 Пороги тревоги и обслуживание моделей 7:20

Выбрав метрики, необходимо установить пороги срабатывания алертов (alarms). Например, если загрузка сервера превышает 0.91, система должна уведомить команду, чтобы те могли запустить дополнительные серверы . Аналогично выставляются границы для доли пропущенных значений или пустых выходов модели .

Если мониторинг выявил проблему, решение зависит от её природы:

  1. Проблемы в программной части требуют исправления кода или настройки инфраструктуры .
  2. Проблемы с точностью предсказаний требуют обслуживания (maintenance) или переобучения модели .

Ручное против автоматического переобучения 8:54

Существует два подхода к обновлению моделей в продакшене. Эндрю Ын отмечает, что на текущий момент ручное переобучение встречается гораздо чаще, чем полностью автоматическое . При ручном подходе инженер переобучает модель, проводит анализ ошибок и проверяет качество новой версии перед заменой. Разработчики часто проявляют осторожность и не готовы полностью доверять алгоритмам процесс автоматического обновления «вслепую», за исключением некоторых областей в потребительском ПО и интернет-сервисах .

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

💬 Цитаты

«Я призываю вас относиться к развертыванию как к итеративному процессу.»

«Сегодня ручное переобучение встречается гораздо чаще, чем автоматическое. Разработчики не решаются позволить алгоритму полностью автоматически принимать решение о выпуске новой модели в продакшн.»

👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
MLOps
Набор практик, направленных на надежное и эффективное развертывание и обслуживание моделей машинного обучения в производстве.
CTR (Click-through rate)
Отношение числа кликов к числу показов, используемое для оценки эффективности поисковых или рекомендательных систем.
Латентность (Latency)
Время задержки между запросом к системе и получением ответа.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Эндрю Ын MLOps мониторинг моделей DeepLearning.AI метрики качества