SageMaker プロジェクトとは - Amazon SageMaker

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

SageMaker プロジェクトとは

SageMaker プロジェクトは、組織がデータサイエンティスト用の開発者環境と MLOps エンジニア用の CI/CD システムを設定および標準化するのに役立ちます。また、組織が依存関係管理、コードリポジトリ管理、ビルド再現性、アーティファクト共有をセットアップする場合にも役立ちます。

カスタムテンプレートまたは が提供するテンプレートを使用して、 AWS Service Catalog SageMakerから SageMaker プロジェクトをプロビジョニングできます。 AWS Service Catalog の詳細については、「Service Catalog とは AWS」を参照してください。 SageMaker プロジェクトを使用すると、MLOps エンジニアと組織管理者は独自のテンプレートを定義したり、 SageMakerが提供するテンプレートを使用したりできます。 SageMakerが提供するテンプレートは、ソースバージョン管理、自動 ML パイプライン、および一連のコードを使用して ML ワークフローをブートストラップし、ML ユースケースの反復をすばやく開始します。

プロジェクトは SageMakerいつ使用すべきですか?

ノートブックはモデルの構築や実験には便利ですが、コードを共有するデータサイエンティストや機械学習エンジニアのチームは、コードの一貫性と厳格なバージョン管理を維持するためのよりスケーラブルな手段を必要とします。

すべての組織には、 AWS 環境にセキュリティとガバナンスを提供する独自の標準とプラクティスのセットがあります。 は、ML ワークフローと CI/CD を迅速に開始したい組織向けに、一連のファーストパーティーテンプレート SageMaker を提供します。テンプレートには、、、 などの CI/CD に AWSネイティブサービスを使用するプロジェクトが含まれています AWS CodeBuild AWS CodePipeline AWS CodeCommit。テンプレートには、Jenkins や などのサードパーティーツールを使用するプロジェクトを作成するオプションもあります GitHub。 SageMaker が提供するプロジェクトテンプレートのリストについては、「」を参照してください SageMakerが提供するプロジェクトテンプレートを使用する

多くの場合、組織は、MLOps リソースを厳密に制御してプロビジョニングおよび管理する必要があります。このような責任は、IAM ロールとポリシーの設定、リソースタグの強制、暗号化の強制、複数のアカウントにわたるリソースのデカップリングなど、特定のタスクを引き受けます。 SageMaker プロジェクトは、組織が テンプレートを使用して ML ワークフローに必要なリソースを定義するカスタム AWS CloudFormation テンプレートサービスを通じて、これらのすべてのタスクをサポートできます。データサイエンティストは、テンプレートを選択して機械学習ワークフローをブートストラップおよび事前設定できます。これらのカスタムテンプレートは Service Catalog 製品として作成され、Studio または Studio Classic UI の Organization Templates でプロビジョニングできます。Service Catalog は、組織が での使用が承認された製品のカタログを作成および管理できるようにするサービスです AWS。カスタムテンプレートの作成の詳細については、「カスタム SageMaker プロジェクトテンプレートの構築 – ベストプラクティス」を参照してください。

SageMaker プロジェクトは Git リポジトリの管理に役立つため、チーム間でより効率的にコラボレーションし、コードの一貫性を確保し、CI/CD をサポートできます。 SageMaker プロジェクトは次のタスクに役立ちます。

  • 機械学習ライフサイクルのすべてのエンティティを 1 つのプロジェクトにまとめます。

  • シングルクリックアプローチを確立し、ベストプラクティスを反映したモデルのトレーニングとデプロイのための標準機械学習インフラストラクチャをセットアップします。

  • 機械学習インフラストラクチャのテンプレートを作成して共有し、複数のユースケースに対応します。

  • SageMakerが提供する事前構築済みテンプレートを活用して、モデル構築にすばやく焦点を合わせるか、組織固有のリソースとガイドラインを使用してカスタムテンプレートを作成します。

  • プロジェクトテンプレートを拡張して、選択したツールと統合します。例については、「 と統合する SageMaker プロジェクトを作成する GitLab 」および GitLab「パイプライン」を参照してください。

  • 機械学習ライフサイクルのすべてのエンティティを 1 つのプロジェクトにまとめます。

SageMaker プロジェクトの内容

お客様は、ユースケースに最適なリソースを使用して、プロジェクトを柔軟に設定できます。以下の例では、モデルのトレーニングやデプロイなど、機械学習ワークフローの MLOps のセットアップを示します。

モデルトレーニングとデプロイステップを含むパイプラインの ML ワークフロー図。

SageMakerが提供するテンプレートを使用する一般的なプロジェクトには、次のようなものがあります。

  • 機械学習ソリューションを構築およびデプロイするための 1 つ以上のリポジトリとサンプルコード。これらは、ニーズに合わせて変更できる実例です。このコードを所有することで、バージョン管理されたリポジトリをタスクに利用できます。

  • 次の図に示すように、データの準備、トレーニング、モデル評価、モデルデプロイの手順を定義する SageMaker パイプライン。

    データ準備、トレーニング、モデル評価、モデルデプロイの各ステップを含む SageMaker パイプライン。
  • コードの新しいバージョンをチェックインするたびにパイプラインを実行する CodePipeline または Jenkins SageMaker パイプライン。の詳細については CodePipeline、「 とは」を参照してください AWS CodePipeline。Jenkins の詳細については、「Jenkins ユーザードキュメント」を参照してください。

  • モデルバージョンを含むモデルグループ。 SageMaker パイプラインの実行から結果のモデルバージョンを承認するたびに、 SageMaker エンドポイントにデプロイできます。

各 SageMaker プロジェクトには一意の名前と ID があり、プロジェクトで作成されたすべての SageMaker および AWS リソースにタグとして適用されます。この名前と ID を使用すると、プロジェクトに関連付けられたすべてのエンティティを表示できます。具体的には次のとおりです。

  • パイプライン

  • 登録済みのモデル

  • デプロイ済みのモデル (エンドポイント)

  • データセット

  • Service Catalog 製品

  • CodePipeline および Jenkins パイプライン

  • CodeCommit およびサードパーティーの Git リポジトリ

パイプラインを使用するには SageMakerプロジェクトを作成する必要がありますか?

No. SageMaker pipelines は、トレーニングジョブ、処理ジョブ、その他の SageMaker ジョブと同様にスタンドアロンエンティティです。 SageMaker プロジェクトを使用せずに SageMaker Python SDK を使用して、ノートブック内でパイプラインを直接作成、更新、実行できます。

プロジェクトには、コードを整理したり、本番品質システムに必要な運用上のベストプラクティスを導入したりする際に役立つ追加のレイヤーが用意されています。