

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# アクセス許可管理とモデルのパフォーマンス追跡のためのモデルガバナンス
<a name="governance"></a>

モデルガバナンスは、機械学習 (ML) モデルの開発、検証、使用状況を体系的に可視化するフレームワークです。Amazon SageMaker AI は、ML ライフサイクル全体にわたってアクセスコントロール、アクティビティ追跡、レポートを管理するための専用の ML ガバナンスツールを提供します。

Amazon SageMaker Role Manager を使用して ML 実務者に対する最小権限のアクセス許可を管理したり、Amazon SageMaker Model Cards を使用して詳細なモデルドキュメントを作成したり、Amazon SageMaker Model Dashboard を使用して一元化されたダッシュボードでモデルを可視化したりできます。

## Amazon SageMaker Role Manager
<a name="governance-role-manager"></a>

Amazon SageMaker Role Manager を使用すると、管理者は一般的な機械学習アクティビティに対して最小権限のアクセス許可でユーザーアクセス許可を定義できます。Amazon SageMaker Role Manager を使用して、ビジネスニーズに合わせたペルソナベースの IAM ロールを構築および管理します。

詳細については、「[Amazon SageMaker Role Manager](role-manager.md)」を参照してください。

## Amazon SageMaker Model Cards
<a name="governance-model-cards"></a>

Amazon SageMaker Model Cards を使用すると、構想からデプロイまでの重要なモデル情報を文書化、取得、共有できます。モデルカードを使用すると、モデルリスクマネージャ、データサイエンティスト、ML エンジニアは、モデルの使用目的、リスク評価、トレーニングの詳細、評価結果などを記録した変更できない記録を作成できます。

詳細については、「[Amazon SageMaker Model Cards](model-cards.md)」を参照してください。

## Amazon SageMaker Model Dashboard
<a name="governance-model-dashboard"></a>

Amazon SageMaker Model Dashboard は、アカウント内のすべてのモデルの事前構築された視覚的な概要です。Model Dashboard は、Amazon SageMaker Model Monitor、変換ジョブ、エンドポイント、ML 系列追跡、Amazon CloudWatch からの貴重な情報を統合するため、モデル情報の概要にアクセスし、1 つの統一ビューでモデルのパフォーマンスを追跡できます。

詳細については、「[Amazon SageMaker Model Dashboard](model-dashboard.md)」を参照してください。

## Amazon SageMaker Assets
<a name="governance-asset-explorer"></a>

Amazon SageMaker Assets は、ML ガバナンスを合理化する新しいワークフローです。これにより、ユーザーは、特徴量グループや Amazon Redshift テーブルなどの ML アセットやデータアセットを簡単に発行、共有、サブスクライブできます。

管理者は Amazon DataZone を使用して、ユーザーが Amazon SageMaker Studio 内でアセットを共有できるように、データベースと ML インフラストラクチャを設定します。設定すると、管理者の負担を増やすことなく、ユーザーはシームレスにアセットを共有できます。Amazon SageMaker Assets の詳細については、「[Amazon SageMaker Assets を使用したアセットへのアクセスの制御](sm-assets.md)」を参照してください。

# Amazon SageMaker Model Cards
<a name="model-cards"></a>

**重要**  
Amazon SageMaker Model Card は SageMaker Model Registry と統合されています。Model Registry 内にモデルを登録する場合は、この統合を使用して監査情報を追加できます。詳細については、「[モデルバージョンの詳細を更新する](model-registry-details.md)」を参照してください。

Amazon SageMaker Model Cards を使用して、機械学習 (ML) モデルに関する重要な詳細を 1 か所に文書化して、ガバナンスとレポート作成を合理化します。モデルカードは、モデルのライフサイクル全体を通じてモデルに関する重要な情報をキャプチャし、責任ある AI プラクティスを実装するのに役立ちます。

モデルの使用目的とリスク評価、トレーニングの詳細とメトリクス、評価結果と所見、考慮事項、推奨事項、カスタム情報といったその他の注意事項などの詳細情報をカタログ化します。モデルカードを作成すると、次のことが可能になります。
+ モデルの使用方法に関するガイダンスを提供します。
+ モデルのトレーニングとパフォーマンスの詳細な説明を提供して、監査活動をサポートします。
+ モデルがビジネス目標をどのようにサポートするのかを伝えます。

モデルカードは、文書化する情報についての基準となる指針を提供し、ユーザー設定情報のフィールドを含めます。モデルカードを作成したら、PDF にエクスポートしたり、ダウンロードして関係者と共有したりできます。モデルカードに対して承認ステータスの更新以外の編集を行うと、モデル変更の記録を残すためにモデルカードのバージョンが追加されます。

