翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon の推論パイプラインを使用して、1 つのエンドポイントの ML モデルに前処理ロジックをデプロイする SageMaker
作成者: Mohan Gowda Purushothama (AWS)、Gabriel Rodriguez Garcia (AWS)、Mateusz Zaremba (AWS)
環境:本稼働 | テクノロジー: 機械学習と AI、コンテナとマイクロサービス | AWS サービス: Amazon SageMaker、Amazon ECR |
[概要]
このパターンでは、Amazon の推論パイプラインを使用して、1 つのエンドポイントに複数のパイプラインモデルオブジェクトをデプロイする方法を説明します SageMaker。パイプラインモデルオブジェクトは、前処理、モデル推論、後処理など、さまざまな機械学習 (ML) ワークフローステージを表します。シリアル接続されたパイプラインモデルオブジェクトのデプロイを説明するために、このパターンは、 に組み込まれている線形学習アルゴリズムに基づいて、前処理の Scikit-learn コンテナと回帰モデルをデプロイする方法を示しています SageMaker。デプロイは、 の 1 つのエンドポイントの背後でホストされます SageMaker。
注: このパターンのデプロイメントは ml.m4.2xlarge インスタンスタイプを使用します。データサイズの要件とワークフローの複雑さに合ったインスタンスタイプを使用することをお勧めします。詳細については、「Amazon SageMaker の料金
前提条件と制限
前提条件
アクティブな AWS アカウント
基本アクセス SageMaker 許可と Amazon Simple Storage Service (Amazon S3) アクセス許可を持つ AWS Identity and Access Management Amazon S3ロール https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-policy-language-overview.html
製品バージョン
アーキテクチャ
ターゲットテクノロジースタック
Amazon Elastic Container Registry (Amazon ECR)
Amazon SageMaker
Amazon SageMaker Studio
Amazon Simple Storage Service (Amazon S3)
Amazon のリアルタイム推論エンドポイント SageMaker
ターゲット アーキテクチャ
次の図は、Amazon SageMaker パイプラインモデルオブジェクトをデプロイするためのアーキテクチャを示しています。
![SageMaker パイプラインモデルオブジェクトをデプロイするためのアーキテクチャ](images/pattern-img/1105d51b-752f-46d7-962c-acef1fb3399f/images/12f06715-b1c2-4de0-b277-99ce87308152.png)
この図表は、次のワークフローを示しています:
SageMaker ノートブックはパイプラインモデルをデプロイします。
S3 バケットにはモデルアーティファクトが格納されます。
Amazon ECR は S3 バケットからソースコンテナイメージを取得します。
ツール
AWS ツール
Amazon Elastic Container Registry (Amazon ECR) は、セキュリティ、スケーラビリティ、信頼性を備えたマネージドコンテナイメージレジストリサービスです。
Amazon SageMaker は、ML モデルを構築してトレーニングし、本番環境に対応したホスト環境にデプロイするのに役立つマネージド ML サービスです。
Amazon SageMaker Studio は、ML モデルの構築、トレーニング、デバッグ、デプロイ、モニタリングを可能にする ML 用のウェブベースの統合開発環境 (IDE) です。
Amazon Simple Storage Service (Amazon S3) は、任意の量のデータを保存、保護、取得する上で役立つクラウドベースのオブジェクトストレージサービスです。
コード
このパターンのコードは、 GitHub 「Scikit-learn と Linear Learner を使用した推論パイプライン
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
リグレッションタスク用のデータセットを準備します。 | Amazon SageMaker Studio でノートブックを開きます。 必要なライブラリをすべてインポートして作業環境を初期化するには、ノートブックで以下のサンプルコードを使用してください。
サンプルデータセットをダウンロードするには、以下のコードをノートブックに追加します。
注: このパターンの例では、UCI 機械学習のリポジトリのアバロンデータセット | データサイエンティスト |
データセットを S3 バケットにアップロードします。 | 先にデータセットを準備したノートブックに、以下のコードを追加してサンプルデータを S3 バケットにアップロードします。
| データサイエンティスト |
タスク | 説明 | 必要なスキル |
---|---|---|
preprocessor.py スクリプトを準備します。 |
| データサイエンティスト |
SKLearn プリプロセッサオブジェクトを作成します。 | 最終的な推論パイプラインに組み込むことができる SKLearn プリプロセッサオブジェクト (SKLearn 推定器と呼ばれる) を作成するには、 SageMaker ノートブックで次のコードを実行します。
| データサイエンティスト |
プリプロセッサの推論をテストします。 | プリプロセッサが正しく定義されていることを確認するには、 SageMaker ノートブックに次のコードを入力してバッチ変換ジョブを起動します。
|
タスク | 説明 | 必要なスキル |
---|---|---|
モデルオブジェクトを作成します。 | 線形学習アルゴリズムに基づいてモデルオブジェクトを作成するには、 SageMaker ノートブックに次のコードを入力します。
上記のコードでは、パブリック Amazon ECR レジストリからモデルの関連する Amazon ECR Docker イメージを取得し、推定オブジェクトを作成し、そのオブジェクトを使用してリグレッションモデルをトレーニングします。 | データサイエンティスト |
タスク | 説明 | 必要なスキル |
---|---|---|
パイプラインモデルをデプロイします。 | パイプラインモデルオブジェクト (つまり、プリプロセッサオブジェクト) を作成してオブジェクトをデプロイするには、 SageMaker ノートブックに次のコードを入力します。
メモ: モデルオブジェクトで使用されるインスタンスタイプは、必要に応じて調整できます。 | データサイエンティスト |
推論をテストします。 | エンドポイントが正しく動作していることを確認するには、 SageMaker ノートブックで次のサンプル推論コードを実行します。
| データサイエンティスト |
関連リソース
Amazon SageMaker 推論パイプラインと Scikit-learn を使用して予測を行う前に入力データを前処理する
(AWS Machine Learning Blog)