Fiddler PlatoBlockchain Data Intelligenceを使用して、AmazonSageMakerモデルのエンタープライズグレードのモニタリングを実現します。 垂直検索。 愛。

Fiddlerを使用して、AmazonSageMakerモデルのエンタープライズグレードのモニタリングを実現します

これは、FiddlerAIのDannyBrock、Rajeev Govindan、KrishnaramKenthapadiによるゲストブログ投稿です。

あなたの アマゾンセージメーカー モデルはライブです。 彼らは毎日何百万もの推論を処理し、あなたの会社のより良いビジネス成果を推進しています。 ローンチされた日とまったく同じようにパフォーマンスを発揮しています。

えー、待って。 彼らは? 多分。 そうでないかもしれない。

エンタープライズクラスなし モデルモニタリング、モデルが無音で減衰している可能性があります。 機械学習(ML)チームは、これらのモデルが実際に収益創出の奇跡から、会社の時間とお金を浪費する誤った決定を行う負債に変化したことを知らないかもしれません。

心配しないでください。 解決策はあなたが思っているよりも近いです。

バイオリン弾き、で利用可能なエンタープライズクラスのモデルパフォーマンス管理ソリューション AWS Marketplaceは、モデルの監視と説明可能なAIを提供し、MLチームがモデルの問題の包括的な範囲を検査して対処するのに役立ちます。 Fiddlerは、モデルの監視、モデルの説明性、分析、バイアス検出を通じて、モデルが正常に動作していることを確認するための使いやすい単一のガラス板を会社に提供します。 そうでない場合、Fiddlerは、モデルを検査してパフォーマンス低下の根本的な原因を見つけることができる機能も提供します。

この投稿は、 MLOps チームは、いくつかの簡単な手順でFiddler Model Performance Management Platformと統合することにより、データサイエンティストの生産性を向上させ、SageMakerにデプロイされたモデルの問題を検出する時間を短縮できます。

ソリューションの概要

次のリファレンスアーキテクチャは、統合の主要なポイントを示しています。 Fiddlerは、既存のSageMakerMLワークフローの「サイドカー」として存在します。

この投稿の残りの部分では、SageMakerモデルをFiddlerのモデルと統合する手順について説明します。 モデルパフォーマンス管理プラットフォーム:

  1. モデルでデータキャプチャが有効になっていることを確認します。
  2. Fiddlerトライアル環境を作成します。
  3. モデルに関する情報をFiddler環境に登録します。
  4. 作る AWSラムダ SageMakerの推論をFiddlerに公開する関数。
  5. Fiddlerトライアル環境でFiddlerの監視機能を調べてください。

前提条件

この投稿は、SageMakerをセットアップし、モデルエンドポイントをデプロイしたことを前提としています。 モデルサービング用にSageMakerを設定する方法については、以下を参照してください。 推論のためのモデルのデプロイ。 いくつかの例は、 GitHubレポ.

モデルでデータキャプチャが有効になっていることを確認します

SageMakerコンソールで、モデルのサービングエンドポイントに移動し、有効になっていることを確認します データ収集Amazon シンプル ストレージ サービス (Amazon S3)バケット。 これにより、モデルが毎日行う推論(要求と応答)が次のように保存されます。 JSON行ファイル (.jsonl)AmazonS3で。

Fiddler PlatoBlockchain Data Intelligenceを使用して、AmazonSageMakerモデルのエンタープライズグレードのモニタリングを実現します。 垂直検索。 愛。

Fiddlerトライアル環境を作成する

ノーザンダイバー社の フィドラー.ai ウェブサイトでは、無料トライアルをリクエストできます。 クイックフォームに記入した後、Fiddlerから連絡があり、モデルのパフォーマンス管理のニーズの詳細を理解し、数時間以内に試用環境を用意します。 次のような専用環境が期待できます https://yourcompany.try.fiddler.ai.

Fiddler PlatoBlockchain Data Intelligenceを使用して、AmazonSageMakerモデルのエンタープライズグレードのモニタリングを実現します。 垂直検索。 愛。

モデルに関する情報をFiddler環境に登録します

SageMakerでホストされているモデルからFiddlerへのイベントの公開を開始する前に、Fiddlerトライアル環境内でプロジェクトを作成し、次の手順でモデルに関するFiddlerの詳細を提供する必要があります。 モデル登録。 事前設定されたノートブックを内部から使用する場合 Amazon SageMakerスタジオ 次のコードスニペットをコピーして貼り付けるのではなく、Fiddlerクイックスタートノートブックを参照できます。 GitHubの。 Studioは、すべてのML開発ステップを実行できる単一のWebベースのビジュアルインターフェイスを提供します。

