本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
部署模型
当您从部署模型时 JumpStart, SageMaker AI 会托管模型并部署可用于推理的终端节点。 JumpStart 还提供了一个示例笔记本,您可以在部署模型后使用它来访问模型。
重要
截至 2023 年 11 月 30 日,之前的亚马逊 SageMaker Studio 体验现在被命名为 Amazon St SageMaker udio Classic。以下部分专门介绍如何使用 Studio Classic 应用程序。有关使用更新的 Studio 体验的信息,请参阅 亚马逊 SageMaker Studio。
注意
有关在 Studio 中部署 JumpStart 模型的更多信息,请参阅 在 Studio 中部署模型
模型部署配置
选择模型后,将打开该模型的选项卡。在部署模型窗格中,选择部署配置以配置您的模型部署。
用于部署模型的默认实例类型取决于模型。实例类型是运行训练作业的硬件。在以下示例中,ml.p2.xlarge
实例默认用于此特定 BERT 模型。
您还可以更改终端节点名称、添加key;value
资源标签、激活或停用与模型相关的任何 JumpStart 资源jumpstart-
的前缀,以及指定用于存储 A SageMaker I 终端节点使用的模型项目的 Amazon S3 存储桶。
选择安全设置为模型指定 AWS Identity and Access Management (IAM) 角色、Amazon Virtual Private Cloud (Amazon VPC) 和加密密钥。
模型部署安全
使用部署模型时 JumpStart,您可以为模型指定 IAM 角色、Amazon VPC 和加密密钥。没有为这些条目指定任何值时:默认 IAM 角色是您的 Studio Classic 运行时系统角色;使用默认加密方法;不使用 Amazon VPC。
IAM 角色
您可以选择在培训作业和托管作业中传递的 IAM 角色。 SageMaker AI 使用此角色来访问训练数据和模型工件。如果您未选择 IAM 角色,A SageMaker I 将使用您的 Studio Classic 运行时角色部署模型。有关 IAM 角色的更多信息,请参阅 AWS Identity and Access Management 适用于亚马逊 A SageMaker I。
您传递的角色必须有权访问模型所需的资源,并且必须具备以下所有权限。
-
对于训练作业:CreateTrainingJob API:执行角色权限。
-
对于托管作业:CreateModel API:执行角色权限。
注意
您可以缩小在以下每个角色中授予的 Amazon S3 权限的范围。使用您的亚马逊简单存储服务 (Amazon S3) 存储桶的 ARN 和 Amazon S3 存储桶来执行此操作。 JumpStart
[ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::jumpstart-cache-prod-
<region>
/*", "arn:aws:s3:::jumpstart-cache-prod-<region>
", "arn:aws:s3:::<bucket>
/*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "ecr:GetAuthorizationToken" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer" ], "Resource": [ "*" ] }, ] }
查找 IAM 角色
如果您选择此选项,则必须从下拉列表中选择一个现有 IAM 角色。
输入 IAM 角色
如果您选择此选项,则必须手动输入现有 IAM 角色的 ARN。如果您的 Studio Classic 运行时系统角色或 Amazon VPC 阻止了 iam:list*
调用,则必须通过此选项来使用现有的 IAM 角色。
Amazon VPC
所有 JumpStart 模型均在网络隔离模式下运行。创建模型容器后,就无法再进行调用。您可以选择在训练作业和托管作业中通过的 Amazon VPC。 SageMaker AI 使用此 Amazon VPC 从您的 Amazon S3 存储桶中推送和提取资源。此 Amazon VPC 不同于限制从您的 Studio Classic 实例访问公共互联网的 Amazon VPC。有关 Studio Classic Amazon VPC 的更多信息,请参阅 将 VPC 中的 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 选择子网和安全组。有关子网和安全组的更多信息,请参阅 VPCs和子网概述。
输入 VPC
如果您选择此选项,则必须手动选择构成您的 Amazon VPC 的子网和安全组。如果 Studio Classic 运行时系统角色或 Amazon VPC 阻止了 ec2:list*
调用,则您必须使用此选项来选择子网和安全组。
加密密钥
您可以选择在训练作业和托管作业中传递的 AWS KMS 密钥。 SageMaker AI 使用此密钥加密容器的 Amazon EBS 卷,并使用 Amazon S3 中重新打包的模型来托管任务和训练作业的输出。有关 AWS KMS 密钥的更多信息,请参阅AWS KMS 密钥。
您传递的密钥必须信任您传递的 IAM 角色。如果您未指定 IAM 角色,则该 AWS KMS 密钥必须信任您的 Studio Classic 运行时角色。
如果您不选择 AWS KMS 密钥, SageMaker AI 会为 Amazon EBS 卷和 Amazon S3 项目中的数据提供默认加密。
查找加密密钥
如果选择此选项,则必须从下拉列表中选择现有 AWS KMS 密钥。
输入加密密钥
如果选择此选项,则必须手动输入 AWS KMS 密钥。如果您的 Studio Classic 执行角色或 Amazon VPC 阻止了kms:list*
呼叫,则必须使用此选项来选择现有 AWS KMS 密钥。
为 JumpStart 模型配置默认值
您可以为 IAM 角色和 KMS 密钥等参数配置默认值 VPCs,以便为 JumpStart 模型部署和训练进行预填充。配置默认值后,Studio Classic UI 会自动向 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 A SageMaker I 域中,每个用户个人资料的配置文件都是唯一的。用户配置文件的 Studio Classic 应用程序与用户配置文件关联。有关更多信息,请参阅 域用户配置文件。
管理员可以选择通过JupyterServer
生命周期配置为 JumpStart 模型训练和部署设置默认配置。有关更多信息,请参阅 创建并关联生命周期配置。
您的配置文件应符合 P SageMaker ython SDK 配置文件结构TrainingJob
Model
、和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