如何使用 aiplatform.BatchPredictionJob.create() 在 Vertex AI 中配置模型监控?

问题描述 投票:0回答:1

我在使用 aiplatform SDK 设置 Vertex AI 模型监控时遇到问题,特别是在配置 BatchPredictionJob.create() 时。该文档不清楚,并且缺少定义 model_monitoring_objective_config 和 model_monitoring_alert_config 的示例。由于参考不完整和参数映射不清晰,这导致了兼容性问题。

出现主要混乱的原因是这些配置在 SDK 中没有详细记录,需要探索 SDK 源代码以了解正确的结构。此外,SDK 需要 aiplatform.model_monitoring 的配置,官方指南中没有明确说明。

我尝试过的: 我最初参考了 SDK 文档,并根据看似合理的方式尝试了各种配置,假设所有组件都可以直接使用 SDK 的类进行配置。但是,这导致了多个类型和参数不匹配错误。

我的期望: 我期望清晰、简单的文档展示如何在使用 aiplatform.BatchPredictionJob.create() 创建批量预测作业时定义和传递监控配置。

实际发生的事情: 由于 SDK 和 GAPIC API 之间的参数不匹配,我遇到了错误。在探索源代码之后,我意识到必须使用 aiplatform.model_monitoring 类定义所需的配置。这种跨库依赖关系没有记录。

python machine-learning google-cloud-platform google-cloud-vertex-ai mlops
1个回答
0
投票

我在使用 aiplatform SDK 设置 Vertex AI 模型监控时遇到了问题,特别是在配置 BatchPredictionJob.create() 时。挑战在于理解如何传递 model_monitoring_objective_config 和 model_monitoring_alert_config,因为 SDK 文档缺乏明确的示例。

解决方案:
为了解决这个问题,我使用了以下设置:

  1. 导入所需的库:

    from google.cloud import aiplatform

  2. 定义模型监控配置:

    # Define skew detection configuration
    objective_config = aiplatform.model_monitoring.ObjectiveConfig(
    skew_detection_config=aiplatform.model_monitoring.SkewDetectionConfig(
        skew_thresholds={"feature1": 0.3},
        data_source="gs://my-data-classification/train_data_new.csv",
        target_field="type",
        data_format="csv",
        )
     )
    
     # Define email alert configuration
     alert_config = aiplatform.model_monitoring.EmailAlertConfig(
     user_emails=["[email protected]"]
     )
    
  3. 创建批量预测作业:

batch_job = aiplatform.BatchPredictionJob.create(
    job_display_name="vertex_monitoring_job",
    model_name="projects/your_project_id/models/your_model_id",
    instances_format="jsonl",
    predictions_format="jsonl",
    gcs_source=["gs://your-input-data/input.jsonl"],
    gcs_destination_prefix="gs://your-output-data/",
    machine_type="n1-standard-4",
    model_monitoring_objective_config=objective_config,
    model_monitoring_alert_config=alert_config,
)
print(f"Batch job created: {batch_job.resource_name}")

这解决了问题,并且在启用模型监控的情况下成功创建了作业。

主要挑战是理解 model_monitoring_objective_config 和 model_monitoring_alert_config 需要使用 aiplatform.model_monitoring 类构建。我希望这可以帮助任何面临类似困惑的人!

有关使用 Vertex AI 创建完整批量预测管道的更多详细信息,您可以参考我写的这篇博客文章

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.