デベロAWSッパーツール SageMaker を使用して ML のビルド、トレーニング、デプロイワークロードを Amazon に移行する - AWS 規範ガイダンス

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

デベロAWSッパーツール SageMaker を使用して ML のビルド、トレーニング、デプロイワークロードを Amazon に移行する

作成者: Scot Marvin (AWS)

R タイプ: リプラットフォーム

ソース: 機械学習

ターゲット: Amazon SageMaker

作成者: AWS

環境:PoC またはパイロット

テクノロジー: 機械学習と AI DevOps;; 移行

AWS サービス: Amazon SageMaker

[概要]

このパターンは、Unix または Linux サーバーで実行されているオンプレミス機械学習 (ML) アプリケーションを移行し、Amazon AWSを使用してトレーニングおよびデプロイするためのガイダンスを提供します SageMaker。たとえば、継続的な統合や継続的なデプロイ (CI/CD) パイプラインを使用している場合です。移行パターンはAWS CloudFormation スタックを使用してデプロイされます。

前提条件と制限

前提条件

機能制限

  • 1 つのAWSリージョンにデプロイできるパイプラインは 300 個のみです。

  • このパターンは、Python でコードを使用する train-and-deploy教師あり ML ワークロードを対象としています。

製品バージョン

  • Python 3.6x を使用する Docker バージョン 19.03.5、ビルド 633a0ea

アーキテクチャ

ソーステクノロジースタック

  • ローカルファイルシステムまたはリレーショナルデータベース内のデータを含むオンプレミスの Linux コンピュートインスタンス

ソースアーキテクチャ

Diagram showing on-premises setup with Python, Jupyter, and database components interconnected.

ターゲットテクノロジースタック

  • AWS CodePipeline パイプラインの実行を追跡またはログ記録するためのメタデータストアとして、データストレージ用の Amazon S3 と Amazon DynamoDB でデプロイ

ターゲット アーキテクチャ

AWS machine learning workflow diagram showing integration of various services for model development and deployment.

アプリケーション移行アーキテクチャ

  • ネイティブ Python パッケージとAWS CodeCommit リポジトリ (およびデータベースインスタンス上のオンプレミスデータセット用のSQLクライアント)

AWS クラウド architecture diagram showing ML pipeline orchestration and data flow from on-premises to cloud services.

ツール

  • Python

  • Git 

  • AWS CLI – はAWS CloudFormation スタックをAWSCLIデプロイし、データを S3 バケットに移動します。それを受けてS3 バケットはターゲットに移動します。

エピック

タスク説明必要なスキル
ソースコードとデータセットを検証します。データサイエンティスト
ターゲットのビルド、トレーニング、デプロイのインスタンスタイプとサイズを特定します。データエンジニア、データサイエンティスト
機能リストと容量要件を作成します。
ネットワーク要件を特定します。DBA、システム管理者
ソースアプリケーションとターゲットアプリケーションのネットワークまたはホストアクセスセキュリティ要件を特定します。データエンジニア、ML エンジニア、システム管理者
バックアップ戦略を決定します。ML エンジニア、システム管理者
可用性の要件を決定します。ML エンジニア、システム管理者
アプリケーションの移行またはスイッチオーバー戦略を特定します。データサイエンティスト、ML エンジニア
タスク説明必要なスキル
仮想プライベートクラウド () を作成しますVPC。ML エンジニア、システム管理者
セキュリティグループを作成します。ML エンジニア、システム管理者
ML コード用に Amazon S3 バケットとAWS CodeCommit リポジトリブランチを設定します。ML エンジニア
タスク説明必要なスキル
ネイティブの MySQL ツールまたはサードパーティーのツールを使用して、トレーニング、検証、およびテストデータセットをプロビジョニングされた S3 バケットに移行します。

これはAWS CloudFormation スタックのデプロイに必要です。

データエンジニア、ML エンジニア
ML トレーニングとホスティングコードを Python パッケージとしてパッケージ化し、 AWS CodeCommit または のプロビジョニングされたリポジトリにプッシュします GitHub。

テンプレートを移行AWS CloudFormation 用にデプロイするには、リポジトリのブランチ名が必要です。

データサイエンティスト、ML エンジニア
タスク説明必要なスキル
ML ワークロードの移行戦略に従います。アプリ所有者、ML エンジニア
AWS CloudFormation スタックをデプロイします。

AWS CLI を使用して、このソリューションに付属しているYAMLテンプレートで宣言されたスタックを作成します。

データサイエンティスト、ML エンジニア
タスク説明必要なスキル
アプリケーションクライアントを新しいインフラストラクチャに切り替えます。アプリ所有者、データサイエンティスト、ML エンジニア
タスク説明必要なスキル
一時AWSリソースをシャットダウンします。

AWS CloudFormation テンプレートからカスタムリソースをシャットダウンします (使用されていない AWS Lambda 関数など)。

データサイエンティスト、ML エンジニア
プロジェクト文書を確認して検証する。アプリ所有者、データサイエンティスト
結果と ML モデルの評価指標をオペレーターと検証します。

モデルのパフォーマンスがアプリケーションユーザーの期待と一致し、オンプレミスの状態と同等であることを確認します。

アプリ所有者、データサイエンティスト
プロジェクトを終了し、フィードバックを提供します。アプリ所有者、ML エンジニア

関連リソース

添付ファイル

このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip