プロジェクトのウォークスルー SageMaker MLOps - Amazon SageMaker

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

プロジェクトのウォークスルー SageMaker MLOps

重要

2023 年 11 月 30 日現在、以前の Amazon SageMaker Studio エクスペリエンスは Amazon SageMaker Studio Classic と名付けられています。以下のセクションは、Studio Classic アプリケーションの使用に固有のものです。更新された Studio エクスペリエンスの使用については、「」を参照してくださいAmazon SageMaker Studio

このチュートリアルでは、 テンプレートMLOps モデルの構築、トレーニング、デプロイ用の テンプレートを使用して、CI/CD システムを作成してモデルを構築、トレーニング、デプロイするMLOpsプロジェクトの使用をデモンストレーションします。

前提条件

このチュートリアルを完了するには、以下が必要になります。

ステップ 1: プロジェクトを作成する

このステップでは、 SageMakerが提供するプロジェクトテンプレートを使用して、モデルを構築、トレーニング、デプロイしてプロジェクトを作成します SageMaker MLOps。

プロジェクトを作成するには SageMaker MLOps
  1. Studio Classic にサインインします。詳細については、「Amazon SageMaker ドメインの概要」を参照してください。

  2. Studio Classic サイドバーで、ホームアイコン () を選択します Black square icon representing a placeholder or empty image.

  3. メニューから [デプロイ] を選択し、[プロジェクト] を選択します。

  4. [プロジェクトを作成] を選択します。

    [Create project] (プロジェクトの作成) タブが表示されます。

  5. まだ選択されていない場合は、 SageMaker テンプレート を選択し、MLOpsモデルの構築、トレーニング、デプロイのテンプレート を選択します。

  6. [Project details] (プロジェクトの詳細) で、プロジェクトの名前と説明を入力します。

プロジェクトが [プロジェクト] リストに表示され、[ステータス][作成完了] になったら、次のステップに進みます。

重要

2022 年 7 月 25 日以降、プロジェクトテンプレートを使用するには追加のロールが必要です。エラーメッセージCodePipeline がロール arn:aws:iam::xxx:role/service-role/ AssumeRole に対して実行することを許可されていない場合AmazonSageMakerServiceCatalogProductsCodePipelineRoleは、必要なロールの完全なリストと作成方法の手順については、「」のステップ 5~6 プロジェクトを使用するために必要な SageMaker Studio アクセス許可の付与 を参照してください。

ステップ 2: コードリポジトリのクローンを作成する

プロジェクトを作成すると、プロジェクトに CodeCommit 2 つのリポジトリが作成されます。1 つのリポジトリにはモデルをビルドおよびトレーニングするためのコードが含まれ、もう一方にはモデルをデプロイするためのコードが含まれています。このステップでは、コードを操作できるように、ローカル SageMaker Studio Classic 環境にモデルを構築してトレーニングするコードを含むローカルプロジェクトにリポジトリをクローンします。

コードリポジトリのクローンを作成するには
  1. Studio Classic サイドバーで、ホームアイコン () を選択します Black square icon representing a placeholder or empty image.

  2. メニューから [デプロイ] を選択し、[プロジェクト] を選択します。

  3. 前のステップで作成したプロジェクトを選択して、プロジェクトのプロジェクトタブを開きます。

  4. プロジェクトタブで [Repositories] (リポジトリ) を選択し、modelbuild で終わるリポジトリの [Local path] (ローカルパス) 列で [clone repo...] (リポジトリのクローンを作成) を選択します。

  5. 表示されるダイアログボックスで、デフォルト値を変更せずに、[Clone repository] (リポジトリのクローンを作成) を選択します。

    リポジトリのクローンを作成するダイアログボックス。

    リポジトリのクローンが作成されると、ローカルパスが [Local path] (ローカルパス) 列に表示されます。Studio Classic のリポジトリコードを含むローカルフォルダを開くパスを選択します。

ステップ 3: コードを変更する

次に、モデルを構築するパイプラインコードを変更し、変更をチェックインして、新しいパイプラインの実行を開始します。このパイプラインの実行により、新しいモデルバージョンが登録されます。

