24
0
0
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники
Назад

Почему ML-модель может работать идеально… и все равно быть сломанной

Время чтения 4 минуты
Нет времени читать?
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники
24
0
0
Нет времени читать?
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники

Привет! Я Никита Гладких, Product Owner AIOps-платформы Artimate. В этой статье хочу рассказать про наблюдаемость для ML-моделей. Когда модель уходит в продакшен, за ней нужно следить, и это не то же самое, что следить за обычным сервисом. Обычный сервис либо работает, либо нет. Модель может функционировать в смысле инфраструктуры, отвечая за 50 мс, не падая, не выдавая ошибок в классическом понимании, но при этом тихо деградировать, выдавая предсказания, которые всё дальше уходят от реальности.

Именно здесь и лежит новая боль SRE: привычный инструментарий (логи, метрики, трейсы, uptime) не дает ответа на вопрос, адекватна ли модель. Для этого нужна отдельная система ML-observability. По сути, это набор «умных датчиков», которые смотрят не на инфраструктуру, а на поведение модели в изменяющемся мире: на то, что она принимает на вход, что выдает и как это соотносится с тем, что было раньше.

У деградации модели в проде два режима. Быстрый, при котором ломается пайплайн, например пришли нулевые фичи, и модель выдает константу. Это ловится стандартным мониторингом. Медленный — это когда данные в мире постепенно менялись, модель не переобучалась, и через несколько месяцев ее предсказания стали систематически хуже. Этот режим классический мониторинг не видит вообще — и он значительно дороже.

Почему ML-модель может работать идеально… и все равно быть сломанной

Классификация дрейфа и методы детекции

Каждый тип требует своих методов обнаружения.

Методы обнаружения Data Drift

Для непрерывных признаков обычно используют тест Колмогорова — Смирнова. Для категориальных фичей — тест хи-квадрат. В продакшене же чаще всего используют PSI (Population Stability Index), который дает интерпретируемый порог:

  • PSI < 0.1 — стабильно;
  • PSI = 0.1–0.2 — умеренное смещение, требует внимания;
  • PSI > 0.2 — значительный дрейф, нужно действовать.

Кроме того, применяют расстояние Вассерштейна и дивергенцию Кульбака — Лейблера. Порог же «нормального» дрейфа зависит от сферы применения: для финансовой модели допустимые отклонения принципиально иные, чем для рекомендательной.

Почему Concept Drift обнаружить сложнее всего

Для того, чтобы заметить Concept Drift, нужны эталонно размеченные метки — реальные результаты, на которые модель ориентировалась. Возможны три ситуации:

  • Метки приходят быстро — кликнул или нет. Дрейф можно поймать оперативно.
  • Метки приходят с задержкой — выдали кредит, дефолт наступит через месяц. Деградация копится незаметно.
  • Метки не приходят вообще или приходят с большим шумом. Concept Drift приходится косвенно детектировать через поведенческие или прокси-метрики.

Мониторинг распределения предсказаний

Выбросы в распределении предсказаний: модель начала чаще выдавать крайние значения вероятностей (0.99 и 0.01 вместо привычных 0.6–0.7), или резко изменился средний скор по популяции. Это сигнал либо об изменении входных данных, либо о том, что модель попала на out-of-distribution примеры.

Для детекции мониторят распределение предсказаний, его моменты (среднее, дисперсия, перцентили) и сравнивают с референсным окном.

Fairness

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

Основные метрики:

  • Demographic parity — одинаковый процент положительных предсказаний по группам.
  • Equal opportunity — одинаковый recall по группам.
  • Calibration by group — одинаковая калиброванность по группам.

Без сегментированного мониторинга дрейф внутри группы полностью маскируется средней метрикой.

Коренные причины деградации модели

В 90% случаев это одна из четырех причин:

  • Изменение данных — новый источник, изменение схемы, апстрим-команда что-то поменяла в трансформациях.
  • Изменение распределения трафика — новый канал привлечения, сезонность, маркетинговая акция.
  • Тихое изменение кода или конфига пайплайна, которое никто не задокументировал.
  • Не вчера стало плохо, а вчера это заметили — деградация шла постепенно, и только когда упала бизнес-метрика, начали смотреть на модель.

Именно последний сценарий самый дорогой, и именно его предотвращает проактивный ML-observability.

Что SRE должен видеть в ML-системе

SRE, который отвечает за модель в проде, должен уметь ответить на три вопроса без привлечения ML-инженера: что сейчас принимает модель на вход, что она выдает и как это соотносится с тем, что было две недели назад? Если ответа на любой из них нет — это слепое пятно.

Логирование входных фичей и предсказаний — базовое требование. Логировать всё подряд на 100% трафика обычно избыточно и дорого; достаточно репрезентативной выборки, которая позволяет восстановить статистику распределений. Важный момент: логи должны содержать не только само предсказание, но и идентификатор запроса и временную метку — без этого при разборе инцидента невозможно восстановить, что именно происходило в конкретный момент.

Референсное распределение — это слепок того, как выглядели входные данные и предсказания в период, когда модель работала хорошо. Обычно берут данные за несколько недель после последнего деплоя или переобучения. Без референса метрики дрейфа бессмысленны: непонятно, относительно чего считать, что «изменилось». Референс нужно явно версионировать и обновлять при каждом переобучении модели, иначе со временем любое распределение будет выглядеть «задрейфовавшим» просто потому, что референс устарел.

Алерты по PSI и ключевым перцентилям — то, что превращает наблюдаемость в действие. PSI > 0.2 по нескольким признакам одновременно является сигналом о том, что входные данные существенно изменились. Резкое смещение среднего предсказания или рост доли крайних значений (близких к 0 или 1) — это сигнал, что модель ведет себя нетипично. Конкретные пороги всегда требуют калибровки под домен и под конкретную модель вместе с ML-командой, универсальных значений здесь нет.

Заключение

Внедрение ML-observability расширяет зону ответственности SRE: надежность системы теперь определяется не только инфраструктурными показателями, но и статистической стабильностью модели. Техническая исправность пайплайна не гарантирует адекватность предсказаний, поэтому классический мониторинг необходимо дополнять контролем данных.

Для предотвращения наиболее дорогостоящего сценария — запоздалого обнаружения деградации — требуется реализация трех компонентов: логирования входных признаков и предсказаний, версионирования референсных распределений и настройки алертов на статистические метрики (PSI, перцентили). Это позволяет выявлять аномалии до их влияния на бизнес-показатели.

Ключевой критерий успешной наблюдаемости — автономность SRE. Инженер должен иметь возможность независимо верифицировать состояние модели, отвечая на вопросы о входных данных, выводах и их динамике без привлечения ML-разработчиков. Только так обеспечивается прозрачность работы ML-сервиса и соответствие технических метрик реальной эффективности продукта.

Комментарии0
Тоже интересно
Комментировать
Поделиться
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники