

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 模型治理，以管理权限和跟踪模型性能
模型治理

模型治理是一个框架，您可以通过该框架系统地了解机器学习 (ML) 模型的开发、验证和使用。Amazon SageMaker AI 提供专门构建的机器学习治理工具，用于管理整个机器学习生命周期中的控制访问权限、活动跟踪和报告。

使用 Amazon Role Manager 管理机器学习从业者的最低权限权限，使用亚马逊 SageMaker 模型卡片创建详细的模型文档，并使用亚马逊模型控制面板通过集中式控制面板了解您的 SageMaker 模型。 SageMaker 

## Amazon SageMaker 角色管理器


借助 Amazon SageMaker Role Manager，管理员可以为常见的机器学习活动定义具有最低权限的用户权限。使用 Amazon SageMaker Role Manager 来构建和管理特定于您的业务需求的基于角色的 IAM 角色。

有关更多信息，请参阅 [Amazon SageMaker 角色管理器](role-manager.md)。

## 亚马逊 SageMaker 模型卡


使用 Amazon SageMaker 模型卡片记录、检索和共享从构思到部署的基本模型信息。有了模型卡，模型风险管理人员、数据科学家和机器学习工程师就可以创建关于模型预期用途、风险评级、训练详细信息、评估结果等的不可改变的记录。

有关更多信息，请参阅 [亚马逊 SageMaker 模型卡](model-cards.md)。

## 亚马逊 SageMaker 模型控制面板


Amazon SageMaker 模型控制面板是您账户中所有模型的预先构建的可视化概览。 SageMaker 模型控制面板集成了来自 Amazon SageMaker 模型监视器、转换作业、终端节点、机器学习血统跟踪和 Amazon 的宝贵信息， CloudWatch 因此您可以在一个统一的视图中访问高级模型信息并跟踪模型性能。

有关更多信息，请参阅 [亚马逊 SageMaker 模型控制面板](model-dashboard.md)。

## 亚马逊 SageMaker 资产


Amazon Ass SageMaker ets 是一个简化机器学习监管的新工作流程。它允许用户轻松发布、共享和订阅 ML 资产和数据资产，如特征组和 Amazon Redshift 表。

管理员使用 Amazon DataZone 来设置数据库和机器学习基础设施，以便用户在 Amazon SageMaker Studio 内共享资产。设置完成后，用户之间可以无缝共享资产，无需额外的管理员开销。有关 Amazon SageMaker 资产的更多信息，请参阅[使用 Amazon 资产控制对 SageMaker 资产的访问](sm-assets.md)。

# 亚马逊 SageMaker 模型卡
模型卡

**重要**  
Amazon SageMaker 模型卡已与 SageMaker 模型注册表集成。如果要在模型注册中心注册模型，可以使用集成来添加审核信息。有关更多信息，请参阅 [更新模型版本的详细信息](model-registry-details.md)。

使用 Amazon SageMaker 模型卡片在一个地方记录有关您的机器学习 (ML) 模型的关键细节，以简化管理和报告。模型卡可以帮助您在模型的整个生命周期中捕捉有关模型的关键信息，并实施负责任的人工智能实践。

编目详细信息，例如模型的预期用途和风险评级、训练详细信息和指标、评估结果和观测结果，以及额外的标注，例如注意事项、建议和自定义信息。通过创建模型卡，您可以执行以下操作：
+ 提供有关如何使用模型的指导。
+ 通过详细描述模型训练和性能，为审计活动提供支持。
+ 说明模型如何支持业务目标。

模型卡为记录哪些信息提供了规范性指导，并包含自定义信息字段。创建模型卡后，您可以将其导出为 PDF 或下载，以与相关的利益相关者共享。除批准状态更新外，对模型卡的任何编辑都会导致额外的模型卡版本，以便具有不可改变的模型更改记录。