コードを変更するには
  1. Studio Classic で、ファイルブラウザアイコン ( Dark blue square icon with a white outline of a cloud and an arrow pointing upward. ) を選択し、 pipelines/abaloneフォルダに移動します。pipeline.py をダブルクリックして、コードファイルを開きます。

  2. pipeline.py ファイルで、トレーニングインスタンスタイプを設定する行を見つけます。

    training_instance_type = ParameterString( name="TrainingInstanceType", default_value="ml.m5.xlarge"

    ml.m5.xlargeml.m5.large に変更し、Ctrl+S を押して変更を保存します。

  3. Git アイコン () を選択します Dark circular icon with a cloud symbol and downward-pointing arrow inside. pipeline.py で変更をステージ、コミット、プッシュします。また、[概要] フィールドに概要を入力し、必要に応じて [説明] フィールドに説明を入力します。Studio Classic で Git を使用する方法については、「」を参照してください SageMaker Studio Classic で Git リポジトリをクローンする

    Git でステージングされたファイルをコミットする方法を示すスクリーンショット。

コード変更をプッシュすると、MLOpsシステムは新しいモデルバージョンを作成するパイプラインの実行を開始します。次のステップでは、新しいモデルバージョンを承認して、本番環境にデプロイします。

ステップ 4: モデルを承認する

これで、前のステップで作成した新しいモデルバージョンを承認し、モデルバージョンの SageMaker エンドポイントへのデプロイを開始します。

モデルバージョンを承認するには
  1. Studio Classic サイドバーで、ホームアイコン () を選択します Black square icon representing a placeholder or empty image.

  2. メニューから [デプロイ] を選択し、[プロジェクト] を選択します。

  3. 最初のステップで作成したプロジェクトの名前を選択して、プロジェクトのプロジェクトタブを開きます。

  4. プロジェクトタブで [Model groups] (モデルグループ) を選択し、表示されるモデルグループの名前をダブルクリックします。

    モデルグループタブが表示されます。

  5. モデルグループタブで、[バージョン 1] をダブルクリックします。[バージョン 1] タブが開きます。[Update status] (ステータスを更新) を選択します。

  6. [Update model version status] (モデルバージョンのステータスを更新) ダイアログボックスの [Status] (ステータス)ドロップダウンリストで、[Approve] (承認)、[Update status] (ステータスを更新) の順に選択します。

    モデルバージョンを承認すると、MLOpsシステムはモデルをステージングにデプロイします。エンドポイントを表示するには、プロジェクトタブで [Endpoints] (エンドポイント) タブを選択します。

(オプション) ステップ 5: モデルバージョンを本番環境にデプロイする

これで、モデルバージョンを本番環境にデプロイできます。

注記

このステップを完了するには、Studio Classic ドメインの管理者である必要があります。管理者でない場合は、この手順をスキップします。

モデルバージョンを本番環境にデプロイするには
  1. で CodePipeline コンソールにログインする https://console.aws.amazon.com/codepipeline/

  2. Pipelines を選択し、sagemaker- という名前のパイプラインを選択します。projectname-projectid-modeldeploy 、ここで projectname はプロジェクトの名前であり、projectid はプロジェクトの ID です。

  3. DeployStaging ステージで、「レビュー」を選択します。

  4. [Review] (確認) ダイアログボックスで、[Approve] (承認) を選択します。

    DeployStaging ステージを承認すると、MLOpsシステムはモデルを本番環境にデプロイします。エンドポイントを表示するには、Studio Classic のプロジェクトタブでエンドポイントタブを選択します。

ステップ 6: リソースをクリーンアップする

料金の発生を止めるには、このチュートリアルで作成したリソースをクリーンアップします。そのためには、以下の手順を完了します。

注記

AWS CloudFormation スタックと Amazon S3 バケットを削除するには、Studio Classic の管理者である必要があります。管理者でない場合は、管理者にこれらの手順を実行するように依頼します。

  1. Studio Classic サイドバーで、ホームアイコン () を選択します Black square icon representing a placeholder or empty image.

  2. メニューから [デプロイ] を選択し、[プロジェクト] を選択します。

  3. ドロップダウンリストから、ターゲットのプロジェクトを選択します。プロジェクトが表示されていない場合は、プロジェクト名を入力し、フィルターを適用してプロジェクトを検索します。

  4. Studio Classic プロジェクトは、次のいずれかの方法で削除できます。
    1. プロジェクトリストからプロジェクトを削除できます。

      ターゲットプロジェクトを右クリックし、ドロップダウンリストから [Delete] (削除) を選択します。

      注記

      この機能は Studio Classic バージョン v3.17.1 以降でサポートされています。詳細については、「 SageMaker Studio Classic のシャットダウンと更新」を参照してください。

    2. [Project details] (プロジェクトの詳細) セクションからプロジェクトを削除できます。
      1. プロジェクトが見つかったら、ダブルクリックしてメインパネルに詳細を表示します。

      2. [Actions] (アクション) メニューから [Delete] (削除) を選択します。

  5. [Delete Project] (プロジェクトの削除) ウィンドウの [Delete] (削除) を選択して、選択を確定します。

    これで、プロジェクトで作成した Service Catalog プロビジョニングの製品が削除されます。これには CodeCommit、プロジェクト用に作成された 、 CodePipeline、および CodeBuild リソースが含まれます。

  6. プロジェクトが作成した AWS CloudFormation スタックを削除します。スタックには、ステージング用と本番用の 2 つがあります。スタックの名前は sagemaker-projectname-project-id-deploy-stagingsagemaker-projectname-project-id-deploy-prod 、ここで projectname はプロジェクトの名前であり、project-id はプロジェクトの ID です。

    AWS CloudFormation スタックを削除する方法については、 AWS CloudFormation ユーザーガイド「 AWS CloudFormation コンソールでのスタックの削除」を参照してください。

  7. プロジェクトで作成した Amazon S3 バケットを削除します。バケットの名前は sagemaker-project-project-id、ここで project-id はプロジェクトの ID です。