모델 버전 세부 정보 업데이트 - Amazon SageMaker

모델 버전 세부 정보 업데이트

AWS SDK for Python (Boto3) 또는 Amazon SageMaker Studio 콘솔을 사용하여 특정 모델 버전의 세부 정보를 보고 업데이트할 수 있습니다.

중요

Amazon SageMaker는 Model Cards를 Model Registry에 통합합니다. Model Registry에 등록된 모델 패키지에는 모델 패키지의 구성 요소로 간소화된 Model Card가 포함됩니다. 자세한 내용은 모델 패키지 모델 카드 스키마(Studio) 섹션을 참조하세요.

모델 버전 세부 정보 확인 및 업데이트(Boto3)

Boto3를 사용하여 모델 버전의 세부 정보를 보려면 다음 단계를 수행합니다.

  1. list_model_packages API 작업을 직접 호출하여 모델 그룹의 모델 버전을 확인합니다.

    sm_client.list_model_packages(ModelPackageGroupName="ModelGroup1")

    응답은 모델 패키지 요약 목록입니다. 이 목록에서 모델 버전의 Amazon 리소스 이름(ARN)을 가져올 수 있습니다.

    {'ModelPackageSummaryList': [{'ModelPackageGroupName': 'AbaloneMPG-16039329888329896', 'ModelPackageVersion': 1, 'ModelPackageArn': 'arn:aws:sagemaker:us-east-2:123456789012:model-package/ModelGroup1/1', 'ModelPackageDescription': 'TestMe', 'CreationTime': datetime.datetime(2020, 10, 29, 1, 27, 46, 46000, tzinfo=tzlocal()), 'ModelPackageStatus': 'Completed', 'ModelApprovalStatus': 'Approved'}], 'ResponseMetadata': {'RequestId': '12345678-abcd-1234-abcd-aabbccddeeff', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '12345678-abcd-1234-abcd-aabbccddeeff', 'content-type': 'application/x-amz-json-1.1', 'content-length': '349', 'date': 'Mon, 23 Nov 2020 04:56:50 GMT'}, 'RetryAttempts': 0}}
  2. 모델 버전의 세부 정보를 보려면 describe_model_package를 호출합니다. list_model_packages 호출 출력에서 가져온 모델 버전의 ARN을 전달합니다.

    sm_client.describe_model_package(ModelPackageName="arn:aws:sagemaker:us-east-2:123456789012:model-package/ModelGroup1/1")

    이 호출의 출력은 모델 버전 세부 정보가 포함된 JSON 객체입니다.

    {'ModelPackageGroupName': 'ModelGroup1', 'ModelPackageVersion': 1, 'ModelPackageArn': 'arn:aws:sagemaker:us-east-2:123456789012:model-package/ModelGroup/1', 'ModelPackageDescription': 'Test Model', 'CreationTime': datetime.datetime(2020, 10, 29, 1, 27, 46, 46000, tzinfo=tzlocal()), 'InferenceSpecification': {'Containers': [{'Image': '257758044811.dkr.ecr.us-east-2.amazonaws.com/sagemaker-xgboost:1.0-1-cpu-py3', 'ImageDigest': 'sha256:99fa602cff19aee33297a5926f8497ca7bcd2a391b7d600300204eef803bca66', 'ModelDataUrl': 's3://sagemaker-us-east-2-123456789012/ModelGroup1/pipelines-0gdonccek7o9-AbaloneTrain-stmiylhtIR/output/model.tar.gz'}], 'SupportedTransformInstanceTypes': ['ml.m5.xlarge'], 'SupportedRealtimeInferenceInstanceTypes': ['ml.t2.medium', 'ml.m5.xlarge'], 'SupportedContentTypes': ['text/csv'], 'SupportedResponseMIMETypes': ['text/csv']}, 'ModelPackageStatus': 'Completed', 'ModelPackageStatusDetails': {'ValidationStatuses': [], 'ImageScanStatuses': []}, 'CertifyForMarketplace': False, 'ModelApprovalStatus': 'PendingManualApproval', 'LastModifiedTime': datetime.datetime(2020, 10, 29, 1, 28, 0, 438000, tzinfo=tzlocal()), 'ResponseMetadata': {'RequestId': '12345678-abcd-1234-abcd-aabbccddeeff', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': '212345678-abcd-1234-abcd-aabbccddeeff', 'content-type': 'application/x-amz-json-1.1', 'content-length': '1038', 'date': 'Mon, 23 Nov 2020 04:59:38 GMT'}, 'RetryAttempts': 0}}

모델 패키지 모델 카드 스키마(Studio)

모델 버전과 관련된 모든 세부 정보는 모델 패키지의 모델 카드에 캡슐화됩니다. 모델 패키지의 모델 카드는 Amazon SageMaker Model Card의 특수 용도이며 스키마가 간소화되어 있습니다. 모델 패키지 모델 카드 스키마는 다음 확장 가능한 드롭다운에 표시됩니다.

{ "title": "SageMakerModelCardSchema", "description": "Schema of a model package’s model card.", "version": "0.1.0", "type": "object", "additionalProperties": false, "properties": { "model_overview": { "description": "Overview about the model.", "type": "object", "additionalProperties": false, "properties": { "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 } } } }, "intended_uses": { "description": "Intended usage of model.", "type": "object", "additionalProperties": false, "properties": { "purpose_of_model": { "description": "Reason 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": "Business problem solved by the model.", "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 for which the model is optimized.", "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": "Ethical considerations for model users.", "type": "string", "maxLength": 2048 }, "caveats_and_recommendations": { "description": "Caveats and recommendations for model users.", "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 the algorithm 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": "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 used to create model package.", "type": "array", "minContains": 1, "maxContains": 15, "items": { "type": "object", "additionalProperties": false, "required": [ "image" ], "properties": { "model_data_url": { "description": "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 Elastic 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 an 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.", "type": "string", "maxLength": 1024 }, "objective_function": { "description": "Objective function for which the training job is optimized.", "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 hyperparameter.", "type": "object", "required": [ "name", "value" ], "additionalProperties": false, "properties": { "name": { "type": "string", "pattern": ".{1,255}" }, "value": { "type": "string", "pattern": ".{1,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 } } }

모델 버전 세부 정보 보기 및 업데이트(Studio 또는 Studio Classic)

모델 버전의 세부 정보를 보고 업데이트하려면 Studio를 사용하는지 아니면 Studio Classic을 사용하는지에 따라 다음 단계를 완료하세요. Studio Classic에서는 모델 버전의 승인 상태를 업데이트할 수 있습니다. 세부 정보는 모델 승인 상태 업데이트을 참조하세요. 한편 Studio에서는 SageMaker가 모델 패키지에 대한 모델 카드를 만들고 모델 버전 UI는 모델 카드의 세부 정보를 업데이트하는 옵션을 제공합니다.

Studio
  1. Launch Amazon SageMaker Studio의 지침에 따라 SageMaker Studio 콘솔을 엽니다.

  2. 왼쪽 탐색 창의 메뉴에서 모델을 선택합니다.

  3. 아직 선택되어 있지 않은 경우 등록된 모델 탭을 선택합니다.

  4. 등록된 모델 탭 레이블 바로 아래에서 아직 선택되어 있지 않은 경우 모델 그룹을 선택합니다.

  5. 보려는 모델 버전이 포함된 모델 그룹의 이름을 선택합니다.

  6. 모델 버전 목록에서 보려는 모델 버전의 이름을 선택합니다.

  7. 다음 탭 중 하나를 선택합니다.

    • 훈련: 성능 지표, 아티팩트, IAM 역할 및 암호화, 컨테이너를 포함하여 훈련 작업과 관련된 세부 정보를 보거나 편집합니다. 자세한 내용은 훈련 작업 추가(Studio) 섹션을 참조하세요.

    • 평가: 성능 지표, 평가 데이터세트 및 보안과 같은 훈련 작업과 관련된 세부 정보를 보거나 편집합니다. 자세한 내용은 평가 작업 추가(Studio) 섹션을 참조하세요.

    • 감사: 모델의 비즈니스 목적, 사용량, 위험, 알고리즘 및 성능 제한과 같은 기술적 세부 정보와 관련된 개괄적인 수준의 세부 정보를 보거나 편집합니다. 자세한 내용은 감사(정부) 정보 업데이트(Studio) 섹션을 참조하세요.

    • 배포: 엔드포인트를 구성하는 추론 이미지 컨테이너 및 인스턴스의 위치를 보거나 편집합니다. 자세한 내용은 배포 정보 업데이트(Studio) 섹션을 참조하세요.

Studio Classic
  1. Amazon SageMaker Studio Classic에 로그인합니다. 자세한 내용은 Launch Amazon SageMaker Studio Classic을 참조하세요.

  2. 왼쪽의 탐색 창에서 아이콘( Black square icon representing a placeholder or empty image. )을 선택합니다.

  3. 모델을 선택한 다음 모델 레지스트리를 선택합니다.

  4. 모델 그룹 목록에서 보려는 모델 그룹 이름을 선택합니다.

  5. 모델 그룹의 모델 버전 목록이 있는 새 탭이 나타납니다.

  6. 모델 버전 목록에서 세부 정보를 보려는 모델 버전의 이름을 선택합니다.

  7. 모델 버전 탭이 열리면 다음 중 하나를 선택하여 모델 버전에 대한 세부 정보를 확인합니다.

    • 활동: 승인 상태 업데이트와 같은 모델 버전의 이벤트를 표시합니다.

    • 모델 품질: 모델 예측을 Ground Truth와 비교하는 모델 모니터 모델 품질 검사와 관련된 지표를 보고합니다. 모델 모니터 모델 품질 검사에 대한 자세한 내용은 모델 품질섹션을 참조하세요.

    • 설명 가능성: 훈련 데이터와 라이브 데이터에 있는 기능의 상대적 순위를 비교하는 모델 모니터 기능 속성 검사와 관련된 지표를 보고합니다. 모델 모니터 설명 가능성 검사에 대한 자세한 내용은 프로덕션 환경의 모델에 대한 특성 어트리뷰션 드리프트섹션을 참조하세요.

    • 바이어스: 실시간 데이터의 분포를 훈련 데이터와 비교하는 모델 모니터 바이어스 드리프트 검사와 관련된 지표을 보고합니다. 모델 모니터 바이어스 드리프트 검사에 대한 자세한 내용은 프로덕션 환경의 모델에 대한 바이어스 드리프트섹션을 참조하세요.

    • 추론 추천: 모델 및 샘플 페이로드를 기반으로 최적의 성능을 위한 초기 인스턴스 권장 사항을 제공합니다.

    • 부하 테스트: 지연 시간 및 처리량 제한과 같은 특정 프로덕션 요구 사항을 제공할 때 선택한 인스턴스 유형에서 부하 테스트를 실행합니다.

    • 추론 사양: 실시간 추론 및 변환 작업의 인스턴스 유형과 Amazon ECR 컨테이너에 대한 정보를 표시합니다.

    • 정보: 모델 버전이 연결된 프로젝트, 모델을 생성한 파이프라인, 모델 그룹, Amazon S3에서의 모델 위치 등의 정보를 표시합니다.