**Topics**
+ [

## 先决条件
](#model-cards-prerequisites)
+ [

## 模型的预期用途
](#model-cards-intended-uses)
+ [

## 风险评级
](#model-cards-risk-rating)
+ [

## 模型卡 JSON 架构
](#model-cards-json-schema)
+ [

# 创建模型卡
](model-cards-create.md)
+ [

# 模型卡操作
](model-cards-manage.md)
+ [

# 为 Amazon SageMaker 模型卡设置跨账户支持
](model-cards-xaccount.md)
+ [

# 模型卡牌 SageMaker APIs 的低等级
](model-cards-apis.md)
+ [

# 模型卡 FAQs
](model-cards-faqs.md)

## 先决条件


要开始使用 Amazon SageMaker 模型卡，您必须拥有创建、编辑、查看和导出模型卡的权限。

## 模型的预期用途


指定模型的预期用途有助于确保模型开发人员和用户获得负责任地训练或部署模型所需的信息。模型的预期用途应说明适合使用该模型的场景，以及不建议使用该模型的场景。

我们建议包括：
+ 模型的一般用途 
+ 模型适用的使用案例 
+ 模型不适用的使用案例
+ 开发模型时做出的假设

模型的预期用途不仅限于技术细节，还描述了应如何在生产中使用模型、适合使用模型的场景以及其他注意事项，例如模型使用的数据类型或开发过程中做出的任何假设。

## 风险评级


开发人员为具有不同风险级别的使用案例创建机器学习模型。例如，批准贷款申请的模型可能比检测电子邮件类别的模型风险更高。鉴于模型的风险状况各不相同，模型卡为您提供了一个对模型的风险评级进行分类的字段。

此风险评级可以是 `unknown`、`low`、`medium` 或 `high`。使用这些风险评级字段来标注未知、低、中或高风险模型，并帮助您的组织遵守有关将某些模型投入生产的任何现有规则。

## 模型卡 JSON 架构


模型卡的评估详细信息必须以 JSON 格式提供。[如果您有由 Clarify 或 [SageMaker AI 模型监控器](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality.html)生成的 SageMaker JSON 格式评估报告，请将其上传到 Amazon S3 并提供 S3 URI 以自动解析评估指标。](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-processing-job-run.html)有关更多信息和示例报告，请参阅 *Amazon SageMaker 模型治理——模型卡*示例笔记本中的示例[指标](https://github.com/aws/amazon-sagemaker-examples/tree/main/sagemaker_model_governance/example_metrics)文件夹。

使用 SageMaker Python SDK 创建模型卡片时，模型内容必须位于模型卡 JSON 架构中并以字符串形式提供。提供类似于以下示例的模型内容。

### 模型卡 JSON 架构示例文件


```
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "http://json-schema.org/draft-07/schema#",
  "title": "SageMakerModelCardSchema",
  "description": "Internal model card schema for SageMakerRepositoryService without model_package_details",
  "version": "0.1.0",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "model_overview": {
      "description": "Overview about the model",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "model_description": {
          "description": "description of model",
          "type": "string",
          "maxLength": 1024
        },
        "model_creator": {
          "description": "Creator of model",
          "type": "string",
          "maxLength": 1024
        },
        "model_artifact": {
          "description": "Location of the model artifact",
          "type": "array",
          "maxContains": 15,
          "items": {
            "type": "string",
            "maxLength": 1024
          }
        },
        "algorithm_type": {
          "description": "Algorithm used to solve the problem",
          "type": "string",
          "maxLength": 1024
        },
        "problem_type": {
          "description": "Problem being solved with the model",
          "type": "string"
        },
        "model_owner": {
          "description": "Owner of model",
          "type": "string",
          "maxLength": 1024
        }
      }
    },
    "intended_uses": {
      "description": "Intended usage of model",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "purpose_of_model": {
          "description": "Why the model was developed?",
          "type": "string",
          "maxLength": 2048
        },
        "intended_uses": {
          "description": "intended use cases",
          "type": "string",
          "maxLength": 2048
        },
        "factors_affecting_model_efficiency": {
          "type": "string",
          "maxLength": 2048
        },
        "risk_rating": {
          "description": "Risk rating for model card",
          "$ref": "#/definitions/risk_rating"
        },
        "explanations_for_risk_rating": {
          "type": "string",
          "maxLength": 2048
        }
      }
    },
    "business_details": {
      "description": "Business details of model",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "business_problem": {
          "description": "What business problem does the model solve?",
          "type": "string",
          "maxLength": 2048
        },
        "business_stakeholders": {
          "description": "Business stakeholders",
          "type": "string",
          "maxLength": 2048
        },
        "line_of_business": {
          "type": "string",
          "maxLength": 2048
        }
      }
    },
    "training_details": {
      "description": "Overview about the training",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "objective_function": {
          "description": "the objective function the model will optimize for",
          "function": {
            "$ref": "#/definitions/objective_function"
          },
          "notes": {
            "type": "string",
            "maxLength": 1024
          }
        },
        "training_observations": {
          "type": "string",
          "maxLength": 1024
        },
        "training_job_details": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "training_arn": {
              "description": "SageMaker Training job arn",
              "type": "string",
              "maxLength": 1024
            },
            "training_datasets": {
              "description": "Location of the model datasets",
              "type": "array",
              "maxContains": 15,
              "items": {
                "type": "string",
                "maxLength": 1024
              }
            },
            "training_environment": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "container_image": {
                  "description": "SageMaker training image uri",
                  "type": "array",
                  "maxContains": 15,
                  "items": {
                    "type": "string",
                    "maxLength": 1024
                  }
                }
              }
            },
            "training_metrics": {
              "type": "array",
              "items": {
                "maxItems": 50,
                "$ref": "#/definitions/training_metric"
              }
            },
            "user_provided_training_metrics": {
              "type": "array",
              "items": {
                "maxItems": 50,
                "$ref": "#/definitions/training_metric"
              }
            },
            "hyper_parameters": {
              "type": "array",
              "items": {
                "maxItems": 100,
                "$ref": "#/definitions/training_hyper_parameter"
              }
            },
            "user_provided_hyper_parameters": {
              "type": "array",
              "items": {
                "maxItems": 100,
                "$ref": "#/definitions/training_hyper_parameter"
              }
            }
          }
        }
      }
    },
    "evaluation_details": {
      "type": "array",
      "default": [],
      "items": {
        "type": "object",
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "pattern": ".{1,63}"
          },
          "evaluation_observation": {
            "type": "string",
            "maxLength": 2096
          },
          "evaluation_job_arn": {
            "type": "string",
            "maxLength": 256
          },
          "datasets": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 1024
            },
            "maxItems": 10
          },
          "metadata": {
            "description": "additional attributes associated with the evaluation results",
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "maxLength": 1024
            }
          },
          "metric_groups": {
            "type": "array",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "name",
                "metric_data"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "pattern": ".{1,63}"
                },
                "metric_data": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "$ref": "#/definitions/simple_metric"
                      },
                      {
                        "$ref": "#/definitions/linear_graph_metric"
                      },
                      {
                        "$ref": "#/definitions/bar_chart_metric"
                      },
                      {
                        "$ref": "#/definitions/matrix_metric"
                      }
                    ]

                  }
                }
              }
            }
          }
        }
      }
    },
    "additional_information": {
      "additionalProperties": false,
      "type": "object",
      "properties": {
        "ethical_considerations": {
          "description": "Any ethical considerations that the author wants to provide",
          "type": "string",
          "maxLength": 2048
        },
        "caveats_and_recommendations": {
          "description": "Caveats and recommendations for people who might use this model in their applications.",
          "type": "string",
          "maxLength": 2048
        },
        "custom_details": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/custom_property"
          }
        }
      }
    }
  },
  "definitions": {
    "source_algorithms": {
      "type": "array",
      "minContains": 1,
      "maxContains": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "algorithm_name"
        ],
        "properties": {
          "algorithm_name": {
            "description": "The name of an algorithm that was used to create the model package. The algorithm must be either an algorithm resource in your SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.",
            "type": "string",
            "maxLength": 170
          },
          "model_data_url": {
            "description": "The Amazon S3 path where the model artifacts, which result from model training, are stored.",
            "type": "string",
            "maxLength": 1024
          }
        }
      }
    },
    "inference_specification": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "containers"
      ],
      "properties": {
        "containers": {
          "description": "Contains inference related information which were used to create model package.",
          "type": "array",
          "minContains": 1,
          "maxContains": 15,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "image"
            ],
            "properties": {
              "model_data_url": {
                "description": "The Amazon S3 path where the model artifacts, which result from model training, are stored.",
                "type": "string",
                "maxLength": 1024
              },
              "image": {
                "description": "Inference environment path. The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored.",
                "type": "string",
                "maxLength": 255
              },
              "nearest_model_name": {
                "description": "The name of a pre-trained machine learning benchmarked by Amazon SageMaker Inference Recommender model that matches your model.",
                "type": "string"
              }
            }
          }
        }
      }
    },
    "risk_rating": {
      "description": "Risk rating of model",
      "type": "string",
      "enum": [
        "High",
        "Medium",
        "Low",
        "Unknown"
      ]
    },
    "custom_property": {
      "description": "Additional property in section",
      "type": "string",
      "maxLength": 1024
    },
    "objective_function": {
      "description": "objective function that training job is optimized for",
      "additionalProperties": false,
      "properties": {
        "function": {
          "type": "string",
          "enum": [
            "Maximize",
            "Minimize"
          ]
        },
        "facet": {
          "type": "string",
          "maxLength": 63
        },
        "condition": {
          "type": "string",
          "maxLength": 63
        }
      }
    },
    "training_metric": {
      "description": "training metric data",
      "type": "object",
      "required": [
        "name",
        "value"
      ],
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "pattern": ".{1,255}"
        },
        "notes": {
          "type": "string",
          "maxLength": 1024
        },
        "value": {
          "type": "number"
        }
      }
    },
    "training_hyper_parameter": {
      "description": "training hyper parameter",
      "type": "object",
      "required": [
        "name"
      ],
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "pattern": ".{1,255}"
        },
        "value": {
          "type": "string",
          "pattern": ".{0,255}"
        }
      }
    },
    "linear_graph_metric": {
      "type": "object",
      "required": [
        "name",
        "type",
        "value"
      ],
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "pattern": ".{1,255}"
        },
        "notes": {
          "type": "string",
          "maxLength": 1024
        },
        "type": {
          "type": "string",
          "enum": [
            "linear_graph"
          ]
        },
        "value": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "minItems": 2,
                "maxItems": 2
              },
              "minItems": 1
            }
          ]
        },
        "x_axis_name": {
          "$ref": "#/definitions/axis_name_string"
        },
        "y_axis_name": {
          "$ref": "#/definitions/axis_name_string"
        }
      }
    },
    "bar_chart_metric": {
      "type": "object",
      "required": [
        "name",
        "type",
        "value"
      ],
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "pattern": ".{1,255}"
        },
        "notes": {
          "type": "string",
          "maxLength": 1024
        },
        "type": {
          "type": "string",
          "enum": [
            "bar_chart"
          ]
        },
        "value": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "number"
              },
              "minItems": 1
            }
          ]
        },
        "x_axis_name": {
          "$ref": "#/definitions/axis_name_array"
        },
        "y_axis_name": {
          "$ref": "#/definitions/axis_name_string"
        }
      }
    },
    "matrix_metric": {
      "type": "object",
      "required": [
        "name",
        "type",
        "value"
      ],
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "pattern": ".{1,255}"
        },
        "notes": {
          "type": "string",
          "maxLength": 1024
        },
        "type": {
          "type": "string",
          "enum": [
            "matrix"
          ]
        },
        "value": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "minItems": 1,
                "maxItems": 20
              },
              "minItems": 1,
              "maxItems": 20
            }
          ]
        },
        "x_axis_name": {
          "$ref": "#/definitions/axis_name_array"
        },
        "y_axis_name": {
          "$ref": "#/definitions/axis_name_array"
        }
      }
    },
    "simple_metric": {
      "description": "metric data",
      "type": "object",
      "required": [
        "name",
        "type",
        "value"
      ],
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "pattern": ".{1,255}"
        },
        "notes": {
          "type": "string",
          "maxLength": 1024
        },
        "type": {
          "type": "string",
          "enum": [
            "number",
            "string",
            "boolean"
          ]
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "maxLength": 63
            },
            {
              "type": "boolean"
            }
          ]
        },
        "x_axis_name": {
          "$ref": "#/definitions/axis_name_string"
        },
        "y_axis_name": {
          "$ref": "#/definitions/axis_name_string"
        }
      }
    },
    "axis_name_array": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 63
      }
    },
    "axis_name_string": {
      "type": "string",
      "maxLength": 63
    }
  }
}
```

# 创建模型卡


**重要**  
允许 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 创建亚马逊 SageMaker资源的自定义 IAM 策略还必须授予向这些资源添加标签的权限。之所以需要为资源添加标签的权限，是因为 Studio 和 Studio Classic 会自动为创建的任何资源添加标签。如果 IAM 策略允许 Studio 和 Studio Classic 创建资源但不允许标记，则在尝试创建资源时可能会出现 AccessDenied “” 错误。有关更多信息，请参阅 [提供标记 A SageMaker I 资源的权限](security_iam_id-based-policy-examples.md#grant-tagging-permissions)。  
[AWS 亚马逊 A SageMaker I 的托管策略](security-iam-awsmanpol.md)授予创建 SageMaker 资源的权限已经包括在创建这些资源时添加标签的权限。

你可以使用 A SageMaker I 控制台或 SageMaker Python 软件开发工具包创建亚马逊 SageMaker 模型卡。还可以直接使用 API 操作。有关这些 API 操作的更多信息，请参阅[模型卡牌 SageMaker APIs 的低等级](model-cards-apis.md)。

## 使用 SageMaker AI 控制台创建模型卡片


前往 Amazon SageMaker AI 控制台。在导航窗格的**治理**下，选择**模型卡**。在右上角，选择**创建模型卡**。

完成**创建模型卡**提示中的四个步骤，记录有关模型的详细信息。

### 步骤 1：输入模型详细信息和预期用途


如果您的模型是一种 AWS 资源，请在此字段中指定确切的模型名称以自动填充模型详细信息。要浏览现有模型名称，请参阅 Amazon A SageMaker I 控制台中的**模型**。每个唯一的模型名称只能有一张关联的模型卡。

如果您的模型不是 AWS 资源，请为您的模型提供一个唯一的名称。要将模型添加为 AWS 资源，请参阅 *Amazon A SageMaker I 开发者指南*中的[创建模型](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints-deployment.html#realtime-endpoints-deployment-create-model)。或者，您可以使用 [SageMaker AI Marketplace 或 SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-marketplace.html) 模型[注册表将您的模型添加为模型](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry.html)包。

有关预期用途的更多信息，请参阅[模型的预期用途](model-cards.md#model-cards-intended-uses)。有关风险评级的更多信息，请参阅[风险评级](model-cards.md#model-cards-risk-rating)。

#### 步骤 2：输入训练详细信息


将任何训练详细信息、训练观测值、数据集、超参数以及有关模型目标函数的详细信息添加到模型卡中。

模型卡中的目标函数可以是训练期间经过优化的任何函数。这可能包括但不限于成本函数、损失函数或目标指标。在本节中，记录对训练模型最重要的目标函数。

我们建议您对目标函数的以下属性进行编目：
+ 优化方向
+ 指标
+ 说明

例如，您可以尽可能减小（优化方向）二进制分类问题（描述）的交叉熵损失（指标），也可以尽可能提高逻辑回归的可能性。此外，您可以提供注释，说明为什么选择此目标函数而不是其他目标函数。

#### 步骤 3：输入评估详细信息


如果您有由 SageMaker Clarify 或 Model Monitor 生成的现有评估报告，请为这些报告提供 S3 URI，或者手动上传这些报告以将其添加到模型卡片中。

有关 Clarify 的 SageMaker 更多信息，请参阅[运行 Clar SageMaker ify 处理作业以进行偏见分析和可解释性](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-processing-job-run.html)。

有关使用 Model Monitor 监控模型质量指标中偏差的更多信息，请参阅[监控模型质量](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality.html)。

要添加自己的评估报告，请选择**通用模型卡评估**。所有模型卡评估报告都必须采用[模型卡 JSON 架构](model-cards.md#model-cards-json-schema)。

#### 步骤 4：输入其他详细信息


添加自定义的模型卡详细信息字段，以便在模型卡上显示任何其他信息。例如，您可以添加值为*个人理财* 的自定义字段*业务线*。

#### 保存模型卡


查看模型卡中的信息后，选择右下角的**保存**以保存模型卡。

## 使用 SageMaker Python 软件开发工具包创建模型卡片


创建模型卡之前，必须先定义模型卡的内容。使用 SageMaker Python SDK 时，模型内容包括模型概述、训练详情、预期用途、评估详情和其他信息。

可以为以下对象创建模型卡：
+ 托管在 SageMaker AI 中的模型
+ 模型注册表中的模型包（ SageMaker 模型）
+ 在 SageMaker AI 之外托管或注册的模型

您也可以在不关联任何模型的情况下创建模型卡。

我们建议将您训练过的模型添加到 SageMaker 模型注册表中。模型注册表可帮助您对模型进行编目和跟踪模型版本。创建模型卡时，模型注册表中有关该模型的信息会自动填充到模型卡中。创建模型卡后，您可以对其进行编辑或向其添加信息。

有关使用模型注册表的信息，请参阅[利用模型注册中心进行模型注册部署](model-registry.md)。有关从模型注册表创建模型卡的信息，请参阅[在模型注册表中为您的模型创建 SageMaker 模型卡](#model-cards-sdk-create-model-registry)。

**注意**  
要将模型卡与 SageMaker Python SDK 配合使用，您首先需要建立 A SageMaker I 会话。有关更多信息，请参阅 SageMaker Python SDK API 参考中的[会话](https://sagemaker.readthedocs.io/en/stable/api/utility/session.html)。

要为不在模型注册表中的模型创建 SageMaker 模型卡，请参阅[创建模型注册表中没有的模型](#model-card-sdk-create-model-non-model-registry)。

### 创建模型注册表中没有的模型


使用以下几节中的信息为尚未添加到模型注册表的模型创建模型卡。

#### 步骤 1：定义模型概述


定义模型的概述。

```
model_overview = ModelOverview.from_model_name(
model_name=model_name,
sagemaker_session=sagemaker_session,
model_description="A-description-of-your-model",
problem_type="Problem-type", # For example, "Binary Classification"
algorithm_type="Algorithm-type", # For example, "Logistic Regression"
model_creator="Name-of-model-creator",
model_owner="Name-of-model-owner",
)
```

如果您的模型是一种 AWS 资源，则可以自动检索模型 ARN、推理容器 URI 和模型工件的 S3 位置等概述信息。使用以下命令打印关联的 AWS 元数据：

```
print(model_overview.model_id)
print(model_overview.inference_environment.container_image)
print(model_overview.model_artifact)
```

#### 步骤 2：定义训练详细信息


要定义模型的训练详细信息，必须先定义其目标函数。

```
objective_function = ObjectiveFunction(
    function=Function(
        function=ObjectiveFunctionEnum.MINIMIZE,
        facet=FacetEnum.LOSS,
    ),
    notes="An-explanation-about-objective-function",
)
```

接下来，您可以使用现有的模型概述、会话和目标函数来定义训练详细信息。在此处添加任何训练观测值。

```
training_details = TrainingDetails.from_model_overview(
    model_overview=model_overview,
    sagemaker_session=sagemaker_session,
    objective_function=objective_function,
    training_observations="Model-training-observations",
)
```

同样，如果您的模型是一种 AWS 资源，则某些训练详细信息会自动填充。使用以下命令打印训练作业 ARN、训练容器 URI 和训练指标：

```
print(training_details.training_job_details.training_arn)
print(training_details.training_job_details.training_environment.container_image) 
print([{"name": i.name, "value": i.value} for i in training_details.training_job_details.training_metrics])
```

#### 定义评估详细信息


要定义模型的评估详细信息，必须先定义一个或多个指标组来描述用于任何评估作业的指标。

```
my_metric_group = MetricGroup(
name="binary classification metrics",
metric_data=[Metric(name="accuracy", type=MetricTypeEnum.NUMBER, value=0.5)]
)
```

接下来，您可以使用每项评估作业的评估指标和数据集来定义评估详细信息。在此处添加任何评估观测值，并为评估作业提供唯一名称。

```
evaluation_details = [
    EvaluationJob(
        name="Example-evaluation-job",
        evaluation_observation="Evaluation-observations",
        datasets=["s3://path/to/evaluation/data"],
        metric_groups=[my_metric_group],
    )
]
```

如果您有由 [SageMaker AI Clarify 或 A SageMaker I](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-processing-job-run.html) [模型监控器](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality.html)生成的现有评估报告，请将其上传到 Amazon S3 并提供 S3 URI 以自动解析评估指标。要添加自己的通用模型卡评估报告，请提供采用[评估结果 JSON 格式](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards-json-schema.html)的报告。

```
report_type = "clarify_bias.json"
example_evaluation_job.add_metric_group_from_json(
    f"example_metrics/{report_type}", EvaluationMetricTypeEnum.CLARIFY_BIAS
)
```

#### 第 3 步：定义预期用途


定义模型的预期用途，包括模型的一般用途及其预期使用案例。此外，还建议将可能影响此模型在特定使用案例中功效的任何因素以及贵组织对该模型的风险评级包括在内。有关更多信息，请参阅[模型的预期用途](model-cards.md#model-cards-intended-uses)和[风险评级](model-cards.md#model-cards-risk-rating)。

```
intended_uses = IntendedUses(
purpose_of_model="Purpose-of-the-model",
intended_uses="The-intended-uses-of-this-model",
factors_affecting_model_efficiency="Any-factors-effecting-model-efficacy",
risk_rating=RiskRatingEnum.LOW,
explanations_for_risk_rating="Explanation-for-low-risk-rating",
)
```

#### 定义其他信息


最后，您可以向模型卡添加其他自定义信息。您可以记录有关模型的任何道德考虑、注意事项和建议。还可以以键值对的形式添加所需的任何自定义详细信息。

```
additional_information = AdditionalInformation(
ethical_considerations="Any-ethical-considerations",
caveats_and_recommendations="Any-caveats-and-recommendations",
custom_details={"custom details1": "details-value"},
)
```

#### 第 4 步：创建模型卡


为模型卡命名，定义模型卡片，然后使用该定义使用 SageMaker Python SDK 创建模型卡片。

```
model_card_name = "my-model-card"
my_card = ModelCard(
    name=model_card_name,
    status=ModelCardStatusEnum.DRAFT,
    model_overview=model_overview,
    training_details=training_details,
    intended_uses=intended_uses,
    evaluation_details=evaluation_details,
    additional_information=additional_information,
    sagemaker_session=sagemaker_session,
)
my_card.create()
```

### 在模型注册表中为您的模型创建 SageMaker 模型卡


开始创建模型卡之前，请确保已创建模型包组和模型包。有关使用模型注册表的更多信息，请参阅[利用模型注册中心进行模型注册部署](model-registry.md)。

**重要**  
您必须拥有使用 “ SageMaker 模型注册表” 中操作的权限。我们建议使用`AmazonSageMakerModelRegistryFullAccess` AWS 托管策略。有关托管策略的更多信息，请参阅 [AWS 模型注册管理机构的托管策略](security-iam-awsmanpol-model-registry.md)。

使用 SageMaker Python SDK 在模型注册表中为模型包创建 SageMaker 模型卡。模型包是您训练过的模型。当您创建模型卡时，Amazon SageMaker 模型卡会自动将模型包中的数据导入模型卡片中。

当您为模型包创建模型卡时，Amazon SageMaker 模型卡使用该[DescribeModelPackage](https://docs.aws.amazon.com/APIReference/API_DescribeModelPackage.html#API_DescribeModelPackage_ResponseSyntax)操作将模型包中的数据添加到模型卡中。以下是可从模型包导入模型卡的字段的示例：
+ [ModelDataUrl](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelPackageContainerDefinition.html#sagemaker-Type-ModelPackageContainerDefinition-ModelDataUrl)
+ [ModelPackageDescription](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html#sagemaker-DescribeModelPackage-response-ModelPackageDescription)
+ [ModelPackageGroupName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html#sagemaker-DescribeModelPackage-response-ModelPackageGroupName)
+ [ModelPackageStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html#sagemaker-DescribeModelPackage-response-ModelPackageStatus)
+ [ModelPackageVersion](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html#sagemaker-DescribeModelPackage-response-ModelPackageVersion)

使用以下代码来定义模型包并从中创建模型卡：

```
mp_details = ModelPackage.from_model_package_arn(
    model_package_arn="example_model_package_arn",
    sagemaker_session=sagemaker_session,
)

model_card_name = "example-model-card"
my_card = ModelCard(
    name=model_card_name,
    status=ModelCardStatusEnum.status,
    model_package_details=mp_details,
    sagemaker_session=sagemaker_session,
)
my_card.create()
```

对于 `status`，您要指定模型卡的批准状态。如果您未指定状态，则 SageMaker 模型卡片将使用默认值`DRAFT`。如果您未指定 A SageMaker I 会话，则 SageMaker 模型卡片将使用默认 SageMaker AI 会话。

必须指定模型名称和模型包的 Amazon 资源名称 (ARN)。有关获取模型包的 Amazon 资源名称 (ARN) 的信息，请参阅[查看和更新模型版本的详细信息 (Boto3)](model-registry-details.md#model-registry-details-api)。

您从模型包中创建的模型卡可能存在信息缺失或不准确的情况。您可以向模型卡添加信息或对其进行编辑。有关管理模型卡的更多信息，请参阅[模型卡操作](model-cards-manage.md)。

SageMaker 模型注册表支持模型包的版本控制。您可以对模型包进行版本控制，并为每个版本创建模型卡。先前版本模型卡中的信息会延续到后续版本创建的模型卡中。例如，一个模型包可以有版本 1、版本 2 和版本 3。假设您已为版本 1 创建了模型卡，但还没有为版本 2 创建模型卡。如果您为版本 3 创建模型卡，Amazon SageMaker 模型卡片会自动将版本 1 的模型卡中的信息传送到版本 3 的模型卡。

**注意**  
您也可以为不使用版本控制的模型包创建模型卡。但是，大多数机器学习工作流都涉及同一模型的多个版本，因此我们建议您执行以下操作：  
为每个模型包创建版本
为模型包的每个版本创建模型卡

# 模型卡操作


创建模型卡后，您可以对其进行管理。管理模型卡包括以下操作：
+ 编辑模型卡
+ 删除模型卡
+ 将模型卡导出为 PDF

您可以使用亚马逊 A SageMaker I 控制台或 SageMaker Python 软件开发工具包进行管理。有关使用 Python 开发工具包的更多信息，请参阅 Py SageMaker thon SDK API 参考中的[亚马逊 SageMaker 模型卡](https://sagemaker.readthedocs.io/en/stable/api/governance/model_card.html)。

有关使用 SageMaker Python SDK 的笔记本示例，请参阅 *[Amazon SageMaker 模型治理——模型卡](https://github.com/aws/amazon-sagemaker-examples/tree/main/sagemaker_model_governance/model_card.ipynb)*示例笔记本。

**Topics**
+ [

# 编辑模型卡
](model-cards-console-edit.md)
+ [

# 导出模型卡
](model-cards-console-export.md)
+ [

# 删除模型卡
](model-cards-console-delete.md)

# 编辑模型卡


要编辑模型卡，请在 Amazon 模型卡控制台中选择模型卡的名称，导航到您选择的 SageMaker 模型卡，然后选择**编辑**。

保存模型卡后，将无法编辑该模型卡的名称。保存模型卡版本后，将无法更新该版本的模型卡。您需要进行的任何编辑都将保存为后续版本，以便拥有不可改变的模型更改记录。

要查看模型卡的不同版本，请选择**操作**、**选择版本**，然后选择要查看的版本。

您可以使用 `model_card.update()` 方法编辑模型卡。更新模型卡会创建新的模型卡版本，以便拥有不可改变的模型更改记录。您无法更新模型卡的名称。

```
my_card.model_overview.model_description = "updated-model-decription"
my_card.update()
```

# 导出模型卡


按照以下步骤导出模型卡。

1. 前往 Amazon SageMaker 模型卡控制台。

1. 选择要导出的模型卡的名称。

1. 在模型卡概述中，选择**操作**，然后选择**导出 PDF**。

1. 输入 S3 URI 或浏览模型卡 PDF 的可用 S3 存储桶。

1. 如果模型卡成功导出，则可在生成的横幅中选择**下载 PDF**，也可以直接从 Amazon S3 下载 PDF。

您可以通过指定 S3 输出路径在 SageMaker Python SDK 中导出模型卡，然后使用以下命令将模型卡 PDF 导出到该卡片中：

```
s3_output_path = f"s3://{bucket}/{prefix}/export"
pdf_s3_url = my_card.export_pdf(s3_output_path=s3_output_path).delete()
```

# 删除模型卡


按照以下步骤永久删除一张或多张模型卡。

1. 前往 Amazon SageMaker Model Cards 控制台。

1. 选中要删除的卡名称左侧的框。

1. 选择右上角的**删除**。

1. 确认您的请求，永久删除一张或多张卡。

在控制台中查看模型卡概览时，也可以删除模型卡，方法是选择**操作**，然后选择**删除模型卡**。

在 SageMaker Python SDK 中，您可以使用以下命令永久删除模型卡片：

```
my_card.delete()
```

# 为 Amazon SageMaker 模型卡设置跨账户支持
建立跨账户支持

使用 Amazon SageMaker 模型卡片中的跨账户支持在 AWS 账户之间共享模型卡。创建模型卡的账户是*模型卡账户*。模型卡账户中的用户与*共享账户* 共享模型卡。共享账户中的用户可以更新模型卡片或创建 PDFs 模型卡。

模型卡账户中的用户通过 AWS Resource Access Manager (AWS RAM) 共享他们的模型卡。 AWS RAM 帮助您跨 AWS 账户共享资源。有关简介 AWS RAM，请参阅[什么是 AWS Resource Access Manager？](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html)

以下是共享模型卡的过程：

1. 模型卡账户中的用户使用 AWS Resource Access Manager设置跨账户模型卡共享。

1. 如果模型卡使用 AWS KMS 密钥加密，则设置模型共享的用户还必须为共享账户中的用户提供 AWS KMS 权限。

1. 共享账户中的用户接受资源共享的邀请。

1. 共享账户中的用户向其他用户提供访问模型卡的权限。

如果您是模型卡账户中的用户，请参阅以下章节：
+ [设置跨账户模型卡共享](#model-cards-xaccount-set-up)
+ [为共享账户设置 AWS KMS 权限](#model-cards-xaccount-kms)
+ [获取对资源共享邀请的回复](#model-cards-xaccount-set-up-responses)

如果您是共享账户中的用户，请参阅[在共享账户中设置 IAM 用户权限](#model-cards-xaccount-shared-account-permissions)，了解如何为自己和账户中的其他用户设置权限。

## 设置跨账户模型卡共享
设置跨账户模型卡共享

使用 AWS Resource Access Manager (AWS RAM) 授予您 AWS 账户中的用户查看或更新在其他 AWS 账户中创建的模型卡片的权限。

要设置模型卡共享，必须创建资源共享。资源共享指定：
+ 所共享的资源
+ 有权访问资源的人或物
+ 资源的托管权限

有关资源共享的更多信息，请参阅 [AWS RAM的术语和概念](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-terms-and-concepts.html)。我们建议您在完成创建资源共享的过程之前，花点时间 AWS RAM 从概念上进行理解。

**重要**  
您必须拥有创建资源共享的权限。有关权限的更多信息，请参阅[如何 AWS RAM 使用 IAM](https://docs.aws.amazon.com/ram/latest/userguide/security-iam-policies.html)。

有关创建资源共享的过程以及有关这些过程的其他信息，请参阅[创建资源共享](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-create)。

在创建资源共享的过程中，您需要指定 `sagemaker:ModelCard` 作为资源类型。您还必须指定基于资源的策略的 Amazon 资源编号 (ARN)。 AWS RAM 您可以指定默认策略，也可以指定具有创建模型卡 PDF 的其他权限的策略。

使用默认的基于 `AWSRAMPermissionSageMakerModelCards` 资源的策略，共享账户中的用户有权执行以下操作：
+  [DescribeModelCard](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelCard.html)
+ [ListModelCardVersions](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModelCardVersions.html)
+ [UpdateModelCard](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateModelCard.html)

使用基于 `AWSRAMPermissionSageMakerModelCardsAllowExport` 资源的策略，共享账户中的用户有权执行上述所有操作。他们还有权创建模型卡导出作业并通过以下操作对其进行描述：
+ [CreateModelCardExportJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelCardExportJob.html)
+ [DescribeModelCardExportJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelCardExportJob.html)

共享账户中的用户可以创建导出作业以生成模型卡的 PDF。他们还可以描述为查找 PDF 的 Amazon S3 URI 而创建的导出作业。

模型卡和导出作业是资源。模型卡账户拥有共享账户中的用户创建的导出作业。例如，账户 A 中的用户与共享账户 B 共享模型卡 X。账户 B 中的用户为模型卡 X 创建导出作业 Y，将输出结果存储在账户 B 中用户指定的 Amazon S3 位置。尽管账户 B 创建了导出作业 Y，但它属于账户 A。

每个 AWS 账户都有资源配额。有关与模型卡相关的配额的信息，请参阅 [Amazon A SageMaker I 终端节点和配额](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html#limits_sagemaker)。

### 为共享账户设置 AWS KMS 权限


如果您共享的模型卡已使用 AWS Key Management Service 密钥加密，则还需要与共享帐户共享对密钥的访问权限。否则，共享账户中的用户将无法查看、更新或导出模型卡。有关概述 AWS KMS，请参阅[AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)。

要向共享账户中的用户提供 AWS KMS 权限，请使用以下声明更新您的密钥策略：

```
{
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "arn:aws:iam::shared-account-id::role/example-IAM-role"
        ]
    },
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt",
    ]
    "Resource": "arn:aws:kms:AWS-Region-of-model-card-account:model-card-account-id:key/AWS KMS-key-id"
    "Condition": {
        "Bool": {"kms:GrantIsForAWSResource": true },
        "StringEquals": {
            "kms:ViaService": [
                "sagemaker.AWS-Region.amazonaws.com", 
                "s3.AWS-Region.amazonaws.com"
            ],
        },
        "StringLike": {
          "kms:EncryptionContext:aws:sagemaker:model-card-arn": "arn:aws:sagemaker:AWS-Region:model-card-account-id:model-card/model-card-name"
        }
    }    
}
```

上述语句为共享账户中的用户提供了 `kms:Decrypt` 和 `kms:GenerateDataKey` 权限。使用 `kms:Decrypt`，用户可以解密模型卡。使用`kms:GenerateDataKey`，用户可以加密他们更新的或他们创建 PDFs 的模型卡。

### 获取对资源共享邀请的回复


创建资源共享后，您在资源共享中指定的共享账户会收到加入该共享的邀请。这些账户必须接受邀请才能访问资源。

有关接受资源共享邀请的信息，请参阅 [Resource Acc *ess Manager 用户指南*中的使用共享 AWS 资源](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-shared.html)。AWS 

### 在共享账户中设置 IAM 用户权限


以下信息假设您已接受模型卡账户发出的资源共享邀请。有关接受资源共享邀请的更多信息，请参阅[使用共享 AWS 资源](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-shared.html)。

您和您账户中的其他用户使用 IAM 角色访问从模型卡账户共享的模型卡。使用以下模板更改 IAM 角色的策略。您可以根据自己的使用案例修改模板。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:DescribeModelCard",
                "sagemaker:UpdateModelCard",
                "sagemaker:CreateModelCardExportJob",
                "sagemaker:ListModelCardVersions",
                "sagemaker:DescribeModelCardExportJob"
            ],
            "Resource": [
                "arn:aws:sagemaker:us-east-1:111122223333:model-card/example-model-card-name-0",
                "arn:aws:sagemaker:us-east-1:111122223333:model-card/example-model-card-name-1/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-storing-the-pdf-of-the-model-card/model-card-name/*"
        }
    ]
}
```

------

要访问使用加密的模型卡 AWS KMS，您必须为账户中的用户提供以下 AWS KMS 权限。

```
{
     "Effect": "Allow",
     "Action": [
         "kms:GenerateDataKey",
         "kms:Decrypt",
     ],
     "Resource": "arn:aws:kms:AWS-Region:AWS-account-id-where-the-model-card-is-created:key/AWS Key Management Service-key-id"
}
```

# 模型卡牌 SageMaker APIs 的低等级
模型卡 APIs

您可以直接通过 SageMaker API 或 AWS 命令行界面 (AWS CLI) 创建 Amazon SageMaker 模型卡。

**注意**  
使用低级创建模型卡片时 APIs，内容必须位于模型卡片 JSON 架构中并以字符串形式提供。有关更多信息，请参阅 [模型卡 JSON 架构](model-cards.md#model-cards-json-schema)。

## SageMaker API


使用以下 SageMaker API 命令使用亚马逊 SageMaker 模型卡：
+ [CreateModelCard](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelCard.html)
+ [DescribeModelCard](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelCard.html)
+ [ListModelCards](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModelCards.html)
+ [ListModelCardVersions](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModelCardVersions.html)
+ [UpdateModelCard](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateModelCard.html)
+ [CreateModelCardExportJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelCardExportJob.html)
+ [DescribeModelCardExportJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelCardExportJob.html)
+ [ListModelCardExportJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModelCardExportJobs.html)
+ [DeleteModelCard](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModelCard.html)

## AWS CLI


使用以下 AWS CLI 命令使用亚马逊 SageMaker 模型卡：
+ [create-model-card](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-model-card.html)
+ [describe-model-card](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-model-card.html)
+ [list-model-cards](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-model-cards.html)
+ [list-model-card-versions](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-model-card-versions.html)
+ [update-model-card](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-model-card.html)
+ [create-model-card-export-工作](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-model-card-export-job.html)
+ [describe-model-card-export-工作](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-model-card-export-job.html)
+ [list-model-card-export-工作](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-model-card-export-jobs.html)
+ [delete-model-card](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/delete-model-card.html)

# 模型卡 FAQs


有关亚马逊 SageMaker 模型卡的常见问题解答，请参阅以下常见问题解答。

## 问：什么是模型风险？


答：您可以将模型用于各种业务应用，从预测网络攻击、审批贷款申请到检测电子邮件的类别。每种应用都承担着不同程度的风险。例如，错误地检测网络攻击比错误地对电子邮件进行分类对业务的影响要大得多。鉴于模型的风险状况各不相同，您可以使用模型卡为模型提供 `low`、`medium` 或 `high` 风险评级。如果您不知道模型的风险，可将状态设置为 `unknown`。客户有责任为每个模型分配风险状况。根据风险评级，组织在将这些模型部署到生产环境时可能需要遵循不同的规则。有关更多信息，请参阅 [风险评级](model-cards.md#model-cards-risk-rating)。

## 问：模型的预期用途是什么？


模型的预期用途描述了在生产应用中应如何使用该模型。这已不仅仅是技术要求（例如应将模型部署到的实例类型），而是指要使用模型创建的应用类型、可以期望从模型获得合理性能的场景或用于模型的数据类型。我们建议在模型卡中提供这些信息，以便更好地治理模型。您可以在“预期用途”字段中定义一种模型规范，并确保模型开发人员和使用者在训练和部署模型时遵循此规范。有关更多信息，请参阅 [模型的预期用途](model-cards.md#model-cards-intended-uses)。

## 问： SageMaker AI 会自动填充我的模型卡片中的信息吗？


使用 SageMaker Python SDK 或 AWS 控制台创建模型卡片时， SageMaker AI 会自动填充有关您训练过的模型的信息。这包括全面的训练详细信息以及通过 `describe-model` API 调用提供的所有模型信息。如果您在 Amazon SageMaker Studio 工作，则可以通过调用 API 自动填充模型卡片。[DescribeModelPackage](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html)

## 问：我可以自定义模型卡吗？


Amazon SageMaker 模型卡具有定义的结构，无法修改。此结构为您提供有关在模型卡中应捕获哪些信息的指导。虽然无法更改模型卡的结构，但通过模型卡**附加信息**部分中的自定义属性，可以实现一定的灵活性。

## 问：创建模型卡后可以对其进行编辑吗？


模型卡具有与之关联的版本。除模型卡状态外，给定模型版本的所有属性均不可改变。如果您对模型卡进行任何其他更改，例如评估指标、描述或预期用途， SageMaker AI 会创建模型卡片的新版本以反映更新的信息。这样做是为了确保模型卡一旦创建就无法篡改。

每当您在模型注册表中更改模型包版本时，模型卡片都会自动更新。

## 问：我能否为未使用 SageMaker AI 训练的模型创建模型卡？


答：能。您可以为未接受过 SageMaker AI 训练的模型创建模型卡片，但卡片中不会自动填充任何信息。对于非 SageMaker AI 模型，您必须在模型卡中提供所需的所有信息。

## 问：我可以导出或共享模型卡吗？


答：能。您可以将模型卡的每个版本导出为 PDF，然后下载并共享。

## 问：是否需要在模型注册表中注册我的模型才能使用模型卡？


答：可通过 SageMaker AI 控制台和模型注册表访问模型卡。使用模型注册表时，系统会自动向您发送模型的每个版本的模型卡片。

## 问：模型卡和模型注册表之间有何区别？


答：模型卡旨在为组织提供一种机制，通过遵循 SageMaker 人工智能的规范性指导并提供自己的自定义信息，随心所欲地记录有关其模型的详细信息。您可以在机器学习流程一开始就引入模型卡，并使用它们来定义模型应解决的业务问题以及使用模型时需要考虑的任何注意事项。模型训练完成后，可以在与该模型关联的模型卡中填充有关该模型及其训练方式的信息。模型卡与模型关联，一旦与模型关联便不可改变。这可确保模型卡是与模型相关的所有信息（包括模型训练方式和使用方式）的唯一真实来源。

模型注册表是一个目录，用于存储有关模型的元数据。模型注册表中的每个条目都对应一个唯一的模型版本。该模型版本包含有关模型的信息，例如模型构件在 Amazon S3 中的存储位置、部署模型所需的容器以及应附加到模型的自定义元数据。每个模型包版本都有一个关联的模型卡片。

## 问：模型卡片和模型注册表之间有何关系？


答：模型卡片已集成到模型注册表对象中。模型注册表中模型包的每个版本均链接到其相应的模型卡片。您可以使用 [ModelPackageModelCard](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelPackageModelCard.html)API 访问每个版本的模型卡架构。

## 问：模型卡版本与模型注册表中的模型版本是否相关？


答：是的，模型卡和模型注册表中的模型之间存在 one-to-one关系。存储在模型注册表中的每个模型版本都有与之关联的相应模型卡片。

## 问：模型卡是否与 SageMaker 模型监视器集成？


答：不是。 您可以将指标文件上传到 Amazon S3 并将其链接到模型卡，将模型监控器计算的性能指标上传到模型卡，但是模型监控器和模型卡之间没有原生集成。 SageMaker 模型控制面板与 Model Monitor 集成。有关模型控制面板的更多信息，请参阅 [Amazon SageMaker 模型控制面板](https://docs.aws.amazon.com/sagemaker/latest/dg/model_dashboard.html)。

# 使用 Amazon 资产控制对 SageMaker 资产的访问
受控访问资产

使用 Amazon Ass SageMaker ets 提供对属于您组织的*资产*、模型或数据表的受控和监管访问权限。在 A SageMaker ssets 中，来自不同 AWS 账户的用户可以创建和共享与特定业务问题相关的资产，而无需额外的管理员开销。用户无需将权限与自己的身份静态绑定，而是可以为自己正在使用的工作流程资产提供权限。

资产是指 ML 资产或数据资产。机器学习资产是指向 Amazon Feat SageMaker ure Store 功能组或 SageMaker 模型注册模型组的元数据。数据资产是指向 Amazon Redshift 表或 AWS Glue 表格的元数据。

例如，模型组的资产包含模型组名称和模型软件包组的 Amazon 资源名称（ARN）。资产指向基础模型集合。资产本身可在用户之间共享。

用户可以为自己的项目创建资产。他们可以让非这些项目成员的用户也能看到它们。非项目成员的用户可以搜索资产并读取其元数据。他们可以使用元数据来确定是否要访问基础数据来源。

为了更好地理解 SageMaker 资产工作流程，假设您的组织中有两组用户，即组 A 和组 B。组 A 中的用户希望预测房价。他们希望与 B 组中不同 AWS 账户的用户合作。他们将住房数据存储在 AWS Glue 表格中。它们还将不同的模型保存为模型组内的模型软件包。使用 SageMaker 资产，A 组中的用户只需点击几下即可与 B 组中的用户共享他们的 AWS Glue 表格和模型包。在没有管理员干预的情况下，A 组用户向 B 组用户提供了精确的权限范围。

用户可以创建资产并发布它们，使其在整个组织内可见。其他用户可以申请访问这些资产。

**Topics**
+ [

# 设置 SageMaker 资产（管理员指南）
](sm-assets-set-up.md)
+ [

# 使用资产（用户指南）
](sm-assets-user-guide.md)

# 设置 SageMaker 资产（管理员指南）


**重要**  
SageMaker 资源仅在 Amazon SageMaker Studio 中可用。如果您使用的是 Amazon SageMaker Studio Classic，则必须迁移到 Studio。有关 Studio 和 Studio Classic 的更多信息，请参阅 [Amazon A SageMaker I 提供的机器学习环境](machine-learning-environments.md)。有关迁移的信息，请参阅[从亚马逊 SageMaker Studio 经典版迁移](studio-updated-migrate.md)。

随着业务需求的变化，您的用户需要有效协作，以解决出现的业务问题。要解决这些问题，用户之间必须共享数据和模型。

SageMaker Assets 将亚马逊 SageMaker Studio 与数据管理服务亚马逊 DataZone（一项数据管理服务）集成在一起。 SageMaker Assets 是一个平台，可帮助您的用户相互共享模型和数据。您可以使用以下信息来设置 Ass SageMaker ets 和 Amazon 之间的集成 DataZone。

您可以为自己的业务线或组织创建一个 Amazon DataZone 域名。*域*名是 Amazon 的核心功能 DataZone。用户的所有数据和模型都存在于域中。

在 Amazon DataZone 域中，您的一部分用户从事特定*项目*。一个项目通常对应一个特定的业务问题。在该项目中，成员可以创建数据集和模型。默认情况下，项目成员只能访问项目内的数据和模型。他们可以让组织内的其他用户访问他们的数据和模型。

在项目中，您可以创建环境。具体而言，对于 SageMaker 资产，环境是用于启动 Amazon SageMaker Studio 的已配置资源的集合。有关 Amazon 中使用的术语的更多信息 DataZone，请参阅[术语和概念](https://docs.aws.amazon.com/datazone/latest/userguide/datazone-concepts.html)。

**重要**  
根据您选择的设置，Amazon SageMaker Studio 使用以下方法之一：  
亚马逊在您的 SageMaker 人工智能环境中 DataZone 创建的亚马逊 SageMaker AI 域。
您迁移到亚马逊的现有亚马逊 A SageMaker I 域名 DataZone
您可以从 Amazon A SageMaker I 域访问 Studio，但我们建议您从您创建的项目中访问 Studio。有关访问 Studio 的信息，请参阅 [使用资产（用户指南）](sm-assets-user-guide.md)。

## DataZone 使用新的 A SageMaker I 域名设置亚马逊


使用以下列表中的步骤及其引用的文档，使用其创建的 Amazon DataZone A SageMaker I 域名来设置亚马逊。

1. 创建与您的用户组织或业务领域相对应的 Amazon DataZone 域名。有关创建 Amazon DataZone 域的信息，请参阅[创建域名](https://docs.aws.amazon.com/datazone/latest/userguide/create-domain.html)。

1. 在 Amazon 中启用 A SageMaker I 蓝图 DataZone。有关启用 SageMaker AI 蓝图的信息，请参阅在[拥有 Amazon DataZone 域名的 AWS 账户中启用内置蓝](https://docs.aws.amazon.com/datazone/latest/userguide/working-with-blueprints.html#enable-default-blueprints)图。

1. 在领域内创建一个项目，该项目应与领域内用户正在解决的业务问题相对应。有关创建项目的信息，请参阅[创建新项目](https://docs.aws.amazon.com/datazone/latest/userguide/create-new-project.html)。

1. 创建环境配置文件，您可以将其用作模板，为用户创建 SageMaker AI 环境。有关创建环境配置文件的信息，请参阅[创建环境配置文件](https://docs.aws.amazon.com/datazone/latest/userguide/create-environment-profile.html)。

1. 创建 A SageMaker I 环境。在项目中，您的用户使用 SageMaker 人工智能环境启动 Amazon SageMaker Studio。在 Studio 中，他们可以创建资源并使用 SageMaker 资源进行共享。有关创建环境的信息，请参阅[创建新环境](https://docs.aws.amazon.com/datazone/latest/userguide/create-environment-profile.html)。

1. 将 SageMaker AI 添加为 Amazon 内部值得信赖的服务之一 DataZone。要将 SageMaker AI 添加为服务之一，请参阅在[拥有 Amazon DataZone 域名的 AWS 账户中将 A SageMaker I 添加为可信服务](https://docs.aws.amazon.com/datazone/latest/userguide/working-with-blueprints.html#add-sagemaker-as-trusted-service)。

## DataZone 使用你的 A SageMaker I 域名设置亚马逊


使用以下列表中的步骤及其引用的文档，使用现有的 Amazon DataZone A SageMaker I 域名来设置亚马逊。

1. 创建与您的用户组织或业务领域相对应的 Amazon DataZone 域名。有关创建 Amazon DataZone 域的信息，请参阅[创建域名](https://docs.aws.amazon.com/datazone/latest/userguide/create-domain.html)。

1. 在 Amazon 中启用 A SageMaker I 蓝图 DataZone。有关启用自定义蓝图的信息，请参阅 [Amazon DataZone 定制 AWS 服务蓝](https://docs.aws.amazon.com/datazone/latest/userguide/working-with-custom-blueprint.html)图。

1. 在领域内创建一个项目，该项目应与领域内用户正在解决的业务问题相对应。有关创建项目的信息，请参阅[创建新项目](https://docs.aws.amazon.com/datazone/latest/userguide/create-new-project.html)。

1. 启用 SageMaker AI 作为亚马逊内部值得信赖的服务之一 DataZone。要启用 SageMaker AI 作为一项服务，请参阅在[拥有亚马逊 DataZone 域名的 AWS 账户中将 Amazon A SageMaker I 添加为可信服务](https://docs.aws.amazon.com/datazone/latest/userguide/working-with-blueprints.html#add-sagemaker-as-trusted-service)。

1. 在 A SageMaker I 域中创建 Amazon DataZone 用户。

1. 将现有用户注册到 Amazon DataZone 域名。

**注意**  
如果您的 SageMaker AI 用户是 SSO，而您的亚马逊 DataZone 域名是 SSO，则可以自动将亚马逊 A SageMaker I 域中的用户映射到亚马逊 DataZone域。

要加入现有 SageMaker AI 用户，请在您的环境中运行 [Ama DataZone zon Import SageMaker AI 域](https://github.com/aws/amazon-sagemaker-examples/tree/default/%20%20%20ml_ops/sm-datazone_import)脚本。您必须将您的姓名 AWS 区域 和您的 Amazon A SageMaker I 域名的 AWS 账户 ID 作为参数传递。以下是运行该脚本的 AWS CLI 命令示例。

```
python example-script AWS 区域 111122223333                    
```

 脚本执行以下操作：

1. 询问您的 Amazon SageMaker AI 域名 ID。

1. 询问您的 Amazon DataZone 域名。

1. 向你询问你的 Amazon DataZone 项目。

1. 提示您指定要导入的用户。

1. 为您的用户和 Amazon A SageMaker I 域添加标签。

1. 将您的 Amazon DataZone 用户映射到您的 SageMaker AI 用户个人资料。对于每个 SageMaker AI 用户个人资料，该脚本将提示您输入 Amazon DataZone 用户 ID。您可以根据自己的使用案例修改脚本。

1. 为环境添加联合角色，以便亚马逊 DataZone 可以访问您的 Amazon A SageMaker I 域并对其进行迁移。

该脚本会遍历 Amazon SageMaker AI 域中的每个用户，并提示您在亚马逊 DataZone 域中指定相应的用户。它会自动将 Amazon DataZone 域中用户的标签添加到相应的 SageMaker AI 域中的用户。它还使用每个域中用户之间的映射来更新自定义环境蓝图。

**注意**  
A SageMaker I 环境使用最新版本的 SageMaker 分布映像。 SageMaker AI 分发映像具有用于机器学习的常用库包。有关更多信息，请参阅 [SageMaker 工作室图片支持政策](sagemaker-distribution.md)。

创建环境后，您可以创建 AWS Glue Amazon Redshift 表和数据库。更多信息，请参阅 [ 在 Athena 或 Amazon Redshift 中查询数据](https://docs.aws.amazon.com/datazone/latest/userguide/query-athena-with-deep-link-in-project.html)。

## 查看和修改用户权限


创建 A SageMaker I 环境后，您可以更改用户的权限以满足组织的需求。A SageMaker I 蓝图为您的所有用户指定权限。他们可以对所有 A SageMaker I 服务执行操作，但权限范围仅限于在 Amazon DataZone 域中创建的资源。

**重要**  
您创建的环境使用 IAM 角色，该角色具有有限权限和权限边界。要更改用户的权限，可以修改或替换权限边界。例如，如果用户需要访问在环境中创建的 Amazon S3 存储桶等资源，可以更改权限边界。

您可以在 ARN 中查看用于创建 A SageMaker I 域的 IAM 角色的权限。

使用以下步骤查看或编辑用户 IAM 角色的权限。

**查看或编辑用户权限**

1. 打开[亚马逊 A SageMaker I 控制台](https://console.aws.amazon.com/sagemaker)。

1. 选择**域**。

1. 选择与您的 Amazon 域名同 DataZone名的域名。

1. 选择**域设置**。

1. 在**执行角色**下，复制执行角色的 ARN。

1. 打开 [IAM 控制台](https://console.aws.amazon.com/IAM)。

1. 选择**角色**。

1. 粘贴 ARN 并删除最后一个正斜线后除角色名称外的所有内容。

1. 选择角色查看权限。

1. 在**权限**下，修改策略以满足贵组织的需求。

1. （可选）选择**权限边界**，然后选择**设置权限边界**。

1. 选择要设置为权限边界的策略。

# 使用资产（用户指南）


使用 A SageMaker ssets，在机器学习项目上与组织中的其他人无缝协作。借 SageMaker 助 Assets，您和您的合作者可以创建和共享模型和数据表。在 A SageMaker ssets 中，这些模型和数据表被称为*资产*。

SageMaker 资产是 Amazon SageMaker Studio 中的一项功能。您或您的管理员在亚马逊 DataZone 项目中创建一个 Studio 环境。有关设置 Amazon 的更多信息 DataZone，请参阅[设置 SageMaker 资产（管理员指南）](sm-assets-set-up.md)。

资产是指 ML 资产或数据资产。ML 资产是指向以下内容的元数据：
+ 特征存放区特征组
+ SageMaker AI 模型组

基础模型组和特征组是数据来源。如果更新了特征组或模型组，模型组或特征组的资产会在当天内更新。

数据资产是指向以下内容的元数据：
+ Amazon Redshift 表
+ AWS Glue 桌子

对于数据资产，数据来源是从 AWS Glue 表和 Amazon Redshift 表中提取元数据到资产中的机制。例如，数据源将表中的元数据提取到该 AWS Glue 表的资产中。

您可以通过发布资产，让组织中的每个人都能看到它。个人可以查看资产中的元数据并申请访问。如果您提供访问权限，他们就能访问基础机器学习数据来源或表。

您的管理员可能已经授予您访问特征组、模型组和表格的权限。如果还没有，请参阅 [设置 SageMaker 资产（管理员指南）](sm-assets-set-up.md) 中的信息，以帮助您开始工作。

以下各节提供了特征组和模型组的参考信息。

## 特征组


Amazon SageMaker Feature Store 提供了一个集中的位置，可帮助您存储和管理您的功能。它是一个高性能的存储库，可用于特征工程。

在特征存放区内，功能存储在一个特征组中。特征组是与您正在进行的项目相关的功能集合。例如，如果您正在做一个与预测房价有关的项目，那么特征组可能包括位置或卧室数量等功能。

有关如何使用特征组简化特征工程流程的更多信息，请参阅 [使用特征存放区创建、存储和共享功能](feature-store.md)。

## 模型组


您可以使用 “模型注册表” 中的 SageMaker AI SageMaker 模型组来组织和管理模型的不同版本。您可以比较不同版本的模型，看看哪一款最适合您的使用情况。有关 “ SageMaker 模型注册表” 的更多信息，请参阅[利用模型注册中心进行模型注册部署](model-registry.md)。

以下是有关 Amazon Redshift 和 AWS Glue的背景信息。

Amazon Redshift 是一种大型数据存储库服务，可在大型数据集上提供快速查询性能。有关 Amazon Redshift 的更多信息，请参阅 [Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/gsg/new-user-serverless.html)。

AWS Glue 是一项提取、转换、加载 (ETL) 服务，可用于简化数据准备过程。有关的更多信息 AWS Glue，请参阅[什么是 AWS Glue？](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html)

您可以使用 SQL 编辑器连接 AWS Glue 和 Amazon Redshift 数据库并运行查询。您可以在 Ass SageMaker ets 中共享您在编辑器中创建的任何表。有关更多信息，请参阅 [在 Studio 中使用 SQL 准备数据](sagemaker-sql-extension.md)。

**Topics**
+ [

## 术语和概念
](#sm-assets-terminology)
+ [

## 步骤 1：访问 SageMaker 资产
](#sm-assets-access)
+ [

## 步骤 2：共享资产并管理资产访问权限
](#sm-assets-share)
+ [

## 步骤 3：管理访问请求
](#sm-assets-manage-requests)
+ [

## 步骤 4：查找资产并申请访问权限
](#sm-assets-request-access)
+ [

## 步骤 5：在机器学习工作流程中使用共享资产
](#sm-assets-consume)

## 术语和概念


在开始使用 SageMaker 资源之前，熟悉以下术语和概念会很有帮助：
+ 资产 - 指向您要共享的模型或数据表的元数据。您可以申请访问他人拥有的资产，也可以与他人共享您的资产。您和您的队友可以访问资产以及与之相关的基础数据表或模型。
+ 订阅资产 - 要申请访问资产，您需要提交订阅申请。如果您的申请获得批准，该资产就会出现在您订阅的资产下。
+ 自有资产 - 您与队友共享的资产。
+ 资产目录 - 在组织内共享的资产。

## 步骤 1：访问 SageMaker 资产


访问 SageMaker 资产以查看您的资产并与他人共享。以下信息可帮助您开始使用它。

您可以从 Amazon DataZone 域中的*项目*访问 SageMaker 资产。项目是您和团队成员之间的合作。在项目中，您和项目的其他成员可以访问您和其他团队成员在清单目录中创建的资产。您可以将资产发布到已发布的目录中，让组织中的其他人也能看到它们。

这些人可以申请访问您的资产。如果您为他们提供访问权限，他们就可以访问最新的数据来源。例如，如果个人订阅了您更新的 AWS Glue 表，则他们可以实时访问更新的 AWS Glue 表。

使用以下步骤访问 SageMaker 资产。

**访问 SageMaker 资产**

1. 打开 [Amazon DataZone](https://console.aws.amazon.com/datazone) 控制台。

1. 选择 **查看域**。

1. 在包含项目的域旁边，选择 **打开数据门户**。

1. 在 “**分析工具**” 下，选择 **SageMaker AI Studio**。

1. 选择 **Open Amazon SageMaker AI**。

1. 选择 **Assets (资产)**。

已与您共享的资产位于**已订阅资产**下。您和项目成员创建的资产位于**自有资产**下。您和组织其他成员发布的资产都在**资产目录**中。

## 步骤 2：共享资产并管理资产访问权限


创建机器学习模型、特征组或数据表后，您可以让与您在项目中合作的个人或您的组织更广泛地看到它们。您可以回复访问资产的请求。如果您批准了个人的请求，他们就可以修改资产的基础数据来源。

共享资产时，您有两种选择：
+ 发布到资产目录 - 让组织中的每个人都能看到资产
+ 发布到清单--让项目中的每个人都能看到资产

如果您已将资产发布到资产目录，组织内的个人就可以在资产目录中找到它。他们可以查看资产的元数据，并决定是否要申请访问这些资产。如果您批准了他们的请求，他们就可以访问基础数据来源。

如果发布到清单，您和项目的其他成员就可以访问该资产，而无需任何其他操作。

发布到库存中的资产只显示在**自有资产**下。发布到目录中的资产显示在**自有资产**和**资产目录**下。

发布数据表时，必须创建一个数据源，用于将基础表或 Amazon Redshift AWS Glue 表中的元数据提取到资产中。使用以下过程发布 AWS Glue 或 Amazon Redshift 表。

------
#### [ Publish an AWS Glue table ]

要为 AWS Glue 表发布资产，您需要为其创建数据源并发布该资源。数据源是将 AWS Glue 表中的元数据提取到资产中的机制。

使用以下步骤发布 AWS Glue 表。

**发布 AWS Glue 表**

1. 导航至 “资**SageMaker 产**” 登录页面。

1. 选择**自有资产**。

1. 选择**查看数据来源**。

1. 选择**创建数据来源**。

1. 对于**名称**，请指定数据来源的名称。

1. 对于**描述**，请提供说明。

1. 对于**类型**，选择 **AWS Glue**。

1. 在 “**数据选择**” 中，选择包含该 AWS Glue 表的数据库。

1. 对于**表选择标准**，请指定表的名称。
**注意**  
尽管您可以指定多个表，但我们强烈建议您只提供一个表名。

1. 选择**下一步**。

1. 
   + 在**将资产发布到目录**，选择**是**以发布到资产目录。
   + 在**将资产发布到目录**，选择**否**以发布到资产目录。

1. 选择**下一步**。

1. 在**资产详情**下，选择**按计划运行**或**按需运行**，以确定如何将 AWS Glue 表中的元数据提取到资产中。

1. （可选）如果选择**按照时间表运行**，请指定将元数据拉入资产的计划。

1. 选择**下一步**。

1. 选择**创建**。

1. （可选）如果尚未创建计划表，请选择**运行**，将 AWS Glue 表中的元数据导入资产。

------
#### [ Publish an Amazon Redshift table ]

要为 Amazon Redshift 表发布资产，您需要为其创建一个数据来源并将其发布。数据来源是将元数据从 Amazon Redshift 表拉入资产的机制。

使用以下步骤发布 Amazon Redshift 表。

**要发布 Amazon Redshift 表**

1. 导航至 “资**SageMaker 产**” 登录页面。

1. 选择**自有资产**。

1. 选择**查看数据来源**。

1. 选择**创建数据来源**。

1. 对于**名称**，请指定数据来源的名称。

1. 对于**描述**，请提供说明。

1. 在**类型**中，选择 **Amazon Redshift**。

1. 
   + 选择 **Redshift 集群**。

     1. 对于 **Redshift 集群**，指定包含表数据库的 Amazon Redshift 集群的名称。

     1. 对于 S **ecret**，指定包含集群凭据的 AWS Secrets Manager 密钥的名称。
   + 选择 **Redshift 无服务器**。

     1. 对于 **Redshift 作业组**，指定包含表数据库的 Amazon Redshift 工作组的名称。

     1. 对于 S **ecret**，指定包含工作组凭据的 AWS Secrets Manager 密钥的名称。

1. 在**发布源选择**中，选择包含 Amazon Redshift 表的数据库。

1. 对于**表选择标准**，请指定表的名称。
**注意**  
尽管您可以指定多个表，但我们强烈建议您只提供一个表名。

1. 选择**下一步**。

1. 
   + 在**将资产发布到目录**，选择**是**以发布到资产目录。
   + 在**将资产发布到目录**，选择**否**以发布到资产目录。

1. 选择**下一步**。

1. 在**资产详细信息**下，选择**按计划运行**或**按需运行**，以确定如何将 Amazon Redshift 表中的元数据提取到资产中。

1. （可选）如果选择**按照时间表运行**，请指定将元数据拉入资产的计划。

1. 选择**下一步**。

1. 选择**创建**。

1. （可选）如果尚未创建计划，请选择**运行**将 Amazon Redshift 表中的元数据导入资产。

------

使用以下步骤为特征组或模型软件包组发布资产。

------
#### [ Publish a feature group ]

使用以下步骤导航到已创建的特征组，并将其发布到自有资产或资产目录中。

**将特征组发布到自有资产或资产目录中**

1. 在 Studio 内，选择左侧导航栏上的**数据**。

1. 选择要发布的特征组。

1. 选择 ![\[\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/sm-assets-publish-icon.png) 图标。

1. 
   + 选择**发布到资产目录**以发布到资产目录。
   + 选择**发布到库存**，以发布到组的自有资产。

------
#### [ Publish a model group ]

使用以下步骤导航到已创建的模型组，并将其发布到自有资产或资产目录中。

**要将模型组发布到您拥有的资产或资产目录中**

1. 在 Studio 中，选择左侧导航栏中的**模型**。

1. 选择要发布的模型组。

1. 选择 ![\[\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/sm-assets-publish-icon.png) 图标。

1. 
   + 选择**发布到资产目录**以发布到资产目录。
   + 选择**发布到库存**，以发布到组的自有资产。

------

使用以下步骤将自有资产中的资产发布到资产目录。

**从 “资产” 页面发布 SageMaker 资产**

1. 在 Studio 中，导航至**资产**。

1. 选择**自有资产**。

1. 在搜索栏中指定资产名称。

1. 选择资产。

1. 选择**发布**。

您可以使用以下 SageMaker Python SDK 代码发布功能组或模型包组。代码假定您已经创建了特征组或模型软件包组。

```
from sagemaker.asset import AssetManager

publisher = AssetPublisher()
publisher.publish_to_catalog(name-of-your-feature-group-or-model-package)
```

## 步骤 3：管理访问请求


发布资产后，项目外的用户可能希望访问该资产。您可以提供、拒绝或撤销访问请求。您还可以删除资产，使数据的基本来源只对自己开放。

使用以下程序回复订阅请求。

**批准订阅申请**

1. 导航至 “资**SageMaker 产**” 页面。

1. 选择**管理资产**。

1. 选择**传入订阅请求**。

1. 
   + （可选）选择**批准**并说明理由。
   + （可选）选择**拒绝**。

您可以撤销之前批准的资产访问权限。如果选择撤销访问权限，用户将失去对资产和基础资产的访问权限。使用以下程序撤销访问权限。

**要取消访问权限**

1. 导航至 “资**SageMaker 产**” 页面。

1. 选择**管理资产**。

1. 选择**传入订阅请求**。

1. 选择**已批准**选项卡。

1. 选择资产旁边的**撤销**。

您还可以取消发布资产，使其只显示为自有资产。这些资产在资源目录中将不可见，但您已批准其订阅请求的个人仍可访问这些资产。

**取消发布资产**

1. 导航至 “资**SageMaker 产**” 页面。

1. 在**自有资产**下，选择要取消发布的资产。

1. 选择 **Unpublish (取消发布)**。

您还可以从取消发布资产的同一页面删除资产。删除资产不会删除数据来源。删除资产只会让项目或组织的其他成员看不到该资产。

## 步骤 4：查找资产并申请访问权限


您可以申请访问其他用户已发布到资源目录中的资产。如果他们批准了订阅请求，您就可以访问基础数据来源。

在 “ SageMaker 资产” 页面的顶部，您可以指定搜索查询来查找组织中其他用户已发布的资产。您还可以选择资产类型，查看该类型的所有已发布资产。例如，您可以选择 **Glue Table** 来查看所有已发布的 AWS Glue 表格。

您还可以直接在资产名称下查看资产类型。以下是资产类型的可用名称：
+ Redshift 表
+ Glue 表
+   模型
+ 特征组

**注意**  
以下存储空间中的特征组类型为 **Glue 表**：  
离线
离线和在线

**申请订阅**

1. 导航至 “资**SageMaker 产**” 页面。

1. 
   + 在搜索栏中指定资产名称，然后选择**搜索**。
   + 对于**类型**，选择资产类型，并在资源目录中找到要访问的资产。

1. 选择资产。

1. 选择**订阅**。

1. 提供申请理由。

1. 选择**提交**。

您的订阅请求会出现在**管理资产请求**下的**出站订阅请求**中。如果资产的发布者批准了您的请求，该资产就会出现在**已订阅资产**下。现在，您可以在机器学习工作流程中使用 Amazon Redshift、 AWS Glue 表或机器学习数据源。

## 步骤 5：在机器学习工作流程中使用共享资产


如果您的资产订阅请求获得批准，您就可以在机器学习工作流程中使用该资产。

您获得访问权限的特征组会出现在 Studio 中的特征组列表中。

您获得访问权限的模型组会出现在 Studio 中的模型组列表中。您可以通过 “ SageMaker 资产” 在模型注册表中打开模型组。使用以下步骤打开模型注册表中的模型组。**已订阅资产**。

**从 “ SageMaker 资源” 中打开模型组**

1. 选择模型组。

1. 选择**在模型注册表中打开**。

你可以在 Canvas 的 Data Wrangler 中访问 AWS Glue 我们的 Amazon Redshift 表。 SageMaker SageMaker Canvas 是一款无需代码即可执行探索性数据分析 (EDA) 和训练模型的应用程序。有关 C SageMaker anvas 的更多信息，请参阅[亚马逊 SageMaker Canvas](canvas.md)。

你也可以使用 SQL 扩展程序将你 AWS Glue 或 Amazon Redshift 表中的数据导入你的 Jupyter 笔记本中。您可以将数据转换为用于机器学习工作流程的 pandas 数据框。有关更多信息，请参阅 [在 Studio 中使用 SQL 准备数据](sagemaker-sql-extension.md)。

# 亚马逊 SageMaker 模型控制面板
模型控制面板

Amazon SageMaker 模型控制面板是一个集中式门户，可从 SageMaker AI 控制台访问，您可以在其中查看、搜索和浏览账户中的所有模型。您可以跟踪部署了哪些模型进行推理，以及这些模型是用于批量转换作业还是托管在端点上。如果您使用 Amazon SageMaker 模型监视器设置监控器，则还可以在模型对实时数据进行实时预测时跟踪其性能。您可以使用控制面板查找违反您为数据质量、模型质量、偏差和可解释性设置的阈值的模型。控制面板全面展示了您的所有监控结果，可帮助您快速识别未配置这些指标的模型。

模型仪表板汇总了来自多个 SageMaker AI 功能的模型相关信息。除了 Model Monitor 中提供的服务外，您还可以查看模型卡、可视化工作流世系以及跟踪端点性能。您不再需要整理日志、在笔记本中查询或访问其他 AWS 服务来收集所需的数据。 SageMaker AI 的 Model Dashboard 具有凝聚力的用户体验并集成到现有服务中，提供了一种 out-of-the-box模型治理解决方案，可帮助您确保所有模型的质量覆盖。

**先决条件**

要使用模型控制面板，您的账户中必须有一个或多个模型。您可以使用 Amazon A SageMaker I 训练模型，也可以导入在其他地方训练过的模型。要在 SageMaker AI 中创建模型，可以使用 `CreateModel` API。有关更多信息，请参阅 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)。您还可以使用 SageMaker 人工智能提供的机器学习环境，例如 Amazon SageMaker Studio Classic，它提供的项目模板可以为您设置模型训练和部署。有关如何开始使用 Studio Classic 的信息，请参阅[亚马逊 SageMaker Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.htm)。

虽然这不是强制性的先决条件，但如果客户使用 SageMaker 模型监控器为部署到端点的模型设置模型监控作业，则可以从仪表板中获得最大价值。有关如何使用 M SageMaker odel Monitor 的先决条件和说明，请参阅[使用 Amazon 模型监视器监控数据和 SageMaker 模型质量](model-monitor.md)。

## 模型控制面板元素


模型控制面板视图从每个模型中提取大致细节，以提供您账户中每个模型的综合摘要。如果部署了用于推理的模型，控制面板可帮助您实时跟踪模型和端点的性能。

本页需要强调的重要细节包括：
+ **风险评级**：模型卡中用户指定的参数，其值为**低**、**中**或**高**。模型卡的风险评级是衡量模型预测对业务影响的分类指标。模型用于各种业务应用，每种应用都承担不同程度的风险。例如，错误地检测网络攻击比错误地对电子邮件进行分类对业务的影响要大得多。如果不知道模型风险，可将其设置为**未知**。有关 Amazon SageMaker 模型卡的信息，请参阅[模型卡](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html)。
+ 模型监视器警报：模型监视器警报是模型仪表板的主要关注点，查看 SageMaker AI 提供的各种显示器上的现有文档是入门的有用方法。有关 SageMaker 模型监视器功能和示例笔记本的深入说明，请参阅[使用 Amazon 模型监视器监控数据和 SageMaker 模型质量](model-monitor.md)。

  模型控制面板按以下监控器类型显示 Model Monitor 状态值：
  + *数据质量*：将实时数据与训练数据进行比较。如果它们出现分歧，则模型的推理可能不再准确。有关数据质量监控器的更多详细信息，请参阅[数据质量](model-monitor-data-quality.md)。
  + *模型质量*：将模型做出的预测与模型尝试预测的实际 Ground Truth 标签进行比较。有关模型质量监控器的更多详细信息，请参阅[模型质量](model-monitor-model-quality.md)。
  + *偏差偏移*：比较实时数据和训练数据的分布，这也会导致预测不准确。有关偏差偏移监控器的更多详细信息，请参阅[生产中模型的偏压飘移](clarify-model-monitor-bias-drift.md)。
  + *特征归因偏移*：也称为可解释性偏移。比较训练数据和实时数据中特征的相对排名，这也可能是偏差偏移的结果。有关特征归因偏移监控器的更多详细信息，请参阅[生产中模型的功能归属漂移](clarify-model-monitor-feature-attribution-drift.md)。

  每个 Model Monitor 状态都是以下值之一：
  + **无**：未计划任何监控器
  + **非活动**：监控器已计划，但已停用
  + **正常**：监控器已计划并处于活动状态，并且在最近的 Model Monitor 执行中未达到触发警报所需的违规次数
  + 时间和日期：活动的监控器在指定时间和日期发出警报
+ **端点**：托管模型以进行实时推理的端点。在模型控制面板中，您可以选择端点列来实时查看端点的 CPU、GPU、磁盘和内存利用率等性能指标，从而帮助跟踪计算实例的性能。
+ **批量转换作业**：使用此模型运行的最近一次批量转换作业。此列可帮助您确定模型是否正用于批量推理。
+ 模型详细信息：控制面板中的每个条目都链接到模型详细信息页面，您可以在其中更深入地了解单个模型。您可以访问模型的世系图，该图直观显示了从数据准备到部署的工作流，以及每个步骤的元数据。您还可以创建和查看模型卡，查看警报详细信息和历史记录，评估实时端点的性能，以及访问其他与基础设施相关的详细信息。

# 模型监控器时间表和警报


使用 Python SDK，您可以为数据质量、模型质量、偏差偏移或特征归因偏移创建 Model Monitor。有关使用 SageMaker 模型监视器的更多信息，请参阅[使用 Amazon 模型监视器监控数据和 SageMaker 模型质量](model-monitor.md)。模型控制面板会填充您在账户中所有模型上创建的所有监控器中的信息。您可以跟踪每台监控器的状态，状态可以指示监控器是按预期运行，还是由于内部错误而出现故障。您还可以在模型详细信息页面中激活或停用任何监控器。有关如何查看模型的计划监控器的说明，请参阅[查看计划监控器](model-dashboard-schedule-view.md)。有关如何激活或停用 Model Monitor 的说明，请参阅[激活或停用 Model Monitor](model-dashboard-schedule-activate.md)。

配置正确且正在运行的 Model Monitor 可能会发出警报，在这种情况下，监控执行会生成违规情况报告。有关警报如何工作以及如何查看警报结果、历史记录和用于调试的作业报告链接的详细信息，请参阅[查看和编辑警报](model-dashboard-alerts.md)。

# 查看计划监控器


使用 SageMaker Model Monitor 持续监控您的机器学习模型是否存在数据偏差、模型质量、偏差和其他可能影响模型性能的问题。设置监控计划后，您可以通过 SageMaker AI 控制台查看这些预定监视器的详细信息。以下程序概述了访问和查看特定模型计划监控程序的步骤，包括其当前状态：

**查看模型的计划监控器**

1. 打开 A [SageMaker I 控制台](https://console.aws.amazon.com/sagemaker/)。

1. 在左侧面板中选择**治理**。

1. 选择**模型控制面板**。

1. 在模型控制面板的**模型**部分中，选择要查看的计划监控器的模型名称。

1. 在**监控计划**部分中查看计划监控器。您可以在**状态计划**列中查看每个监控器的状态，状态为以下值之一：
   + **失败**：由于配置或设置有问题（例如用户权限不正确），监控计划失败。
   + **待处理**：正在计划监控器。
   + **已停止**：计划已被用户停止。
   + **已计划**：计划已创建并按您指定的频率运行。

# 激活或停用 Model Monitor


使用以下步骤激活或停用模型监控器。

**要激活或停用 Model Monitor，请完成以下步骤：**

1. 打开 A [SageMaker I 控制台](https://console.aws.amazon.com/sagemaker/)。

1. 在左侧面板中选择**治理**。

1. 选择**模型控制面板**。

1. 在模型控制面板的**模型**部分，选择要修改的警报的模型名称。

1. 选中要修改的警报的监控计划旁边的单选框。

1. （可选）如果要停用监控计划，请选择**停用监控计划**。

1. （可选）如果要激活监控计划，请选择**激活监控计划**。

# 查看和编辑警报


模型控制面板显示您在 Amazon 中配置的警报 CloudWatch。您可以直接在控制面板中修改警报条件。警报条件取决于两个参数：
+ **要对其发出警报的数据点**：在评估期内，有多少次执行失败会引发警报。
+ **评估期**：评估警报状态时要考虑的最近监控执行次数。

下图显示了一系列 Model Monitor 执行的示例场景，在该场景中，我们将假设的**评估期**设置为 3，将**要对其发出警报的数据点**值设置为 2。每次监控执行后，都会计算**评估期** 3 内的故障次数。如果失败次数达到或超过**要对其发出警报的数据点**值 2，则监控器会发出警报并保持警报状态，直到在随后的迭代中，**评估期**内的故障次数小于 2。在图像中，当监控器发出警报或保持警报状态时，评估窗口为红色，否则为绿色。

请注意，如图中前 2 行所示，即使评估窗口大小未达到**评估期** 3，但如果故障次数达到或超过**要对其发出警报的数据点**值 2，则监控器仍会发出警报。

![\[由七个示例监控执行组成的序列。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/model_monitor/model-dashboard-alerts-window.png)


在监控器详细信息页面中，您可以查看警报历史记录，编辑现有警报条件，以及查看作业报告以帮助调试警报故障。有关如何查看监控执行失败的警报历史记录或作业报告的说明，请参阅[查看警报历史记录或作业报告](model-dashboard-alerts-view.md)。有关如何编辑警报条件的说明，请参阅[编辑警报条件](model-dashboard-alerts-edit.md)。

# 查看警报历史记录或作业报告


**要查看执行失败的警报历史记录或作业报告，请完成以下步骤：**

1. 打开 A [SageMaker I 控制台](https://console.aws.amazon.com/sagemaker/)。

1. 在左侧面板中选择**治理**。

1. 选择**模型控制面板**。

1. 在模型控制面板的**模型**部分，选择要查看的警报历史记录的模型名称。

1. 在**计划名称**列中，选择要查看的警报历史记录的监控器名称。

1. 要查看警报历史记录，请选择**警报历史记录**选项卡。

1. （可选）要查看监控执行的作业报告，请完成以下步骤：

   1. 在**警报历史记录**选项卡中，为要调查的警报选择**查看执行**。

   1. 在**执行历史记录**表中，选择要调查的监控执行的**查看报告**。

**报告将显示以下信息：**
      + **特征**：监控的用户定义的机器学习特征
      + **约束**：监控器内的特定检查
      + **违规详细信息**：有关违反约束的原因的信息

# 编辑警报条件


**要在模型控制面板中编辑警报，请完成以下步骤：**

1. 打开 A [SageMaker I 控制台](https://console.aws.amazon.com/sagemaker/)。

1. 在左侧面板中选择**治理**。

1. 选择**模型控制面板**。

1. 在模型控制面板的**模型**部分，选择要修改的警报的模型名称。

1. 选中要修改的警报的监控计划旁边的单选框。

1. 在**监控计划**部分中选择**编辑警报**。

1. （可选）如果要更改**评估期**内触发警报的故障次数，请更改**要对其发出警报的数据点**。

1. （可选）如果要更改评估警报状态时要考虑的最近监控执行次数，请更改**评估期**。

# 查看模型世系图


当您训练模型时，Amazon SageMaker AI 会创建从数据准备到部署的整个机器学习工作流程的可视化效果。这种可视化方式被称为模型任务流水线图。以下页面介绍如何在 SageMaker AI 控制台中查看模型谱系图。

模型脉络图使用实体来表示工作流程中的各个步骤。例如，基本模型世系图可能有一个代表您的训练集的实体，该实体与代表您的训练作业的实体相关联，而训练作业又与代表模型的另一个实体相关联。此外，该图表还存储有关工作流中每个步骤的信息。利用这些信息，您可以重新创建工作流中的任何步骤或跟踪模型和数据集的世系。例如， SageMaker AI Lineage 存储每个任务的输入数据源的 S3 URI，因此您可以对数据源进行进一步分析以进行合规性验证。

虽然模型谱系图可以帮助您查看各个工作流程中的步骤，但您可以使用 AWS SDK 利用许多其他功能。例如，使用 AWS SDK，您可以创建或查询您的实体。有关 SageMaker AI Lineage 中全套功能和示例笔记本的更多信息，请参阅[亚马逊 SageMaker ML Lineage 追踪](lineage-tracking.md)。

# 实体简介


如果有数据， SageMaker Amazon SageMaker AI 会自动为 AI 任务、模型、模型包和终端节点创建跟踪实体。对于基本的工作流程，假设您使用数据集训练模型。 SageMaker AI 会自动生成包含三个实体的谱系图：
+ **Dataset**：一种构件，表示 URI 可寻址对象或数据的实体。构件通常是试验组件或操作的输入或输出。
+ **TrainingJob**：一种试验组件，即代表处理、训练和转换作业的实体。
+ **Model**：另一种构件。与 **Dataset** 构件一样，**Model** 也是一个 URI 可寻址对象。在本例中，它是**TrainingJob**试用组件的输出。

如果您在工作流中添加其他步骤（如数据预处理或后处理），将模型部署到端点，或者将模型包含在模型包中，等等，则模型世系图会迅速扩展。有关 A SageMaker I 实体的完整列表，请参阅[亚马逊 SageMaker ML Lineage 追踪](lineage-tracking.md)。

## 实体属性


图表中的每个节点都显示实体类型，但您可以选择实体类型右侧的垂直省略号来查看与工作流相关的具体细节。在我们之前的准系统谱系图中，你可以选择旁边的垂直省略号**DataSet**来查看以下属性的特定值（所有工件实体都通用）：
+ **名称**：数据集的名称。
+ **源 URI**：数据集的 Amazon S3 位置。

对于 `TrainingJob` 实体，可以看到以下属性（所有 `TrialComponent` 实体都通用）的特定值：
+ **名称**：训练作业的名称。
+ **作业 ARN：**训练作业的 Amazon 资源名称 (ARN)。

对于**模型**实体，您看到的属性与列出的属性相同，**DataSet**因为它们都是构件实体。有关实体及其关联属性的列表，请参阅[世系跟踪实体](lineage-tracking-entities.md)。

## 实体查询


Amazon SageMaker AI 会在您使用世系实体时自动生成图表。但是，如果您正在对实验进行多次迭代，并且不想查看每个谱系图，那么 AWS SDK 可以帮助您在所有工作流程中执行查询。例如，您可以查询所有使用端点的处理作业的世系实体。或者，您可以看到所有使用构件的下游跟踪。有关可执行的所有查询的列表，请参阅[查询世系实体](querying-lineage-entities.md)。

## 查看模型的世系图


**要查看模型的世系图，请完成以下步骤：**

1. 打开 A [SageMaker I 控制台](https://console.aws.amazon.com/sagemaker/)。

1. 在左侧面板中选择**治理**。

1. 选择**模型控制面板**。

1. 在模型控制面板的**模型**部分，选择要查看的世系图的模型名称。

1. 在**模型概述**部分中选择**查看世系**。

# 查看端点状态


如果要使用经过训练的模型对实时数据进行推理，则将模型部署到实时端点。为了确保预测具有适当的延迟，您需要确保托管模型的实例高效运行。模型控制面板的端点监控特征可显示有关端点配置的实时信息，并通过指标帮助您跟踪端点性能。

**监控器设置**

模型控制面板链接到现有 SageMaker AI 终端节点详情页面，这些页面显示了您可以在 Amazon 中选择的指标的实时图表 CloudWatch。在控制面板中，您可以在端点处理实时推理请求时跟踪这些指标。以下是您可以选择的指标：
+ `CpuUtilization`：每个 CPU 核心利用率的总和，每个使用率介于 0% 到 100% 之间。
+ `MemoryUtilization`：实例上的容器所使用的内存的百分比，范围为 0% 至 100%。
+ `DiskUtilization`：实例上的容器所使用的磁盘空间的百分比，范围为 0% 至 100%。

有关您可以实时查看的指标的完整列表，请参阅[亚马逊中的亚马逊 A SageMaker I 指标 CloudWatch](monitoring-cloudwatch.md)。

**运行时设置**

Amazon SageMaker AI 支持对您的托管模型进行自动缩放（自动缩放）。自动扩缩动态调整为模型预置的实例数，以响应工作负载的变化。当工作负载增加时，自动扩缩功能会让更多实例上线。当工作负载减小时，自动扩缩功能会移除不必要的实例，这样您就不会为未使用的预置实例付费。您可以在模型控制面板中自定义以下运行时设置：
+ *更新权重*：使用数字权重更改分配给每个实例的工作负载量。有关在自动扩缩期间的实例权重的更多信息，请参阅[配置 Amazon EC2 Auto Scaling 的实例权重](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html)。
+ *更新实例数*：当工作负载增加时，更改可为其提供服务的实例总数。

有关端点运行时设置的更多信息，请参阅[CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)。

**端点配置设置**

端点配置设置显示您在创建端点时指定的设置。这些设置会告知 SageMaker AI 要为您的终端节点配置哪些资源。其中包括以下设置：
+ *数据捕获*：您可以选择捕获有关端点输入和输出的信息。例如，您可能希望对传入流量进行采样，以查看结果是否与训练数据相关。您可以自定义采样频率、存储数据的格式以及存储数据的 Amazon S3 位置。有关设置数据捕获配置的更多信息，请参阅[数据采集](model-monitor-data-capture.md)。
+ *生产变体*：请参阅*运行时设置*中的先前讨论。
+ *异步调用配置*：如果您的终端节点是异步的，则此部分包括 SageMaker AI 客户端向模型容器发送的最大并发请求数、成功和失败通知的 Amazon S3 位置以及终端节点输出的输出位置。有关异步输出的更多信息，请参阅[异步端点操作](async-inference-create-invoke-update-delete.md)。
+ *加密密钥*：如果要加密输出，可以输入加密密钥。

有关端点配置设置的更多信息，请参阅[CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)。

## 查看端点的状态和配置


**要查看模型端点的状态和配置，请完成以下步骤：**

1. 打开 A [SageMaker I 控制台](https://console.aws.amazon.com/sagemaker/)。

1. 在左侧面板中选择**治理**。

1. 选择**模型控制面板**。

1. 在模型控制面板的**模型**部分，选择要查看的端点的模型名称。

1. 在**端点**部分中选择端点名称。

# 模型控制面板常见问题


有关亚马逊 SageMaker 模型控制面板的常见问题解答，请参阅以下常见问题解答。

## 问：什么是模型控制面板？


Amazon SageMaker 模型控制面板是在您的账户中创建的所有模型的集中存储库。模型通常是 SageMaker 训练作业的输出，但您也可以导入在其他地方训练过的模型并将其托管在 SageMaker AI 上。Model Dashboard 为 IT 管理员、模型风险经理和业务主管提供了一个单一界面，用于跟踪所有已部署的模型，并汇总来自多个 AWS 服务的数据，以提供有关模型性能的指标。您可以查看有关模型端点、批量转换作业和监控作业的详细信息，以便深入了解模型性能。控制面板的视觉显示可帮助您快速识别哪些模型的监控器缺失或处于非活动状态，这样您就可以确保定期检查所有模型的数据偏差、模型偏差、偏差偏移和特征归因偏移。最后，通过控制面板可以随时查看模型详细信息，这有助于您深入了解，以便访问日志、基础设施相关信息和资源，从而有助于调试监控故障。

## 问：使用模型控制面板的先决条件是什么？


你应该在 SageMaker AI 中创建一个或多个模型，要么在 A SageMaker I 上训练，要么接受外部训练。虽然这不是强制性的先决条件，但如果您通过 Amazon SageMaker 模型监控器为部署到终端节点的模型设置模型监控任务，则可以从控制面板中获得最大价值。

## 问：谁应该使用模型控制面板？


模型风险管理人员、ML 从业者、数据科学家和业务主管可以使用模型控制面板来全面了解模型。控制面板汇总并显示来自 Amazon SageMaker 模型卡、终端节点和模型监控服务的数据，以显示有价值的信息，例如模型卡和模型注册表中的模型元数据、部署模型的终端节点以及来自模型监控的见解。

## 问：如何使用模型控制面板？


模型控制面板开箱即用 Amazon SageMaker AI，无需任何事先配置。但是，如果您使用 Model Monitor 和 Clarify 设置了 SageMaker 模型监控任务，则可以使用 Amazon CloudWatch 来配置警报，当模型性能偏离可接受范围时，这些警报会在控制面板中发出标记。您可以创建新的模型卡并将其添加到控制面板，还可以查看与端点关联的所有监控结果。模型控制面板目前不支持跨账户模型。

## 问：什么是 Amazon SageMaker 模型监视器？


使用 Amazon SageMaker 模型监视器，您无需编写任何代码即可选择要监控和分析的数据。 SageMaker Model Monitor 允许您从选项菜单中选择数据（例如预测输出），并捕获时间戳、模型名称和端点等元数据，以便分析模型预测。进行大量实时预测时，可以指定数据捕获的采样率占总流量的百分比。这些数据将存储在您自己的 Amazon S3 存储桶中。您还可以加密这些数据，配置精细的安全性，定义数据留存策略，并实施访问控制机制以实现安全访问。

## 问： SageMaker AI 支持哪些类型的型号显示器？


SageMaker 模型监视器提供以下类型的[模型监视器](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor.html)：
+ *数据质量*：监控数据质量的偏差。
+ *模型质量*：监控模型质量指标（如准确性）的偏差。
+ *生产中模型的偏差偏移*：通过比较训练数据和实时数据的分布，监控模型预测的偏差。
+ *生产中模型的特征归因偏移*：通过比较训练数据和实时数据中特征的相对排名来监控特征归因偏移。

## 问： SageMaker 模型监控器支持哪些推理方法？


Model Monitor 目前支持为实时推理托管单一模型的端点，不支持监控[多模型端点](https://docs.aws.amazon.com/sagemaker/latest/dg/multi-model-endpoints.html)。

## 问：如何开始使用 SageMaker 模型监视器？


您可以使用以下资源开始进行模型监控：
+ [数据质量监控器示例笔记本](https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker_model_monitor/introduction/SageMaker-ModelMonitoring.ipynb)
+ [模型质量监控器示例笔记本](https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker_model_monitor/introduction/SageMaker-ModelMonitoring.ipynb)
+ [偏差偏移监控器示例笔记本](https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker_model_monitor/fairness_and_explainability/SageMaker-Model-Monitor-Fairness-and-Explainability.ipynb)
+ [特征归因偏移监控器示例笔记本](https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker_model_monitor/fairness_and_explainability/SageMaker-Model-Monitor-Fairness-and-Explainability.ipynb)

有关模型监控的更多示例，请参阅 GitHub 存储库[amazon-sagemaker-examples](https://github.com/aws/amazon-sagemaker-examples/tree/main/sagemaker_model_monitor)。

## 问：Model Monitor 是如何工作的？


Amazon SageMaker Model Monitor 会自动监控生产中的机器学习模型，使用规则来检测模型中的偏差。当出现质量问题时，Model Monitor 会通过警报通知您。要了解更多信息，请参阅[Amazon SageMaker 模型监视器的工作原理](model-monitor.md#model-monitor-how-it-works)。

## 问：何时以及如何自带容器 (BYOC) 用于 Model Monitor？


Model Monitor 仅计算表格数据的模型指标和统计数据。对于表格数据集以外的使用案例（如图像或文本），您可以自带容器 (BYOC) 来监控数据和模型。例如，您可以使用 BYOC 监控图像分类模型，该模型将图像作为输入并输出标签。要了解有关容器合同的更多信息，请参阅[使用 Amazon SageMaker 模型监视器支持您自己的容器](model-monitor-byoc-containers.md)。

## 问：在哪里可以找到用于 Model Monitor 的 BYOC 示例？


可以在以下链接中找到有用的 BYOC 示例：
+ [使用 Amazon 模型监视器监控数据和 SageMaker 模型质量](model-monitor.md)
+ [GitHub示例存储库](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker_model_monitor)
+ [使用 Amazon SageMaker 模型监视器支持您自己的容器](model-monitor-byoc-containers.md)
+ [使用 BYOC Model Monitor 检测 NLP 中的数据偏差](https://aws.amazon.com/blogs/machine-learning/detect-nlp-data-drift-using-custom-amazon-sagemaker-model-monitor)
+ [检测和分析 CV 中的错误预测](https://aws.amazon.com/blogs//machine-learning/detecting-and-analyzing-incorrect-model-predictions-with-amazon-sagemaker-model-monitor-and-debugger)

## Q.如何将 Model Monitor 与管道集成？


有关如何集成模型监控器和管道的详细信息，请参阅 [Amazon Pipelines 现已与 SageMaker 模型监控器集成，并且 Clari SageMaker fy](https://aws.amazon.com/about-aws/whats-new/2021/12/amazon-sagemaker-pipelines-integrates-sagemaker-model-monitor-sagemaker-clarify/)。

有关示例，请参阅 GitHub 示例笔记本 Pipelin [es 与 Model Monitor 和 Clarify 集成](https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker-pipelines/tabular/model-monitor-clarify-pipelines/sagemaker-pipeline-model-monitor-clarify-steps.ipynb)。

## 问：使用 `DataCapture` 时是否有任何性能方面的顾虑？


开启后，数据采集将在 SageMaker AI 端点上异步进行。为了防止对推理请求产生影响，`DataCapture`功能会在磁盘利用率较高时停止捕获请求。建议将磁盘利用率保持在 75% 以下，以确保 `DataCapture` 继续捕获请求。