まず、をインストールする必要があります FiddlerPythonクライアント SageMakerノートブックで、Fiddlerクライアントをインスタンス化します。 あなたは得ることができます AUTH_TOKEN 設定 Fiddlerトライアル環境のページ。

# Install the fiddler client
!pip install fiddler-client

# Connect to the Fiddler Trial Environment
import fiddler as fdl
import pandas as pd

fdl.__version__

URL = 'https://yourcompany.try.fiddler.ai'
ORG_ID = 'yourcompany'
AUTH_TOKEN = 'UUID-Token-Here-Found-In-Your-Fiddler-Env-Settings-Page'

client = fdl.FiddlerApi(URL, ORG_ID, AUTH_TOKEN)

次に、Fiddlerトライアル環境内にプロジェクトを作成します。

# Create Project
PROJECT_ID = 'credit_default'  # update this with your project name
DATASET_ID = f'{PROJECT_ID}_dataset'
MODEL_ID = f'{PROJECT_ID}_model'

client.create_project(PROJECT_ID)

次に、トレーニングデータセットをアップロードします。 ノートブックには、Fiddlerを実行するためのサンプルデータセットも用意されています。 説明可能性 アルゴリズムおよびメトリックを監視するためのベースラインとして。 データセットは、Fiddlerでこのモデルのスキーマを生成するためにも使用されます。

