You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Boto3创建SageMaker模型时,如何关联存储模型评估指标?

解决方案:在SageMaker中关联模型评估指标并部署端点

以下是几种实用的方法,帮你把评估指标和模型绑定,同时满足部署端点的需求:

1. 用模型标签存轻量指标

直接在create_model调用里加Tags参数,把简单的键值对指标(比如准确率、F1值)附上去,适合快速追踪。示例代码:

import boto3

sagemaker_client = boto3.client('sagemaker')

# 定义评估指标标签
model_tags = [
    {'Key': 'eval:accuracy', 'Value': '0.92'},
    {'Key': 'eval:f1_score', 'Value': '0.91'},
    {'Key': 'eval:precision', 'Value': '0.93'}
]

# 创建模型时附加标签
response = sagemaker_client.create_model(
    ModelName='your-model-name',
    ExecutionRoleArn='your-iam-role-arn',
    PrimaryContainer={
        'Image': 'your-inference-image-uri',
        'ModelDataUrl': 's3://your-bucket/model-artifacts/model.tar.gz'
    },
    Tags=model_tags
)

后续用list_tags接口就能查这些指标,或者直接在SageMaker控制台的模型详情页查看。

2. 把指标嵌入模型包(适合结构化/大量指标)

如果指标多、需要结构化存储,把评估指标写成JSON文件(比如evaluation_metrics.json),和模型文件一起打包成model.tar.gz上传到S3。这样模型和指标完全绑定,后续部署或排查时能直接从S3解压读取。

打包命令示例:

tar -czvf model.tar.gz your-model-file.pth evaluation_metrics.json
aws s3 cp model.tar.gz s3://your-bucket/model-path/

部署后,推理容器还能读取这个JSON文件,甚至可以在端点里加个额外的接口返回指标,方便调用方查看。

3. 用模型注册表做规范管理(ML Ops流程推荐)

要是需要更规范的版本追踪、审计,把模型注册到SageMaker模型注册表,这里能直接附加评估指标、训练信息、数据集关联等元数据,更贴合ML Ops的流程。

步骤示例:

  • 先创建模型包组:
sagemaker_client.create_model_package_group(
    ModelPackageGroupName='your-model-group-name'
)
  • 然后创建带指标的模型包:
model_package = sagemaker_client.create_model_package(
    ModelPackageGroupName='your-model-group-name',
    ModelPackageDescription='Customer churn prediction model with evaluation metrics',
    InferenceSpecification={
        'Containers': [{
            'Image': 'your-inference-image-uri',
            'ModelDataUrl': 's3://your-bucket/model-artifacts/model.tar.gz'
        }],
        'SupportedRealtimeInferenceInstanceTypes': ['ml.t2.medium']
    },
    ModelMetrics={
        'ModelQuality': {
            'Statistics': {
                'ContentType': 'application/json',
                'S3Uri': 's3://your-bucket/model-metrics/quality-stats.json'
            }
        }
    }
)

之后用模型包的ARN创建模型部署端点,指标会和模型版本绑定,后续在模型注册表就能一键查看所有关联信息。

4. 部署端点时关联指标

如果已经创建了模型,也可以在做端点配置时加标签,把指标和端点绑定,方便直接对应到部署的模型:

# 创建端点配置时附加指标标签
sagemaker_client.create_endpoint_config(
    EndpointConfigName='your-endpoint-config',
    ProductionVariants=[{
        'VariantName': 'primary',
        'ModelName': 'your-existing-model-name',
        'InitialInstanceCount': 1,
        'InstanceType': 'ml.t2.medium'
    }],
    Tags=[
        {'Key': 'model_eval:accuracy', 'Value': '0.92'},
        {'Key': 'model_version', 'Value': 'v1.0'}
    ]
)

# 用配置创建端点
sagemaker_client.create_endpoint(
    EndpointName='your-production-endpoint',
    EndpointConfigName='your-endpoint-config'
)

内容的提问来源于stack exchange,提问作者user4923

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 08:01:45