部署模型 - Amazon SageMaker

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

部署模型

当您从部署模型时 JumpStart,会 SageMaker 托管模型并部署可用于推理的终端节点。 JumpStart 还提供了一个示例笔记本,您可以在部署模型后使用它来访问模型。

重要

截至 2023 年 11 月 30 日,之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新后的 Studio 体验的信息,请参阅亚马逊 SageMaker Studio

注意

有关在 Studio 中部署 JumpStart 模型的更多信息,请参阅 在 Studio 中部署模型

模型部署配置

选择模型后,将打开该模型的选项卡。在部署模型窗格中,选择部署配置以配置您的模型部署。

The Deploy Model pane.

用于部署模型的默认实例类型取决于模型。实例类型是运行训练作业的硬件。在以下示例中,该ml.p2.xlarge实例是该特定BERT模型的默认实例。

您还可以更改终端节点名称、添加key;value资源标签、激活或停用与模型相关的任何 JumpStart 资源jumpstart-的前缀,以及指定用于存储 SageMaker 终端节点使用的模型项目的 Amazon S3 存储桶。

JumpStart Deploy Model pane with Deployment Configuration open to select its settings.

选择安全设置为模型指定 AWS Identity and Access Management (IAM) 角色、Amazon Virtual Private Cloud (AmazonVPC) 和加密密钥。

JumpStart Deploy Model pane with Security Settings open to select its settings.

模型部署安全

使用部署模型时 JumpStart,您可以为模型指定IAM角色VPC、Amazon 和加密密钥。如果您没有为这些条目指定任何值:默认IAM角色是您的 Studio Classic 运行时角色;使用默认加密;不使用 Amazon VPC。

IAM角色

您可以选择在培训作业和托管作业中传递的IAM角色。 SageMaker 使用此角色访问训练数据和模型工件。如果您未选择IAM角色,则使用您的 Studio Classic 运行时角色 SageMaker 部署模型。有关IAM角色的更多信息,请参阅适用于亚马逊的身份和访问管理 SageMaker

您传递的角色必须有权访问模型所需的资源,并且必须具备以下所有权限。

注意

您可以缩小在以下每个角色中授予的 Amazon S3 权限的范围。使用您的亚马逊简单存储服务 (Amazon S3) 存储桶和 JumpStart 亚马逊 S3 存储桶来执行此操作。ARN