# Upload Baseline Dataset
df_baseline = pd.read_csv(‘<your-training-file.csv>')

dataset_info = fdl.DatasetInfo.from_dataframe(df_baseline, max_inferred_cardinality=1000)

upload_result = client.upload_dataset(PROJECT_ID,
                                      dataset={'baseline': df_baseline},
                                      dataset_id=DATASET_ID,
                                      info=dataset_info)

最後に、監視、根本原因分析、および説明のためにFiddlerに推論を公開する前に、モデルを登録する必要があります。 まず、を作成しましょう model_info モデルに関するメタデータを含むオブジェクト:

# Update task from the list below if your model task is not binary classification
model_task = 'binary' 

if model_task == 'regression':
    model_task_fdl = fdl.ModelTask.REGRESSION
    
elif model_task == 'binary':
    model_task_fdl = fdl.ModelTask.BINARY_CLASSIFICATION

elif model_task == 'multiclass':
    model_task_fdl = fdl.ModelTask.MULTICLASS_CLASSIFICATION

elif model_task == 'ranking':
    model_task_fdl = fdl.ModelTask.RANKING

    
# Specify column types|
target = 'TARGET'
outputs = ['prediction']  # change this to your target variable
features = [‘<add your feature list here>’]
     
# Generate ModelInfo
model_info = fdl.ModelInfo.from_dataset_info(
    dataset_info=dataset_info,
    dataset_id=DATASET_ID,
    model_task=model_task_fdl,
    target=target,
    outputs=outputs,
    features=features,
    binary_classification_threshold=.125,  # update this if your task is not a binary classification
    description='<model-description>',
    display_name='<model-display-name>'
)
model_info

次に、新しいモデルを使用してモデルを登録できます model_info オブジェクト:

# Register Info about your model with Fiddler
client.register_model(
    project_id=PROJECT_ID,
    dataset_id=DATASET_ID,
    model_id=MODEL_ID,
    model_info=model_info
)

すごい! これで、モデルのパフォーマンスを観察するために、いくつかのイベントをFiddlerに公開できます。

Lambda関数を作成して、SageMakerの推論をFiddlerに公開します

Lambdaのデプロイが簡単なサーバーレスアーキテクチャを使用すると、以前に設定したS3バケットから新しくプロビジョニングされたFiddlerトライアル環境に推論を移動するために必要なメカニズムをすばやく構築できます。 このLambda関数は、モデルのS3バケット内の新しいJSONLイベントログファイルを開き、JSONLコンテンツを解析してデータフレームにフォーマットし、そのイベントのデータフレームをFiddlerトライアル環境に公開します。 次のスクリーンショットは、関数のコードの詳細を示しています。

Fiddler PlatoBlockchain Data Intelligenceを使用して、AmazonSageMakerモデルのエンタープライズグレードのモニタリングを実現します。 垂直検索。 愛。

Lambda関数は、S3バケットに新しく作成されたファイルをトリガーするように設定する必要があります。 以下 チュートリアル の作成をガイドします アマゾンイベントブリッジ ファイルがAmazonS3にアップロードされるたびにLambda関数を呼び出すトリガー。 次のスクリーンショットは、関数のトリガー構成を示しています。 これにより、モデルが新しい推論を行うときはいつでも、Amazon S3に保存されているイベントがFiddlerに読み込まれ、会社が必要とするモデルの可観測性を促進できるようになります。

これをさらに単純化するために、このLambda関数のコードはから公開されています Fiddlerのドキュメントサイト。 このコード例は現在、構造化された入力を持つ二項分類モデルで機能します。 異なる機能またはタスクを持つモデルタイプがある場合は、コードのマイナーな変更についてFiddlerに連絡してください。

Lambda関数は、FiddlerPythonクライアントを参照する必要があります。 Fiddlerは、公開されているLambdaレイヤーを作成しました。これを参照して、 import fiddler as fdl ステップはシームレスに機能します。 このレイヤーは、us-west-2リージョンのARNを介して参照できます。 arn:aws:lambda:us-west-2:079310353266:layer:fiddler-client-0814:1、次のスクリーンショットに示すように。

Fiddler PlatoBlockchain Data Intelligenceを使用して、AmazonSageMakerモデルのエンタープライズグレードのモニタリングを実現します。 垂直検索。 愛。

また、Lambda関数がFiddlerトライアル環境への接続方法と、モデルによってキャプチャされている.jsonlファイル内の入力と出力を認識できるように、Lambda環境変数を指定する必要があります。 次のスクリーンショットは、必要な環境変数のリストを示しています。 Fiddlerのドキュメントサイト。 モデルとデータセットに一致するように環境変数の値を更新します。

Fiddler PlatoBlockchain Data Intelligenceを使用して、AmazonSageMakerモデルのエンタープライズグレードのモニタリングを実現します。 垂直検索。 愛。

Fiddlerトライアル環境でFiddlerの監視機能を調べる

あなたはそれをしました! ベースラインデータ、モデル、トラフィックを接続すると、説明できるようになります データドリフト、外れ値、 モデルバイアス、データの問題、パフォーマンスのブリップ、およびダッシュボードを他のユーザーと共有します。 によってあなたの旅を完了する デモを見る 会社に導入したモデルパフォーマンス管理機能について。

以下のスクリーンショットの例は、ドリフト、外れ値の検出、ローカルポイントの説明、Fiddlerトライアル環境で見られるモデル分析などのモデルの洞察を垣間見ることができます。

Fiddler PlatoBlockchain Data Intelligenceを使用して、AmazonSageMakerモデルのエンタープライズグレードのモニタリングを実現します。 垂直検索。 愛。

まとめ

この投稿は、エンタープライズクラスの必要性を強調しました モデルモニタリング そして、SageMakerにデプロイされたモデルを Fiddlerモデルパフォーマンス管理プラットフォーム ほんの数ステップで。 Fiddlerは、モデルモニタリング、説明可能なAI、バイアス検出、根本原因分析の機能を提供し、 AWS Marketplace。 あなたを提供することによって MLOps 使いやすい単一のガラス板とチームを組み、モデルが期待どおりに動作していることを確認し、パフォーマンス低下の根本的な原因を特定することで、Fiddlerはデータサイエンティストの生産性を向上させ、問題の検出と解決にかかる時間を短縮できます。

Fiddlerについて詳しく知りたい場合は、次のWebサイトにアクセスしてください。 フィドラー.ai または、パーソナライズされたデモとテクニカルディスカッションメールを設定したい場合 sales@fiddler.ai.


著者について

Fiddler PlatoBlockchain Data Intelligenceを使用して、AmazonSageMakerモデルのエンタープライズグレードのモニタリングを実現します。 垂直検索。 愛。ダニーブロック FiddlerAIのシニアソリューションエンジニアです。 Dannyは、分析とMLの分野で長い間在籍しており、EndecaやIncortaなどの新興企業向けにプリセールスチームとポストセールスチームを運営しています。 彼は2012年に彼自身のビッグデータ分析コンサルティング会社であるBranchbirdを設立しました。

Fiddler PlatoBlockchain Data Intelligenceを使用して、AmazonSageMakerモデルのエンタープライズグレードのモニタリングを実現します。 垂直検索。 愛。ラジーブ・ゴヴィンダン FiddlerAIのシニアソリューションエンジニアです。 Rajeevは、AppDynamicsを含むいくつかの企業でセールスエンジニアリングとソフトウェア開発の豊富な経験があります。

Fiddler PlatoBlockchain Data Intelligenceを使用して、AmazonSageMakerモデルのエンタープライズグレードのモニタリングを実現します。 垂直検索。 愛。クリシュナラムケンタパディ フィドラーAIのチーフサイエンティストです。 以前は、Amazon AWS AIのプリンシパルサイエンティストであり、Amazon AIプラットフォームの公平性、説明性、プライバシー、モデル理解のイニシアチブを主導し、それ以前は、LinkedInAIとMicrosoftResearchで役割を果たしていました。 Krishnaramは、2006年にスタンフォード大学でコンピューターサイエンスの博士号を取得しました。

タイムスタンプ:

より多くの AWS機械学習