カスタムプロジェクトテンプレートを作成する - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

カスタムプロジェクトテンプレートを作成する

重要

2024 年 10 月 28 日現在、 AWS CodeCommit テンプレートは削除されました。新しいプロジェクトでは、サードパーティーの Git リポジトリを使用する、利用可能なプロジェクトテンプレートから選択します。詳細については、「MLOps プロジェクトテンプレート」を参照してください。

SageMaker AI が提供するテンプレートがニーズを満たさない場合 (例えば、複数のステージやカスタム承認ステップを使用して CodePipeline でより複雑なオーケストレーションを行う場合)、独自のテンプレートを作成します。

まず、SageMaker AI が提供するテンプレートを使用して、コードとリソースを整理し、それに基づいて構築する方法を理解することをお勧めします。これを行うには、SageMaker AI テンプレートへの管理者アクセスを有効にした後、https://console.aws.amazon.com/servicecatalog/ にログインし、ポートフォリオを選択し、インポートを選択します。Service Catalog に関する詳細については、「Service Catalog ユーザーガイド」の「Overview of Service Catalog」を参照してください。

独自のプロジェクトテンプレートを作成して、MLOps プロジェクトをカスタマイズします。SageMaker AI プロジェクトテンプレートは、MLOps プロジェクトのリソースをプロビジョニングするための Service Catalog でプロビジョニングされた製品です。

カスタムプロジェクトテンプレートを作成するには、以下の手順を実行します。

  1. ポートフォリオを作成します。詳細については、「Step 3: Create an Service Catalog Portfolio」を参照してください。

  2. 製品を作成します。製品は CloudFormation テンプレートです。製品の複数のバージョンを作成できます。詳細については、「Step 4: Create an Service Catalog Product」を参照してください。

    製品が SageMaker プロジェクトで動作するように、製品テンプレートに次のパラメータを追加します。

    SageMakerProjectName: Type: String Description: Name of the project SageMakerProjectId: Type: String Description: Service generated Id of the project.
    重要

    CodeCommit リポジトリを SageMaker AI コードリポジトリにラップして、プロジェクトのリポジトリを 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
  3. 起動制約を追加します。起動制約は、ユーザーが製品を起動するときに Service Catalog が引き受ける IAM ロールを指定します。詳細については、「ステップ 6: IAM ロールを割り当てる起動制約を追加する」を参照してください。

  4. 製品を https://console.aws.amazon.com/servicecatalog/ にプロビジョニングして、テンプレートをテストします。テンプレートに問題がなければ、次のステップに進み、Studio (または Studio Classic) でテンプレートを利用できるようにします。

  5. ステップ 1 で作成した Service Catalog ポートフォリオへのアクセス許可を Studio (または Studio Classic) 実行ロールに付与します。ドメイン実行ロールか Studio (または Studio Classic) アクセス権が付与されているユーザーロールのいずれかを使用します。ポートフォリオへのロールの追加については、「ステップ 7: ポートフォリオへのアクセス権限のエンドユーザーへの付与」を参照してください。

  6. Studio (または Studio Classic) の [組織テンプレート] リストでプロジェクトテンプレートを使用できるようにするには、ステップ 2 で作成した Service Catalog 製品に以下のキー値でタグを作成します。

    • キー: sagemaker:studio-visibility

    • : true

上記のステップを完了すると、組織内の Studio (または Studio Classic) ユーザーは「Amazon SageMaker Studio または Studio Classic を使用して MLOps プロジェクトを作成する」の手順を実行して、テンプレートの選択時に [組織テンプレート] を選択すれば、作成済みのテンプレートを使用してプロジェクトを作成できます。