Amazon SageMaker PlatoBlockchain Data Intelligence を使用して、機械学習モデルのガバナンスを向上させます。垂直検索。あい。

Amazon SageMaker を使用して機械学習モデルのガバナンスを改善する

企業が主流のエンタープライズ アプリケーションに機械学習 (ML) を採用することが増えているため、ビジネス上の意思決定の多くが ML モデルの影響を受けています。 この結果、すべての ML モデルでアクセス制御を簡素化し、透明性を強化することで、モデルが適切に機能していることを検証し、機能していない場合に対処することが容易になります。

この投稿では、SageMaker Model Cards と SageMaker Model Dashboard の XNUMX つの新機能を使用して、一元化されたダッシュボードとモデルの詳細なドキュメントを使用して、企業がモデルの可視性を向上させる方法を探ります。 これらの機能は両方とも、SageMaker のお客様は追加料金なしで利用できます。

モデル ガバナンスの概要

モデル ガバナンスは、モデルの開発、検証、および使用を体系的に可視化するフレームワークです。 モデル ガバナンスは、ML ユース ケースの特定から、アラート、レポート、ダッシュボードによるデプロイ済みモデルの継続的な監視まで、エンド ツー エンドの ML ワークフロー全体に適用できます。 適切に実装されたモデル ガバナンス フレームワークでは、ライフサイクル タスクの表示、追跡、管理に必要なインターフェイスの数を最小限に抑えて、大規模な ML ライフサイクルの監視を容易にする必要があります。

今日、組織は、ガバナンスと監査ワークフローの大部分を自動化するためのツールを構築するために、重要な技術的専門知識を投資しています。 たとえば、モデル作成者は、モデルの使用目的、リスク評価、モデルを測定するパフォーマンス基準などのモデル仕様を積極的に記録する必要があります。 さらに、モデルの動作に関する観察を記録し、モデルを最適化した目的関数など、特定の重要な決定を行った理由を文書化する必要もあります。

企業が Excel や電子メールなどのツールを使用して、生産使用の承認に使用するモデル情報をキャプチャして共有することは一般的です。 しかし、ML 開発の規模が大きくなるにつれて、情報は簡単に失われたり置き忘れられたりする可能性があり、これらの詳細を追跡することはすぐに不可能になります。 さらに、これらのモデルがデプロイされた後、さまざまなソースからのデータをつなぎ合わせて、すべてのモデル、エンドポイント、監視履歴、系統をエンドツーエンドで可視化することができます。 このようなビューがないと、モデルを簡単に追跡できなくなり、モデルに対していつアクションを実行する必要があるかがわからない可能性があります。 規制の厳しい業界では、このような対策を講じる必要がある規制の対象となるため、この問題はさらに深刻になります。

モデルの量が拡大し始めると、カスタム ツールの管理が課題になり、組織がコア ビジネス ニーズに集中する時間が少なくなります。 以下のセクションでは、SageMaker Model Cards と SageMaker Model Dashboard がガバナンスの取り組みを拡大するのにどのように役立つかを探ります。

SageMaker モデルカード

モデル カードを使用すると、モデルのドキュメント化方法を標準化できるため、設計、構築、トレーニング、評価に至るモデルのライフサイクルを可視化できます。 モデル カードは、監査および文書化の目的で確実に使用できる、モデルに関するビジネスおよび技術メタデータの唯一の信頼できる情報源となることを目的としています。 モデル ガバナンスにとって重要なモデルのファクトシートを提供します。

モデル カードを使用すると、ユーザーは目的関数が最適化のために選択された理由や、使用目的やリスク レーティングなどの詳細などの決定を作成および保存できます。 また、評価結果を添付して確認したり、後で参照できるように所見を書き留めたりすることもできます。

SageMaker でトレーニングされたモデルの場合、モデル カードは、トレーニング ジョブ、トレーニング データセット、モデル アーティファクト、推論環境などの詳細を検出して自動入力できるため、カードの作成プロセスが加速されます。 SageMaker Python SDK を使用すると、モデル カードを評価メトリクスでシームレスに更新できます。

モデル カードは、モデル リスク マネージャー、データ サイエンティスト、および ML エンジニアに、次のタスクを実行する機能を提供します。

  • リスク評価、使用目的、制限、期待されるパフォーマンスなどのモデル要件を文書化する
  • SageMaker トレーニング済みモデルのモデルカードを自動入力する
  • SageMaker 以外のモデルの独自の情報を持ち込む (BYOI)
  • モデルとデータの評価結果をアップロードして共有する
  • カスタム情報の定義と取得
  • モデル カードのステータスを取得します (下書き、審査待ち、または制作承認済み)。
  • からモデル カード ハブにアクセスします。 AWSマネジメントコンソール
  • モデル カードの作成、編集、表示、エクスポート、複製、および削除
  • を使用してワークフローをトリガーする アマゾンイベントブリッジ モデルカードステータス変更イベントの統合

