Как получить статус конвейера, запущенного внутри компонента, работающего на 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” серьезность=(ОШИБКА ИЛИ КРИТИЧЕСКАЯ ИЛИ ПРЕДУПРЕЖДЕНИЕ ИЛИ АВАРИЙНАЯ СИТУАЦИЯ)
На основе этих журналов вы можете настроить оповещения на основе журналов 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