{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:ListBucket" ], "Resources": [ "arn:aws:s3:::jumpstart-cache-prod-<region>/*", "arn:aws:s3:::jumpstart-cache-prod-<region>", "arn:aws:s3:::bucket/*" ] }

寻找IAM角色

如果选择此选项,则必须从下拉列表中选择一个现有IAM角色。

JumpStart Security Settings IAM section with Find IAM role selected.

输入IAM角色

如果选择此选项,则必须手动输入现有IAM角色ARN的。如果您的 Studio Classic 运行时角色或 Amazon VPC 阻止了iam:list* 呼叫,则必须使用此选项才能使用现有IAM角色。

JumpStart Security Settings IAM section with Input IAM role selected.

Amazon VPC

所有 JumpStart 模型均在网络隔离模式下运行。创建模型容器后,就无法再进行调用。您可以选择在培训作业和托管作业中通过的 Amazon VPC。 SageMaker 使用此 Amazon VPC 从您的 Amazon S3 存储桶中推送和提取资源。该亚马逊不同VPC于限制您的 Studio Classic 实例访问公共互联网的亚马VPC逊。有关 Studio Classic Amazon 的更多信息VPC,请参阅将 a 中的 Connect Studio 笔记本电脑VPC连接到外部资源

您经过VPC的亚马逊不需要访问公共互联网,但它确实需要访问Amazon S3。Amazon S3 的 Amazon VPC 终端节点必须允许访问模型所需的至少以下资源。

{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:ListBucket" ], "Resources": [ "arn:aws:s3:::jumpstart-cache-prod-<region>/*", "arn:aws:s3:::jumpstart-cache-prod-<region>", "arn:aws:s3:::bucket/*" ] }

如果您不选择亚马逊VPC,则不使用亚马逊VPC。

查找 VPC

如果您选择此选项,则必须VPC从下拉列表中选择现有的 Amazon。选择亚马逊后VPC,您必须为您的亚马逊选择子网和安全组VPC。有关子网和安全组的更多信息,请参阅VPCs和子网概述

JumpStart Security Settings VPC section with Find VPC selected.

输入 VPC

如果您选择此选项,则必须手动选择构成您的 Amazon VPC 的子网和安全组。如果您的 Studio Classic 运行时角色或 Amazon VPC 阻止了ec2:list*呼叫,则必须使用此选项来选择子网和安全组。

JumpStart Security Settings VPC section with Input VPC selected.

加密密钥

您可以选择在训练作业和托管作业中传递的 AWS KMS 密钥。 SageMaker 使用此密钥加密容器的 Amazon EBS 卷,并使用 Amazon S3 中重新打包的模型来托管作业和训练作业的输出。有关 AWS KMS 密钥的更多信息,请参阅AWS KMS 密钥

您传递的密钥必须信任您传递的IAM角色。如果您未指定IAM角色,则 AWS KMS 密钥必须信任您的 Studio Classic 运行时角色。

如果您未选择 AWS KMS 密钥,则会为 Amazon EBS 卷和 Amazon S3 项目中的数据 SageMaker 提供默认加密。

查找加密密钥

如果选择此选项,则必须从下拉列表中选择现有 AWS KMS 密钥。

JumpStart Security Settings encryption section with Find encryption keys selected.

输入加密密钥

如果选择此选项,则必须手动输入 AWS KMS 密钥。如果您的 Studio Classic 执行角色或 Amazon VPC 阻止了kms:list* 呼叫,则必须使用此选项来选择现有 AWS KMS 密钥。

JumpStart Security Settings encryption section with Input encryption keys selected.

为 JumpStart 模型配置默认值

您可以为IAM角色和KMS密钥等参数配置默认值VPCs,以便为 JumpStart 模型部署和训练预先填充。配置默认值后,Studio Classic UI 会自动向 JumpStart 模型提供您指定的安全设置和标签,以简化部署和训练工作流程。管理员和最终用户可以按YAML格式初始化配置文件中指定的默认值。

默认情况下, SageMaker Python SDK 使用两个配置文件:一个用于管理员,另一个用于用户。使用管理员配置文件,管理员可以定义一组默认值。最终用户可以使用用户配置文件来覆盖在管理员配置文件中设置的值,并设置其他默认值。有关更多信息,请参阅默认配置文件位置

以下代码示例列出了在 Amazon SageMaker Studio Classic SDK 中使用 SageMaker Python 时配置文件的默认位置。

# Location of the admin config file /etc/xdg/sagemaker/config.yaml # Location of the user config file /root/.config/sagemaker/config.yaml

在用户配置文件中指定的值会覆盖在管理员配置文件中设置的值。配置文件对于 Amazon SageMaker 域中的每个用户个人资料都是唯一的。用户配置文件的 Studio Classic 应用程序与用户配置文件直接关联。有关更多信息,请参阅 域用户个人资料

管理员可以选择通过JupyterServer生命周期配置为 JumpStart 模型训练和部署设置默认配置。有关更多信息,请参阅 创建并关联生命周期配置

您的配置文件应符合 SageMaker Python SDK 配置文件结构。请注意,TrainingJobModel、和EndpointConfig配置中的特定字段适用于 JumpStart 模型训练和部署默认值。

SchemaVersion: '1.0' SageMaker: TrainingJob: OutputDataConfig: KmsKeyId: example-key-id ResourceConfig: # Training configuration - Volume encryption key VolumeKmsKeyId: example-key-id # Training configuration form - IAM role RoleArn: arn:aws:iam::123456789012:role/SageMakerExecutionRole VpcConfig: # Training configuration - Security groups SecurityGroupIds: - sg-1 - sg-2 # Training configuration - Subnets Subnets: - subnet-1 - subnet-2 # Training configuration - Custom resource tags Tags: - Key: Example-key Value: Example-value Model: EnableNetworkIsolation: true # Deployment configuration - IAM role ExecutionRoleArn: arn:aws:iam::123456789012:role/SageMakerExecutionRole VpcConfig: # Deployment configuration - Security groups SecurityGroupIds: - sg-1 - sg-2 # Deployment configuration - Subnets Subnets: - subnet-1 - subnet-2 EndpointConfig: AsyncInferenceConfig: OutputConfig: KmsKeyId: example-key-id DataCaptureConfig: # Deployment configuration - Volume encryption key KmsKeyId: example-key-id KmsKeyId: example-key-id # Deployment configuration - Custom resource tags Tags: - Key: Example-key Value: Example-value