Amazon SageMaker 模型注册表/管道 - 如何为给定模型版本手动设置阶段?

pro*_*ath 5 machine-learning amazon-web-services amazon-sagemaker mlops

这可能是一个非常具体的问题,但无论如何我都会尝试。

我想在模型注册表中为给定的模型版本显式设置阶段列:

在此输入图像描述

该图片来自文档,仅当您运行他们提供的示例 SageMaker Projects MLOps 模板时才会设置。当我手动创建Model Package(即Model Version)时,该列保持为空。我该如何设置?我该调用什么API?

另外,浏览模型版本历史记录的文档中有如下一句话

在此输入图像描述

我们如何手动发送确切的事件(“部署到阶段 XYZ”)?

我已经彻底检查了 SageMaker MLOps 项目生成的所有文件(CodeBuild Builds、CodePipeline、CloudFormation、各种.py文件、SageMaker Pipeline),但找不到对该事件的任何直接且显式的调用。

我认为它可能以某种方式连接到标签sagemaker:deployment-stage,但我已经将其设置为EndpointEndpointConfigurationModel,但没有成功。我还尝试盲目调用UpdateModelPackage API 并StageCustomerMetadataProperties. 再次 - 没有运气。

我在“活动”选项卡中得到的唯一信息是给定的模型版本已部署到推理端点:

在此输入图像描述

Oli*_*ant 1

您可以通过create_model_package API 或update_model_package APIModelApprovalStatus中的参数设置状态

模型包状态更改应在 EventBridge 中创建一个事件(与许多其他 SageMaker 事件一样)https://docs.aws.amazon.com/sagemaker/latest/dg/automating-sagemaker-with-eventbridge.html#eventbridge-model-package,这使您能够运行您选择的自动化。

在默认的 SageMaker Pipelines 项目模板中,您可以在为部署创建的 CodePipeline 管道中看到 EventBridge 驱动的建议逻辑:您可以在顶部看到“触发器 - CloudWatchEvent”。您不会在 git 中看到事件源代码,因为状态更改预计在该演示模板的 Studio 模型注册表 UI 中完成。

模型注册表发出的那些 EventBridge 事件也可以在一些博客中看到: