部署模型 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

部署模型

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

重要

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

注意

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

模型部署配置

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

Deploy Model pane option to open settings for SageMaker JumpStart Deployment Configuration and Security Settings.

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

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

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

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

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

模型部署安全

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

IAM 角色

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

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

注意

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

{ "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 的更多信息,请参阅将 VPC 中的 SageMaker Studio 笔记本电脑连接到外部资源

您传递的 Amazon 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/*" ] }

如果您未选择 Amazon VPC,则不使用 Amazon VPC。

查找 VPC

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

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.

加密密钥

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

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

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

查找加密密钥

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

JumpStart Security Settings encryption section with Find encryption keys selected.

输入加密密钥

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

JumpStart Security Settings encryption section with Input encryption keys selected.

为 JumpStart 模型配置默认值

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

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

以下代码示例列出了在 Amazon SageMaker Studio Classic 中使用 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 模型训练和部署设置默认配置。有关更多信息,请参阅创建并关联生命周期配置

您的配置文件应符合 P SageMaker ython 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