本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
您可以使用 Amazon A SageMaker I MLflow 模型生成器将模型部署到 A SageMaker I 终端节点。有关 Amazon A SageMaker I 模型生成器的更多信息,请参阅使用在 Amazon A SageMaker I 中创建模型 ModelBuilder。
ModelBuilder
是一个 Python 类,它接收框架模型或用户指定的推理规范,并将其转换为可部署的模型。有关该ModelBuilder
课程的更多详细信息,请参阅ModelBuilder
要使用部署 MLflow 模型ModelBuilder
,请在model_metadata["MLFLOW_MODEL_PATH"]
属性中提供 MLflow工件的路径。请继续阅读有关有效模型路径输入格式的更多信息:
注意
如果您以 MLflow 运行 ID 或模型注册路径的形式提供 MLflow 模型构件路径,则还必须通过该model_metadata["MLFLOW_TRACKING_ARN"]
属性指定跟踪服务器 ARN。
需要 model_metadata
中 ARN 的模型路径
以下模型路径要求在 model_metadata
中指定 ARN 以进行部署:
在 model_metadata
中不需要 ARN 的模型路径
以下模型路径无需在 model_metadata
中指定 ARN 以进行部署:
本地模型路径:
/Users/me/path/to/local/model
Amazon S3 模型路径:
s3://amzn-s3-demo-bucket/path/to/model
模型软件包 ARN:
arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name
有关 MLflow 模型部署如何与 Amazon A SageMaker I 配合使用的更多信息,请参阅 MLflow 文档中的将 MLflow模型部署到 SageMaker Amazon AI
如果使用 Amazon S3 路径,可以通过以下命令找到注册模型的路径:
registered_model = client.get_registered_model(name='AutoRegisteredModel'
)
source_path = registered_model.latest_versions[0].source
以下示例概述了如何使用ModelBuilder
和 MLflow 模型注册表路径部署 MLflow 模型。由于此示例以模型注册表路径的形式提供了 MLflow 模型构件路径,因此对的调用还ModelBuilder
必须通过属性指定跟踪服务器 ARN。model_metadata["MLFLOW_TRACKING_ARN"]
重要
必须使用 Pyth SageMaker on 软件开发工具包 2.224.0ModelBuilder
注意
请参考以下代码示例。有关向您展示如何部署注册 MLflow 模型的 end-to-end示例,请参阅MLflow 使用示例 Jupyter 笔记本的教程。
from sagemaker.serve import ModelBuilder
from sagemaker.serve.mode.function_pointers import Mode
from sagemaker.serve import SchemaBuilder
my_schema = SchemaBuilder(
sample_input=sample_input
,
sample_output=sample_output
)
model_builder = ModelBuilder(
mode=Mode.SAGEMAKER_ENDPOINT,
schema_builder=my_schema,
role_arn="Your-service-role-ARN
",
model_metadata={
# both model path and tracking server ARN are required if you use an mlflow run ID or mlflow model registry path as input
"MLFLOW_MODEL_PATH": "models:/sklearn-model/1
"
"MLFLOW_TRACKING_ARN": "arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name
"
}
)
model = model_builder.build()
predictor = model.deploy( initial_instance_count=1
, instance_type="ml.c6i.xlarge
" )
要维护使用部署的 MLflow 模型的血统跟踪ModelBuilder
,您必须拥有以下 IAM 权限:
sagemaker:CreateArtifact
sagemaker:ListArtifacts
sagemaker:AddAssociation
sagemaker:DescribeMLflowTrackingServer
重要
任务流水线追踪为可选项。如果没有与任务流水线追踪相关的权限,则部署成功。如果未配置权限,则在调用 model.deploy()
时会出现任务流水线追踪权限错误。不过,端点部署仍会成功,您可以直接与模型端点进行交互。如果配置了上述权限,就会自动创建和存储任务流水线追踪信息。
有关更多信息和 end-to-end示例,请参阅MLflow 使用示例 Jupyter 笔记本的教程。