**Topics**
+ [前提条件](#model-cards-prerequisites)
+ [モデルの使用目的](#model-cards-intended-uses)
+ [リスク評価](#model-cards-risk-rating)
+ [モデルカードの JSON スキーマ](#model-cards-json-schema)
+ [モデルカードを作成する](model-cards-create.md)
+ [モデルカードのアクション](model-cards-manage.md)
+ [Amazon SageMaker Model Cards のクロスアカウントサポートを設定する](model-cards-xaccount.md)
+ [モデルカードのための低レベル SageMaker API](model-cards-apis.md)
+ [モデルカードに関するよくある質問](model-cards-faqs.md)

## 前提条件
<a name="model-cards-prerequisites"></a>

Amazon SageMaker Model Cards の使用を開始するには、モデルカードを作成、編集、表示、エクスポートするアクセス許可が必要です。

## モデルの使用目的
<a name="model-cards-intended-uses"></a>

モデルの使用目的を明確にしておくと、モデルの開発者やユーザーが責任を持ってモデルをトレーニングしたりデプロイしたりするのに必要な情報を確実に入手できるようになります。モデルの使用目的には、そのモデルを使用するのが適切なシナリオと、そのモデルの使用が推奨されないシナリオを記述する必要があります。

以下を含めることをお勧めします。
+ モデルの汎用的な用途 
+ モデルで意図されていたユースケース 
+ モデルで意図されていなかったユースケース
+ モデル開発時の仮説

モデルの使用目的では、技術的な詳細にとどまらず、本番環境でのモデルの使用方法、モデルを使用するのに適切なシナリオ、モデルで使用するデータのタイプや開発中に立てる仮説といったその他の考慮事項を説明します。

## リスク評価
<a name="model-cards-risk-rating"></a>

開発者は、さまざまなリスクレベルのユースケースに対応する ML モデルを作成します。例えば、ローン申請を承認するモデルは、メールのカテゴリを検出するモデルよりもリスクが高い可能性があります。モデルカードは、モデルの多様なリスクプロファイルを考慮して、モデルのリスク評価を分類するためのフィールドを提供します。

このリスク評価には `unknown`、`low`、`medium`、`high` を使用できます。これらのリスク評価フィールドを使用して、未知、低、中、高リスクのモデルにラベルを付け、特定のモデルの本番稼働に関する既存のルールを組織が順守できるようにします。

## モデルカードの JSON スキーマ
<a name="model-cards-json-schema"></a>

モデルカードの評価情報は JSON 形式で提供する必要があります。[SageMaker Clarify](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-processing-job-run.html) または [SageMaker AI Model Monitor](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality.html) によって生成された既存の JSON 形式の評価レポートがある場合は、それらを Amazon S3 にアップロードして、評価メトリクスを自動的に解析するための S3 URI を指定します。詳細とサンプルレポートについては、「Amazon SageMaker Model Governance - Model Cards」サンプルノートブックの[サンプルメトリクス](https://github.com/aws/amazon-sagemaker-examples/tree/main/sagemaker_model_governance/example_metrics)フォルダを参照してください。**

SageMaker Python SDK を使用してモデルカードを作成する場合、モデルコンテンツはモデルカードの JSON スキーマに含まれていて、文字列として提供される必要があります。次の例のようなモデルコンテンツを指定します。

### モデルカード JSON スキーマのサンプルファイル
<a name="model-cards-json-schema-example"></a>

```
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "http://json-schema.org/draft-07/schema#",
  "title": "SageMakerModelCardSchema",
  "description": "Internal model card schema for SageMakerRepositoryService without model_package_details",
  "version": "0.1.0",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "model_overview": {
      "description": "Overview about the model",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "model_description": {
          "description": "description of model",
          "type": "string",
          "maxLength": 1024
        },
        "model_creator": {
          "description": "Creator of model",
          "type": "string",
          "maxLength": 1024
        },
        "model_artifact": {
          "description": "Location of the model artifact",
          "type": "array",
          "maxContains": 15,
          "items": {
            "type": "string",
            "maxLength": 1024
          }
        },
        "algorithm_type": {
          "description": "Algorithm used to solve the problem",
          "type": "string",
          "maxLength": 1024
        },
        "problem_type": {
          "description": "Problem being solved with the model",
          "type": "string"
        },
        "model_owner": {
          "description": "Owner of model",
          "type": "string",
          "maxLength": 1024
        }
      }
    },
    "intended_uses": {
      "description": "Intended usage of model",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "purpose_of_model": {
          "description": "Why the model was developed?",
          "type": "string",
          "maxLength": 2048
        },
        "intended_uses": {
          "description": "intended use cases",
          "type": "string",
          "maxLength": 2048
        },
        "factors_affecting_model_efficiency": {
          "type": "string",
          "maxLength": 2048
        },
        "risk_rating": {
          "description": "Risk rating for model card",
          "$ref": "#/definitions/risk_rating"
        },
        "explanations_for_risk_rating": {
          "type": "string",
          "maxLength": 2048
        }
      }
    },
    "business_details": {
      "description": "Business details of model",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "business_problem": {
          "description": "What business problem does the model solve?",
          "type": "string",
          "maxLength": 2048
        },
        "business_stakeholders": {
          "description": "Business stakeholders",
          "type": "string",
          "maxLength": 2048
        },
        "line_of_business": {
          "type": "string",
          "maxLength": 2048
        }
      }
    },
    "training_details": {
      "description": "Overview about the training",
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "objective_function": {
          "description": "the objective function the model will optimize for",
          "function": {
            "$ref": "#/definitions/objective_function"
          },
          "notes": {
            "type": "string",
            "maxLength": 1024
          }
        },
        "training_observations": {
          "type": "string",
          "maxLength": 1024
        },
        "training_job_details": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "training_arn": {
              "description": "SageMaker Training job arn",
              "type": "string",
              "maxLength": 1024
            },
            "training_datasets": {
              "description": "Location of the model datasets",
              "type": "array",
              "maxContains": 15,
              "items": {
                "type": "string",
                "maxLength": 1024
              }
            },
            "training_environment": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "container_image": {
                  "description": "SageMaker training image uri",
                  "type": "array",
                  "maxContains": 15,
                  "items": {
                    "type": "string",
                    "maxLength": 1024
                  }
                }
              }
            },
            "training_metrics": {
              "type": "array",
              "items": {
                "maxItems": 50,
                "$ref": "#/definitions/training_metric"
              }
            },
            "user_provided_training_metrics": {
              "type": "array",
              "items": {
                "maxItems": 50,
                "$ref": "#/definitions/training_metric"
              }
            },
            "hyper_parameters": {
              "type": "array",
              "items": {
                "maxItems": 100,
                "$ref": "#/definitions/training_hyper_parameter"
              }
            },
            "user_provided_hyper_parameters": {
              "type": "array",
              "items": {
                "maxItems": 100,
                "$ref": "#/definitions/training_hyper_parameter"
              }
            }
          }
        }
      }
    },
    "evaluation_details": {
      "type": "array",
      "default": [],
      "items": {
        "type": "object",
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "pattern": ".{1,63}"
          },
          "evaluation_observation": {
            "type": "string",
            "maxLength": 2096
          },
          "evaluation_job_arn": {
            "type": "string",
            "maxLength": 256
          },
          "datasets": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 1024
            },
            "maxItems": 10
          },
          "metadata": {
            "description": "additional attributes associated with the evaluation results",
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "maxLength": 1024
            }
          },
          "metric_groups": {
            "type": "array",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "name",
                "metric_data"
              ],
              "properties": {
                "name": {
                  "type": "string",
                  "pattern": ".{1,63}"
                },
                "metric_data": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "$ref": "#/definitions/simple_metric"
                      },
                      {
                        "$ref": "#/definitions/linear_graph_metric"
                      },
                      {
                        "$ref": "#/definitions/bar_chart_metric"
                      },
                      {
                        "$ref": "#/definitions/matrix_metric"
                      }
                    ]

                  }
                }
              }
            }
          }
        }
      }
    },
    "additional_information": {
      "additionalProperties": false,
      "type": "object",
      "properties": {
        "ethical_considerations": {
          "description": "Any ethical considerations that the author wants to provide",
          "type": "string",
          "maxLength": 2048
        },
        "caveats_and_recommendations": {
          "description": "Caveats and recommendations for people who might use this model in their applications.",
          "type": "string",
          "maxLength": 2048
        },
        "custom_details": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/custom_property"
          }
        }
      }
    }
  },
  "definitions": {
    "source_algorithms": {
      "type": "array",
      "minContains": 1,
      "maxContains": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "algorithm_name"
        ],
        "properties": {
          "algorithm_name": {
            "description": "The name of an algorithm that was used to create the model package. The algorithm must be either an algorithm resource in your SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.",
            "type": "string",
            "maxLength": 170
          },
          "model_data_url": {
            "description": "The Amazon S3 path where the model artifacts, which result from model training, are stored.",
            "type": "string",
            "maxLength": 1024
          }
        }
      }
    },
    "inference_specification": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "containers"
      ],
      "properties": {
        "containers": {
          "description": "Contains inference related information which were used to create model package.",
          "type": "array",
          "minContains": 1,
          "maxContains": 15,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "image"
            ],
            "properties": {
              "model_data_url": {
                "description": "The Amazon S3 path where the model artifacts, which result from model training, are stored.",
                "type": "string",
                "maxLength": 1024
              },
              "image": {
                "description": "Inference environment path. The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored.",
                "type": "string",
                "maxLength": 255
              },
              "nearest_model_name": {
                "description": "The name of a pre-trained machine learning benchmarked by Amazon SageMaker Inference Recommender model that matches your model.",
                "type": "string"
              }
            }
          }
        }
      }
    },
    "risk_rating": {
      "description": "Risk rating of model",
      "type": "string",
      "enum": [
        "High",
        "Medium",
        "Low",
        "Unknown"
      ]
    },
    "custom_property": {
      "description": "Additional property in section",
      "type": "string",
      "maxLength": 1024
    },
    "objective_function": {
      "description": "objective function that training job is optimized for",
      "additionalProperties": false,
      "properties": {
        "function": {
          "type": "string",
          "enum": [
            "Maximize",
            "Minimize"
          ]
        },
        "facet": {
          "type": "string",
          "maxLength": 63
        },
        "condition": {
          "type": "string",
          "maxLength": 63
        }
      }
    },
    "training_metric": {
      "description": "training metric data",
      "type": "object",
      "required": [
        "name",
        "value"
      ],
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "pattern": ".{1,255}"
        },
        "notes": {
          "type": "string",
          "maxLength": 1024
        },
        "value": {
          "type": "number"
        }
      }
    },
    "training_hyper_parameter": {
      "description": "training hyper parameter",
      "type": "object",
      "required": [
        "name"
      ],
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "pattern": ".{1,255}"
        },
        "value": {
          "type": "string",
          "pattern": ".{0,255}"
        }
      }
    },
    "linear_graph_metric": {
      "type": "object",
      "required": [
        "name",
        "type",
        "value"
      ],
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "pattern": ".{1,255}"
        },
        "notes": {
          "type": "string",
          "maxLength": 1024
        },
        "type": {
          "type": "string",
          "enum": [
            "linear_graph"
          ]
        },
        "value": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "minItems": 2,
                "maxItems": 2
              },
              "minItems": 1
            }
          ]
        },
        "x_axis_name": {
          "$ref": "#/definitions/axis_name_string"
        },
        "y_axis_name": {
          "$ref": "#/definitions/axis_name_string"
        }
      }
    },
    "bar_chart_metric": {
      "type": "object",
      "required": [
        "name",
        "type",
        "value"
      ],
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "pattern": ".{1,255}"
        },
        "notes": {
          "type": "string",
          "maxLength": 1024
        },
        "type": {
          "type": "string",
          "enum": [
            "bar_chart"
          ]
        },
        "value": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "number"
              },
              "minItems": 1
            }
          ]
        },
        "x_axis_name": {
          "$ref": "#/definitions/axis_name_array"
        },
        "y_axis_name": {
          "$ref": "#/definitions/axis_name_string"
        }
      }
    },
    "matrix_metric": {
      "type": "object",
      "required": [
        "name",
        "type",
        "value"
      ],
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "pattern": ".{1,255}"
        },
        "notes": {
          "type": "string",
          "maxLength": 1024
        },
        "type": {
          "type": "string",
          "enum": [
            "matrix"
          ]
        },
        "value": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "minItems": 1,
                "maxItems": 20
              },
              "minItems": 1,
              "maxItems": 20
            }
          ]
        },
        "x_axis_name": {
          "$ref": "#/definitions/axis_name_array"
        },
        "y_axis_name": {
          "$ref": "#/definitions/axis_name_array"
        }
      }
    },
    "simple_metric": {
      "description": "metric data",
      "type": "object",
      "required": [
        "name",
        "type",
        "value"
      ],
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "pattern": ".{1,255}"
        },
        "notes": {
          "type": "string",
          "maxLength": 1024
        },
        "type": {
          "type": "string",
          "enum": [
            "number",
            "string",
            "boolean"
          ]
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "maxLength": 63
            },
            {
              "type": "boolean"
            }
          ]
        },
        "x_axis_name": {
          "$ref": "#/definitions/axis_name_string"
        },
        "y_axis_name": {
          "$ref": "#/definitions/axis_name_string"
        }
      }
    },
    "axis_name_array": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 63
      }
    },
    "axis_name_string": {
      "type": "string",
      "maxLength": 63
    }
  }
}
```

# モデルカードを作成する
<a name="model-cards-create"></a>

**重要**  
Amazon SageMaker Studio または Amazon SageMaker Studio Classic に Amazon SageMaker リソースの作成を許可するカスタム IAM ポリシーでは、これらのリソースにタグを追加するアクセス許可も付与する必要があります。Studio と Studio Classic は、作成したリソースに自動的にタグ付けするため、リソースにタグを追加するアクセス許可が必要になります。IAM ポリシーで Studio と Studio Classic によるリソースの作成が許可されていても、タグ付けが許可されていない場合は、リソースを作成しようとしたときに「AccessDenied」エラーが発生する可能性があります。詳細については、「[SageMaker AI リソースにタグ付けのアクセス許可を付与する](security_iam_id-based-policy-examples.md#grant-tagging-permissions)」を参照してください。  
SageMaker リソースを作成するためのアクセス許可を付与する [AWS Amazon SageMaker AI の マネージドポリシー](security-iam-awsmanpol.md) には、それらのリソースの作成中にタグを追加するためのアクセス許可もあらかじめ含まれています。

Amazon SageMaker Model Cards は、SageMaker AI コンソールまたは SageMaker Python SDK を使用して作成できます。直接 API 操作を使用することもできます。API 操作の詳細については、「[モデルカードのための低レベル SageMaker API](model-cards-apis.md)」を参照してください。

## SageMaker AI コンソールを使用してモデルカードを作成する
<a name="model-cards-console-create"></a>

Amazon SageMaker AI コンソールに移動します。ナビゲーションペインの **[ガバナンス]** で **[モデルカード]** を選択します。右上隅で **[モデルカードを作成]** を選択します。

**[モデルカードを作成]** プロンプトの 4 つのステップを実行して、モデルの詳細を文書化します。

### ステップ 1: モデルの詳細と使用目的を入力する
<a name="model-cards-console-create-enter-model-details"></a>

モデルが AWS リソースの場合は、このフィールドに正確なモデル名を指定して、モデルの詳細を自動入力します。既存のモデル名を参照するには、Amazon SageMaker AI コンソールの **[モデル]** を参照してください。一意のモデル名に関連付けられるモデルカードは 1 つだけです。

モデルが AWS リソースでない場合は、モデルの一意の名前を指定します。モデルを AWS リソースとして追加するには、*Amazon SageMaker AI* [デベロッパーガイド」の「モデルの作成](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints-deployment.html#realtime-endpoints-deployment-create-model)」を参照してください。または [SageMaker AI Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-marketplace.html) や [SageMaker AI Model Registry](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry.html) を使用してモデルパッケージとしてモデルを追加することもできます。

使用目的の詳細については、「[モデルの使用目的](model-cards.md#model-cards-intended-uses)」を参照してください。リスク評価の詳細については、「[リスク評価](model-cards.md#model-cards-risk-rating)」を参照してください。

#### ステップ 2: トレーニングの詳細を入力する
<a name="model-cards-console-create-enter-training-details"></a>

トレーニングの詳細、トレーニング観測値、データセット、ハイパーパラメータ、モデルの目的関数に関する詳細をモデルカードに追加します。

モデルカードの目的関数は、トレーニング中に最適化されるいずれかの関数になる可能性があります。これには、コスト関数、損失関数、または目的メトリクスが含まれますが、これらに限定されません。このセクションでは、モデルのトレーニングにとって最も重要な目的関数を文書化します。

目的関数の以下の属性をカタログ化することをお勧めします。
+ 最適化の方向
+ メトリクス
+ 説明

例えば、二項分類問題 (説明) ではクロスエントロピー損失 (メトリクス) を最小化 (最適化方向) したり、ロジスティック回帰の可能性を最大化したりできます。また、他の目的関数ではなくこの目的関数を選んだ理由についてのメモを提供できます。

#### ステップ 3: 評価の詳細を入力する
<a name="model-cards-console-create-enter-evaluation-details"></a>

SageMaker Clarify または Model Monitor によって生成された既存の評価レポートがある場合は、それらのレポートの S3 URI を指定するか、手動でアップロードしてモデルカードに追加します。

SageMaker Clarify の詳細については、「[Run SageMaker Clarify Processing Jobs for Bias Analysis and Explainability](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-processing-job-run.html)」を参照してください。

Model Monitor を使用してモデル品質メトリクスのドリフトをモニタリングする方法の詳細については、「[Monitor model quality](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality.html)」を参照してください。

独自の評価レポートを追加するには、**[汎用モデルカードの評価]** を選択します。すべてのモデルカード評価レポートは [モデルカードの JSON スキーマ](model-cards.md#model-cards-json-schema) に含まれている必要があります。

#### ステップ 4: 追加の詳細を入力する
<a name="model-cards-console-create-enter-additional-details"></a>

モデルカードに記載したい追加情報用に、カスタムモデルカード詳細フィールドを追加します。例えば、*[パーソナルファイナンス]* という値を持つカスタムフィールド *[業務部門]*を含めることができます。

#### モデルカードを保存する
<a name="model-cards-console-create-save"></a>

モデルカードの情報を確認したら、右下隅の **[保存]** を選択してモデルカードを保存します。

## SageMaker Python SDK を使用してモデルカードを作成する
<a name="model-cards-sdk-create"></a>

モデルカードを作成する前に、まずモデルカードの内容を定義する必要があります。SageMaker Python SDK を使用する場合、モデルの内容は、モデルの概要、トレーニングの詳細、使用目的、評価の詳細、追加情報で構成されます。

以下のモデルカードを作成できます。
+ SageMaker AI 内でホストされているモデル
+ SageMaker モデルレジストリ内のモデルパッケージ (モデル)
+ SageMaker AI の外部でホストまたは登録されているモデル

モデルを関連付けずにモデルカードを作成することもできます。

トレーニングしたモデルを SageMaker Model Registry に追加することをお勧めします。モデルレジストリは、モデルをカタログ化し、モデルバージョンを追跡するのに役立ちます。モデルカードを作成すると、モデルレジストリのモデルに関する情報がモデルカードに自動的に入力されます。モデルカードは、作成後に編集したり、情報を追加したりできます。

モデルレジストリの詳細については、「[Model Registry を使用したモデル登録デプロイ](model-registry.md)」をご参照ください。モデルレジストリからモデルカードを作成する方法については、「[SageMaker Model Registry のモデルのモデルカードを作成する](#model-cards-sdk-create-model-registry)」を参照してください。

**注記**  
SageMaker Python SDK でモデルカードを使用するには、まず SageMaker AI セッションを確立する必要があります。詳細については、SageMaker Python SDK API リファレンスガイドの「[Session](https://sagemaker.readthedocs.io/en/stable/api/utility/session.html)」を参照してください。

SageMaker Model Registry にないモデルのモデルカードを作成するには、「[モデルレジストリにないモデルを作成する](#model-card-sdk-create-model-non-model-registry)」を参照してください。

### モデルレジストリにないモデルを作成する
<a name="model-card-sdk-create-model-non-model-registry"></a>

以下のセクションの情報を使用して、モデルレジストリに追加していないモデルのモデルカードを作成します。

#### ステップ 1: モデルの概要を定義する
<a name="model-cards-sdk-create-model-overview"></a>

モデルの概要を定義します。

```
model_overview = ModelOverview.from_model_name(
model_name=model_name,
sagemaker_session=sagemaker_session,
model_description="A-description-of-your-model",
problem_type="Problem-type", # For example, "Binary Classification"
algorithm_type="Algorithm-type", # For example, "Logistic Regression"
model_creator="Name-of-model-creator",
model_owner="Name-of-model-owner",
)
```

モデルが AWS リソースの場合、モデル ARN、推論コンテナ URI、モデルアーティファクトの S3 の場所などの概要情報が自動的に取得されます。次のコマンドを使用して、関連付けられた AWS メタデータを出力します。

```
print(model_overview.model_id)
print(model_overview.inference_environment.container_image)
print(model_overview.model_artifact)
```

#### ステップ 2: トレーニングの詳細を定義する
<a name="model-cards-sdk-create-training-details"></a>

モデルのトレーニングの詳細を定義するには、まずその目的関数を定義しなければなりません。

```
objective_function = ObjectiveFunction(
    function=Function(
        function=ObjectiveFunctionEnum.MINIMIZE,
        facet=FacetEnum.LOSS,
    ),
    notes="An-explanation-about-objective-function",
)
```

次に、既存のモデルの概要、セッション、目的関数を使用してトレーニングの詳細を定義できます。トレーニングに関する観測情報をすべてここに追加します。

```
training_details = TrainingDetails.from_model_overview(
    model_overview=model_overview,
    sagemaker_session=sagemaker_session,
    objective_function=objective_function,
    training_observations="Model-training-observations",
)
```

ここでも、モデルが AWS リソースの場合、特定のトレーニングの詳細が自動的に入力されます。以下のコマンドを使用して、トレーニングジョブ ARN、トレーニングコンテナ URI、トレーニングメトリクスを出力します。

```
print(training_details.training_job_details.training_arn)
print(training_details.training_job_details.training_environment.container_image) 
print([{"name": i.name, "value": i.value} for i in training_details.training_job_details.training_metrics])
```

#### 評価の詳細を定義する
<a name="model-cards-sdk-create-evalutation-details"></a>

モデルの評価の詳細を定義するには、まず、評価ジョブに使用されるメトリクスを説明するメトリクスグループを 1 つ以上定義する必要があります。

```
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],
    )
]
```

[SageMaker Clarify](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-processing-job-run.html) または [SageMaker AI Model Monitor](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality.html) によって生成された既存の評価レポートがある場合は、それらを Amazon S3 にアップロードして、評価メトリクスを自動的に解析するための S3 URI を指定します。独自の汎用モデルカードの評価レポートを追加するには、[評価結果の JSON 形式](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards-json-schema.html)のレポートを使用します。

```
report_type = "clarify_bias.json"
example_evaluation_job.add_metric_group_from_json(
    f"example_metrics/{report_type}", EvaluationMetricTypeEnum.CLARIFY_BIAS
)
```

#### ステップ 3: 使用目的を定義する
<a name="model-cards-sdk-create-intended-uses"></a>

モデルの汎用的用途や意図したユースケースなどを含めて、モデルの使用目的を定義します。また、特定のユースケースにおけるこのモデルの有効性や、そのモデルに対する組織のリスク評価に影響する可能性のあるすべての要因を含めることも推奨されます。詳細については、「[モデルの使用目的](model-cards.md#model-cards-intended-uses)」 と 「[リスク評価](model-cards.md#model-cards-risk-rating)」 を参照してください。

```
intended_uses = IntendedUses(
purpose_of_model="Purpose-of-the-model",
intended_uses="The-intended-uses-of-this-model",
factors_affecting_model_efficiency="Any-factors-effecting-model-efficacy",
risk_rating=RiskRatingEnum.LOW,
explanations_for_risk_rating="Explanation-for-low-risk-rating",
)
```

#### 追加情報を定義する
<a name="model-cards-sdk-create-additional-details"></a>

最後に、モデルカードにカスタム情報を追加できます。モデルに関する倫理上の考慮事項、注意事項、推奨事項をすべて文書化できます。キーと値のペアの形式で、任意のカスタム詳細を追加することもできます。

```
additional_information = AdditionalInformation(
ethical_considerations="Any-ethical-considerations",
caveats_and_recommendations="Any-caveats-and-recommendations",
custom_details={"custom details1": "details-value"},
)
```

#### ステップ 4: モデルカードを作成する
<a name="model-cards-sdk-create-define"></a>

モデルカードに名前を付け、モデルカードを定義し、その定義を使用して SageMaker Python SDK でモデルカードを作成します。

```
model_card_name = "my-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 Model Registry のモデルのモデルカードを作成する
<a name="model-cards-sdk-create-model-registry"></a>

モデルカードの作成を開始する前に、モデルパッケージグループとモデルパッケージが作成されていることを確認してください。モデルレジストリの使用方法の詳細については、「[Model Registry を使用したモデル登録デプロイ](model-registry.md)」をご参照ください。

**重要**  
SageMaker Model Registry を操作するにはアクセス許可が必要です。`AmazonSageMakerModelRegistryFullAccess` AWS 管理ポリシーを使用することをお勧めします。管理ポリシーの詳細については、「[AWS モデルレジストリの管理ポリシー](security-iam-awsmanpol-model-registry.md)」を参照してください。

SageMaker Python SDK を使用して、SageMaker Model Registry 内のモデルパッケージのモデルカードを作成します。モデルパッケージはトレーニング済みモデルです。モデルカードを作成すると、Amazon SageMaker Model Cards がモデルパッケージからモデルカードにデータを自動的にインポートします。

モデルパッケージのモデルカードを作成するとき、Amazon SageMaker Model Cards は [DescribeModelPackage](https://docs.aws.amazon.com/APIReference/API_DescribeModelPackage.html#API_DescribeModelPackage_ResponseSyntax) を操作して、モデルパッケージのデータをモデルカードに追加します。モデルパッケージからモデルカードにインポートできるフィールドの例を以下に示します。
+ [ModelDataUrl](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelPackageContainerDefinition.html#sagemaker-Type-ModelPackageContainerDefinition-ModelDataUrl)
+ [ModelPackageDescription](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html#sagemaker-DescribeModelPackage-response-ModelPackageDescription)
+ [ModelPackageGroupName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html#sagemaker-DescribeModelPackage-response-ModelPackageGroupName)
+ [ModelPackageStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html#sagemaker-DescribeModelPackage-response-ModelPackageStatus)
+ [ModelPackageVersion](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html#sagemaker-DescribeModelPackage-response-ModelPackageVersion)

次のコードを使用してモデルパッケージを定義し、それに基づいてモデルカードを作成します。

```
mp_details = ModelPackage.from_model_package_arn(
    model_package_arn="example_model_package_arn",
    sagemaker_session=sagemaker_session,
)

model_card_name = "example-model-card"
my_card = ModelCard(
    name=model_card_name,
    status=ModelCardStatusEnum.status,
    model_package_details=mp_details,
    sagemaker_session=sagemaker_session,
)
my_card.create()
```

`status` では、モデルカードの承認ステータスを指定します。ステータスを指定しない場合、SageMaker Model Cards は `DRAFT` のデフォルト値を使用します。SageMaker AI セッションを指定しない場合、SageMaker Model Cards はデフォルトの SageMaker AI セッションを使用します。

モデルの名前とモデルパッケージの Amazon リソースネーム (ARN) を指定する必要があります。モデルパッケージの Amazon リソースネーム (ARN) を取得する方法については、「[モデルバージョンの詳細を表示して更新する (Boto3)](model-registry-details.md#model-registry-details-api)」を参照してください。

モデルパッケージから作成したモデルカードは、情報が不足しているか不正確である可能性があります。モデルカードは編集したり情報を追加したりできます。モデルカードの管理方法の詳細については、「[モデルカードのアクション](model-cards-manage.md)」を参照してください。

SageMaker Model Registry は、モデルパッケージのバージョン管理をサポートします。モデルパッケージをバージョン管理し、バージョンごとにモデルカードを作成できます。以前のバージョンのモデルカードの情報は、それ以降のバージョンで作成されたモデルカードに引き継がれます。例えば、バージョン 1、バージョン 2、バージョン 3 のモデルパッケージを作成できます。バージョン 1 のモデルカードは作成済みですが、バージョン 2 のモデルカードはまだ作成していないとします。バージョン 3 のモデルカードを作成すると、Amazon SageMaker Model Cards はバージョン 1 のモデルカードの情報をバージョン 3 のモデルカードに自動的に引き継ぎます。

**注記**  
バージョニングを使用していないモデルパッケージのモデルカードを作成することもできます。ただし、ほとんどの機械学習ワークフローには同じモデルの複数のバージョンが含まれるため、以下を行うことをお勧めします。  
各モデルパッケージのバージョン作成
モデルパッケージの各バージョンのモデルカードの作成

# モデルカードのアクション
<a name="model-cards-manage"></a>

モデルカードを作成したら、それを管理できます。モデルカードの管理には以下のアクションが含まれます。
+ モデルカードの編集
+ モデルの削除
+ モデルカードの PDF へのエクスポート

管理には、Amazon SageMaker AI コンソールまたは SageMaker Python SDK を使用できます。Python SDK の使用に関する詳細については、「SageMaker Python SDK API リファレンス」の「[Amazon SageMaker Model Cards](https://sagemaker.readthedocs.io/en/stable/api/governance/model_card.html)」を参照してください。

SageMaker Python SDK を使用したノートブックの例については、「*[Amazon SageMaker Model Governance - Model Card](https://github.com/aws/amazon-sagemaker-examples/tree/main/sagemaker_model_governance/model_card.ipynb)*」のサンプルノートブックを参照してください。

**Topics**
+ [モデルカードを編集する](model-cards-console-edit.md)
+ [モデルカードをエクスポートする](model-cards-console-export.md)
+ [モデルカードを削除する](model-cards-console-delete.md)

# モデルカードを編集する
<a name="model-cards-console-edit"></a>

モデルカードを編集するには、Amazon SageMaker Model Cards コンソールで名前を選択して目的のモデルカードに移動し、**[編集]** を選択します。

モデルカードを保存すると、そのモデルカードの名前は編集できません。モデルカードのバージョンを保存すると、そのモデルカードのバージョンは更新できません。モデル変更の記録を残すために、必要な編集はすべて以降のバージョンとして保存されます。

モデルカードのさまざまなバージョンを表示するには、**[アクション]**、**[バージョンを選択]** の順に選択し、表示するバージョンを選択します。

`model_card.update()` メソッドを使用してモデルカードを編集できます。モデルカードを更新すると、モデル変更の記録が残るように、新しいモデルカードバージョンが作成されます。モデルカードの名前は更新できません。

```
my_card.model_overview.model_description = "updated-model-decription"
my_card.update()
```

# モデルカードをエクスポートする
<a name="model-cards-console-export"></a>

モデルカードをエクスポートするには、次の手順を実行します。

1. Amazon SageMaker Model Cards コンソールに移動します。

1. エクスポートするモデルカードの名前を選択します。

1. モデルカードの概要で、**[アクション]**、**[PDF をエクスポート]** の順に選択します。

1. S3 URI を入力するか、モデルカードの PDF に使用できる S3 バケットを参照します。

1. モデルカードが正常にエクスポートされたら、表示されるバナーで **[PDF をダウンロード]** を選択するか、Amazon S3 から PDF を直接ダウンロードできます。

SageMaker Python SDK でモデルカードをエクスポートするには、S3 出力パスを指定し、次のコマンドを使用して、モデルカードの PDF をそのパスにエクスポートします。

```
s3_output_path = f"s3://{bucket}/{prefix}/export"
pdf_s3_url = my_card.export_pdf(s3_output_path=s3_output_path).delete()
```

# モデルカードを削除する
<a name="model-cards-console-delete"></a>

1 つまたは複数のモデルカードを完全に削除するには、次の手順を実行します。

1. Amazon SageMaker Model Cards コンソールに移動します。

1. 削除するカードの名前の左にあるチェックボックスをオンにします。

1. 右上隅の **[削除]** を選択します。

1. 1 つまたは複数のカードを完全に削除するリクエストを確認します。

コンソールでモデルカードの概要を表示しているときに、**[アクション]**、**[モデルカードを削除]** の順に選択してモデルカードを削除することもできます。

SageMaker Python SDK 内で、次のコマンドを使用すると、モデルカードを完全に削除できます。

```
my_card.delete()
```

# Amazon SageMaker Model Cards のクロスアカウントサポートを設定する
<a name="model-cards-xaccount"></a>

Amazon SageMaker Model Cards のクロスアカウントサポートを使用して、 AWS アカウント間でモデルカードを共有します。モデルカードを作成するアカウントがモデルカードアカウントです。**モデルカードアカウントのユーザーは、共有アカウントとモデルカードを共有します。**共有アカウントのユーザーは、モデルカードを更新したり、モデルカードの PDF を作成したりできます。

モデルカードアカウントのユーザーは、 AWS Resource Access Manager (AWS RAM) を通じてモデルカードを共有します。 AWS RAM これにより、 AWS アカウント間でリソースを共有できます。の概要については AWS RAM、[「 とは」を参照してください AWS Resource Access Manager。](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html)

モデルカードを共有する手順は次のとおりです。

1. モデルカードアカウントのユーザーは、 AWS Resource Access Managerを使用してクロスアカウントのモデルカード共有を設定します。

1. モデルカードが AWS KMS キーで暗号化されている場合、モデル共有を設定するユーザーは、共有アカウントのユーザーにも AWS KMS アクセス許可を付与する必要があります。

1. 共有アカウントのユーザーは、リソース共有への招待を承諾します。

1. 共有アカウントのユーザーは、モデルカードにアクセスするアクセス許可を他のユーザーに付与します。

モデルカードアカウントのユーザーは、次のセクションを参照してください。
+ [クロスアカウントでモデルカード共有を設定する](#model-cards-xaccount-set-up)
+ [共有アカウントの AWS KMS アクセス許可を設定する](#model-cards-xaccount-kms)
+ [リソース共有の招待に対する返信を受け取る](#model-cards-xaccount-set-up-responses)

共有アカウントのユーザーは、自分自身とアカウントの他のユーザーのアクセス許可の設定について「[共有アカウントの IAM ユーザーアクセス許可を設定します。](#model-cards-xaccount-shared-account-permissions)」を参照してください。

## クロスアカウントでモデルカード共有を設定する
<a name="model-cards-xaccount-set-up"></a>

 AWS Resource Access Manager (AWS RAM) を使用して、 AWS アカウント内のユーザーに、別の AWS アカウントで作成されたモデルカードを表示または更新するためのアクセス権を付与します。

モデルカード共有を設定するには、リソース共有を作成する必要があります。リソース共有を次のように指定します。
+ 共有されているリソース
+ 誰または何がリソースにアクセスできるか
+ リソースのマネージドアクセス許可

リソース共有の詳細については、「[Terms and concepts for AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-terms-and-concepts.html)」を参照してください。リソース共有を作成するプロセスを進める前に、 AWS RAM 時間をかけて概念的に理解することをお勧めします。

**重要**  
リソース共有を作成するにはアクセス許可が必要です。アクセス許可の詳細については、「 [AWS RAM が IAM と](https://docs.aws.amazon.com/ram/latest/userguide/security-iam-policies.html)連携する方法」を参照してください。

リソース共有を作成する手順と追加情報については、「[Create a resource share](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-create)」を参照してください。

リソース共有を作成する手順を実行するときは、リソースタイプとして `sagemaker:ModelCard` を指定します。また、リソースベースのポリシーの Amazon AWS RAM リソース番号 (ARN) も指定する必要があります。デフォルトのポリシーか、モデルカードの PDF を作成するための追加のアクセス許可を持つポリシーのいずれかを指定できます。

デフォルトの `AWSRAMPermissionSageMakerModelCards` リソースベースのポリシーでは、共有アカウントのユーザーには以下の操作を行うアクセス許可があります。
+  [DescribeModelCard](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelCard.html)
+ [ListModelCardVersions](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModelCardVersions.html)
+ [UpdateModelCard](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateModelCard.html)

`AWSRAMPermissionSageMakerModelCardsAllowExport` リソースベースのポリシーでは、共有アカウントのユーザーには上記のアクションをすべて実行するアクセス許可があります。また、モデルカードのエクスポートジョブを作成し、以下の操作でそのジョブを記述するアクセス許可もあります。
+ [CreateModelCardExportJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelCardExportJob.html)
+ [DescribeModelCardExportJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelCardExportJob.html)

共有アカウントのユーザーは、エクスポートジョブを作成してモデルカードの PDF を生成できます。また、PDF の Amazon S3 URI を検索するために作成されたエクスポートジョブについても記述できます。

モデルカードとエクスポートジョブはリソースです。モデルカードアカウントは、共有アカウントのユーザーが作成したエクスポートジョブを所有します。例えば、アカウント A のユーザーは、モデル カード X を共有アカウント B と共有します。アカウント B のユーザーは、アカウント B のユーザーが指定する Amazon S3 の場所に出力を保存するモデルカード X のエクスポートジョブ Y を作成します。アカウント B がエクスポートジョブ Y を作成しても、そのジョブはアカウント A に属します。

各 AWS アカウントにはリソースクォータがあります。モデルカードに関連するクォータの詳細については、「[Amazon SageMaker AI エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html#limits_sagemaker)」を参照してください。

### 共有アカウントの AWS KMS アクセス許可を設定する
<a name="model-cards-xaccount-kms"></a>

共有しているモデルカードが AWS Key Management Service キーで暗号化されている場合は、キーへのアクセスを共有アカウントと共有する必要があります。共有しなければ、共有アカウントのユーザーはモデルカードを表示、更新、エクスポートできなくなります。の概要については AWS KMS、「」を参照してください[AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)。

共有アカウントのユーザーにアクセス AWS KMS 許可を付与するには、次のステートメントを使用してキーポリシーを更新します。

```
{
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "arn:aws:iam::shared-account-id::role/example-IAM-role"
        ]
    },
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt",
    ]
    "Resource": "arn:aws:kms:AWS-Region-of-model-card-account:model-card-account-id:key/AWS KMS-key-id"
    "Condition": {
        "Bool": {"kms:GrantIsForAWSResource": true },
        "StringEquals": {
            "kms:ViaService": [
                "sagemaker.AWS-Region.amazonaws.com", 
                "s3.AWS-Region.amazonaws.com"
            ],
        },
        "StringLike": {
          "kms:EncryptionContext:aws:sagemaker:model-card-arn": "arn:aws:sagemaker:AWS-Region:model-card-account-id:model-card/model-card-name"
        }
    }    
}
```

前述のステートメントにより、共有アカウントのユーザーに `kms:Decrypt` と `kms:GenerateDataKey` のアクセス許可が与えられます。`kms:Decrypt` を使用すると、ユーザーはモデルカードを復号化できます。`kms:GenerateDataKey` を使用すると、ユーザーは更新するモデルカードや作成した PDF を暗号化できます。

### リソース共有の招待に対する返信を受け取る
<a name="model-cards-xaccount-set-up-responses"></a>

リソース共有を作成すると、そのリソース共有で指定した共有アカウントに、そのリソース共有への参加の招待が届きます。リソースにアクセスするには、招待を受け入れる必要があります。

リソース共有の招待を受け入れる方法については、*AWS 「 Resource Access Manager* [ユーザーガイド」の「共有 AWS リソース](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-shared.html)の使用」を参照してください。

### 共有アカウントの IAM ユーザーアクセス許可を設定します。
<a name="model-cards-xaccount-shared-account-permissions"></a>

以下の情報は、モデルカードアカウントからのリソース共有の招待を承諾したことを前提としています。リソース共有の招待を受け入れる方法の詳細については、[「共有 AWS リソースの使用](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-shared.html)」を参照してください。

ユーザーとアカウント内の他のユーザーは、IAM ロールを使用して、モデルカードアカウントから共有されたモデルカードにアクセスします。以下のテンプレートを使用して IAM ロールのポリシーを変更します。このテンプレートは独自のユースケースに合わせて変更できます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:DescribeModelCard",
                "sagemaker:UpdateModelCard",
                "sagemaker:CreateModelCardExportJob",
                "sagemaker:ListModelCardVersions",
                "sagemaker:DescribeModelCardExportJob"
            ],
            "Resource": [
                "arn:aws:sagemaker:us-east-1:111122223333:model-card/example-model-card-name-0",
                "arn:aws:sagemaker:us-east-1:111122223333:model-card/example-model-card-name-1/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-storing-the-pdf-of-the-model-card/model-card-name/*"
        }
    ]
}
```

------

を使用して暗号化されたモデルカードにアクセスするには AWS KMS、アカウントのユーザーに次の AWS KMS アクセス許可を付与する必要があります。

```
{
     "Effect": "Allow",
     "Action": [
         "kms:GenerateDataKey",
         "kms:Decrypt",
     ],
     "Resource": "arn:aws:kms:AWS-Region:AWS-account-id-where-the-model-card-is-created:key/AWS Key Management Service-key-id"
}
```

# モデルカードのための低レベル SageMaker API
<a name="model-cards-apis"></a>

Amazon SageMaker モデルカードは、SageMaker API または コマンドラインインターフェイス () AWS から直接作成できますAWS CLI。

**注記**  
低レベル API を通じてモデルカードを作成する場合、コンテンツはモデルカードの JSON スキーマに含まれていて、文字列として提供される必要があります。詳細については、「[モデルカードの JSON スキーマ](model-cards.md#model-cards-json-schema)」を参照してください。

## SageMaker API
<a name="model-cards-apis-sagemaker"></a>

Amazon SageMaker Model Cards を操作するには、次の SageMaker API コマンドを使用します。
+ [CreateModelCard](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelCard.html)
+ [DescribeModelCard](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelCard.html)
+ [ListModelCards](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModelCards.html)
+ [ListModelCardVersions](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModelCardVersions.html)
+ [UpdateModelCard](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateModelCard.html)
+ [CreateModelCardExportJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelCardExportJob.html)
+ [DescribeModelCardExportJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelCardExportJob.html)
+ [ListModelCardExportJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListModelCardExportJobs.html)
+ [DeleteModelCard](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteModelCard.html)

## AWS CLI
<a name="model-cards-apis-cli"></a>

Amazon SageMaker AWS モデルカードを使用するには、次の CLI コマンドを使用します。 Amazon SageMaker 
+ [create-model-card](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-model-card.html)
+ [describe-model-card](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-model-card.html)
+ [list-model-cards](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-model-cards.html)
+ [list-model-card-versions](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-model-card-versions.html)
+ [update-model-card](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-model-card.html)
+ [create-model-card-export-job](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-model-card-export-job.html)
+ [describe-model-card-export-job](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/describe-model-card-export-job.html)
+ [list-model-card-export-jobs](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/list-model-card-export-jobs.html)
+ [delete-model-card](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/delete-model-card.html)

# モデルカードに関するよくある質問
<a name="model-cards-faqs"></a>

Amazon SageMaker Model Cards についてのよくある質問と回答については、次のよくある質問の項目を参照してください。

## Q: モデルリスクとはどんなものですか?
<a name="model-cards-faqs-risk"></a>

A: サイバー攻撃の予測やローン申請の承認からメールのカテゴリの検出まで、さまざまなビジネスアプリケーションにモデルを使用できます。これらのアプリケーションはそれぞれ異なるレベルのリスクを想定しています。例えば、サイバー攻撃を誤って検出すると、メールを誤って分類するよりもビジネスにははるかに大きな影響があります。モデルのこのようなさまざまなリスクプロファイルを考慮して、モデルカードを使用し、モデルに `low`、`medium`、`high` のリスク評価を提供します。モデルのリスクがわからない場合は、ステータスを `unknown` に設定できます。顧客は各モデルにリスクプロファイルを割り当てる責任があります。リスク評価に基づいて、組織はそれらのモデルを本番環境にデプロイするための異なるルールを定めている場合があります。詳細については、「[リスク評価](model-cards.md#model-cards-risk-rating)」を参照してください。

## Q: モデルの使用目的とはどういうものですか?
<a name="model-cards-faqs-intended-use"></a>

モデルの使用目的は、本番アプリケーションでそのモデルをどのように使用すべきかを示します。これは、モデルをデプロイすべきインスタンスのタイプなどの技術的要件にとどまらず、そのモデルを使用して作成するアプリケーションのタイプ、モデルから妥当なパフォーマンスを期待できるシナリオ、モデルで使用するデータのタイプなどを指します。モデルガバナンスを強化するために、この情報をモデルカードに記載することをおすすめします。使用目的フィールドで一種のモデル仕様を定義し、モデルの開発者と利用者がモデルをトレーニングしてデプロイする際にこの仕様に従うようにすることができます。詳細については、「[モデルの使用目的](model-cards.md#model-cards-intended-uses)」を参照してください。

## Q. SageMaker AI はモデルカードの情報を自動入力しますか。
<a name="model-cards-faqs-autopopulate"></a>

SageMaker Python SDK または AWS コンソールを使用してモデルカードを作成すると、SageMaker AI はトレーニング済みモデルに関する情報を自動的に入力します。これには、包括的なトレーニングの詳細と、`describe-model` API コールを通じて利用可能なすべてのモデル情報が含まれます。Amazon SageMaker Studio で作業する場合は、[DescribeModelPackage](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html)API を呼び出してモデルカードを自動入力できます。

## Q: モデルカードはカスタマイズできますか?
<a name="model-cards-faqs-customize"></a>

Amazon SageMaker Model Cards には構造が定義されており、変更することはできません。この構造により、モデルカードにどのような情報を取り込むべきかがわかります。モデルカードの構造は変更できませんが、モデルカードの **[追加情報]** セクションのカスタムプロパティを使うと、ある程度の柔軟性が得られます。

## Q: 作成したモデルカードは編集できますか?
<a name="model-cards-faqs-edit"></a>

モデルカードにはバージョンが関連付けられています。特定のモデルバージョンは、モデルカードのステータスを除くすべての属性を変更できません。評価メトリクス、説明、使用目的など、モデルカードにその他の変更を加えると、SageMaker AI によって、更新された情報を反映する新しいバージョンのモデルカードが作成されます。これは、一度作成したモデルカードが改ざんされないようにするためです。

モデルカードは、モデルレジストリでモデルパッケージのバージョンを変更する都度、自動的に更新されます。

## Q. SageMaker AI を使用してトレーニングされていないモデルのモデルカードを作成できますか。
<a name="model-cards-faqs-external-models"></a>

A: はい。SageMaker AI でトレーニングを受けていないモデルのモデルカードを作成することはできますが、カードには情報が自動入力されません。SageMaker AI 以外のモデルの場合は、モデルカードに必要な情報をすべて入力する必要があります。

## Q: モデルカードをエクスポートしたり共有したりできますか?
<a name="model-cards-faqs-export"></a>

A: はい。モデルカードの各バージョンは、PDF にエクスポートし、ダウンロードして共有できます。

## Q: モデルカードを使用するにはモデルを Model Registry に登録する必要がありますか?
<a name="model-cards-faqs-registry"></a>

A: モデルカードには、SageMaker AI コンソールとモデルレジストリの両方からアクセスできます。Model Registry を使用すると、モデルのバージョンごとにモデルカードが自動的に届きます。

## Q. モデルカードと Model Registry の違いは?
<a name="model-cards-faqs-cards-vs-registry"></a>

A: モデルカードは、SageMaker AI の基準となる指針に従い、独自のカスタム情報を提供することで、モデルに関する詳細を必要なだけ文書化する仕組みを組織に提供することを目的としています。ML プロセスの最初にモデルカードを導入して、そのモデルで解決すべきビジネス上の問題や、モデルを使用する際に考慮すべき考慮事項を定義できます。モデルをトレーニングしたら、そのモデルに関連するモデルカードに、モデルとそのトレーニング方法に関する情報を入力できます。モデルカードはモデルに関連付けられていますが、一度モデルに関連付けられると変更できなくなります。これにより、モデルカードのトレーニング方法や使用方法など、モデルに関連するすべての情報を一元的に把握できます。

Model Registry は、モデルに関するメタデータを保存するカタログです。モデルレジストリの各エントリは、固有のモデルバージョンに対応しています。そのモデルバージョンには、Amazon S3 のモデルアーティファクトの保存場所、モデルのデプロイに必要なコンテナ、モデルに添付する必要があるカスタムメタデータなど、モデルに関する情報が含まれています。各モデルパッケージバージョンには、モデルカードが関連付けられています。

## Q. モデルカードとモデルレジストリの違いは何ですか。
<a name="model-cards-faqs-cards-registry-relation"></a>

A: モデルカードはモデルレジストリオブジェクトに統合されています。モデルレジストリ内のモデルパッケージの各バージョンは、対応するモデルカードに関連付けられています。[ModelPackageModelCard](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelPackageModelCard.html) API を使用して、各バージョンのモデルカードスキーマにアクセスできます。

## Q: モデルカードのバージョンは Model Registry のモデルバージョンに関連付けられていますか?
<a name="model-cards-faqs-cards-vs-registry-versions"></a>

A: はい、モデルレジストリのモデルカードとモデルは、1 対 1 の関係です。モデルレジストリに保存されている各モデルバージョンには、対応するモデルカードが 1 つだけ関連付けられています。

## Q. モデルカードは SageMaker Model Monitor と統合されていますか?
<a name="model-cards-faqs-model-monitor"></a>

A: いいえ。 SageMaker Model Monitor によって計算されたパフォーマンスメトリクスをモデルカードにアップロードするには、メトリクスファイルを Amazon S3 にアップロードしてカードにリンクしますが、Model Monitor とモデルカードはネイティブには統合されていません。モデルダッシュボードは Model Monitor と統合されています。モデルダッシュボードの詳細については、「[Amazon SageMaker Model Dashboard](https://docs.aws.amazon.com/sagemaker/latest/dg/model_dashboard.html)」を参照してください。

# Amazon SageMaker Assets を使用したアセットへのアクセスの制御
<a name="sm-assets"></a>

Amazon SageMaker Assets を使用すると、組織に属する*アセット*、モデル、またはデータテーブルへの制御されたアクセスと規制されたアクセスを提供できます。SageMaker Assets 内では、管理者の追加のオーバーヘッドを必要とせずに、さまざまな AWS アカウントのユーザーが、特定のビジネス上の問題に関連するアセットを作成したり共有したりできます。アクセス許可を ID に静的に関連付ける代わりに、ユーザーはアクティブなワークフローに使用されているアセットにアクセス許可を付与できます。

アセットには、ML アセットとデータアセットがあります。ML アセットは、Amazon SageMaker 特徴量ストアの特徴量グループまたは SageMaker Model Registry Model Group を指すメタデータです。データアセットは、Amazon Redshift テーブルを指すメタデータです AWS Glue 。

例えば、モデルグループのアセットには、モデルグループ名とモデルパッケージグループの Amazon リソースネーム (ARN) が含まれます。アセットは、基盤となるモデルのコレクションを指します。アセット自体はユーザー間で共有できます。

ユーザーは、独自のプロジェクトのアセットを作成できます。ユーザーは、このようなプロジェクトのメンバーではないユーザーに対してアセットを表示することができます。プロジェクトメンバーではないユーザーは、アセットを検索してメタデータを読み取ることができます。ユーザーはメタデータを使用して、基盤となるデータソースにアクセスするかどうかを判断できます。

SageMaker Assets ワークフローの理解を深めるための例として、組織内にグループ A とグループ B という 2 つのユーザーグループがあるとします。グループ A のユーザーは、住宅価格を予測しようとしています。グループ A のユーザーは、別の AWS アカウントのグループ B のユーザーとコラボレーションを行うことを検討しています。 AWS Glue テーブルに格納されたデータを格納します。モデルグループ内には、モデルパッケージとして保存されているさまざまのモデルもあります。SageMaker アセットを使用すると、グループ A のユーザーは、数回クリックするだけで AWS Glue テーブルとモデルパッケージをグループ B のユーザーと共有できます。管理者の手をわずらわせることなく、グループ A のユーザーは、グループ B のユーザーに正確に範囲を定めたアクセス許可を提供することができました。

ユーザーはアセットを作成して公開し、組織全体に公開できます。他のユーザーは、このようなアセットへのアクセスをリクエストできます。

**Topics**
+ [SageMaker Assets の設定 (管理者ガイド)](sm-assets-set-up.md)
+ [アセットの操作 (ユーザーガイド)](sm-assets-user-guide.md)

# SageMaker Assets の設定 (管理者ガイド)
<a name="sm-assets-set-up"></a>

**重要**  
SageMaker Assets は Amazon SageMaker Studio でのみ利用可能です。Amazon SageMaker Studio Classic を使用している場合は、Studio に移行する必要があります。Studio と Studio Classic の詳細については、「[Amazon SageMaker AI が提供する機械学習環境](machine-learning-environments.md)」を参照してください。移行の詳細については、「[Amazon SageMaker Studio Classic からの移行](studio-updated-migrate.md)」を参照してください。

ビジネスニーズが変化すると、ユーザーはビジネス上の問題が発生する都度、効果的に連携して解決する必要があります。問題を解決するには、ユーザーはデータとモデルを相互に共有する必要があります。

SageMaker Assets は、Amazon SageMaker Studio をデータ管理サービスである Amazon DataZone と統合します。SageMaker Assets は、ユーザーがモデルとデータを相互に共有できるようにするプラットフォームです。次の情報を使用して、SageMaker Assets と Amazon DataZone の統合を設定できます。

ビジネスラインまたは組織のために Amazon DataZone ドメインを作成します。*ドメイン*は、Amazon DataZone のコア機能です。ユーザーのデータとモデルはすべて、ドメイン内に配置されます。

Amazon DataZone ドメイン内では、ユーザーのサブセットが特定の*プロジェクト*に取り組んでいます。プロジェクトは通常、特定のビジネス上の問題に対応しています。メンバーはプロジェクト内でデータセットとモデルを作成できます。デフォルトでは、プロジェクトメンバーはプロジェクト内のデータとモデルにのみアクセスできます。プロジェクトメンバーは、組織内の他のユーザーにデータやモデルへのアクセスを提供できます。

環境をプロジェクト内で作成します。SageMaker Assets の場合、環境とは、Amazon SageMaker Studio を起動するために使用される設定済みリソースのコレクションです。Amazon DataZone で使用される用語の詳細については、「[用語と概念](https://docs.aws.amazon.com/datazone/latest/userguide/datazone-concepts.html)」を参照してください。

**重要**  
選択したセットアップに応じて、Amazon SageMaker Studio は次のいずれかを使用します。  
Amazon DataZone が SageMaker AI 環境の一部として作成する Amazon SageMaker AI ドメイン。
Amazon DataZone に移行する既存の Amazon SageMaker AI ドメイン
Amazon SageMaker AI ドメインから Studio にアクセスすることができるとはいえ、作成したプロジェクトからアクセスすることをお勧めします。Studio へのアクセス方法の詳細については、「[アセットの操作 (ユーザーガイド)](sm-assets-user-guide.md)」を参照してください。

## 新しい SageMaker AI ドメインで Amazon DataZone を設定する
<a name="sm-assets-set-up-create-sm-domain"></a>

次のリストの手順と参照されているドキュメントを使用して、Amazon DataZone と、それが作成する Amazon SageMaker AI ドメインを設定します。

1. ユーザーの組織またはビジネスラインに対応する Amazon DataZone ドメインを作成します。Amazon DataZone ドメインの作成については、「[Create domains](https://docs.aws.amazon.com/datazone/latest/userguide/create-domain.html)」を参照してください。

1. Amazon DataZone 内で SageMaker AI ブループリントを有効にします。SageMaker AI ブループリントを有効にする方法については、[「Amazon DataZone ドメインを所有する AWS アカウントで組み込みブループリントを有効にする](https://docs.aws.amazon.com/datazone/latest/userguide/working-with-blueprints.html#enable-default-blueprints)」を参照してください。

1. ドメイン内のユーザーが解決するビジネス上の問題に対応するプロジェクトをドメイン内に作成します。プロジェクトの作成方法については、「[Create a new project](https://docs.aws.amazon.com/datazone/latest/userguide/create-new-project.html)」を参照してください。

1. ユーザーのために SageMaker AI 環境を作成するテンプレートとして使用できる環境プロファイルを作成します。環境プロファイルの作成方法については、「[Create an environment profile](https://docs.aws.amazon.com/datazone/latest/userguide/create-environment-profile.html)」を参照してください。

1. SageMaker AI 環境を作成します。ユーザーはプロジェクト内で SageMaker AI 環境を使用して Amazon SageMaker Studio を起動します。ユーザーは、Studio 内でアセットを作成し、SageMaker Assets を使用してアセットを共有できます。環境の作成方法の詳細については、「[Create a new environment](https://docs.aws.amazon.com/datazone/latest/userguide/create-environment-profile.html)」を参照してください。

1. SageMaker AI を Amazon DataZone 内で信頼されたサービスの 1 つとして追加します。SageMaker AI をサービスの 1 つとして追加するには、[「Amazon DataZone ドメインを所有する AWS アカウントの信頼されたサービスとして SageMaker AI を追加する](https://docs.aws.amazon.com/datazone/latest/userguide/working-with-blueprints.html#add-sagemaker-as-trusted-service)」を参照してください。

## SageMaker AI ドメインで Amazon DataZone を設定する
<a name="sm-assets-set-up-migrate-sm-domain"></a>

次のリストの手順と参照されているドキュメントを使用して、Amazon DataZone と、Amazon SageMaker AI ドメインを設定します。

1. ユーザーの組織またはビジネスラインに対応する Amazon DataZone ドメインを作成します。Amazon DataZone ドメインの作成については、「[Create domains](https://docs.aws.amazon.com/datazone/latest/userguide/create-domain.html)」を参照してください。

1. Amazon DataZone 内で SageMaker AI ブループリントを有効にします。カスタムブループリントを有効にする方法については、[「Amazon DataZone カスタム AWS サービスブループリント](https://docs.aws.amazon.com/datazone/latest/userguide/working-with-custom-blueprint.html)」を参照してください。

1. ドメイン内のユーザーが解決するビジネス上の問題に対応するプロジェクトをドメイン内に作成します。プロジェクトの作成方法については、「[Create a new project](https://docs.aws.amazon.com/datazone/latest/userguide/create-new-project.html)」を参照してください。

1. SageMaker AI を Amazon DataZone 内で信頼されたサービスの 1 つとして有効にします。SageMaker AI をサービスの 1 つとして有効にするには、[「Amazon DataZone ドメイン を所有する AWS アカウントの信頼されたサービスとして Amazon SageMaker AI を追加する](https://docs.aws.amazon.com/datazone/latest/userguide/working-with-blueprints.html#add-sagemaker-as-trusted-service)」を参照してください。

1. SageMaker AI ドメイン内に Amazon DataZone ユーザーを作成します。

1. 既存のユーザーを Amazon DataZone ドメインにオンボードします。

**注記**  
SageMaker AI ユーザーが SSO で、Amazon DataZone ドメインが SSO である場合、Amazon SageMaker AI ドメインから Amazon DataZone ドメインにユーザーを自動的にマッピングできます。

既存の SageMaker AI ユーザーをオンボードするには、Amazon [ DataZone Import SageMaker AI Domain](https://github.com/aws/amazon-sagemaker-examples/tree/default/%20%20%20ml_ops/sm-datazone_import) スクリプトを環境で実行します。引数として、 の名前 AWS リージョン と Amazon SageMaker AI ドメインの AWS アカウント ID を渡す必要があります。スクリプトを実行する AWS CLI コマンドの例を次に示します。

```
python example-script AWS リージョン 111122223333                    
```

 スクリプトは、次を実行します。

1. Amazon SageMaker AI ドメイン ID の入力を求められます。

1. Amazon DataZone ドメイン ID の入力を求められます。

1. Amazon DataZone プロジェクトの入力を求められます。

1. インポートするユーザーを指定するように求められます。

1. ユーザーと Amazon SageMaker AI ドメインにタグを追加します。

1. Amazon DataZone ユーザーを SageMaker AI ユーザープロファイルにマッピングします。SageMaker AI ユーザープロファイルごとに、スクリプトは Amazon DataZone ユーザー ID の入力を求めます。このテンプレートは独自のユースケースに合わせて変更できます。

1. Amazon DataZone が Amazon SageMaker AI ドメインにアクセスして移行できるように、フェデレーションロールを環境にアタッチします。

このスクリプトは、Amazon SageMaker AI ドメインの各ユーザーを調べ、Amazon DataZone ドメインで対応するユーザーを指定するように要求します。Amazon DataZone ドメインのユーザーのタグを、対応する SageMaker AI ドメインのユーザーに自動的に追加します。また、各ドメインのユーザー間のマッピングを使用して、カスタム環境ブループリントを更新します。

**注記**  
SageMaker AI 環境は、最新バージョンの SageMaker ディストリビューションイメージを使用します。SageMaker AI ディストリビューションイメージには、機械学習向けの一般的なライブラリパッケージが含まれています。詳細については、「[SageMaker Studio のイメージサポートポリシー](sagemaker-distribution.md)」を参照してください。

環境を作成したら、 AWS Glue および Amazon Redshift テーブルとデータベースを作成できます。詳細については「[Query data in Athena or Amazon Redshift](https://docs.aws.amazon.com/datazone/latest/userguide/query-athena-with-deep-link-in-project.html)」を参照してください。

## ユーザーのアクセス許可の表示と変更
<a name="sm-assets-permissions"></a>

SageMaker AI 環境を作成したら、組織のニーズに合わせてユーザーのアクセス許可を変更できます。SageMaker AI ブループリントを使用すると、すべてのユーザーのアクセス許可を指定できます。ユーザーはすべての SageMaker AI サービスでアクションを実行できます。ただし、アクセス許可は Amazon DataZone ドメイン内で作成されたリソースに限定されます。

**重要**  
作成する環境では、アクセス許可が制限された IAM ロールとアクセス許可の境界を使用します。ユーザーのアクセス許可を変更するには、アクセス許可の境界を変更するか、置き換えます。例えば、ユーザーが環境内で作成された Amazon S3 バケットなどのリソースにアクセスする必要がある場合は、アクセス許可の境界を変更できます。

SageMaker AI ドメインの作成に使用した IAM ロールの ARN でアクセス許可を表示できます。

ユーザーの IAM ロールのアクセス許可を表示または編集するには、次の手順を実行します。

**ユーザーのアクセス許可を表示または編集するには**

1. [Amazon SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker)を開きます。

1. **[ドメイン]** を選択します。

1. Amazon DataZone ドメインと同じ名前のドメインの名前を選択します。

1. **[ドメインの設定]** を選択します。

1. **[実行ロール]** の下にある実行ロールの ARN をコピーします。

1. [[IAM コンソール]](https://console.aws.amazon.com/IAM) を開きます。

1. **[ロール]** を選択します。

1. ARN を貼り付け、最後のスラッシュの後のロール名以外はすべて削除します。

1. アクセス許可を表示するには、ロールを選択します。

1. **[アクセス許可]** で、組織のニーズに合わせてポリシーを変更します。

1. (オプション) **[アクセス許可の境界]** をクリックして、**[許可の境界を設定]** をクリックします。

1. アクセス許可の境界として指定するポリシーを選択します。

# アセットの操作 (ユーザーガイド)
<a name="sm-assets-user-guide"></a>

SageMaker Assets を使用すると、組織内の他のユーザーと機械学習プロジェクトでシームレスにコラボレーションを行うことができます。ユーザーは、SageMaker Assets を使用して、共同作業者とモデルやデータテーブルを作成し、相互に共有できます。SageMaker Assets では、このようなモデルやデータテーブルは*アセット*と呼ばれます。

SageMaker Assets は Amazon SageMaker Studio 内の機能です。ユーザーまたは管理者は、Amazon DataZone プロジェクト内に Studio 環境を作成します。Amazon DataZone の設定の詳細については、「[SageMaker Assets の設定 (管理者ガイド)](sm-assets-set-up.md)」を参照してください。

アセットには、ML アセットとデータアセットがあります。ML アセットは、以下を指すメタデータです。
+ 特徴量ストアの特徴量グループ
+ SageMaker AI モデルグループ

基盤となるモデルグループと特徴量グループは、データソースです。特徴量グループまたはモデルグループを更新すると、モデルグループまたは特徴量グループのアセットが 1 日以内に更新されます。

データアセットは、以下を指すメタデータです。
+ Amazon Redshift テーブル
+ AWS Glue テーブル

データアセットの場合、データソースは AWS Glue テーブルと Amazon Redshift テーブルからアセットにメタデータをプルするメカニズムです。たとえば、データソースは AWS Glue テーブルからそのテーブルのアセットにメタデータをプルします。

アセットを公開すると、組織内のすべてのユーザーがアセットを表示できるようになります。ユーザーはアセット内のメタデータを確認して、アクセスをリクエストできます。アクセス許可を付与すると、基盤となる機械学習のデータまたはテーブルソースにアクセスできるようになります。

管理者は、特徴量グループ、モデルグループ、テーブルへのアクセスを許可している可能性があります。許可されていない場合は、「[SageMaker Assets の設定 (管理者ガイド)](sm-assets-set-up.md)」の情報を参照して使用を開始してください。

以降のセクションでは、特徴量グループとモデルグループのリファレンス情報を紹介します。

## 特徴量グループ
<a name="sm-user-guide-feature-groups-reference"></a>

Amazon SageMaker 特徴量ストアは、特徴量を保存して管理するための一元化された場所を提供します。特徴量ストアは、特徴量エンジニアリングに使用できる、高パフォーマンスのリポジトリです。

特徴量ストア内では、特徴量は特徴量グループに保存されます。特徴量グループとは、作業中のプロジェクトに関連する特徴量のコレクションです。例えば、住宅価格の予測に関連するプロジェクトに取り組んでいる場合、特徴量グループには、場所やベッドルームの数などの特徴量が含まれる可能性があります。

特徴量グループを使用して特徴量エンジニアリングのプロセスを合理化する方法の詳細については、「[特徴量ストアを使用して特徴量を作成、保存、共有する](feature-store.md)」を参照してください。

## モデルグループ
<a name="sm-user-guide-model-groups"></a>

SageMaker モデルレジストリ内の SageMaker AI モデルグループを使用すると、さまざまなバージョンのモデルを整理して管理できます。さまざまなバージョンのモデルを比較して、ユースケースに最適なモデルを確認できます。SageMaker Model Registry の詳細については、「[Model Registry を使用したモデル登録デプロイ](model-registry.md)」を参照してください。

Amazon Redshift と AWS Glueの背景情報は、以下のとおりです。

Amazon Redshift は、大規模なデータセットに高速クエリパフォーマンスを提供する大規模なデータウェアハウスサービスです。Amazon Redshift の詳細については、「[Amazon Redshift Serverless](https://docs.aws.amazon.com/redshift/latest/gsg/new-user-serverless.html)」を参照してください。

AWS Glue は、データ準備のプロセスを簡素化するために使用できる抽出、変換、ロード (ETL) サービスです。詳細については AWS Glue、[「 とは」を参照してください AWS Glue。](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html)

SQL エディタを使用して、 AWS Glue と Amazon Redshift データベースを接続し、クエリを実行できます。エディタで作成したテーブルは SageMaker Assets内で共有できます。詳細については、「[Studio で SQL を使用してデータを準備する](sagemaker-sql-extension.md)」を参照してください。

**Topics**
+ [用語と概念](#sm-assets-terminology)
+ [ステップ 1: SageMaker Assets にアクセスする](#sm-assets-access)
+ [ステップ 2: アセットを共有してアセットへのアクセスを管理する](#sm-assets-share)
+ [ステップ 3: アクセスリクエストを管理する](#sm-assets-manage-requests)
+ [ステップ 4: アセットを検索してアセットへのアクセスをリクエストする](#sm-assets-request-access)
+ [ステップ 5: 機械学習ワークフローで共有アセットを使用する](#sm-assets-consume)

## 用語と概念
<a name="sm-assets-terminology"></a>

SageMaker Assets の使用を開始する前に、次の用語と概念を理解しておくと役立ちます。
+ アセット – 共有するモデルまたはデータテーブルを指すメタデータ。他のユーザーが所有しているアセットへのアクセスをリクエストしたり、他のユーザーと共有したりできます。ユーザーとチームメイトは、アセットとアセットに関連付けられた基盤となるデータテーブルまたはモデルにアクセスします。
+ サブスクライブしたアセット – アセットへのアクセスをリクエストするには、サブスクリプションリクエストを送信します。リクエストが承認されると、アセットはサブスクライブしたアセットの下に表示されます。
+ 所有アセット – チームメイトと共有するアセット。
+ アセットカタログ – 組織全体で共有するアセット。

## ステップ 1: SageMaker Assets にアクセスする
<a name="sm-assets-access"></a>

SageMaker Assets にアクセスしてアセットを表示し、他のユーザーと共有します。使用を開始するには、次の情報を参考にしてください。

SageMaker Assets には、Amazon DataZone ドメイン内の*プロジェクト*からアクセスします。プロジェクトとは、ユーザーとチームメンバーの間でのコラボレーションです。プロジェクト内では、ユーザーとプロジェクトの他のメンバーは、ユーザー自身や他のチームメンバーがインベントリカタログ内に作成したアセットにアクセスできます。アセットを公開されたカタログに公開して、組織内のその他のユーザーに公開できます。

他のユーザーはアセットへのアクセスをリクエストできます。アクセス権を付与すると、更新されたデータソースにアクセスできます。例えば、更新した AWS Glue テーブルにサブスクライブしている個人は、更新された AWS Glue テーブルにリアルタイムでアクセスできます。

SageMaker Assets にアクセスするには、次の手順を実行します。

**SageMaker Assets にアクセスするには**

1. [[Amazon DataZone]](https://console.aws.amazon.com/datazone) コンソールを開きます。

1. **[ドメインの表示]** をクリックします。

1. プロジェクトを含むドメインの横にある **[データポータルを開く]** をクリックします。

1. **[分析ツール]** で、**[SageMaker AI Studio]** をクリックします。

1. **[Amazon SageMaker AI を開く]** をクリックします。

1. **[アセット]** を選択します。

共有されているアセットは、**[サブスクライブしたアセット]** の下にあります。ユーザー自身とプロジェクトメンバーが作成するアセットは、**[所有アセット]** の下に表示されます。ユーザー自身と組織の他のメンバーが公開したアセットは、**[アセットカタログ]** にあります。

## ステップ 2: アセットを共有してアセットへのアクセスを管理する
<a name="sm-assets-share"></a>

機械学習モデル、特徴量グループ、またはデータテーブルを作成したら、プロジェクトでコラボレーションを行っているユーザーに対して、またはより広範囲で組織全体にわたってそれらのアセットを表示できるようにできます。アセットへのアクセスリクエストに対応できます。他のユーザーのリクエストを承認すると、そのユーザーはアセットの基盤となるデータソースを変更できるようになります。

アセットを共有する場合は、次の 2 つのオプションがあります。
+ アセットカタログに公開 – 組織内のすべてのユーザーにアセットを表示します
+ インベントリに公開 – プロジェクトに取り組むすべてのユーザーにアセットを表示します

アセットをアセットカタログに公開すると、組織内のユーザーはアセットカタログでそのアセットを検索できます。ユーザーはアセットのメタデータを確認して、アクセスをリクエストするかを決定できます。このようなリクエストを承認すると、ユーザーは基盤となるデータソースにアクセスできます。

インベントリに公開すると、ユーザー自身とプロジェクトの他のメンバーは、追加のアクションなしでアセットにアクセスできます。

インベントリに公開されたアセットは、**[所有アセット]** でのみ表示されます。カタログに公開されたアセットは、**[所有アセット]** と **[アセットカタログ]** の下に表示されます。

データテーブルを発行するときは、基盤となるテーブルまたは Amazon Redshift AWS Glue テーブルからアセットにメタデータをプルするデータソースを作成する必要があります。 AWS Glue または Amazon Redshift テーブルを発行するには、次の手順に従います。

------
#### [ Publish an AWS Glue table ]

 AWS Glue テーブルのアセットを公開するには、そのアセットのデータソースを作成して公開します。データソースは、 AWS Glue テーブルからアセットにメタデータをプルするメカニズムです。

 AWS Glue テーブルを公開するには、次の手順に従います。

**AWS Glue テーブルを公開するには**

1. **[SageMaker Assets]** のランディングページに移動します。

1. **[所有アセット]** をクリックします。

1. **[データソースを表示]** をクリックします。

1. **[データソースを作成]** を選択します。

1. **[名前]** では、データソースの名前を指定します。

1. **[説明]** には、説明を入力します。

1. **[タイプ]** では、**[AWS Glue]** を選択します。

1. **データ選択**で、 AWS Glue テーブルを含むデータベースを選択します。

1. **[テーブル選択基準]** では、テーブルの名前を指定します。
**注記**  
単数または複数のテーブルを指定できるとはいえ、テーブル名は 1 つのみを指定することを強くお勧めします。

1. [**次へ**] を選択します。

1. 
   + **[アセットをカタログに公開]** では、**[はい]** を選択してアセットカタログに公開します。
   + **[アセットをカタログに公開]** では、**[いいえ]** を選択してアセットカタログに公開します。

1. [**次へ**] を選択します。

1. **[アセットの詳細]** で、**[スケジュールに従って実行]** または **[オンデマンドで実行]** を選択して、 AWS Glue テーブルからのメタデータがアセットにどのようにプルされるかを指定します。

1. (オプション) **[スケジュールに従って実行]** を選択した場合は、メタデータをアセットにプルするスケジュールを指定します。

1. [**次へ**] を選択します。

1. **[作成]** を選択します。

1. (オプション) スケジュールを作成していない場合は、**[実行]** をクリックして、 AWS Glue テーブルからメタデータをアセットに取り込みます。

------
#### [ Publish an Amazon Redshift table ]

Amazon Redshift テーブルのアセットを公開するには、そのアセットのデータソースを作成して公開します。データソースは、Amazon Redshift テーブルからアセットにメタデータをプルするメカニズムです。

Amazon Redshift テーブルを公開するには、次の手順を使用します。

**Amazon Redshift テーブルを公開するには**

1. **[SageMaker Assets]** のランディングページに移動します。

1. **[所有アセット]** をクリックします。

1. **[データソースを表示]** をクリックします。

1. **[データソースを作成]** を選択します。

1. **[名前]** では、データソースの名前を指定します。

1. **[説明]** には、説明を入力します。

1. **[タイプ]** では、**[Amazon Redshift]** を選択します。

1. 
   + **[Redshift クラスター]** をクリックします。

     1. **[Redshift クラスター]** では、テーブルのデータベースを含む Amazon Redshift クラスターの名前を指定します。

     1. Secret には、クラスターの認証情報を含む AWS Secrets Manager シー**クレット**の名前を指定します。
   + **[Redshift サーバーレス]** をクリックします。

     1. **[Redshift ワークグループ]** では、テーブルのデータベースを含む Amazon Redshift ワークグループの名前を指定します。

     1. Secret には、ワークグループの認証情報を含む AWS Secrets Manager シー**クレット**の名前を指定します。

1. **[ソースの選択を公開]** では、Amazon Redshift テーブルを含むデータベースを選択します。

1. **[テーブル選択基準]** では、テーブルの名前を指定します。
**注記**  
単数または複数のテーブルを指定できるとはいえ、テーブル名は 1 つのみを指定することを強くお勧めします。

1. [**次へ**] を選択します。

1. 
   + **[アセットをカタログに公開]** では、**[はい]** を選択してアセットカタログに公開します。
   + **[アセットをカタログに公開]** では、**[いいえ]** を選択してアセットカタログに公開します。

1. [**次へ**] を選択します。

1. **[アセットの詳細]** で、**[スケジュールに従って実行]** または **[オンデマンドで実行]** を選択して、Amazon Redshift テーブルからのメタデータがアセットにどのようにプルされるかを指定します。

1. (オプション) **[スケジュールに従って実行]** を選択した場合は、メタデータをアセットにプルするスケジュールを指定します。

1. [**次へ**] を選択します。

1. **[作成]** を選択します。

1. (オプション) スケジュールを作成していない場合は、**[実行]** をクリックして Amazon Redshift テーブルからアセットにメタデータを取り込みます。

------

特徴量グループまたはモデルパッケージグループのアセットを公開するには、次の手順を使用します。

------
#### [ Publish a feature group ]

次の手順を使用して、作成した特徴量グループに移動し、所有アセットまたはアセットカタログに公開します。

**所有アセットまたはアセットカタログに特徴量グループを発行するには**

1. Studio 内で、左側のナビゲーションの **[データ]** を選択します。

1. 公開する特徴量グループを選択します。

1. ![\[\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/sm-assets-publish-icon.png) アイコンを選択します。

1. 
   + **[アセットをカタログに公開]** を選択して、アセットカタログに公開します。
   + **[インベントリに公開]** を選択して、グループの所有アセットに公開します。

------
#### [ Publish a model group ]

次の手順を使用して、作成したモデルグループに移動し、所有アセットまたはアセットカタログに公開します。

**所有アセットまたはアセットカタログにモデルグループを発行するには**

1. Studio 内で、左側のナビゲーションの **[モデル]** を選択します。

1. 公開するモデルグループを選択します。

1. ![\[\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/sm-assets-publish-icon.png) アイコンを選択します。

1. 
   + **[アセットをカタログに公開]** を選択して、アセットカタログに公開します。
   + **[インベントリに公開]** を選択して、グループの所有アセットに公開します。

------

所有アセットからアセットカタログにアセットを公開するには、次の手順を使用します。

**SageMaker アセットページからアセットを公開するには**

1. Studio 内で、**[アセット]** に移動します。

1. **[所有アセット]** をクリックします。

1. 検索バーでアセットの名前を指定します。

1. アセットを選択します

1. **[公開]** を選択します。

次の SageMaker Python SDK コードを使用して、特徴量グループまたはモデルパッケージグループを公開できます。このコードでは、特徴量グループまたはモデルパッケージグループが既に作成されていることを前提としています。

```
from sagemaker.asset import AssetManager

publisher = AssetPublisher()
publisher.publish_to_catalog(name-of-your-feature-group-or-model-package)
```

## ステップ 3: アクセスリクエストを管理する
<a name="sm-assets-manage-requests"></a>

アセットを公開すると、プロジェクト外のユーザーがアセットにアクセスすることを希望する場合があります。アクセスリクエストは、提供、拒否、または取り消すことができます。アセットを削除して、基盤となるデータソースを自分のみが利用できるようにすることもできます。

サブスクリプションリクエストに対応するには、次の手順を使用します。

**サブスクリプションリクエストを承認するには**

1. **[SageMaker Assets]** ページに移動します。

1. **[Assets アセットを管理]** をクリックします。

1. **[受信サブスクリプションリクエスト]** をクリックします。

1. 
   + (オプション) **[承認]** を選択して、理由を入力します。
   + (オプション) **[拒否]** を選択します。

以前に承認したアセットへのアクセスを取り消すことができます。アクセスを取り消すと、ユーザーはアセットと基盤となるアセットの両方にアクセスできなくなります。アクセスを取り消すには、以下の手順を使用します。

**アクセスを取り消すには**

1. **[SageMaker Assets]** ページに移動します。

1. **[Assets アセットを管理]** をクリックします。

1. **[受信サブスクリプションリクエスト]** をクリックします。

1. **[承認済み]** タブをクリックします。

1. アセットの横にある **[取り消し]** をクリックします。

アセットの公開を解除して、所有アセットでのみ表示することもできます。アセットは、リソースカタログに表示されなくなります。ただし、サブスクリプションリクエストを承認したユーザーは引き続きアセットにアクセスできます。

**アセットの公開を解除するには**

1. **[SageMaker Assets]** ページに移動します。

1. **[所有アセット]** で、公開解除するアセットを選択します。

1. [**Unpublish**] (公開解除) を選択します。

アセットを公開解除したページからアセットを削除することもできます。アセットを削除しても、データソースは削除されません。アセットを削除しても、そのアセットがプロジェクトまたは組織の他のメンバーに表示されなくなるだけです。

## ステップ 4: アセットを検索してアセットへのアクセスをリクエストする
<a name="sm-assets-request-access"></a>

他のユーザーがリソースカタログに公開したアセットへのアクセスをリクエストすることができます。サブスクリプションリクエストが承認されると、基盤となるデータソースにアクセスできるようになります。

SageMaker Assets ページの上部で、検索クエリを指定すると、組織内の他のユーザーが公開したアセットを検索できます。アセットタイプを選択して、そのタイプのすべての公開済みアセットを表示することもできます。例えば、**[Glue テーブル]** を選択すると、公開されたすべての AWS Glue テーブルを表示できます。

アセットタイプは、アセットの名前の下で直接確認することもできます。アセットタイプで使用可能な名前は次のとおりです。
+ Redshift テーブル
+ Glue テーブル
+ モデル
+ 特徴量グループ

**注記**  
次のストアの特徴量グループには、**[Glue テーブル]** のタイプがあります。  
オフライン
オフラインとオンライン

**サブスクリプションリクエストを行うには**

1. **[SageMaker Assets]** ページに移動します。

1. 
   + 検索バーで、アセットの名前を指定し、**[検索]** を選択します。
   + **[タイプ]** では、アセットタイプを選択し、リソースカタログ内でアクセスするアセットを検索します。

1. アセットを選択します

1. **[サブスクライブ]** を選択します。

1. リクエストの理由を入力します。

1. [**Submit**] を選択してください。

サブスクリプションリクエストは、**[アセットリクエストの管理]** の **[送信サブスクリプションリクエスト]** の下に表示されます。アセットのパブリッシャーがリクエストを承認すると、**[サブスクライブしたアセット]** の下に表示されます。機械学習ワークフローで Amazon Redshift、 AWS Glue テーブル、または ML のデータソースを使用できるようになりました。

## ステップ 5: 機械学習ワークフローで共有アセットを使用する
<a name="sm-assets-consume"></a>

アセットへのサブスクリプションリクエストが承認されると、機械学習ワークフローでそのアセットを使用できるようになります。

アクセスが付与された特徴量グループは、Studio の特徴量グループのリストに表示されます。

アクセスが付与されたモデルは、Studio のモデルグループのリストに表示されます。SageMaker Assets からモデルレジストリでモデルグループを開くことができます。モデルレジストリ内でモデルグループを開くには、次の手順を使用します。**[サブスクライブしたアセット]**

**SageMaker Assets からモデルグループを開くには**

1. モデルグループを選択します。

1. **[Model Registry で開く]** をクリックします。

SageMaker Canvas 内の Data Wrangler の AWS Glue または Amazon Redshift テーブルにアクセスできます。SageMaker Canvas は、探索的データ分析 (EDA) を実行し、ノーコードでモデルをトレーニングできるアプリケーションです。SageMaker Canvas の詳細については、「[Amazon SageMaker Canvas](canvas.md)」を参照してください。

SQL 拡張機能を使用して、 AWS Glue または Amazon Redshift テーブルのデータを Jupyter ノートブックに取り込むこともできます。機械学習ワークフロー向けにデータを pandas Dataframe に変換することができます。詳細については、「[Studio で SQL を使用してデータを準備する](sagemaker-sql-extension.md)」を参照してください。

# Amazon SageMaker Model Dashboard
<a name="model-dashboard"></a>

Amazon SageMaker モデルダッシュボードは、SageMaker AI コンソールからアクセスできる一元化されたポータルで、アカウント内のすべてのモデルを表示、検索、探索できます。どのモデルが推論用にデプロイされているか、バッチ変換ジョブに使用されているのか、エンドポイントでホストされているのかを追跡できます。Amazon SageMaker Model Monitor でモニターを設定すると、ライブデータでリアルタイム予測を行うモデルのパフォーマンスを追跡することもできます。ダッシュボードを使用して、データ品質、モデル品質、バイアス、説明可能性について設定したしきい値に違反するモデルを見つけることができます。ダッシュボードにはすべてのモニタリング結果が包括的に表示されるため、これらのメトリクスが設定されていないモデルをすばやく特定できます。

モデルダッシュボードは、いくつかの SageMaker AI 機能からのモデル関連情報を集約しています。Model Monitor で提供されるサービスの他に、モデルカードを表示したり、ワークフローのリネージを視覚化したり、エンドポイントのパフォーマンスを追跡したりできます。必要なデータを収集するために、ログをソートしたり、ノートブックでクエリを実行したり、他の AWS サービスにアクセスしたりする必要がなくなりました。SageMaker AI のモデルダッシュボードは、一貫したユーザーエクスペリエンスと既存のサービスへの統合により、すぐに使用できるモデルガバナンスソリューションを提供し、すべてのモデルにわたって質の高いカバレッジが得られます。

**前提条件**

Model Dashboard を使用するには、アカウントに 1 つ以上のモデルが必要です。Amazon SageMaker AI を使用してモデルをトレーニングすることも、他の場所でトレーニングしたモデルをインポートすることもできます。SageMaker AI でモデルを作成するには、`CreateModel` API を使用できます。詳細については、「[CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)」を参照してください。モデルのトレーニングとデプロイを設定するプロジェクトテンプレートを提供する Amazon SageMaker Studio Classic などの SageMaker AI が提供する ML 環境を使用することもできます。Studio Classic の使用を開始する方法の詳細については、「[Amazon SageMaker Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.htm)」を参照してください。

必須の前提条件ではありませんが、エンドポイントにデプロイされたモデルに対して SageMaker Model Monitor を使用してモデルモニタリングジョブを設定すれば、顧客はダッシュボードを最大限に活用できます。SageMaker Model Monitor の使用方法に関する前提条件と手順については、「[Amazon SageMaker Model Monitor を使用したデータとモデルの品質モニタリング](model-monitor.md)」を参照してください。

## Model Dashboard の要素
<a name="dashelem"></a>

Model Dashboard ビューでは、各モデルから大まかな詳細を引き出して、アカウント内の各モデルの包括的な概要を表示します。推論目的でモデルをデプロイする場合、モデルとエンドポイントのパフォーマンスをリアルタイムで追跡するのにダッシュボードが役立ちます。

このページで強調すべき重要な詳細は次のとおりです。
+ **リスク評価**: モデルカードにあるユーザー指定のパラメータで、**[低]**、**[中]**、**[高]** の値があります。モデルカードのリスク評価は、モデルの予測がビジネスに与える影響を分類して測定するものです。モデルはさまざまなビジネス用途に使用され、それぞれが異なるレベルのリスクを想定しています。例えば、サイバー攻撃を誤って検出すると、メールを誤って分類するよりもビジネスにははるかに大きな影響があります。モデルリスクがわからない場合は、**[不明]** に設定できます。Amazon SageMaker Model Cards の詳細については、「[Model Cards](https://docs.aws.amazon.com/sagemaker/latest/dg/model-cards.html)」を参照してください。
+ Model Monitor アラート: Model Monitor アラートはモデルダッシュボードの主要目的であり、SageMaker AI が提供するさまざまなモニターに関する既存のドキュメントを確認すると、使用を開始するのに役立ちます。SageMaker Model Monitor の機能とサンプル ノートブックの詳細については、「[Amazon SageMaker Model Monitor を使用したデータとモデルの品質モニタリング](model-monitor.md)」を参照してください。

  Model Dashboard には、以下のモニタータイプ別の Model Monitor のステータス値が表示されます。
  + データ品質: ライブデータをトレーニングデータと比較します。**両者が異なると、モデルの推論が正確でなくなる可能性があります。データ品質モニターの詳細については、「[データ品質](model-monitor-data-quality.md)」を参照してください。
  + モデル品質: モデルが行う予測と、モデルが予測しようとする実際の Ground Truth ラベルを比較します。**モデル品質モニターの詳細については、「[モデルの質](model-monitor-model-quality.md)」を参照してください。
  + バイアスドリフト: ライブデータの分布をトレーニングデータと比較します。これによって予測が不正確になることもあります。**バイアスドリフトモニターの詳細については、「[本番稼働用モデルのバイアスドリフト](clarify-model-monitor-bias-drift.md)」を参照してください。
  + 特徴量属性ドリフト: 説明可能性ドリフトとも呼ばれます。**トレーニングデータ内の特徴量の相対的な順位をライブデータと比較します。これはバイアスドリフトの結果である可能性もあります。特徴量属性ドリフトモニターの詳細については、「[本番稼働用モデルの Feature Attribution ドリフト](clarify-model-monitor-feature-attribution-drift.md)」を参照してください。

  Model Monitor の各ステータスは、以下のいずれかの値になります。
  + **なし**: モニターはスケジュールされていない
  + **非アクティブ**: モニターはスケジュールされていたが、非アクティブ化された
  + **OK**: モニターはスケジュールされていてアクティブだが、最近のモデルモニターの実行でアラートを出すのに必要な数の違反が発生していない
  + 日時: 指定された日時にアクティブなモニターがアラートを生成した
+ **エンドポイント**: リアルタイム推論のためにモデルをホストするエンドポイント。Model Dashboard では、エンドポイント列を選択すると、エンドポイントの CPU、GPU、ディスク、メモリ使用率などのパフォーマンスメトリクスをリアルタイムで表示できるため、コンピューティングインスタンスのパフォーマンスを追跡するのに役立ちます。
+ **バッチ変換ジョブ**: このモデルを使用して実行された最新のバッチ変換ジョブ。この列は、モデルがバッチ推論に積極的に使用されているかどうかを判断するのに役立ちます。
+ モデルの詳細: ダッシュボードの各エントリはモデルの詳細ページにリンクしており、そこで個々のモデルをより深く掘り下げることができます。モデルのリネージグラフにアクセスして、データの準備からデプロイまでのワークフローと各ステップのメタデータを視覚化できます。また、モデルカードの作成と表示、アラートの詳細と履歴の確認、リアルタイムエンドポイントのパフォーマンスの評価、その他のインフラストラクチャ関連の詳細へのアクセスも可能です。

# Model Monitor のスケジュールとアラート
<a name="model-dashboard-schedule"></a>

Python SDK を使用して、データ品質、モデル品質、バイアスドリフト、または特徴量属性ドリフトのモデルモニターを作成できます。SageMaker Model Monitor の使用方法の詳細については、「[Amazon SageMaker Model Monitor を使用したデータとモデルの品質モニタリング](model-monitor.md)」を参照してください。Model Dashboard には、アカウント内のすべてのモデルで作成したすべてのモニターの情報が入力されます。各モニターのステータスを追跡できます。これにより、モニターが期待どおりに動作しているか、内部エラーが原因で障害が発生したかがわかります。モデルの詳細ページ自体でモニターを有効にしたり無効にしたりすることもできます。モデルのスケジュール済みモニターを表示する方法については、「[スケジュール済みモニターを表示する](model-dashboard-schedule-view.md)」を参照してください。モデルモニターを有効化または無効化する手順については、「[モデルモニターの有効化または無効化](model-dashboard-schedule-activate.md)」を参照してください。

モデルモニターが適切に設定され、アクティブに動作していると、アラートが表示されることがあります。その場合、モニタリングの実行によって違反レポートが生成されます。アラートの仕組みと、アラートの結果、履歴、デバッグ用のジョブレポートへのリンクを表示する方法の詳細については、「[アラートの表示と編集](model-dashboard-alerts.md)」を参照してください。

# スケジュール済みモニターを表示する
<a name="model-dashboard-schedule-view"></a>

SageMaker Model Monitor で機械学習モデルを継続的にモニタリングすると、データドリフト、モデルの品質、バイアス、モデルのパフォーマンスに影響を及ぼす与える可能性のあるその他の問題を検出できます。モニタリングスケジュールを設定したら、SageMaker AI コンソールを使用して、これらのスケジュールされたモニターの詳細を表示できます。次の手順では、特定のモデルのスケジュールされたモニターにアクセスして、現在のステータスなどを確認するステップについて説明します。

**モデルのスケジュールされたモニターを表示するには**

1. [SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/)を開きます。

1. 左側のパネルで **[ガバナンス]** を選択します。

1. **[Model Dashboard]** を選択します。

1. Model Dashboard の **[モデル]** セクションで、表示するスケジュール済みモニターのモデル名を選択します。

1. **[モニタースケジュール]** セクションにスケジュール済みモニターが表示されます。各モニターのステータスは、**[ステータススケジュール]** 列 (以下のいずれかの値) で確認できます。
   + **失敗**: 構成または設定の問題 (ユーザーのアクセス許可の誤りなど) が原因で、モニタリングスケジュールが失敗しました。
   + **保留中**: モニターはスケジュール設定中です。
   + **停止**: スケジュールはユーザーによって停止されました。
   + **スケジュール済み**: スケジュールが作成され、指定した頻度で実行されます。

# モデルモニターの有効化または無効化
<a name="model-dashboard-schedule-activate"></a>

モデルモニターをアクティブ化したり非アクティブ化したりするには、次の手順を使用します。

**モデルモニターをアクティブまたは無効化するには、次の手順を実行します。**

1. [SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/)を開きます。

1. 左側のパネルで **[ガバナンス]** を選択します。

1. **[Model Dashboard]** を選択します。

1. Model Dashboard の **[モデル]** セクションで、変更するアラートのモデル名を選択します。

1. 変更するアラートのモニタースケジュールの横にあるラジオボックスを選択します。

1. (オプション) モニタースケジュールを無効にする場合は、**[モニタースケジュールを無効化]** を選択します。

1. (オプション) モニタースケジュールを有効にする場合は、**[モニタースケジュールを有効化]** を選択します。

# アラートの表示と編集
<a name="model-dashboard-alerts"></a>

Model Dashboard には、Amazon CloudWatch で設定したアラートが表示されます。アラート条件はダッシュボード内で変更できます。アラート条件は次の 2 つのパラメータによって決まります。
+ **アラート対象のデータポイント**: 評価期間内に実行に失敗した回数によってアラートを発します。
+ **評価期間**: アラートのステータスを評価する際に考慮すべき、最新のモニタリング実行回数。

以下の図は、Model Monitor を連続して実行するシナリオの例を示しています。このシナリオでは、仮定の**評価期間**を 3 に設定し、**アラート対象のデータポイント**の値を 2 に設定しています。モニタリングを実行するたびに、**評価期間**の 3 回以内に発生した失敗の数がカウントされます。失敗の数が**アラート対象のデータポイント**値 2 を満たすか上回ると、モニターはアラートを発し、**評価期間**内の失敗数が次の反復で 2 回未満になるまでアラートステータスのままになります。この画像では、モニターがアラートを発するかアラートステータスのままである場合は評価ウィンドウが赤になり、それ以外の場合は緑になります。

画像の最初の 2 行に示されているように、評価ウィンドウのサイズが**評価期間**の 3 に達していなくても、失敗数が**アラート対象のデータポイント**値の 2 を満たすか上回ると、モニターはアラートを発することに注意してください。

![\[連続 7 回のモニタリング実行例。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/model_monitor/model-dashboard-alerts-window.png)


モニターの詳細ページでは、アラート履歴を表示したり、既存のアラート条件を編集したり、失敗アラートのデバッグに役立つジョブレポートを表示したりできます。モニタリング実行に失敗した場合のアラート履歴またはジョブレポートを表示する方法については、「[アラート履歴またはジョブレポートを表示する](model-dashboard-alerts-view.md)」を参照してください。アラート条件を編集する方法については、「[アラート条件を編集する](model-dashboard-alerts-edit.md)」を参照してください。

# アラート履歴またはジョブレポートを表示する
<a name="model-dashboard-alerts-view"></a>

**失敗した実行のアラート履歴またはジョブレポートを表示するには、次の手順を実行します。**

1. [SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/)を開きます。

1. 左側のパネルで **[ガバナンス]** を選択します。

1. **[Model Dashboard]** を選択します。

1. Model Dashboard の **[モデル]** セクションで、表示するアラート履歴のモデル名を選択します。

1. **[スケジュール名]** 列で、表示するアラート履歴のモニター名を選択します。

1. アラート履歴を表示するには、**[アラート履歴]** タブを選択します。

1. (オプション) モニタリング実行のジョブレポートを表示するには、次の手順を実行します。

   1. **[アラート履歴]** タブで、調査するアラートの **[実行を表示]** を選択します。

   1. **[実行履歴]** テーブルで、調査するモニタリング実行の **[レポートを表示]** を選択します。

**レポートには、以下の情報が表示されます。**
      + **特徴量**: モニタリング対象のユーザー定義の ML 特徴量
      + **制約**: モニター内の具体的なチェック
      + **違反の詳細**: 制約に違反した理由に関する情報

# アラート条件を編集する
<a name="model-dashboard-alerts-edit"></a>

**Model Dashboard でアラートを編集するには、次の手順を実行します。**

1. [SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/)を開きます。

1. 左側のパネルで **[ガバナンス]** を選択します。

1. **[Model Dashboard]** を選択します。

1. Model Dashboard の **[モデル]** セクションで、変更するアラートのモデル名を選択します。

1. 変更するアラートのモニタースケジュールの横にあるラジオボックスを選択します。

1. **[モニタースケジュール]** セクションで **[アラートを編集]** を選択します。

1. (オプション) **評価期間中**にアラートを開始する失敗数を変更したい場合は、**アラート対象のデータポイント**を変更します。

1. (オプション) アラートのステータスを評価する際に考慮すべき、最新のモニタリング実行回数を変更したい場合は、**評価期間**を変更します。

# モデルリネージグラフを表示する
<a name="model-dashboard-lineage"></a>

モデルをトレーニングすると、Amazon SageMaker AI はデータ準備からデプロイまでの ML ワークフロー全体を可視化します。この可視化は、モデルリネージグラフと呼ばれます。以下の手順では、SageMaker AI コンソールでモデルリネージのグラフを表示する方法について説明します。

モデルリネージのグラフは、エンティティを使用してワークフローの個別のステップを表示します。例えば、基本モデルのリネージグラフにトレーニングセットを表すエンティティがある場合があります。そのエンティティはトレーニングジョブを表すエンティティに関連付けられ、そのエンティティはモデルを表す別のエンティティに関連付けられます。さらに、グラフには、ワークフローの各ステップに関する情報が保存されます。この情報を使用して、ワークフローの任意のステップを再現したり、モデルやデータセットのリネージを追跡したりできます。例えば、SageMaker AI Lineage は入力データソースの S3 URI をジョブごとに保存するので、データソースを詳しく分析してコンプライアンス検証を行うことができます。

モデル系統グラフは個々のワークフローのステップを表示するのに役立ちますが、 AWS SDK を使用して活用できる他の多くの機能があります。例えば、 AWS SDK を使用してエンティティを作成したり、クエリを実行したりできます。SageMaker AI Lineage の全機能セットとノートブック例の詳細については、「[Amazon SageMaker ML 系統追跡](lineage-tracking.md)」を参照してください。

# エンティティの概要
<a name="model-dashboard-lineage-intro-entities"></a>

Amazon SageMaker AI は、データが利用可能な場合、SageMaker AI ジョブ、モデル、モデルパッケージ、エンドポイントの追跡エンティティを自動的に作成します。基本的なワークフローとして、データセットを使用してモデルをトレーニングするとします。SageMaker AI は、次の 3 つのエンティティを含むリネージグラフを自動的に生成します。
+ **Dataset**: アーティファクトの一種で、URI でアドレス指定可能なオブジェクトまたはデータを表すエンティティです。通常、アーティファクトはトライアルコンポーネントやアクションへの入力またはそれらからの出力になります。
+ **TrainingJob**: トライアルコンポーネントの一種で、処理、トレーニング、変換ジョブを表すエンティティです。
+ **Model**: 別の種類のアーティファクト。**Dataset** アーティファクトと同様に、**Model** は URI でアドレス指定可能なオブジェクトです。この場合は **TrainingJob** トライアルコンポーネントの出力です。

さまざまな可能性がある中で、データの前処理や後処理などのステップをワークフローに追加したり、モデルをエンドポイントにデプロイしたり、モデルをモデルパッケージに含めたりする場合、モデルリネージグラフはすばやく拡張されます。SageMaker AI エンティティの全リストについては、「[Amazon SageMaker ML 系統追跡](lineage-tracking.md)」を参照してください。

## エンティティのプロパティ
<a name="model-dashboard-lineage-entity-properties"></a>

グラフの各ノードにはエンティティタイプが表示されますが、エンティティタイプの右側にある縦の省略記号を選択すると、ワークフローに関連する特定の詳細を表示できます。前の必要最低限のリネージグラフでは、**[DataSet]** の横にある縦の省略記号を選択すると、以下のプロパティ (すべてのアーティファクトエンティティに共通) の特定の値が表示されます。
+ **名前**: データセットの名前。
+ **ソース URI**: データセットの Amazon S3 の場所。

`TrainingJob` エンティティの場合、以下のプロパティ (すべての `TrialComponent` エンティティに共通) の特定の値が表示されます。
+ **名前**: トレーニングジョブの名前。
+ **ジョブ ARN**: トレーニングジョブの Amazon リソースネーム (ARN)。

**モデル** エンティティの場合、どちらもアーティファクトエンティティであるため、**DataSet** にリストされているのと同じプロパティが表示されます。エンティティとそれに関連するプロパティのリストについては、「[系統追跡エンティティ](lineage-tracking-entities.md)」を参照してください。

## エンティティクエリ
<a name="model-dashboard-lineage-entity-queries"></a>

Amazon SageMaker AI は、ユーザーの使用時にリネージエンティティのグラフを自動的に生成します。ただし、実験の反復を多数実行していて、すべての系統グラフを表示しない場合は、 AWS SDK がすべてのワークフローでクエリを実行するのに役立ちます。例えば、エンドポイントを使用するすべての処理ジョブについてリネージエンティティをクエリできます。または、アーティファクトを使用するダウンストリームのトレイルをすべて表示することもできます。実行できるすべてのクエリのリストについては、「[系統エンティティをクエリする](querying-lineage-entities.md)」を参照してください。

## モデルのリネージグラフを表示する
<a name="model-dashboard-lineage-view"></a>

**モデルのリネージグラフを表示するには、次の手順を実行します。**

1. [SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/)を開きます。

1. 左側のパネルで **[ガバナンス]** を選択します。

1. **[Model Dashboard]** を選択します。

1. Model Dashboard の **[モデル]** セクションで、表示したいリネージグラフのモデル名を選択します。

1. **[モデルの概要]** セクションで **[リネージを表示]** を選択します。

# エンドポイント水テータスを表示する
<a name="model-dashboard-endpoints"></a>

トレーニング済みのモデルを使用してライブデータの推論を実行したい場合は、モデルをリアルタイムエンドポイントにデプロイします。予測のレイテンシーが適切になるようにするには、モデルをホストするインスタンスが効率的に稼働していることを確認する必要があります。Model Dashboard のエンドポイントモニタリング機能は、エンドポイント設定に関する情報をリアルタイムで表示し、メトリクスを使用してエンドポイントのパフォーマンスを追跡するのに役立ちます。

**モニタリング設定**

モデルダッシュボードは、Amazon CloudWatch で選択できるメトリクスのリアルタイムグラフを表示する既存の SageMaker AI エンドポイントの詳細ページにリンクしています。エンドポイントがリアルタイムの推論リクエストを処理している間、ダッシュボード内でこれらのメトリクスを追跡できます。選択できるメトリクスは次のとおりです。
+ `CpuUtilization`: 0%～100% の範囲の各 CPU コアの使用率の合計。それぞれの範囲は 0%～100%。
+ `MemoryUtilization`: インスタンス上のコンテナによって使用されているメモリの割合。範囲は 0%～100%。
+ `DiskUtilization`: インスタンス上のコンテナによって使用されている ディスク容量の割合。範囲は 0%～100%。

リアルタイムで表示できるメトリクスの全リストについては、「[Amazon CloudWatch における Amazon SageMaker AI メトリクス](monitoring-cloudwatch.md)」を参照してください。

**ランタイム設定**

Amazon SageMaker AI では、ホストモデルの自動的なスケーリング (オートスケーリング) がサポートされています。自動スケーリングは、ワークロードの変動に応じて、モデルにプロビジョニングされるインスタンスの数を動的に調整します。ワークロードが増加すると、自動スケーリングはより多くのインスタンスをオンラインにします。ワークロードが減少すると、自動スケーリングは使用していないプロビジョニングされたインスタンスに対して支払いが発生しないように、不要なインスタンスを削除します。Model Dashboard では以下のランタイム設定をカスタマイズできます。
+ 重みを更新: 各インスタンスに割り当てられるワークロードの量を数値的に重みづけして変更します。**自動スケーリング中のインスタンスのの重み付けの詳細については、「[インスタンスの重み付けを使用するように Auto Scaling グループを設定する](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups-instance-weighting.html)」を参照してください。
+ インスタンス数の更新: ワークロードを処理できるインスタンスの総数が増えたときに変更します。**

エンドポイントのランタイム設定の詳細については、「[CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)」を参照してください。

**エンドポイント設定**

エンドポイント設定には、エンドポイントを作成したときに指定した設定が表示されます。これらの設定は、エンドポイントにどのリソースをプロビジョニングするかを SageMaker AI に通知します。含まれる設定の一部は次のとおりです。
+ *データキャプチャ*: エンドポイントの入出力に関する情報をキャプチャするように選択できます。例えば、受信トラフィックをサンプリングして、結果がトレーニングデータと相関しているかどうかを確認したい場合があります。サンプリング頻度、保存されたデータの形式、保存されたデータの Amazon S3 の場所をカスタマイズできます。データキャプチャ設定の詳細については、「[データキャプチャ](model-monitor-data-capture.md)」を参照してください。
+ *本番バリアント*: 「ランタイム設定」で前述した説明を参照してください。**
+ *非同期呼び出しの設定*: エンドポイントが非同期の場合、このセクションには、SageMaker AI クライアントからモデルコンテナに送信される同時リクエストの最大数、成功通知と失敗通知の Amazon S3 の場所、エンドポイント出力の出力場所が含まれます。非同期出力の詳細については、「[非同期エンドポイントオペレーション](async-inference-create-invoke-update-delete.md)」を参照してください。
+ *暗号化キー*: 出力を暗号化する場合は、暗号化キーを入力できます。

エンドポイント設定の詳細については、「[CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)」を参照してください。

## エンドポイントのステータスと設定を表示する
<a name="model-dashboard-endpoint-view"></a>

**モデルのエンドポイントのステータスと設定を表示するには、次の手順を実行します。**

1. [SageMaker AI コンソール](https://console.aws.amazon.com/sagemaker/)を開きます。

1. 左側のパネルで **[ガバナンス]** を選択します。

1. **[Model Dashboard]** を選択します。

1. Model Dashboard の **[モデル]** セクションで、表示したいエンドポイントのモデル名を選択します。

1. **[エンドポイント]** セクションでエンドポイント名を選択します。

# Model Dashboard に関するよくある質問
<a name="model-dashboard-faqs"></a>

Amazon SageMaker Model Dashboard についてのよくある質問と回答については、次のよくある質問のトピックを参照してください。

## Q: モデルダッシュボードとはどういうものですか?
<a name="model-dashboard-faqs-whatis"></a>

Amazon SageMaker Model Dashboard は、アカウントで作成されたすべてのモデルの一元化されたリポジトリです。モデルは通常 SageMaker AI トレーニングジョブの出力ですが、他の場所でトレーニングされたモデルをインポートして SageMaker AI でホストすることもできます。Model Dashboard は、IT 管理者、モデルリスクマネージャー、ビジネスリーダーがデプロイされたすべてのモデルを追跡し、複数の AWS サービスからのデータを集約して、モデルのパフォーマンスに関する指標を提供する単一のインターフェイスを提供します。モデルエンドポイント、バッチ変換ジョブ、モニタリングジョブに関する詳細を表示して、モデルのパフォーマンスに関する追加情報を得ることができます。ダッシュボードの視覚表示により、モニターが欠落しているか無効になっているモデルをすばやく特定できるため、すべてのモデルのデータドリフト、モデルドリフト、バイアスドリフト、特徴量属性ドリフトを定期的にチェックできます。最後に、ダッシュボードではモデルの詳細情報に簡単にアクセスして詳しく調べられるため、ログ、インフラストラクチャ関連の情報、リソースにアクセスしてモニタリング障害のデバッグに役立てることができます。

## Q: Model Dashboard を使用する際の前提条件は何ですか?
<a name="model-dashboard-faqs-access"></a>

SageMaker AI でトレーニングされたモデルか、外部でトレーニングされたモデルを SageMaker AI で 1 つ以上作成する必要があります。必須の前提条件ではありませんが、エンドポイントにデプロイされたモデルに対して Amazon SageMaker Model Monitor を使用してモデルモニタリングジョブを設定すれば、ダッシュボードを最大限に活用できます。

## Q: Model Dashboard はどういう人が使用すべきですか?
<a name="model-dashboard-faqs-users"></a>

モデルリスクマネージャー、ML プラクティショナー、データサイエンティスト、ビジネスリーダーが Model Dashboard を使用すると、モデルの包括的な概要を把握できます。ダッシュボードは Amazon SageMaker Model Cards、エンドポイント、Model Monitor サービスからのデータを集約して表示し、モデルカードとモデルレジストリからのモデルメタデータ、モデルがデプロイされているエンドポイント、モデルモニタリングからのインサイトなどの貴重な情報を表示します。

## Q: Model Dashboard の使用方法を教えてください。
<a name="model-dashboard-faqs-how"></a>

モデルダッシュボードは Amazon SageMaker AI ですぐに使用でき、事前設定は必要ありません。ただし、SageMaker Model Monitor と Clarify を使用してモデルモニタリングジョブを設定した場合は、Amazon CloudWatch を使用して、モデルのパフォーマンスが許容範囲から外れたときにダッシュボードにフラグを立てるアラートを設定します。新しいモデルカードを作成してダッシュボードに追加し、エンドポイントに関連するすべてのモニタリング結果を表示できます。Model Dashboard では、現在、クロスアカウントモデルはサポートされていません。

## Q. Amazon SageMaker Model Monitor とはどういうものですか?
<a name="model-dashboard-faqs-what"></a>

Amazon SageMaker Model Monitor を使用すると、コードを記述することなく、モニタリングおよび分析するデータを選択できます。SageMaker Model Monitor では、オプションのメニューから予測出力などのデータを選択し、タイムスタンプ、モデル名、エンドポイントなどのメタデータをキャプチャして、モデル予測を分析できます。大量のリアルタイム予測の場合、データキャプチャのサンプリングレートをトラフィック全体のパーセンテージとして指定できます。このデータはご利用の Amazon S3 バケットに保存されます。また、このデータの暗号化、きめ細かなセキュリティ設定、データ保持ポリシーの定義、安全にアクセスするためのアクセス制御メカニズムの実装も可能です。

## Q. SageMaker AI はどのようなタイプのモデルモニターをサポートしていますか。
<a name="model-dashboard-faqs-types"></a>

SageMaker Model Monitor は次のタイプの[モデルモニター](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor.html)を提供します。
+ *データ品質*: データ品質のドリフトをモニタリングします。
+ *モデル品質*: 精度などのモデル品質メトリクスのドリフトをモニタリングします。
+ *本番環境でのモデルのバイアスドリフト*: トレーニングデータとライブデータの分布を比較して、モデルの予測の偏りをモニタリングします。
+ *本番環境のモデルの特徴量属性ドリフト*: トレーニングデータとライブデータの特徴量の相対的な順位を比較して、特徴量属性のドリフトをモニタリングします。

## Q. SageMaker Model Monitor はどのような推論方法をサポートしていますか?
<a name="model-dashboard-faqs-inference"></a>

Model Monitor は現在、リアルタイム推論用の単一モデルをホストするエンドポイントをサポートしていますが、[マルチモデルエンドポイント](https://docs.aws.amazon.com/sagemaker/latest/dg/multi-model-endpoints.html)のモニタリングはサポートしていません。

## Q. SageMaker Model Monitor の使用を開始する方法を教えてください。
<a name="model-dashboard-faqs-get-started"></a>

次のリソースを使用して、モデルモニタリングを開始できます。
+ [データ品質モニターのサンプルノートブック](https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker_model_monitor/introduction/SageMaker-ModelMonitoring.ipynb)
+ [データ品質モニターのサンプルノートブック](https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker_model_monitor/introduction/SageMaker-ModelMonitoring.ipynb)
+ [バイアスドリフトモニターのサンプルノートブック](https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker_model_monitor/fairness_and_explainability/SageMaker-Model-Monitor-Fairness-and-Explainability.ipynb)
+ [特徴量属性ドリフトモニターのサンプルノートブック](https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker_model_monitor/fairness_and_explainability/SageMaker-Model-Monitor-Fairness-and-Explainability.ipynb)

モデルモニタリングの例の詳細については、amazon-sagemaker-examples GitHub リポジトリの [amazon-sagemaker-examples](https://github.com/aws/amazon-sagemaker-examples/tree/main/sagemaker_model_monitor) を参照してください。

## Q. Model Monitor の機能を教えてください。
<a name="model-dashboard-faqs-mm-work"></a>

Amazon SageMaker Model Monitor は、モデル内のドリフトを検出するルールを使用して、本番環境の機械学習モデルを自動的にモニタリングします。Model Monitor は、品質上の問題が発生するとアラートを使って通知します。詳細については[Amazon SageMaker Model Monitor の仕組み](model-monitor.md#model-monitor-how-it-works)を参照してください。

## Q. 独自のコンテナ (BYOC) は Model Monitor にいつ、どのように持ち込めますか?
<a name="model-dashboard-faqs-byoc-when-how"></a>

Model Monitor は、表形式のデータのみに基づいてモデルメトリクスと統計を計算します。画像やテキストなど、表形式データセット以外のユースケースでは、独自のコンテナ (BYOC) を持ち込んでデータやモデルをモニタリングできます。例えば、BYOC を使用して、画像を入力として受け取ってラベルを出力する画像分類モデルをモニタリングできます。コンテナ契約の詳細については、「[Amazon SageMaker Model Monitor を使用した独自のコンテナのサポート](model-monitor-byoc-containers.md)」を参照してください。

## Q: Model Monitor 用 BYOC の例はどこで見つかりますか?
<a name="model-dashboard-faqs-byoc-examples"></a>

参考になる BYOC 例は、次のリンクにあります。
+ [Amazon SageMaker Model Monitor を使用したデータとモデルの品質モニタリング](model-monitor.md)
+ [GitHub リポジトリ例](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker_model_monitor)
+ [Amazon SageMaker Model Monitor を使用した独自のコンテナのサポート](model-monitor-byoc-containers.md)
+ [BYOC Model Monitor を使用した NLP のデータドリフトの検出](https://aws.amazon.com/blogs/machine-learning/detect-nlp-data-drift-using-custom-amazon-sagemaker-model-monitor)
+ [ Detecting and analyzing incorrect predictions in CV ](https://aws.amazon.com/blogs//machine-learning/detecting-and-analyzing-incorrect-model-predictions-with-amazon-sagemaker-model-monitor-and-debugger)

## Q: Model Monitor を Pipelines と統合するにはどうしたらよいですか。
<a name="model-dashboard-integrate-mm-pipelines"></a>

Model Monitor と Pipelines を統合する方法の詳細については、「[Amazon Pipelines now integrates with SageMaker Model Monitor and SageMaker Clarify](https://aws.amazon.com/about-aws/whats-new/2021/12/amazon-sagemaker-pipelines-integrates-sagemaker-model-monitor-sagemaker-clarify/)」を参照してください。

例については、GitHub サンプルノートブックの「[Pipelines integration with Model Monitor and Clarify](https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker-pipelines/tabular/model-monitor-clarify-pipelines/sagemaker-pipeline-model-monitor-clarify-steps.ipynb)」を参照してください。

## Q: `DataCapture` を使用するとパフォーマンスに問題が起きますか?
<a name="model-dashboard-datacapture"></a>

オンにすると、SageMaker AI エンドポイントでデータキャプチャが非同期的に行われます。推論リクエストへの影響を防ぐため、ディスク使用率のレベルが高くなると、`DataCapture` はリクエストのキャプチャを停止します。`DataCapture` がリクエストのキャプチャを続行できるように、ディスク使用率を 75% 未満に抑えることをお勧めします。