мониторинг модели Машинное обучение Azure
Мониторинг моделей — это последний шаг в комплексном жизненном цикле машинного обучения. Этот шаг отслеживает производительность модели в рабочей среде и анализирует производительность как с точки зрения обработки и анализа данных, так и с операционной точки зрения. В этой статье вы узнаете о мониторинге моделей в Машинное обучение Azure, сигналах и метриках, которые можно отслеживать и рекомендуемых методиках мониторинга моделей.
В отличие от традиционных программных систем поведение системы машинного обучения не только зависит от правил, указанных в коде, но и на основе данных. Изменения распределения данных, отклонение обучения, проблемы с качеством данных, сдвиги в средах и изменения поведения потребителей могут привести к устаревания модели.
Когда модель становится устаревшей, ее производительность может снизиться до точки, что она не может добавить бизнес-ценность или начинает вызывать серьезные проблемы соответствия в строго регулируемых средах. Поэтому важно отслеживать производительность модели.
Как работает мониторинг модели Машинное обучение Azure
Для реализации мониторинга Машинное обучение Azure получает сигналы мониторинга путем выполнения статистических вычислений для потоковых данных вывода рабочей среды и ссылочных данных. Данные вывода в рабочей среде относятся к входным и выходным данным модели, собранным в рабочей среде. Справочные данные могут быть историческими, проверяющими или наземными данными.
Внимание
Машинное обучение Azure мониторинг модели поддерживает только проверку подлинности на основе учетных данных, например маркер SAS, для доступа к данным, содержащимся в хранилищах данных. Дополнительные сведения о хранилищах данных и режимах проверки подлинности см. в статье "Администрирование данных".
Каждый сигнал мониторинга имеет одну или несколько метрик. Пороговые значения этих метрик можно задать для активации оповещений о аномалиях модели или данных с помощью Машинное обучение Azure или Сетка событий Azure. При получении оповещений можно использовать Студия машинного обучения Azure для анализа или устранения неполадок сигналов мониторинга для непрерывного улучшения качества модели.
Машинное обучение Azure использует следующий процесс для обработки встроенного сигнала мониторинга, например смещения данных для модели в рабочей среде:
Во-первых, Машинное обучение Azure вычисляет статистическое распределение значения функции в обучающих данных. Это распределение является базовым распределением для функции.
Затем Машинное обучение Azure вычисляет статистическое распределение последних значений функции, записанных в рабочей среде.
Машинное обучение Azure затем выполняет статистический тест или вычисляет оценку расстояния для сравнения распределения последних значений компонента в рабочей среде с базовым распределением. Если оценка тестовой статистики или расстояния между двумя распределениями превышает пороговое значение, указанное пользователем, Машинное обучение Azure определяет аномалию и уведомляет пользователя.
Настройка и использование мониторинга моделей
Для использования мониторинга моделей в Машинное обучение Azure:
Сначала включите сбор данных вывода рабочей среды.
- При развертывании модели в Машинное обучение Azure онлайн-конечной точке можно включить сбор данных вывода в рабочей среде с помощью сбора данных модели Машинное обучение Azure.
- Если вы развертываете модель вне Машинное обучение Azure или в Машинное обучение Azure пакетной конечной точке, вы несете ответственность за сбор данных вывода рабочей среды, которые затем можно использовать для мониторинга Машинное обучение Azure модели.
Затем настройте мониторинг модели. Вы можете использовать Машинное обучение Azure SDK/CLI 2.0 или пользовательский интерфейс студии, чтобы легко настроить мониторинг моделей. Во время установки можно указать предпочтительный сигнал мониторинга и настроить метрики и пороговые значения для каждого сигнала.
Наконец, просмотрите и проанализируйте результаты мониторинга моделей. После настройки мониторинга модели Машинное обучение Azure выполняет задание мониторинга в указанном расписании. Каждый запуск вычисляет и оценивает метрики для всех выбранных сигналов мониторинга и активирует уведомления оповещений при превышении заданного порогового значения. Вы можете перейти по ссылке в уведомлении, чтобы просмотреть и проанализировать результаты мониторинга в рабочей области Машинное обучение Azure.
Возможности мониторинга моделей
Машинное обучение Azure предоставляет следующие возможности для непрерывного мониторинга моделей:
- Встроенные сигналы мониторинга табличных данных, включая смещение данных, смещение прогнозов, качество данных, смещение признаков и производительность модели.
- Встроенный мониторинг модели для сетевых конечных точек. При развертывании модели в рабочей точке в сети Машинное обучение Azure автоматически собирает данные вывода рабочей среды и использует его для непрерывного мониторинга.
- Несколько сигналов мониторинга в одной настройке мониторинга. Для каждого сигнала мониторинга можно выбрать предпочитаемые метрики и пороговое значение оповещений.
- Выбор эталонных данных для сравнения. Для сигналов мониторинга можно задать эталонные данные с помощью обучающих данных или последних прошлых рабочих данных.
- Основные функции N для мониторинга смещения данных или мониторинга качества данных. Если вы используете обучающие данные в качестве эталонных данных, можно определить смещение данных или сигналы качества данных, слоистые по важности признаков.
- Возможность определять пользовательские сигналы мониторинга. Если встроенные сигналы мониторинга не подходят для вашего бизнес-сценария, можно определить собственный сигнал мониторинга с помощью пользовательского компонента сигнала мониторинга.
- Гибкость использования рабочих данных вывода из любого источника. Если вы развертываете модели вне Машинное обучение Azure или развертываете модели в пакетных конечных точках, вы по-прежнему можете собирать данные вывода рабочей среды для использования в мониторинге моделей Машинное обучение Azure.
Рекомендации по мониторингу моделей
Каждая модель машинного обучения и ее варианты использования уникальны. Таким образом, мониторинг моделей является уникальным для каждой ситуации. В следующем списке описаны рекомендации по мониторингу моделей.
- Запустите мониторинг модели сразу после развертывания модели в рабочей среде.
- Обратитесь к специалистам по обработке и анализу данных, знакомым с моделью для настройки мониторинга. Специалисты по обработке и анализу данных, которые имеют представление о модели и его вариантах использования, могут рекомендовать сигналы мониторинга и метрики и задавать правильные пороговые значения оповещений для каждой метрики, чтобы избежать усталости оповещений.
- Включите несколько сигналов мониторинга в настройку. При использовании нескольких сигналов мониторинга вы получаете как широкие, так и детализированные представления мониторинга. Например, можно объединить сигналы смещения данных и атрибуции, чтобы получить ранние предупреждения о проблемах с производительностью модели.
- Используйте соответствующие эталонные данные в качестве базового плана сравнения. Для эталонных данных, используемых в качестве базового плана сравнения, можно использовать последние прошлые данные рабочей среды или исторические данные, например данные обучения или проверки. Для более понятного сравнения используйте обучающие данные в качестве базового плана сравнения для смещения данных и качества данных. Используйте данные проверки в качестве базового плана сравнения для смещения прогнозов.
- Укажите частоту мониторинга на основе роста рабочих данных с течением времени. Например, если в рабочей модели имеется большой ежедневный трафик, а ежедневное накопление данных достаточно, задайте частоту мониторинга ежедневно. В противном случае рассмотрим еженедельную или ежемесячную частоту мониторинга на основе роста производственных данных с течением времени.
- Отслеживайте основные функции N или подмножество компонентов. При использовании обучающих данных в качестве базового плана сравнения можно легко настроить мониторинг смещения данных или мониторинг качества данных для основных важных функций N. Для моделей, имеющих большое количество функций, рассмотрите возможность мониторинга подмножества этих функций, чтобы снизить затраты на вычисления и шум мониторинга.
- Используйте сигнал производительности модели, если у вас есть доступ к данным на основе истины. Если у вас есть доступ к данным на основе фактических данных, которые также называются фактическими на основе приложения машинного обучения, используйте сигнал производительности модели, чтобы сравнить данные о действительности земли с выходными данными модели. Это сравнение обеспечивает объективное представление производительности модели в рабочей среде.
Размер и смещение окна lookback
Размер окна обратного просмотра — это длительность времени в формате ISO 8601 для рабочего или эталонного окна данных. Смещение окна обратного просмотра — это длительность времени для смещения конца окна данных с даты выполнения мониторинга.
Например, модель в рабочей среде имеет монитор, который будет работать 31 января в 31 января в 3:15 вечера UTC. Размер окна обратного просмотра рабочих данных или семь дней и смещение P0D
окна P7D
обратного просмотра данных или ноль дней означает, что монитор использует рабочие данные с 24 января по 3:15 utc до 31 января в 3:15 вечера UTC, время выполнения монитора.
Если задать смещение P7D
окна обратного просмотра в течение семи дней, окно ссылочных данных заканчивается прямо перед началом рабочего окна данных, чтобы не перекрываться. Затем можно задать размер окна обратного просмотра ссылочных данных как большой, как вам нравится.
Например, если задать размер P24D
окна обратного просмотра ссылочных данных или 24 дня, окно ссылочных данных содержит данные с 1 января по 3:15 utc до 24 января в 3:15 вечера UTC. На следующей схеме показан пример.
В некоторых случаях может быть полезно задать смещение окна обратного просмотра для рабочих данных числом больше нуля дней. Например, если монитор должен выполняться еженедельно в понедельник в 3:15 вечера UTC, но вы не хотите использовать данные из выходных в ходе мониторинга, можно использовать размер P5D
окна обратного просмотра или пять дней, а смещение P2D
окна обратного просмотра или два дня. Затем окно данных начинается в начале понедельника в 3:15 вечера UTC и заканчивается в пятницу в 3:15 вечера UTC.
На практике следует убедиться, что окно ссылочных данных и рабочее окно данных не перекрываются. Как показано на следующем рисунке, можно обеспечить непереключение окон, убедившись, что смещение P10D
окна обратного просмотра ссылочных данных или 10 дней в этом примере больше или равно сумме размера окна просмотра рабочих данных и смещения окна обратного просмотра, семь дней в этом примере.
С помощью мониторинга модели Машинное обучение Azure можно использовать смарт-значения по умолчанию для размера окна lookback и смещения окна просмотра или настроить их в соответствии с вашими потребностями. Поддерживаются как скользящие окна, так и фиксированные окна.
Настройка размера окна обратного просмотра
Вы можете выбрать размер окна обратного просмотра как для рабочих данных, так и для эталонных данных.
По умолчанию размер окна обратного просмотра для рабочих данных — это частота мониторинга. Все данные, собранные в период мониторинга перед выполнением задания мониторинга, включены в окно обратного просмотра. Свойство можно использовать
production_data.data_window.lookback_window_size
для настройки скользящего окна данных для рабочих данных.По умолчанию окно обратного просмотра для эталонных данных — это полный набор данных. Свойство можно использовать
reference_data.data_window.lookback_window_size
для настройки размера окна обратного просмотра ссылок.
Чтобы указать фиксированное окно данных для эталонных данных, используйте свойства reference_data.data_window.window_start_date
и reference_data.data_window.window_end_date
.
Настройка смещения окна обратного просмотра
Вы можете выбрать смещение окна обратного просмотра для окна данных как для рабочих данных, так и для эталонных данных. Смещение можно использовать для детального управления данными, используемыми монитором. Смещение применяется только к скользящим окнам данных.
По умолчанию смещение для рабочих данных равно
P0D
нулю. Это смещение можно изменить с помощьюproduction_data.data_window.lookback_window_offset
свойства.По умолчанию смещение для эталонных данных составляет два раза
production_data.data_window.lookback_window_size
больше. Этот параметр гарантирует, что для статистически значимых результатов мониторинга достаточно ссылочных данных. Это смещение можно изменить с помощьюreference_data.data_window.lookback_window_offset
свойства.
Мониторинг сигналов и метрик
Машинное обучение Azure мониторинг модели поддерживает следующие сигналы мониторинга и метрики.
Внимание
Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Предварительная версия предоставляется без соглашения об уровне обслуживания и не рекомендована для производственных рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.
Сигнал мониторинга | Description | Метрики | Задачи модели или поддерживаемый формат данных | Производственные данные | Эталонные данные |
---|---|---|---|---|---|
Смещение данных | Отслеживает изменения в распределении входных данных модели путем сравнения распределения с данными обучения модели или последними производственными данными. | Дженсен-Шаннон расстояние, индекс стабильности популяции, нормализованное расстояние Вассерштейна, двух образец теста Колмогоров-Смирнов, тест Пирсона чи-квадрат | Классификация (табличные данные), регрессия (табличные данные) | Рабочие данные: входные данные модели | Последние прошлые рабочие данные или обучающие данные |
Смещение прогнозирования | Отслеживает изменения в распределении прогнозируемых выходных данных модели путем сравнения распределения с данными проверки, помеченными тестовых данных или последними производственными данными. | Дженсен-Шаннон расстояние, индекс стабильности населения, нормализованное расстояние Вассерштейна, Расстояние Чебишева, двух пример колмогоров-Смирнов тест, Пирсон чи-квадрат теста | Классификация (табличные данные), регрессия (табличные данные) | Рабочие данные: выходные данные модели | Последние прошлые рабочие данные или данные проверки |
Качество данных | Отслеживает целостность данных входных данных модели, сравнивая их с данными обучения модели или последними рабочими данными. Проверки качества данных включают проверку значений NULL, несоответствия типов или внеграничных значений. | Скорость значений NULL, частота ошибок типа данных, скорость вне границ | Классификация (табличные данные), регрессия (табличные данные) | Рабочие данные: входные данные модели | Последние прошлые рабочие данные или обучающие данные |
Смещение атрибутов (предварительная версия) | Основываясь на вкладе функций в прогнозы, также известных как важность признаков. Смещение признаков отслеживает важность функции во время рабочей среды, сравнивая ее с важностью признаков во время обучения. | Нормализованный совокупный прирост с скидкой | Классификация (табличные данные), регрессия (табличные данные) | Рабочие данные: входные и выходные данные модели | Обучающие данные (обязательные) |
Производительность модели: классификация (предварительная версия) | Отслеживает целевую производительность выходных данных модели в рабочей среде, сравнивая ее с собранными данными о действительности. | Точность, точность и отзыв | Классификация (табличные данные) | Рабочие данные: выходные данные модели | Данные о действительности на земле (обязательные) |
Производительность модели: регрессия (предварительная версия) | Отслеживает целевую производительность выходных данных модели в рабочей среде, сравнивая ее с собранными данными о действительности. | Средняя абсолютная ошибка (MAE), средняя квадратная ошибка (MSE), корневая средняя квадратная ошибка (RMSE) | Регрессия (табличные данные) | Рабочие данные: выходные данные модели | Данные о действительности на земле (обязательные) |
Создание искусственного интеллекта: безопасность и качество создания (предварительная версия) | Оценивает созданные приложения ИИ для безопасности и качества, используя метрики с поддержкой GPT. | Заземленность, релевантность, флуентность, сходство, согласованность | Вопросы и ответы | Шаблон запроса, завершения, контекста и заметки | Н/П |
Метрики качества данных
Сигнал мониторинга качества данных отслеживает целостность входных данных модели, вычисляя следующие три метрики:
- Значение NULL
- Частота ошибок типа данных
- Внеграничная скорость
Машинное обучение Azure мониторинг модели поддерживает до 0,00001 точности для вычислений скорости значений NULL, частоты ошибок типа данных и скорости вне границ.
Значение NULL
Значение NULL — это скорость значений NULL в входных данных модели для каждой функции. Например, если в окне данных мониторинга содержится 100 строк, а значение функции temperature
равно NULL для 10 из этих строк, значение temperature
null равно 10 %.
Машинное обучение Azure поддерживает вычисление значения NULL для всех типов данных компонентов.
Частота ошибок типа данных
Во время каждого запуска мониторинга Машинное обучение Azure мониторинг модели определяет тип данных для каждой функции из эталонных данных. Частота ошибок типа данных — это частота различий типов данных между текущим рабочим окном данных и ссылочными данными.
Например, если тип данных для temperature
функции выводится IntegerType
из эталонных данных, но в окне рабочих данных 10 из 100 значений IntegerType
temperature
не являются строками, частота ошибок типа данных составляет temperature
10 %.
Машинное обучение Azure поддерживает вычисление частоты ошибок типа данных для следующих типов данных, доступных в PySpark: ShortType
, DoubleType
BooleanType
FloatType
IntegerType
ByteType
TimestampType
StringType
BinaryType
и . LongType
DateType
Если тип данных для функции отсутствует в этом списке, Машинное обучение Azure мониторинг модели по-прежнему выполняется, но не вычисляет частоту ошибок типа данных для этой функции.
Внеграничная скорость
Во время каждого выполнения мониторинга Машинное обучение Azure мониторинг модели определяет допустимый диапазон или набор для каждой функции из эталонных данных. Скорость вне границ — это скорость значений для каждой функции, которая выходит за пределы соответствующего диапазона или определяется эталонными данными.
- Для числовых признаков соответствующий диапазон — это числовый интервал между минимальными и максимальными значениями в эталонном наборе данных, например
[0, 100]
. - Для категориальных признаков, например
color
, соответствующий диапазон — это набор всех значений, содержащихся в эталонном наборе данных, например[red, yellow, green]
.
Например, если имеется числовая temperature
функция, в которой все значения в эталонном наборе данных попадают в диапазон [37, 77]
, но 10 из 100 значений temperature
в окне рабочих данных выходят за пределы диапазона [37, 77]
, скорость вне границы составляет temperature
10 %.
Машинное обучение Azure поддерживает вычисление скорости вне границ для следующих типов данных, доступных в PySpark: StringType
, , IntegerType
DoubleType
, ByteType
LongType
и FloatType
. Если тип данных для функции не указан в этом списке, Машинное обучение Azure мониторинг модели по-прежнему выполняется, но не вычисляет скорость вне границ для этой функции.
Интеграция мониторинга модели с Сетка событий Azure
События, созданные Машинное обучение Azure мониторинг модели, можно использовать для настройки приложений, процессов, процессов или непрерывной интеграции, непрерывной доставки (CI/CD) с Сетка событий Azure. Когда монитор модели обнаруживает смещение, проблемы с качеством данных или снижение производительности модели, вы можете отслеживать эти события с помощью сетки событий и выполнять действия программным способом.
Например, если точность модели классификации в рабочих погружениях ниже определенного порогового значения, можно использовать сетку событий, чтобы начать переобучение задания, использующего собранные данные о действительности земли. Сведения об интеграции Машинное обучение Azure с сеткой событий см. в статье "Мониторинг производительности моделей, развернутых в рабочей среде".