翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS デベロッパーツールを使用して ML 構築、トレーニング、デプロイのワークロードを Amazon SageMaker に移行する
作成者: Scot Marvin (AWS)
R タイプ: リプラットフォーム | ソース: 機械学習 | ターゲット: Amazon SageMaker |
作成者:AWS | 環境:PoC またはパイロット | テクノロジー: 機械学習と AI DevOps、移行 |
AWS サービス: Amazon SageMaker |
[概要]
このパターンは、Unix または Linux サーバーで実行されているオンプレミスの機械学習 (ML) アプリケーションを Amazon を使用して AWS にトレーニングおよびデプロイするための移行に関するガイダンスを提供します SageMaker。たとえば、継続的な統合や継続的なデプロイ (CI/CD) パイプラインを使用している場合です。移行パターンは AWS CloudFormation スタックを使用してデプロイされます。
前提条件と制限
前提条件
AWS Landing Zone
を使用するアクティブな AWS アカウント Unix または Linux サーバーにインストールして構成された コマンドラインインターフェイス ( CLI)
GitHub、AWS CodeCommit、または Amazon Simple Storage Service (Amazon S3) のいずれかの ML ソースコードリポジトリ
制約事項
1 つの AWS リージョンにデプロイできる個別のパイプラインは 300 だけです。
このパターンは、Python の train-and-deploy コードを使用した教師あり ML ワークロードを対象としています。
製品バージョン
Python 3.6x を使用する Docker バージョン 19.03.5、ビルド 633a0ea
アーキテクチャ
ソーステクノロジースタック
ローカルファイルシステムまたはリレーショナルデータベース内のデータを含むオンプレミスの Linux コンピュートインスタンス
ソースアーキテクチャ
![](images/pattern-img/c64f5edb-aae2-4f70-b494-81870ffb3fbf/images/54268422-b9a2-4c6c-8e95-87f3a8fc2f15.png)
ターゲットテクノロジースタック
データストレージ用の Amazon S3 と、パイプライン実行の追跡またはログ記録用のメタデータストアとしての Amazon DynamoDB と共に CodePipeline デプロイされた AWS
ターゲット アーキテクチャ
![](images/pattern-img/c64f5edb-aae2-4f70-b494-81870ffb3fbf/images/c0fc6ba2-0267-432e-b038-cf2e30740211.png)
アプリケーション移行アーキテクチャ
ネイティブ Python パッケージと AWS CodeCommit リポジトリ (およびデータベースインスタンス上のオンプレミスデータセット用の SQL クライアント)
![](images/pattern-img/c64f5edb-aae2-4f70-b494-81870ffb3fbf/images/bab5cfd8-858e-4b9f-b3b8-5a5a26fec9bb.png)
ツール
Python
Git
AWS CLI – AWS CLI
は AWS CloudFormation スタックをデプロイし、データを 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」