コンソールを使用して SageMaker モデルカードを作成する

SageMaker コンソールを使用してモデルカードを簡単に作成できます。 ここでは、既存のすべてのモデル カードを表示し、必要に応じて新しいモデル カードを作成できます。

モデル カードを作成するときは、モデルを構築した人物、モデルが開発された理由、独立した評価でのモデルのパフォーマンス、ビジネス アプリケーションでモデルを使用する前に考慮する必要がある観察事項など、重要なモデル情報を文書化できます。

コンソールでモデル カードを作成するには、次の手順を実行します。

  1. モデル概要の詳細を入力します。
  2. トレーニングの詳細を入力します (モデルが SageMaker でトレーニングされた場合は自動入力されます)。
  3. 評価結果をアップロードします。
  4. 推奨事項や倫理的考慮事項などの詳細を追加します。

モデル カードを作成したら、表示するバージョンを選択できます。

Amazon SageMaker PlatoBlockchain Data Intelligence を使用して、機械学習モデルのガバナンスを向上させます。垂直検索。あい。

次のスクリーンショットは、モデル カードの詳細を示しています。

Amazon SageMaker PlatoBlockchain Data Intelligence を使用して、機械学習モデルのガバナンスを向上させます。垂直検索。あい。

モデル カードをエクスポートして PDF として共有することもできます。

Amazon SageMaker PlatoBlockchain Data Intelligence を使用して、機械学習モデルのガバナンスを向上させます。垂直検索。あい。

SageMaker Python SDK を介して SageMaker モデルカードを作成して調べる

モデル カードの操作はコンソールに限定されません。 SageMaker Python SDK を使用して、モデル カードを作成および探索することもできます。 SageMaker Python SDK を使用すると、データ サイエンティストと ML エンジニアは SageMaker コンポーネントを簡単に操作できます。 次のコード スニペットは、新しく追加された SageMaker Python SDK 機能を使用してモデル カードを作成するプロセスを示しています。

SageMaker Python SDK の最新バージョンがインストールされていることを確認してください。

$ pip install --upgrade "sagemaker>=2"

SageMaker を使用してモデルをトレーニングしてデプロイしたら、SageMaker モデルとトレーニング ジョブからの情報を使用して、モデル カードに情報を自動的に入力できます。

SageMaker Python SDK を使用して SageMaker モデル名を渡すと、基本的なモデル情報を自動的に収集できます。 SageMaker モデル ARN、トレーニング環境、モデル出力などの情報 Amazon シンプル ストレージ サービス (Amazon S3) の場所はすべて自動的に入力されます。 説明、問題の種類、アルゴリズムの種類、モデル作成者、所有者など、他のモデル ファクトを追加できます。 次のコードを参照してください。

model_overview = ModelOverview.from_name(
    model_name=model_name,
    sagemaker_session=sagemaker_session,
    model_description="This is a simple binary classification model used for Model Card demo",
    problem_type="Binary Classification",
    algorithm_type="Logistic Regression",
    model_creator="DEMO-ModelCard",
    model_owner="DEMO-ModelCard",
)
print(model_overview.model_id) # Provides us with the SageMaker Model ARN
print(model_overview.inference_environment.container_image) # Provides us with the SageMaker inference container URI
print(model_overview.model_artifact) # Provides us with the S3 location of the model artifacts

また、トレーニング ジョブ ARN、トレーニング環境、トレーニング メトリクスなどの基本的なトレーニング情報を自動的に収集することもできます。 トレーニングの目的関数や観察など、トレーニングの詳細を追加できます。 次のコードを参照してください。

objective_function = ObjectiveFunction(
    function=Function(
        function=ObjectiveFunctionEnum.MINIMIZE,
        facet=FacetEnum.LOSS,
    ),
    notes="This is a example objective function.",
)
training_details = TrainingDetails.from_model_overview(
    model_overview=model_overview,
    sagemaker_session=sagemaker_session,
    objective_function=objective_function,
    training_observations="Additional training observations could be put here."
)

print(training_details.training_job_details.training_arn) # Provides us with the SageMaker Model ARN
print(training_details.training_job_details.training_environment.container_image) # Provides us with the SageMaker training container URI
print([{"name": i.name, "value": i.value} for i in training_details.training_job_details.training_metrics]) # Provides us with the SageMaker Training Job metrics

利用可能な評価指標がある場合は、それらもモデル カードに追加できます。

my_metric_group = MetricGroup(
    name="binary classification metrics",
    metric_data=[Metric(name="accuracy", type=MetricTypeEnum.NUMBER, value=0.5)]
)
evaluation_details = [
    EvaluationJob(
        name="Example evaluation job",
        evaluation_observation="Evaluation observations.",
        datasets=["s3://path/to/evaluation/data"],
        metric_groups=[my_metric_group],
    )
]

モデル ガバナンスに役立つモデルに関する追加情報を追加することもできます。

intended_uses = IntendedUses(
    purpose_of_model="Test Model Card.",
    intended_uses="Not used except this test.",
    factors_affecting_model_efficiency="No.",
    risk_rating=RiskRatingEnum.LOW,
    explanations_for_risk_rating="Just an example.",
)
additional_information = AdditionalInformation(
    ethical_considerations="You model ethical consideration.",
    caveats_and_recommendations="Your model's caveats and recommendations.",
    custom_details={"custom details1": "details value"},
)

必要なすべての詳細を提供したら、前の構成を使用してモデル カードを作成できます。

model_card_name = "sample-notebook-model-card"
my_card = ModelCard(
    name=model_card_name,
    status=ModelCardStatusEnum.DRAFT,
    model_overview=model_overview,
    training_details=training_details,
    intended_uses=intended_uses,
    evaluation_details=evaluation_details,
    additional_information=additional_information,
    sagemaker_session=sagemaker_session,
)
my_card.create()

SageMaker SDK は、モデル カードを更新、ロード、一覧表示、エクスポート、および削除する機能も提供します。

モデル カードの詳細については、 開発者ガイド そして、フォロー この 始めるためのノートブックの例。

SageMaker モデルダッシュボード

モデル ダッシュボードは、アカウントで作成されたすべてのモデルの集中リポジトリです。 モデルは通常、SageMaker でのトレーニングによって作成されます。または、別の場所でトレーニングされたモデルを SageMaker でホストすることもできます。

モデル ダッシュボードは、IT 管理者、モデル リスク マネージャー、またはビジネス リーダーが、デプロイされたすべてのモデルとそのパフォーマンスを表示するための単一のインターフェイスを提供します。 エンドポイント、バッチ変換ジョブ、監視ジョブを表示して、モデルのパフォーマンスに関する洞察を得ることができます。 組織は、モニターが欠落しているか非アクティブなモデルを特定し、SageMaker API を使用してそれらを追加して、データドリフト、モデルドリフト、バイアスドリフト、機能属性ドリフトについてすべてのモデルがチェックされていることを確認するために深く掘り下げることができます。

次のスクリーンショットは、モデル ダッシュボードの例を示しています。

Amazon SageMaker PlatoBlockchain Data Intelligence を使用して、機械学習モデルのガバナンスを向上させます。垂直検索。あい。

モデル ダッシュボードには、すべてのモデルの概要、それらのリスク レーティング、およびそれらのモデルが本番環境でどのように実行されているかが表示されます。 これは、SageMaker 全体から情報を引き出すことによって行われます。 パフォーマンス監視情報は、 Amazon SageMakerモデルモニター、また、SageMaker バッチ変換ジョブを介してバッチ予測のために呼び出されたモデルに関する情報も確認できます。 モデルがどのようにトレーニングされたか、使用されたデータなどの系列情報が取得され、モデル カードからの情報も取得されます。

Model Monitor は、バッチ推論またはリアルタイム エンドポイントの本番環境で使用される SageMaker モデルの品質を監視します。 SageMaker API を介して継続的なモニタリングまたはスケジュールされたモニタリングをセットアップし、モデル ダッシュボードを介してアラート設定を編集できます。 モデルの品質に偏差がある場合に通知するアラートを設定できます。 これらの逸脱を早期かつプロアクティブに検出することで、モデルの再トレーニング、上流システムの監査、品質問題の修正などの是正措置を講じることができます。モデルを手動で監視したり、追加のツールを構築したりする必要はありません。 モデル ダッシュボードでは、どのモデルが監視され、どのように実行されているかをすばやく把握できます。 モデル モニターの詳細については、次の Web サイトをご覧ください。 データとモデルの品質、バイアス、説明性についてモデルを監視する.

モデル ダッシュボードでモデルを選択すると、モデル カード (存在する場合)、モデル系列、モデルがデプロイされたエンドポイントに関する詳細、およびモデル。

Amazon SageMaker PlatoBlockchain Data Intelligence を使用して、機械学習モデルのガバナンスを向上させます。垂直検索。あい。

このビューでは、必要に応じてモデル カードを作成できます。 監視スケジュールは、モデル ダッシュボードからアクティブ化、非アクティブ化、または編集することもできます。

監視スケジュールがないモデルの場合、モデルがデプロイされたエンドポイントに対してモデル モニターを有効にすることで、これを設定できます。 アラートの詳細とステータスを通じて、設定したモニターに応じて、データ ドリフト、モデル ドリフト、バイアス ドリフト、または機能ドリフトを示すモデルが通知されます。

