翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SageMaker AI プロジェクトとは
SageMaker プロジェクトは、組織がデータサイエンティスト向けのデベロッパー環境や MLOps エンジニア向けの CI/CD システムをセットアップおよび標準化するのに役立ちます。また、組織が依存関係管理、コードリポジトリ管理、ビルド再現性、アーティファクト共有をセットアップする場合にも役立ちます。
Amazon S3 バケットに保存されているカスタムテンプレートを使用するか、 または SageMaker AI のテンプレートを使用して、SageMaker プロジェクトをプロビジョニングできます。 Amazon S3 AWS Service Catalog AWSService Catalog の詳細については、AWS「サービスカタログとは」を参照してください。SageMaker プロジェクトを使用すると、MLOps エンジニアや組織の管理者は、独自のテンプレートを定義したり、SageMaker AI が提供するテンプレートを使用したりできます。SageMaker AI が提供するテンプレートは、ソースバージョン管理、自動化された ML パイプライン、ML ユースケースの反復処理を迅速に開始するためのコードセットを使用して ML ワークフローをブートストラップします。
SageMaker プロジェクトはどのような場合に使用すればよいですか。
重要
2024 年 9 月 9 日以降、AWSCodeCommit リポジトリを使用するプロジェクトテンプレートはサポートされなくなります。新しいプロジェクトでは、サードパーティーの Git リポジトリを使用する、利用可能なプロジェクトテンプレートから選択します。
ノートブックはモデルの構築や実験には便利ですが、コードを共有するデータサイエンティストや機械学習エンジニアのチームは、コードの一貫性と厳格なバージョン管理を維持するためのよりスケーラブルな手段を必要とします。
すべての組織には、AWS環境にセキュリティとガバナンスを提供する独自の標準とプラクティスのセットがあります。SageMaker AI は、ML ワークフローと CI/CD をすぐに開始したい組織向けに、ファーストパーティーテンプレートのセットを提供しています。テンプレートには、、AWS CodeBuildAWS CodePipeline、 などの CI/CD AWSにネイティブサービスを使用するプロジェクトが含まれていますAWS CodeCommit。また、Jenkins や GitHub などのサードパーティーのツールを使用するプロジェクトを作成するオプションも含まれています。SageMaker AI 提供のプロジェクトテンプレートのリストについては、「SageMaker AI 提供のプロジェクトテンプレートを使用する」を参照してください。
多くの場合、組織は、MLOps リソースを厳密に制御してプロビジョニングおよび管理する必要があります。この場合、IAM ロールとポリシーの設定、リソースタグの適用、暗号化の適用、複数のアカウントでのリソースの分離などの特定のタスクを責任として引き受けます。SageMaker プロジェクトは、組織がテンプレートを使用して ML ワークフローに必要なリソースを定義するカスタムCloudFormationテンプレートサービスを通じて、これらのタスクをすべてサポートできます。データサイエンティストは、テンプレートを選択して機械学習ワークフローをブートストラップおよび事前設定できます。
開始するには、Amazon S3 バケット内にカスタムテンプレートを作成して保存することをお勧めします。これにより、組織でサポートされている任意のリージョンにバケットを作成できます。S3 はバージョン管理をサポートしているため、テンプレートの複数のバージョンを維持し、必要に応じてロールバックできます。Amazon S3 バケットのテンプレートストアからプロジェクトを作成する方法については、「」を参照してくださいAmazon S3 バケットからのテンプレートの使用。
または、カスタムテンプレートを Service Catalog 製品として作成し、Studio または Studio Classic UI の Organization Templates でプロビジョニングすることもできます。Service Catalog は、組織が使用が承認された製品のカタログを作成および管理するためのサービスですAWS。カスタムテンプレートの作成の詳細については、「カスタム SageMaker AI プロジェクトテンプレートの構築 – ベストプラクティス
どちらのオプションも使用できますが、Service Catalog 経由で S3 バケットを使用することをお勧めします。これにより、Service Catalog の複雑さを管理することなく、SageMaker AI が利用可能なサポートされているリージョンにバケットを作成できます。
SageMaker プロジェクトを使用すると、Git リポジトリが管理しやすくなり、チーム間でのコラボレーションの効率化、コードの一貫性の確保、CI/CD のサポートが可能になります。SageMaker プロジェクトは以下のタスクに役立ちます。
-
機械学習ライフサイクルのすべてのエンティティを 1 つのプロジェクトにまとめます。
-
シングルクリックアプローチを確立し、ベストプラクティスを反映したモデルのトレーニングとデプロイのための標準機械学習インフラストラクチャをセットアップします。
-
機械学習インフラストラクチャのテンプレートを作成して共有し、複数のユースケースに対応します。
-
SageMaker AI が提供する事前構築されたテンプレートを活用すると、すぐにモデル構築に取りかかったり、組織固有のリソースとガイドラインを使用してカスタムテンプレートを作成したりできます。
-
プロジェクトテンプレートを拡張して、選択したツールと統合します。例については、「SageMaker AI プロジェクトを作成して GitLab パイプラインおよび GitLab パイプラインと統合する
」を参照してください。 -
機械学習ライフサイクルのすべてのエンティティを 1 つのプロジェクトにまとめます。
SageMaker AI プロジェクトとは
お客様は、ユースケースに最適なリソースを使用して、プロジェクトを柔軟に設定できます。以下の例では、モデルのトレーニングやデプロイなど、機械学習ワークフローの MLOps のセットアップを示します。
SageMaker AI が提供するテンプレートを使用した一般的なプロジェクトには、以下があります。
-
機械学習ソリューションを構築およびデプロイするための 1 つ以上のリポジトリとサンプルコード。これらは実践的なサンプルです。必要に応じて変更できます。このコードを所有することで、バージョン管理されたリポジトリをタスクに利用できます。
-
次の図に示されるとおり、データの準備、トレーニング、モデル評価、モデルのデプロイの手順を定義する SageMaker AI パイプライン
-
新しいバージョンのコードをチェックインする都度 SageMaker パイプラインを実行する CodePipeline または Jenkins パイプライン。CodePipeline の詳細については、AWSCodePipeline とは」を参照してください。Jenkins の詳細については、「Jenkins ユーザードキュメント
」を参照してください。 -
モデルバージョンを含むモデルグループ。SageMaker AI パイプライン実行から生成されたモデル バージョンを承認する都度、それを SageMaker AI エンドポイントにデプロイできます。
各 SageMaker AI プロジェクトには一意の名前と ID があり、プロジェクトで作成されたすべての SageMaker AI とAWSリソースにタグとして適用されます。この名前と ID を使用すると、プロジェクトに関連付けられたすべてのエンティティを表示できます。具体的には次のとおりです。
-
Pipelines
-
登録済みのモデル
-
デプロイ済みのモデル (エンドポイント)
-
データセット
-
Service Catalog 製品
-
CodePipeline および Jenkins パイプライン
-
CodeCommit とサードパーティーの Git リポジトリ
SageMaker AI パイプラインを使用するためにプロジェクトを作成する必要がありますか。
いいえ。SageMaker パイプラインは、トレーニングジョブ、処理ジョブ、その他の SageMaker AI ジョブと同様、スタンドアロンのエンティティです。SageMaker AI プロジェクトを使用せずに、SageMaker Python SDK を使用して、ノートブック内で直接パイプラインを作成、更新、実行することもできます。
プロジェクトには、コードを整理したり、本番品質システムに必要な運用上のベストプラクティスを導入したりする際に役立つ追加のレイヤーが用意されています。