組織の人工知能 (AI) と機械学習 (ML) の急速に進化する状況において、機械学習オペレーション (MLOps) プラットフォームを構築することは、モデルのパフォーマンスに関する要件を満たしながら、データ サイエンスの実験と展開の間のギャップをシームレスに埋めるために不可欠です。セキュリティとコンプライアンス。
規制およびコンプライアンスの要件を満たすために、このようなプラットフォームを設計する際の主要な要件は次のとおりです。
- アドレスデータドリフト
- モデルのパフォーマンスを監視する
- モデルの自動再トレーニングを促進する
- モデル承認のプロセスを提供する
- モデルを安全な環境に保管する
この投稿では、AWS のサービスとサードパーティのツールセットを組み合わせて使用しながら、これらのニーズに対応する MLOps フレームワークを作成する方法を示します。 このソリューションには、自動化されたモデルの再トレーニング、バッチ推論、およびモニタリングによるマルチ環境セットアップが必要です。 Amazon SageMakerモデルモニター、モデルのバージョン管理 SageMakerモデルレジストリ、および CI/CD パイプラインを使用して、環境全体で ML コードとパイプラインのプロモーションを促進します。 アマゾンセージメーカー, アマゾンイベントブリッジ, Amazon シンプル通知サービス (Amazon S3)、 HashiCorp Terraform, GitHubの, ジェンキンズ CI/CD。 私たちは、マンモグラフィーによる腫瘤病変の重症度 (良性または悪性) を予測するためのモデルを構築します。 XGBoostアルゴリズム 一般に公開されているものを使用して UCI マンモグラフィー検査 データセットを作成し、MLOps フレームワークを使用してデプロイします。 コード付きの完全な手順は、次の場所にあります。 GitHubリポジトリ.
ソリューションの概要
次のアーキテクチャ図は、次の主要コンポーネントを含む MLOps フレームワークの概要を示しています。
- マルチアカウント戦略 – AWS Well-Architected のベストプラクティスに従って、XNUMX つの異なる環境 (dev と prod) が XNUMX つの異なる AWS アカウントにセットアップされ、XNUMX 番目のアカウントが中央のモデルレジストリにセットアップされます。
- 開発環境 –どこで Amazon SageMaker Studio ドメイン は、モデルを上位の環境に昇格する準備が整う前に、モデルの開発、モデルのトレーニング、ML パイプラインのテスト (トレーニングと推論) を可能にするように設定されています。
- 本番環境 – 開発からの ML パイプラインが最初のステップとしてプロモートされ、時間の経過とともにスケジュールおよび監視される場所。
- 中央モデル レジストリ – Amazon SageMaker モデルレジストリ は、開発環境と本番環境全体で生成されたモデルのバージョンを追跡するために、別の AWS アカウントに設定されます。
- CI/CD とソース管理 – 環境全体にわたる ML パイプラインのデプロイは、GitHub を通じて処理されるバージョン管理とともに、Jenkins で設定された CI/CD を通じて処理されます。 対応する環境の git ブランチにマージされたコード変更は、CI/CD ワークフローをトリガーして、指定されたターゲット環境に適切な変更を加えます。
- バッチ予測 モデルモニタリングあり – で構築された推論パイプライン AmazonSageMakerパイプライン スケジュールに基づいて実行され、SageMaker Model Monitor を使用してデータ ドリフトを検出するモデル監視とともに予測を生成します。
- 自動再トレーニングメカニズム – SageMaker Pipelines で構築されたトレーニング パイプラインは、推論パイプラインでデータ ドリフトが検出されるたびにトリガーされます。 トレーニング後、モデルは中央モデル レジストリに登録され、モデル承認者によって承認されます。 承認されると、更新されたモデル バージョンを使用して、推論パイプラインを通じて予測が生成されます。
- コードとしてのインフラストラクチャ – コードとしてのインフラストラクチャ (IaC)。 HashiCorp Terraform、EventBridge を使用した推論パイプラインのスケジューリング、トレイン パイプラインのトリガーをサポートします。 EventBridgeルール を使用して通知を送信します Amazon シンプル通知サービス (Amazon SNS) トピック.
MLOps ワークフローには次の手順が含まれます。
- 開発アカウントで SageMaker Studio ドメインにアクセスし、GitHub リポジトリのクローンを作成し、提供されたサンプル モデルを使用してモデル開発のプロセスを実行し、トレーニング パイプラインと推論パイプラインを生成します。
- 開発アカウントでトレーニング パイプラインを実行します。これにより、トレーニングされたモデル バージョンのモデル アーティファクトが生成され、中央モデル レジストリ アカウントの SageMaker Model Registry にモデルが登録されます。
- 中央モデル レジストリ アカウントの SageMaker モデル レジストリでモデルを承認します。
- コード (トレーニングおよび推論パイプライン、および EventBridge スケジュール、EventBridge ルール、SNS トピックを作成するための Terraform IaC コード) を GitHub リポジトリの機能ブランチにプッシュします。 プル リクエストを作成して、コードを GitHub リポジトリのメイン ブランチにマージします。
- GitHub リポジトリでセットアップされた Jenkins CI/CD パイプラインをトリガーします。 CI/CD パイプラインは、コードを本番アカウントにデプロイして、Terraform コードとともにトレーニング パイプラインと推論パイプラインを作成し、EventBridge スケジュール、EventBridge ルール、および SNS トピックをプロビジョニングします。
- 推論パイプラインは毎日実行されるようにスケジュールされているのに対し、トレイン パイプラインは推論パイプラインからデータ ドリフトが検出されるたびに実行されるように設定されています。
- トレーニング パイプラインまたは推論パイプラインのいずれかで障害が発生すると、通知は SNS トピックを通じて送信されます。
前提条件
このソリューションでは、次の前提条件が必要です。
- XNUMX つの AWS アカウント (開発、本番、中央モデルのレジストリ アカウント)
- XNUMX つの AWS アカウントのそれぞれにセットアップされた SageMaker Studio ドメイン (「 Amazon SageMakerStudioにオンボード またはビデオを見る Amazon SageMakerStudioにすばやくオンボード セットアップ手順については)
- AWS にインストールされた管理者権限を持つ Jenkins (Jenkins 2.401.1 を使用)
- Terraform バージョン 1.5.5 以降が Jenkins サーバーにインストールされている
この投稿では、 us-east-1
ソリューションをデプロイするリージョン。
開発アカウントと本番アカウントで KMS キーをプロビジョニングする
私たちの最初のステップは、 AWSキー管理サービス 開発アカウントと本番アカウントの (AWS KMS) キー。
開発アカウントに KMS キーを作成し、本番アカウントへのアクセスを許可します。
開発アカウントに KMS キーを作成するには、次の手順を実行します。
- AWS KMS コンソールで、 顧客管理キー ナビゲーションペインに表示されます。
- 選択する キーの作成.
- キータイプ選択 対称.
- 主な使用法選択 暗号化と復号化.
- 選択する Next.
- 実稼働アカウント番号を入力して、実稼働アカウントに開発アカウントにプロビジョニングされた KMS キーへのアクセスを許可します。 モデルが開発アカウントで初めてトレーニングされるとき、モデル アーティファクトは中央モデル レジストリ アカウントの S3 バケットに書き込まれる前に KMS キーで暗号化されるため、これは必須の手順です。 運用アカウントは、モデル アーティファクトを復号化し、推論パイプラインを実行するために、KMS キーにアクセスする必要があります。
- 選択する Next そしてキーの作成を完了します。
キーがプロビジョニングされると、AWS KMS コンソールに表示されるようになります。
製品アカウントに KMS キーを作成する
前のセクションと同じ手順を実行して、製品アカウントに顧客管理の KMS キーを作成します。 KMS キーを別のアカウントに共有する手順はスキップできます。
中央のモデル レジストリ アカウントでモデル アーティファクト S3 バケットをセットアップする
次の文字列を使用して、選択した S3 バケットを作成します。 sagemaker
中央のモデル レジストリ アカウントのバケット名の一部として命名規則に含め、S3 バケットのバケット ポリシーを更新して、開発アカウントと本番アカウントの両方からモデル アーティファクトを S3 バケットに読み書きする権限を付与します。
次のコードは、S3 バケットで更新されるバケット ポリシーです。
AWS アカウントで IAM ロールを設定する
次のステップはセットアップです AWS IDおよびアクセス管理 以下の権限を持つ AWS アカウントの (IAM) ロール AWSラムダ、SageMaker、およびジェンキンス。
Lambda 実行ロール
セットアップ Lambda実行ロール dev アカウントと prod アカウント内。これは、実行の一部として実行される Lambda 関数によって使用されます。 SageMaker Pipelines Lambda ステップ。 このステップは推論パイプラインから実行され、最新の承認済みモデルを取得し、その推論を使用して生成されます。 命名規則に従って開発アカウントと本番アカウントに IAM ロールを作成します。 arn:aws:iam::<account-id>:role/lambda-sagemaker-role
次の IAM ポリシーをアタッチします。
- ポリシー1 – という名前のインライン ポリシーを作成します。
cross-account-model-registry-access
これにより、中央アカウントのモデル レジストリに設定されたモデル パッケージにアクセスできるようになります。 - ポリシー2 – 添付する AmazonSageMakerFullAccessこれは AWS管理ポリシー これにより、SageMaker への完全なアクセスが許可されます。 また、次のような関連サービスへの選択したアクセスも提供します。 AWS アプリケーションの自動スケーリング、アマゾンS3、 Amazon エラスティック コンテナ レジストリ (Amazon ECR)、および Amazon CloudWatchログ.
- ポリシー3 – 添付する AWSLambda_FullAccessこれは、Lambda、Lambda コンソール機能、およびその他の関連する AWS サービスへの完全なアクセスを許可する AWS 管理ポリシーです。
- ポリシー4 – IAM ロールには次の IAM 信頼ポリシーを使用します。
SageMaker 実行ロール
dev アカウントと prod アカウントで設定された SageMaker Studio ドメインには、それぞれ実行ロールが関連付けられている必要があります。 ドメインの設定 次のスクリーンショットに示すように、ドメインの詳細ページのタブ。 このロールは、SageMaker Studio ドメイン内でトレーニング ジョブ、処理ジョブなどを実行するために使用されます。
両方のアカウントの SageMaker 実行ロールに次のポリシーを追加します。
- ポリシー1 – という名前のインライン ポリシーを作成します。
cross-account-model-artifacts-s3-bucket-access
これにより、モデル アーティファクトを保存する中央モデル レジストリ アカウントの S3 バケットへのアクセスが可能になります。 - ポリシー2 – という名前のインライン ポリシーを作成します。
cross-account-model-registry-access
これにより、中央モデル レジストリ アカウントのモデル レジストリ内のモデル パッケージにアクセスできるようになります。 - ポリシー3 – という名前のインライン ポリシーを作成します。
kms-key-access-policy
これにより、前の手順で作成した KMS キーにアクセスできるようになります。 ポリシーが作成されているアカウント ID と、そのアカウントで作成された KMS キー ID を指定します。 - ポリシー4 – 添付する AmazonSageMakerFullAccessこれは AWS管理ポリシー これにより、SageMaker への完全なアクセスと、関連サービスへの選択されたアクセスが許可されます。
- ポリシー5 – 添付する AWSLambda_FullAccessこれは、Lambda、Lambda コンソール機能、およびその他の関連する AWS サービスへの完全なアクセスを許可する AWS 管理ポリシーです。
- ポリシー6 – 添付する CloudWatchイベントフルアクセスこれは、CloudWatch Events への完全なアクセスを許可する AWS 管理ポリシーです。
- ポリシー7 – SageMaker 実行 IAM ロールに次の IAM 信頼ポリシーを追加します。
- ポリシー 8 (本番アカウントの SageMaker 実行ロールに固有) – という名前のインライン ポリシーを作成します。
cross-account-kms-key-access-policy
、開発アカウントで作成された KMS キーへのアクセスを許可します。 これは、推論パイプラインが中央モデル レジストリ アカウントに保存されているモデル アーティファクトを読み取るために必要です。モデル アーティファクトは、最初のバージョンのモデルが開発アカウントから作成されるときに、開発アカウントの KMS キーを使用して暗号化されます。
クロスアカウントの Jenkins の役割
という IAM ロールを設定します。 cross-account-jenkins-role
Jenkins は、ML パイプラインと対応するインフラストラクチャを本番アカウントにデプロイすると想定します。
次の管理対象 IAM ポリシーをロールに追加します。
CloudWatchFullAccess
AmazonS3FullAccess
AmazonSNSFullAccess
AmazonSageMakerFullAccess
AmazonEventBridgeFullAccess
AWSLambda_FullAccess
ロールの信頼関係を更新して、Jenkins サーバーをホストする AWS アカウントにアクセス許可を付与します。
Jenkins サーバーに関連付けられた IAM ロールの権限を更新する
Jenkins が AWS に設定されていると仮定して、Jenkins に関連付けられた IAM ロールを更新して次のポリシーを追加します。これにより、リソースを本番アカウントにデプロイするためのアクセス権が Jenkins に付与されます。
- ポリシー1 – 次の名前のインライン ポリシーを作成します。
assume-production-role-policy
: - ポリシー2 – を添付します。
CloudWatchFullAccess
マネージド IAM ポリシー。
中央のモデル レジストリ アカウントでモデル パッケージ グループをセットアップします。
中央モデル レジストリ アカウントの SageMaker Studio ドメインから、という名前のモデル パッケージ グループを作成します。 mammo-severity-model-package
次のコード スニペットを使用します (Jupyter ノートブックを使用して実行できます)。
dev アカウントと prod アカウントで IAM ロールのモデル パッケージへのアクセスを設定する
dev アカウントと prod アカウントで作成された SageMaker 実行ロールへのアクセスをプロビジョニングして、モデル パッケージ内にモデル バージョンを登録できるようにします。 mammo-severity-model-package
両方のアカウントから中央モデル レジストリに保存されます。 中央モデル レジストリ アカウントの SageMaker Studio ドメインから、Jupyter ノートブックで次のコードを実行します。
ジェンキンスのセットアップ
このセクションでは、Jenkins CI/CD パイプラインを介して本番アカウントに ML パイプラインと対応する Terraform インフラストラクチャを作成するように Jenkins を構成します。
- CloudWatch コンソールで、という名前のログ グループを作成します。
jenkins-log
Jenkins が CI/CD パイプラインからログをプッシュする本番アカウント内。 ログ グループは、Jenkins サーバーがセットアップされているリージョンと同じリージョンに作成する必要があります。 - 以下のプラグインをインストールします Jenkins サーバー上で:
- クロスアカウント IAM ロールを使用して、Jenkins で AWS 認証情報をセットアップします (
cross-account-jenkins-role
) 製品アカウントでプロビジョニングされます。 - システム構成、選択する AWS.
- 先ほど作成した認証情報と CloudWatch ログ グループを指定します。
- Jenkins 内で GitHub 認証情報を設定します。
- Jenkins で新しいプロジェクトを作成します。
- プロジェクト名を入力して選択します パイプライン.
- ソフトウェア設定ページで、下図のように タブ、選択 GitHubプロジェクト そして分岐に入ります GitHubリポジトリ URL。
- 選択 このプロジェクトはパラメータ化されています.
- ソフトウェア設定ページで、下図のように パラメータの追加 メニュー、選択 文字列パラメータ.
- 名前 、 入る
prodAccount
. - デフォルト値、製品アカウント ID を入力します。
- 高度なプロジェクト オプション、用 定義選択 SCM からのパイプライン スクリプト.
- SCMの、選択する Gitの.
- リポジトリの URL、フォークを入力します GitHubリポジトリ URL。
- Credentials 、Jenkins に保存されている GitHub 認証情報を入力します。
- 入力します
main
セクションに 構築するブランチ セクションに基づいて CI/CD パイプラインがトリガーされます。 - スクリプトパス、 入る
Jenkinsfile
. - 選択する Save.
Jenkins パイプラインが作成され、ダッシュボードに表示されるはずです。
S3 バケットをプロビジョニングし、データを収集して準備する
S3 バケットとデータを設定するには、次の手順を実行します。
- 次の文字列を使用して、選択した S3 バケットを作成します。
sagemaker
命名規則では、データセットとモデル アーティファクトを保存するために、開発アカウントと本番アカウントの両方でバケット名の一部として使用されます。 - S3 バケットをセットアップして、本番アカウントで Terraform の状態を維持します。
- 公開されているものをダウンロードして保存します UCI マンモグラフィー検査 データセットを、開発アカウントで前に作成した S3 バケットに追加します。
- フォークしてクローンを作成する GitHubリポジトリ 開発アカウントの SageMaker Studio ドメイン内。 リポジトリには次のフォルダー構造があります。
- /environments – 本番環境の構成スクリプト
- /mlops-インフラ – Terraform コードを使用して AWS サービスをデプロイするためのコード
- / pipelines – SageMaker パイプライン コンポーネントのコード
- ジェンキンスファイル – Jenkins CI/CD パイプライン経由でデプロイするスクリプト
- setup.py – 必要な Python モジュールをインストールし、run-pipeline コマンドを作成するために必要
- マンモグラフィーの重症度モデリング.ipynb – ML ワークフローを作成して実行できます。
- クローン作成された GitHub リポジトリ フォルダー内に data というフォルダーを作成し、公開されているファイルのコピーを保存します。 UCI マンモグラフィー検査 データセット。
- Jupyter ノートブックをフォローする
mammography-severity-modeling.ipynb
. - ノートブックで次のコードを実行してデータセットを前処理し、開発アカウントの S3 バケットにアップロードします。
コードは次のデータセットを生成します。
-
- データ/mammo-train-dataset-part1.csv – モデルの最初のバージョンをトレーニングするために使用されます。
- データ/mammo-train-dataset-part2.csv – mammo-train-dataset-part1.csv データセットとともにモデルの XNUMX 番目のバージョンをトレーニングするために使用されます。
- データ/mammo-batch-dataset.csv – 推論を生成するために使用されます。
- データ/mammo-batch-dataset-outliers.csv – 外れ値がデータセットに導入され、推論パイプラインが失敗します。 これにより、パターンをテストしてモデルの自動再トレーニングをトリガーできるようになります。
- データセットをアップロードする
mammo-train-dataset-part1.csv
プレフィックスの下にmammography-severity-model/train-dataset
、データセットをアップロードしますmammo-batch-dataset.csv
およびmammo-batch-dataset-outliers.csv
プレフィックスにmammography-severity-model/batch-dataset
開発アカウントで作成された S3 バケットの: - データセットをアップロードする
mammo-train-dataset-part1.csv
およびmammo-train-dataset-part2.csv
プレフィックスの下にmammography-severity-model/train-dataset
Amazon S3 コンソールを通じて本番アカウントで作成された S3 バケットに追加します。 - データセットをアップロードする
mammo-batch-dataset.csv
およびmammo-batch-dataset-outliers.csv
プレフィックスにmammography-severity-model/batch-dataset
本番アカウントの S3 バケットの。
トレインパイプラインを実行する
<project-name>/pipelines/train
では、次の Python スクリプトが表示されます。
- スクリプト/raw_preprocess.py – 特徴量エンジニアリングのために SageMaker Processing と統合
- スクリプト/evaluate_model.py – この場合、モデル メトリクスの計算を許可します
auc_score
- train_pipeline.py – モデルトレーニングパイプラインのコードが含まれています
次の手順を完了します。
- スクリプトを Amazon S3 にアップロードします。
- トレイン パイプライン インスタンスを取得します。
- トレイン パイプラインを送信して実行します。
次の図は、トレーニング パイプラインの正常な実行を示しています。 パイプラインの最後のステップでは、モデルを中央のモデル レジストリ アカウントに登録します。
中央モデル レジストリでモデルを承認する
中央モデル レジストリ アカウントにログインし、SageMaker Studio ドメイン内の SageMaker モデル レジストリにアクセスします。 モデルのバージョンのステータスを承認済みに変更します。
承認されたら、モデル バージョンのステータスを変更する必要があります。
推論パイプラインを実行する (オプション)
この手順は必須ではありませんが、開発アカウントで推論パイプラインを実行して予測を生成することができます。
<project-name>/pipelines/inference
では、次の Python スクリプトが表示されます。
- スクリプト/lambda_helper.py – SageMaker Pipelines Lambda ステップを使用して、中央のモデル レジストリ アカウントから承認された最新のモデル バージョンを取得します
- inference_pipeline.py – モデル推論パイプラインのコードが含まれています
次の手順を完了します。
- スクリプトを S3 バケットにアップロードします。
- 通常のバッチ データセットを使用して推論パイプライン インスタンスを取得します。
- 推論パイプラインを送信して実行します。
次の図は、推論パイプラインが正常に実行されたことを示しています。 パイプラインの最後のステップでは、予測が生成され、S3 バケットに保存されます。 を使用しております モニターバッチ変換ステップ バッチ変換ジョブへの入力を監視します。 外れ値がある場合、推論パイプラインは失敗状態になります。
Jenkins パイプラインを実行する
environment/
GitHub リポジトリ内のフォルダーには、本番アカウントの構成スクリプトが含まれています。 Jenkins パイプラインをトリガーするには、次の手順を実行します。
- 構成スクリプトを更新する
prod.tfvars.json
前の手順で作成したリソースに基づいて、次のようにします。 - 更新したら、コードをフォークされた GitHub リポジトリにプッシュし、コードをメイン ブランチにマージします。
- Jenkins UI に移動し、選択します パラメータを使用して構築するをクリックし、前の手順で作成した CI/CD パイプラインをトリガーします。
ビルドが完了して成功すると、本番アカウントにログインして、SageMaker Studio ドメイン内のトレーニング パイプラインと推論パイプラインを確認できます。
さらに、本番アカウントの EventBridge コンソールに XNUMX つの EventBridge ルールが表示されます。
- 推論パイプラインをスケジュールする
- トレイン パイプラインで障害通知を送信する
- 推論パイプラインがトレイン パイプラインのトリガーに失敗した場合、通知を送信します
最後に、Amazon SNS コンソールに、電子メールで通知を送信する SNS 通知トピックが表示されます。 これらの通知メールを受け入れるかどうかを確認するメールが届きます。
外れ値のないバッチ データセットを使用して推論パイプラインをテストする
推論パイプラインが本番アカウントで期待どおりに動作しているかどうかをテストするには、本番アカウントにログインし、外れ値のないバッチ データセットを使用して推論パイプラインをトリガーします。
prod アカウントの SageMaker Studio ドメインの SageMaker Pipelines コンソールを介してパイプラインを実行します。 transform_input
外れ値のないデータセットの S3 URI になります (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset.csv
).
推論パイプラインは成功し、予測を S3 バケットに書き込みます。
外れ値を含むバッチ データセットを使用して推論パイプラインをテストする
外れ値を含むバッチ データセットを使用して推論パイプラインを実行し、自動再トレーニング メカニズムが期待どおりに機能するかどうかを確認できます。
prod アカウントの SageMaker Studio ドメインの SageMaker Pipelines コンソールを介してパイプラインを実行します。 transform_input
外れ値を含むデータセットの S3 URI になります (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset-outliers.csv
).
推論パイプラインが予想どおりに失敗すると、EventBridge ルールがトリガーされ、さらにトレイン パイプラインがトリガーされます。
しばらくすると、SageMaker Pipelines コンソールにトレイン パイプラインの新しい実行が表示され、XNUMX つの異なるトレイン データセット (mammo-train-dataset-part1.csv
および mammo-train-dataset-part2.csv
) を S3 バケットにアップロードしてモデルを再トレーニングします。
また、SNS トピックに登録した電子メールに通知が送信されることも確認できます。
更新されたモデル バージョンを使用するには、中央のモデル レジストリ アカウントにログインし、モデル バージョンを承認します。モデル バージョンは、スケジュールされた EventBridge ルールによってトリガーされる推論パイプラインの次回の実行中に取得されます。
トレーニング パイプラインと推論パイプラインは静的データセット URL を使用しますが、更新されたデータセットを使用してモデルを再トレーニングし、現実世界のシナリオで予測を生成するために、データセット URL を動的変数としてトレーニング パイプラインと推論パイプラインに渡すことができます。
クリーンアップ
今後の請求を回避するには、次の手順を実行します。
- すべての AWS アカウントから SageMaker Studio ドメインを削除します。
- SageMaker の外部で作成されたすべてのリソース (S3 バケット、IAM ロール、EventBridge ルール、本番アカウントの Terraform を通じて設定された SNS トピックなど) を削除します。
- を使用して、アカウント間で作成された SageMaker パイプラインを削除します。 AWSコマンドラインインターフェイス (AWS CLI)。
まとめ
組織は多くの場合、さまざまな機能領域やチーム間でのコラボレーションを可能にするために、企業全体のツールセットと連携する必要があります。 このコラボレーションにより、MLOps プラットフォームが進化するビジネス ニーズに確実に適応し、チーム全体での ML の導入が加速されます。 この投稿では、複数環境セットアップで MLOps フレームワークを作成し、Amazon SageMaker Model Monitor を使用したモデルの自動再トレーニング、バッチ推論、モニタリング、SageMaker Model Registry を使用したモデルのバージョニング、および環境全体での ML コードとパイプラインのプロモーションを可能にする方法について説明しました。 CI/CD パイプライン。 私たちは、AWS のサービスとサードパーティのツールセットを組み合わせて使用したこのソリューションを紹介しました。 このソリューションの実装手順については、「 GitHubリポジトリ。 独自のデータ ソースとモデリング フレームワークを導入して、このソリューションを拡張することもできます。
著者について
ガヤトリガナコタ は、AWS プロフェッショナル サービスのシニア機械学習エンジニアです。 彼女は、さまざまなドメインにわたる AI/ML ソリューションの開発、展開、および説明に情熱を注いでいます。 この役職に就く前は、データ サイエンティストおよび ML エンジニアとして、金融および小売業界のトップ グローバル企業で複数のイニシアチブを率いていました。 彼女はコロラド大学ボールダー校でデータ サイエンスを専門とするコンピュータ サイエンスの修士号を取得しています。
スニータ・コッパー は、AWS プロフェッショナル サービスのシニア データ レイク アーキテクトです。 彼女は、ビッグデータを処理する顧客の問題点を解決し、長期的に拡張可能なソリューションを提供することに情熱を注いでいます。 この役職に就く前は、インターネット、通信、自動車の分野で製品を開発しており、AWS の顧客でもありました。 彼女はカリフォルニア大学リバーサイド校でデータ サイエンスの修士号を取得しています。
サスワタダッシュ は、AWS プロフェッショナル サービスの DevOps コンサルタントです。 彼女は、ヘルスケア、ライフ サイエンス、航空、製造の分野で顧客と協力してきました。 彼女は自動化全般に情熱を持っており、AWS でのエンタープライズ規模の顧客ソリューションの設計と構築において包括的な経験を持っています。 仕事以外では、写真撮影と日の出撮影への情熱を追求しています。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/promote-pipelines-in-a-multi-environment-setup-using-amazon-sagemaker-model-registry-hashicorp-terraform-github-and-jenkins-ci-cd/
- :持っている
- :は
- :not
- :どこ
- $UP
- 1
- 10
- 100
- 12
- 13
- 14
- 16
- 17
- 19
- 23
- 27
- 31
- 320
- 7
- 8
- 9
- a
- 私たちについて
- 加速する
- 受け入れ
- アクセス
- アカウント
- 越えて
- Action
- 適応する
- 加えます
- 住所
- 行政の
- 養子縁組
- 後
- 年齢
- AI
- 整列する
- すべて
- 許す
- ことができます
- 沿って
- また
- Amazon
- アマゾンセージメーカー
- Amazon Webサービス
- an
- および
- 別の
- どれか
- 申し込み
- 適切な
- 承認する
- 承認された
- 建築
- です
- エリア
- 周りに
- 人工の
- 人工知能
- 人工知能(AI)
- AS
- 質問
- 関連する
- 引き受けます
- アタッチ
- オート
- 自動化
- オートマチック
- オートメーション
- 自動車
- 利用できます
- 航空
- 避ける
- AWS
- AWS のお客様
- AWSプロフェッショナルサービス
- バック
- ベース
- 基礎
- BE
- なぜなら
- き
- さ
- BEST
- ベストプラクティス
- の間に
- ビッグ
- ビッグデータ
- 両言語で
- ブランチ
- ブリッジ
- 持参
- ビルド
- 建物
- 内蔵
- ビジネス
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- 計算
- カリフォルニア州
- 呼ばれます
- 缶
- 場合
- 中央の
- 変化する
- 変更
- 変更
- 課金
- チェック
- 選択
- 選択する
- コード
- 環境、テクノロジーを推奨
- 収集する
- コロラド州
- コラム
- コラム
- COM
- 組み合わせ
- コンプリート
- コンプライアンス
- コンポーネント
- 包括的な
- コンピュータ
- コンピュータサイエンス
- 条件
- 確認します
- 領事
- コンサルタント
- コンテナ
- 含まれています
- コントロール
- 大会
- 変換
- 対応する
- 作ります
- 作成した
- 作成
- Credentials
- Cross
- 顧客
- カスタマーソリューション
- Customers
- daily
- ダッシュボード
- データ
- データレイク
- データサイエンス
- データサイエンティスト
- データセット
- 解読する
- デフォルト
- 度
- 展開します
- 展開する
- 展開
- 配備する
- 設計
- 細部
- 検出
- 検出された
- デベロッパー
- 発展した
- 開発
- 開発
- DICT
- 異なります
- ドメイン
- ドメイン
- 間に
- ダイナミック
- 各
- 前
- 効果
- どちら
- メール
- enable
- では使用できません
- エンジニア
- 確実に
- 入力します
- 環境
- 環境
- 本質的な
- イベント
- 進化
- 実行
- 予想される
- 体験
- 説明
- 説明
- 伸ばす
- 容易にする
- フェイル
- Failed:
- 失敗
- 不良解析
- 特徴
- 特徴
- 少数の
- フィギュア
- File
- ファイナル
- ファイナンシャル
- 仕上げ
- 企業
- 名
- 初回
- フォロー中
- 発見
- フレームワーク
- フレームワーク
- から
- 満たす
- フル
- function
- 機能的な
- 未来
- ギャップ
- 生成する
- 生成された
- 生成
- 取得する
- Gitの
- GitHubの
- 与える
- 与えられた
- 与える
- グローバル
- Go
- ゴエス
- 助成
- グループ
- 持ってる
- ヘルスケア
- 彼女の
- より高い
- 保持している
- ホスティング
- 認定条件
- How To
- HTML
- HTTP
- HTTPS
- ID
- アイデンティティ
- if
- 実装
- import
- in
- 含ま
- 含めて
- index
- インフラ
- 当初
- イニシアチブ
- 入力
- install
- インストール
- 説明書
- 統合する
- インテリジェンス
- インターネット
- に
- 紹介する
- IT
- ジョブ
- Jobs > Create New Job
- JPG
- JSON
- キー
- キー
- ラベル
- 湖
- 風景
- 後で
- 最新の
- 学習
- ツェッペリン
- レバレッジ
- 生活
- 生命科学
- LINE
- ログ
- 長期的
- 機械
- 機械学習
- メイン
- 維持する
- make
- マネージド
- 管理
- 製造業
- マージン
- 質量
- マスターの
- メカニズム
- ご相談
- メニュー
- マージ
- メトリック
- 行方不明
- ML
- MLOps
- モデリング
- モデル
- 修正する
- モジュール
- モーメント
- モニター
- 監視対象
- モニタリング
- 他には?
- の試合に
- 名
- 名前付き
- 命名
- ナビゲーション
- 必要
- 必要とされる
- ニーズ
- 新作
- 次の
- 通常の
- ノート
- 通知
- 通知
- 数
- numpy
- of
- 頻繁に
- on
- ONE
- 業務執行統括
- or
- 注文
- 組織
- その他
- でる
- 外側
- が
- 概要
- 自分の
- パッケージ
- ページ
- 痛み
- パンダ
- ペイン
- 部
- 部品
- 渡された
- 情熱
- 情熱的な
- パターン
- パフォーマンス
- パーミッション
- 写真撮影
- ピックアップ
- ピック
- パイプライン
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- ポイント
- ポリシー
- 方針
- ポスト
- プラクティス
- 予測する
- 予測
- 準備
- 前提条件
- 前
- 校長
- 事前の
- 特権
- プロセス
- 処理
- 生産
- 製品
- プロ
- プロジェクト
- 推進する
- 昇格
- プロモーション
- 提供します
- 提供
- は、大阪で
- 提供
- 準備
- 公然と
- 引っ張る
- 追求する
- プッシュ
- Python
- すぐに
- 急速に
- Raw
- 読む
- 準備
- 現実の世界
- 地域
- 登録
- 登録された
- レジスタ
- レジストリ
- レギュレータ
- 関連する
- 関係
- 削除します
- 倉庫
- 要求
- の提出が必要です
- 要件
- リソースを追加する。
- リソース
- 応答
- 小売
- return
- リバーサイド
- 職種
- 役割
- ルート
- ルール
- ルール
- ラン
- runs
- セージメーカー
- SageMakerパイプライン
- 同じ
- Save
- 保存されました
- ド電源のデ
- シナリオ
- スケジュール
- 予定の
- スケジューリング
- 科学
- 科学
- 科学者
- スクリプト
- スクリプト
- シームレス
- 二番
- セクション
- 安全に
- セキュリティ
- 送信
- 送信
- 送る
- 送信
- 別
- サービス
- サービス
- セッションに
- 設定
- 形状
- シェアする
- 彼女
- すべき
- 表示する
- ショーケース
- 示す
- 作品
- 簡単な拡張で
- スニペット
- So
- 溶液
- ソリューション
- 解決
- ソース
- ソース
- スペース
- 専門の
- 特定の
- split
- 都道府県
- ステートメント
- 静的な
- Status:
- 手順
- ステップ
- まだ
- 店舗
- 保存され
- 店舗
- 文字列
- 構造
- 研究
- 成功した
- そのような
- サポート
- ターゲット
- チーム
- 電気通信
- テラフォーム
- test
- テスト
- それ
- それら
- その後
- そこ。
- ボーマン
- 物事
- 三番
- サードパーティ
- この
- 三
- 介して
- 時間
- 〜へ
- ツールセット
- top
- トピック
- 追跡する
- トレーニング
- 訓練された
- トレーニング
- 最適化の適用
- トリガー
- トリガ
- トリガー
- true
- 信頼
- 順番
- 2
- ui
- 下
- 大学
- カリフォルニア大学
- アップデイト
- 更新しました
- アップロード
- URL
- us
- つかいます
- 中古
- ユーティリティ
- 価値観
- さまざまな
- バージョン
- バージョン
- 、
- ビデオ
- 目に見える
- よく見る
- we
- ウェブ
- Webサービス
- いつ
- たびに
- 一方
- which
- while
- 意志
- 以内
- 無し
- 仕事
- 働いていました
- ワークフロー
- ワーキング
- 作品
- 書きます
- 書かれた
- You
- あなたの
- ユーチューブ
- ゼファーネット