モデルの監視を設定する方法のワークフローの例を見てみましょう。 このプロセスの主な手順は次のとおりです。

  1. エンドポイント (またはバッチ変換ジョブ) に送信されたデータをキャプチャします。
  2. ベースラインを確立します (監視の種類ごとに)。
  3. モデル モニター スケジュールを作成して、ライブ予測をベースラインと比較し、違反を報告してアラートをトリガーします。

アラートに基づいて、エンドポイントを以前のバージョンにロールバックしたり、新しいデータでモデルを再トレーニングしたりするなどのアクションを実行できます。 これを行っている間、モデルがどのようにトレーニングされたかを追跡する必要がある場合があります。これは、モデルの系統を視覚化することで実行できます。

Amazon SageMaker PlatoBlockchain Data Intelligence を使用して、機械学習モデルのガバナンスを向上させます。垂直検索。あい。 Amazon SageMaker PlatoBlockchain Data Intelligence を使用して、機械学習モデルのガバナンスを向上させます。垂直検索。あい。

モデル ダッシュボードは、モデルの特定の詳細にドリルダウンする機能に加えて、アカウントの全体的なモデル エコシステムに関する豊富な情報セットを提供します。 モデル ダッシュボードの詳細については、次を参照してください。 開発者ガイド.

まとめ

モデル ガバナンスは複雑で、多くの場合、組織や業界に固有のカスタマイズされたニーズが多数含まれます。 これは、組織が準拠する必要がある規制要件、組織に存在するペルソナの種類、および使用されているモデルの種類に基づいている可能性があります。 万能のガバナンス アプローチはありません。堅牢なガバナンス プロセスを導入できるように、適切なツールを利用できるようにすることが重要です。

SageMaker の専用の ML ガバナンス ツールを使用すると、組織は適切なメカニズムを実装して、特定のユースケースの ML プロジェクトの制御と可視性を向上させることができます。 モデル カードとモデル ダッシュボードを試して、質問やフィードバックをコメントに残してください。 モデル カードとモデル ダッシュボードの詳細については、次を参照してください。 開発者ガイド.


著者について

Amazon SageMaker PlatoBlockchain Data Intelligence を使用して、機械学習モデルのガバナンスを向上させます。垂直検索。あい。キリット・サダカ SageMaker Service SA チームで働く ML ソリューション アーキテクトです。 AWS に参加する前は、初期段階の AI スタートアップで働いた後、AI 研究、MLOps、および技術的リーダーシップのさまざまな役割でコンサルティングを行っていました。

Amazon SageMaker PlatoBlockchain Data Intelligence を使用して、機械学習モデルのガバナンスを向上させます。垂直検索。あい。マーク・カープ SageMaker サービスチームの ML アーキテクトです。 彼は、顧客が大規模な ML ワークロードを設計、展開、管理するのを支援することに重点を置いています。 余暇には、旅行や新しい場所の探索を楽しんでいます。

Amazon SageMaker PlatoBlockchain Data Intelligence を使用して、機械学習モデルのガバナンスを向上させます。垂直検索。あい。ラグーラメシャ Amazon SageMaker サービスチームの ML ソリューションアーキテクトです。 彼は、お客様が ML 本番ワークロードを大規模に構築、デプロイ、および SageMaker に移行するのを支援することに重点を置いています。 機械学習、AI、コンピューター ビジョンの分野を専門とし、UT ダラスでコンピューター サイエンスの修士号を取得しています。 余暇には、旅行と写真を楽しんでいます。

Amazon SageMaker PlatoBlockchain Data Intelligence を使用して、機械学習モデルのガバナンスを向上させます。垂直検索。あい。ラムヴィタル AWS の ML スペシャリスト ソリューション アーキテクトです。 彼は、分散、ハイブリッド、およびクラウド アプリケーションの設計と構築に 20 年以上の経験があります。 彼は、安全でスケーラブルな AI/ML およびビッグデータ ソリューションの構築に情熱を傾けており、企業の顧客がクラウドの導入と最適化を行ってビジネス成果を向上させるのを支援しています。 余暇には、テニス、写真、アクション映画を楽しんでいます。

Amazon SageMaker PlatoBlockchain Data Intelligence を使用して、機械学習モデルのガバナンスを向上させます。垂直検索。あい。サヒルサイニ アマゾン ウェブ サービスの ISV ソリューション アーキテクトです。 彼は、AWS の戦略的顧客の製品およびエンジニアリングチームと協力して、AI/ML、コンテナ、HPC、および IoT 向けの AWS サービスを使用したテクノロジーソリューションを支援しています。 彼は、企業顧客向けの AI/ML プラットフォームのセットアップを支援してきました。

タイムスタンプ:

より多くの AWS機械学習