翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
のカスタム Docker コンテナイメージを作成し SageMaker 、AWSStep Functions のモデルトレーニングに使用します。
作成者: Julia Bluszcz (AWS)、Neha Sharma (AWS)、Aubrey Oosthuizen (AWS)、Mohan Gowda Purushothama (AWS)、Mateusz Zaremba (AWS)
環境:本稼働 | テクノロジー: 機械学習と AI DevOps | AWS サービス: Amazon ECR、Amazon SageMaker、AWSStep Functions |
[概要]
このパターンは、Amazon SageMaker 用の Docker コンテナイメージを作成し、AWSStep Functions のトレーニングモデルに使用する方法を示しています。カスタムアルゴリズムをコンテナにパッケージ化することで、プログラミング言語、フレームワーク、依存関係に関係なく、 SageMaker 環境内のほぼすべてのコードを実行できます。
提供されたSageMaker ノートブックの例では、カスタム Docker コンテナイメージは Amazon Elastic Container Registry (Amazon ECR) に保存されます。次に、Step Functions は Amazon に保存されているコンテナECRを使用して、 の Python 処理スクリプトを実行します SageMaker。次に、コンテナはモデルを Amazon Simple Storage Service (Amazon S3) にエクスポートします。
前提条件と制限
前提条件
アクティブなAWSアカウント
Amazon S3 アクセス許可を持つ AWS の Identity and Access Management (IAM) ロール SageMaker Amazon S3
Python に精通
Amazon SageMaker Python に精通している SDK
AWS コマンドラインインターフェイスに精通している (AWS CLI)
AWS SDK for Python (Boto3) に精通している
Amazon に精通している ECR
Docker に精通していること
製品バージョン
AWS Step Functions Data Science SDKバージョン 2.3.0
Amazon SageMaker Python SDKバージョン 2.78.0
アーキテクチャ
次の図は、 の Docker コンテナイメージを作成し SageMaker、それを Step Functions のトレーニングモデルに使用するワークフローの例を示しています。
この図表は、次のワークフローを示しています:
データサイエンティストまたは DevOps エンジニアは、Amazon SageMaker ノートブックを使用してカスタム Docker コンテナイメージを作成します。
データサイエンティストまたは DevOps エンジニアは、Docker コンテナイメージをECRプライベートレジストリにある Amazon プライベートリポジトリに保存します。
データサイエンティストまたは DevOps エンジニアは、Docker コンテナを使用して Step Functions ワークフローで Python SageMaker 処理ジョブを実行します。
自動化とスケール
このパターンの SageMaker ノートブック例では、ml.m5.xlarge
ノートブックインスタンスタイプを使用します。ユースケースに応じて、インスタンスタイプを変更することができます。 SageMaker ノートブックインスタンスタイプの詳細については、「Amazon SageMaker 料金
ツール
Amazon Elastic Container Registry (Amazon ECR) は、安全でスケーラブル、信頼性の高いマネージドコンテナイメージレジストリサービスです。
Amazon SageMaker は、ML モデルを構築およびトレーニングし、本番環境対応のホスト環境にデプロイするのに役立つマネージド機械学習 (ML) サービスです。
Amazon SageMaker Python SDK
は、 で機械学習モデルをトレーニングおよびデプロイするためのオープンソースライブラリです SageMaker。 AWS Step Functions は、Lambda AWS 関数とその他のサービスを組み合わせてビジネスクリティカルなアプリケーションを構築するのに役立つサーバーレスオーケストレーションAWSサービスです。
AWS Step Functions Data Science Python SDK
は、機械学習モデルを処理および公開する Step Functions ワークフローの作成に役立つオープンソースライブラリです。
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
Amazon をセットアップECRし、新しいプライベートレジストリを作成します。 | まだセットアップしていない場合は、「Amazon ユーザーガイド」の「Amazon でのセットアップ」の指示ECRに従って Amazon をセットアップします。 ECR ECR 各AWSアカウントには、デフォルトのプライベート Amazon ECRレジストリが用意されています。 | DevOps エンジニア |
Amazon ECRプライベートリポジトリを作成します。 | Amazon ECRユーザーガイドの「プライベートリポジトリの作成」の指示に従います。 注:作成したリポジトリは、カスタム Docker コンテナイメージを保存する位置です。 | DevOps エンジニア |
SageMaker 処理ジョブの実行に必要な仕様を含む Dockerfile を作成します。 | Dockerfile を設定して SageMaker 処理ジョブを実行するために必要な仕様を含む Dockerfile を作成します。手順については、「Amazon SageMaker デベロッパーガイド」の「独自のトレーニングコンテナの適応」を参照してください。 Dockerfiles の詳細については、Docker ドキュメントの Dockerfile リファレンス 例:Jupyter Notebookのコードセルで[Dockerfile]を作成 セル 1
セル 2
| DevOps エンジニア |
Docker コンテナイメージを構築し、Amazon にプッシュしますECR。 |
詳細については、「 での独自のアルゴリズムコンテナの構築」の「コンテナの構築と登録 Docker イメージを構築して登録する Jupyter Notebookのコードセルの例 重要:次のセルを実行する前に、Dockerfile が作成され、 セル 1
セル 2
セル 3
セル 4
注:「Docker クライアントをプライベートレジストリーで検証して」、 | DevOps エンジニア |
タスク | 説明 | 必要なスキル |
---|---|---|
カスタム処理とモデルトレーニングロジックを含む Python スクリプトを作成します。 | カスタム処理ロジックを書き込んでデータ処理スクリプトで実行します。その後、これを Python スクリプトとして、 詳細については、「」の SageMaker 「スクリプトモードで独自のモデルを持参 カスタム処理とモデルトレーニングロジックを含む Python スクリプトの例
| データサイエンティスト |
ステップの 1 つとして SageMaker 処理ジョブを含む Step Functions ワークフローを作成します。 | AWS Step Functions Data Science SDK 重要: AWSアカウントで Step Functions IAMの実行ロールが作成され Amazon S3 にアップロードする環境設定例とカスタムトレーニングスクリプト
カスタム Amazon ECRイメージと Python スクリプトを使用する SageMaker 処理ステップ定義の例 注:必ず
SageMaker 処理ジョブを実行する Step Functions ワークフローの例 注: このワークフローの例には、完全な Step Functions ワークフローではなく、 SageMaker 処理ジョブステップのみが含まれます。ワークフローの完全な例については、AWSStep Functions データサイエンスSDKドキュメントの「 のノートブックの例 SageMaker
| データサイエンティスト |
関連リソース
プロセスデータ (Amazon SageMaker デベロッパーガイド )
独自のトレーニングコンテナの適応 (Amazon SageMaker デベロッパーガイド )