本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建自定义项目模板
如果 SageMaker提供的模板不能满足您的需求(例如,您想在多个阶段或自定义批准步骤中 CodePipeline 进行更复杂的编排),请创建自己的模板。
我们建议首先使用 SageMaker提供的模板来了解如何组织代码和资源,并在此基础上进行构建。为此,在启用对 SageMaker 模板的管理员访问权限后,请登录 https://console.aws.amazon.com/servicecatalog/,选择 Portfolios
创建自己的项目模板以自定义您的 mLOps 项目。 SageMaker 项目模板是服务目录预配置的产品,用于为您的 MLOPs 项目配置资源。
要创建自定义项目模板,请完成以下步骤。
-
创建产品组合。有关信息,请参阅步骤 3:创建 Service Catalog 产品组合。
-
创建产品。产品就是 CloudFormation 模板。您可以创建多个版本的产品。有关信息,请参阅步骤 4:创建 Service Catalog 产品。
要使产品与 SageMaker 项目配合使用,请在产品模板中添加以下参数。
SageMakerProjectName: Type: String Description: Name of the project SageMakerProjectId: Type: String Description: Service generated Id of the project.
重要
我们建议您将 CodeCommit 存储库打包到 SageMaker 代码存储库中,这样项目的存储库才能在 VPC 模式下可见。示例模板和所需的附加内容如以下代码示例所示。
原始(示例)模板:
ModelBuildCodeCommitRepository: Type: AWS::CodeCommit::Repository Properties: # Max allowed length: 100 chars RepositoryName: !Sub sagemaker-${SageMakerProjectName}-${SageMakerProjectId}-modelbuild # max: 10+33+15+10=68 RepositoryDescription: !Sub SageMaker Model building workflow infrastructure as code for the Project ${SageMakerProjectName} Code: S3: Bucket:
SEEDCODE_BUCKETNAME
Key: toolchain/model-building-workflow-v1.0.zip BranchName: main要在 VPC 模式下添加的附加内容:
SageMakerRepository: Type: AWS::SageMaker::CodeRepository Properties: GitConfig: RepositoryUrl: !GetAtt ModelBuildCodeCommitRepository.CloneUrlHttp Branch: main
-
添加启动约束。启动约束指定 IAM 角色,用户启动产品时 Service Catalog 将代入此角色。有关信息,请参阅步骤 6:添加启动约束以分配 IAM 角色。
-
在 https://console.aws.amazon.com/servicecatalog/
上预置产品以测试模板。如果您对模板感到满意,请继续执行下一步以使该模板在 Studio(或 Studio Classic)中可用。 -
向您的 Studio(或 Studio Classic)执行角色授予您在步骤 1 中创建的 Service Catalog 组合的访问权限。使用域执行角色或具有 Studio(或 Studio Classic)访问权限的用户角色。有关向产品组合添加角色的信息,请参阅步骤 7:向最终用户授予产品组合的访问权限。
-
要使您的项目模板在 Studio(或 Studio Classic)的组织模板列表中可用,请使用以下键和值为在步骤 2 中创建的 Service Catalog 产品创建一个标签。
-
键:
sagemaker:studio-visibility
-
值:
true
-
完成这些步骤后,组织中的 Studio(或 Studio Classic)用户可以使用您创建的模板创建项目,方法是按照中的步骤进行操作,使用亚马逊 SageMaker Studio 或 Studio Classic 创建 MLOPS并在选择模板时选择组织模板。