Как получить статус конвейера, запущенного внутри компонента, работающего на Vertex AI?

Ранее при использовании Kubeflow Pipelines SDK v1 состояние конвейера можно было вывести во время выполнения конвейера, передав заполнитель Argo, {{workflow.status}}, к компоненту, как показано ниже:

      import kfp.dsl as dsl

component_1 = dsl.ContainerOp(
    name='An example component',
    image='eu.gcr.io/.../my-component-img',
    arguments=[
               'python3', 'main.py',
               '--status', "{{workflow.status}}"
              ]
)

Этот заполнитель будет принимать значение Succeededили же Failedпри передаче компоненту. Одним из вариантов использования для этого может быть отправка предупреждения об ошибке, например. Слабость в сочетании с dsl.ExitHandler.

Однако при использовании Pipeline SDK версии 2 kfp.v2, вместе с Vertex AI для компиляции и запуска конвейера заполнители Argo больше не работают, как описано в этом открытом вопросе. Из-за этого мне понадобится другой способ проверить состояние конвейера внутри компонента. Я думал, что мог бы использовать kfp.Client class, но я предполагаю, что это не будет работать с использованием Vertex AI, поскольку на самом деле нет «хоста». Кроме того, по-видимому, поддерживаются заполнители для передачи идентификатора запуска ( dsl.PIPELINE_JOB_ID_PLACEHOLDER) в качестве заполнителя, согласно этому сообщению SO, но я ничего не могу найти вокруг status.

Есть идеи, как получить статус конвейера, запущенного внутри компонента, работающего на Vertex AI?

1 ответ

Каждый запуск конвейера автоматически регистрируется в Google Logging, как и неудачные запуски конвейера. Журналы ошибок также содержат информацию о конвейере и неисправном компоненте.

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

Журналы для нашего Vertex AI Pipeline мы получаем со следующим фильтром

resource.type=”aiplatform.googleapis.com/PipelineJob” серьезность=(ОШИБКА ИЛИ КРИТИЧЕСКАЯ ИЛИ ПРЕДУПРЕЖДЕНИЕ ИЛИ АВАРИЙНАЯ СИТУАЦИЯ)

Журналы Vertex AI Pipeline

На основе этих журналов вы можете настроить оповещения на основе журналов https://cloud.google.com/logging/docs/alerting/log-based-alerts . Возможны уведомления по электронной почте, Slack, SMS и многим другим.

источник:https://medium.com/google-cloud/google-vertex-ai-the-easiest-way-to-run-ml-pipelines-3a41c5ed153

Другие вопросы по тегам