Действие при ошибке в конвейере машинного обучения Azure

#azure #azure-machine-learning-studio #azure-machine-learning-service

#лазурный #azure-machine-learning-studio #azure-machine-learning-service

Вопрос:

У меня есть опубликованный и запланированный конвейер, работающий через регулярные промежутки времени. Иногда конвейер может завершаться сбоем (например, если хранилище данных отключено для обслуживания). Есть ли способ указать запланированный конвейер для выполнения определенного действия в случае сбоя конвейера по какой-либо причине? Действия могут заключаться в том, чтобы отправить мне электронное письмо, повторить попытку запуска через несколько часов или вызвать webhook. Как и сейчас, мне приходится вручную проверять состояние нашего производственного конвейера через регулярные промежутки времени, и это неоптимально по очевидным причинам. Я мог бы, конечно, поручить каждому сценарию в моем конвейере выполнять определенные действия, если они по какой-либо причине не выполняются, но было бы проще и проще указать его глобально для расписания конвейера (или самого конвейера).

Возможные неоптимальные решения могут быть:

  • Настройка приложения Azure Logic для вызова конвейера
  • Настройка задания cron или планировщика Azure
  • Настройка второго конвейера машинного обучения Azure по расписанию, которое запускает конвейер, отслеживает выходные данные и выполняет соответствующие действия при обнаружении ошибок

Все вышеперечисленные решения являются запутанными и не очень чистыми — наверняка должно существовать простое и понятное решение этой проблемы?

Ответ №1:

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

Шаги:

  1. Создайте пространство имен событий и концентратор событий
  2. Создайте пространство имен служебной шины и очередь служебной шины
  3. Создайте задание потоковой аналитики, используя EventHub в качестве входных данных и очередь служебной шины в качестве выходных данных
  4. Создайте логическое приложение с триггером для любого события, поступающего в очередь служебной шины, затем добавьте шаг отправки электронной почты Outlook 360 (v2)
  5. Создайте подписку на событие внутри службы ML, которая отправляет отфильтрованные события в центр событий
  6. Запустить задание Stream Analytics

Два основных шага при создании подписки на событие:

  • Подпишитесь на событие «Статус выполнения изменен», чтобы получать журнал при сбое конвейера
  • Используйте раздел «Дополнительные фильтры», чтобы указать, какой конвейер вы хотите отслеживать (измените ‘deal-UAT’ на ваш конкретный эксперимент ml), например: Расширенные фильтры

Похоже, что много настроек, но это очень просто и быстро сделать, в итоге это будет выглядеть примерно так: Конвейер журналов