기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon SageMaker 모델 카드
중요
Amazon SageMaker 모델 카드는 SageMaker 모델 레지스트리와 통합됩니다. 모델 레지스트리에 모델을 등록하는 경우 통합을 사용하여 감사 정보를 추가할 수 있습니다. 자세한 내용은 모델 버전의 세부 정보 업데이트 단원을 참조하십시오.
Amazon SageMaker 모델 카드를 사용하여 간소화된 거버넌스 및 보고를 위해 기계 학습(ML) 모델에 대한 중요한 세부 정보를 한 곳에 문서화할 수 있습니다. 모델 카드는 수명 주기 동안 모델에 대한 주요 정보를 캡처하고 책임 있는 AI 관행을 구현하는 데 도움이 될 수 있습니다.
모델의 용도 및 위험 등급, 훈련 세부 정보 및 지표, 평가 결과 및 관찰, 추가 설명(예: 고려 사항, 권장 사항, 사용자 지정 정보)과 같은 세부 정보를 분류합니다. 모델 카드를 생성하여 다음 작업을 수행할 수 있습니다.
-
모델 사용 방법에 대한 지침을 제공합니다.
-
모델 훈련 및 성과에 대한 자세한 설명과 함께 감사 활동을 지원합니다.
-
비즈니스 목표를 지원하기 위한 모델의 용도를 전달합니다.
모델 카드는 문서화할 정보에 대한 권장 가이드를 제공하며 사용자 지정 정보 필드를 포함합니다. 모델 카드를 생성한 후 로 내보내PDF거나 다운로드하여 관련 이해관계자와 공유할 수 있습니다. 모델 카드에 대한 승인 상태 업데이트 이외의 모든 편집은 모델 변경 내용에 대한 변경 불가능한 기록을 남기기 위해 추가 모델 카드 버전을 생성합니다.
주제
사전 조건
Amazon SageMaker 모델 카드를 시작하려면 모델 카드를 생성, 편집, 보기 및 내보낼 권한이 있어야 합니다.
모델의 용도
모델의 용도를 지정하면 모델 개발자와 사용자가 책임감 있게 모델을 훈련시키거나 배포하는 데 필요한 정보를 확보할 수 있습니다. 모델의 용도는 모델을 사용하기에 적합한 시나리오와 모델 사용이 권장되지 않는 시나리오를 설명해야 합니다.
다음 사항을 포함하는 것이 좋습니다.
-
모델의 일반 목적
-
모델이 의도된 사용 사례
-
모델이 의도하지 않은 사용 사례
-
모델을 개발할 때 세운 전제
모델의 용도는 기술적 세부 사항을 넘어서서 프로덕션 환경에서 모델을 사용하는 방법, 모델을 사용하기에 적합한 시나리오, 추가 고려 사항(예: 모델에 사용할 데이터 유형 또는 개발 중 가정된 사항)을 설명합니다.
위험 등급
개발자는 위험 수준이 다양한 사용 사례를 위한 ML 모델을 만듭니다. 예를 들어 대출 신청을 승인하는 모델은 이메일 카테고리를 탐지하는 모델보다 위험이 더 높은 모델일 수 있습니다. 모델의 다양한 위험 프로필을 고려할 때 모델 카드는 모델의 위험 등급을 분류할 수 있는 필드를 제공합니다.
이 위험 등급은 unknown
, low
, medium
또는 high
일 수 있습니다. 이러한 위험 등급 필드를 사용하여 알 수 없음, 낮음, 중간 또는 고위험 모델에 레이블을 지정하고 조직이 특정 모델을 생산에 적용하는 것과 관련된 기존 규칙을 준수할 수 있습니다.
모델 카드 JSON 스키마
모델 카드에 대한 평가 세부 정보는 JSON 형식으로 제공되어야 합니다. SageMaker Clarify 또는 SageMaker Model Monitor에서 생성한 기존 JSON 형식 평가 보고서가 있는 경우 Amazon S3에 업로드하고 평가 지표를 자동으로 구문 분석할 수 URI 있는 S3를 제공합니다. 자세한 내용과 샘플 보고서는 Amazon 모델 거버넌스 - 모델 카드 예제 노트북의 예제 지표
SageMaker Python 를 사용하여 모델 카드를 생성할 때 SDK모델 콘텐츠는 모델 카드 JSON 스키마에 있어야 하며 문자열로 제공되어야 합니다. 다음 예제와 유사한 모델 콘텐츠를 제공합니다.
{ "$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 } } }