SageMaker Amazon-Modellkarten - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

SageMaker Amazon-Modellkarten

Wichtig

Amazon SageMaker Model Card ist in SageMaker Model Registry integriert. Wenn Sie ein Modell in Model Registry registrieren, können Sie die Integration verwenden, um Prüfungsinformationen hinzuzufügen. Weitere Informationen finden Sie unter Aktualisieren Sie die Details einer Modellversion.

Verwenden Sie Amazon SageMaker Model Cards, um wichtige Details zu Ihren Machine-Learning-Modellen (ML) an einem zentralen Ort zu dokumentieren und so die Verwaltung und Berichterstattung zu optimieren. Modellkarten können Ihnen dabei helfen, wichtige Informationen über Ihre Modelle während ihres gesamten Lebenszyklus zu erfassen und verantwortungsvolle KI-Praktiken zu implementieren.

Katalogdetails wie die beabsichtigte Verwendung und Risikobewertung eines Modells, Trainingsdetails und Kennzahlen, Bewertungsergebnisse und Beobachtungen sowie zusätzliche Hinweise wie Überlegungen, Empfehlungen und benutzerdefinierte Informationen. Durch Erstellen von Modellkarten können Sie folgende Aktionen ausführen:

  • Geben Sie Hinweise dazu, wie ein Modell verwendet werden sollte.

  • Support Sie die Auditaktivitäten mit detaillierten Beschreibungen der Modellausbildung und -leistung.

  • Kommunizieren Sie, wie ein Modell die Geschäftsziele unterstützen soll.

Modellkarten bieten verbindliche Hinweise dazu, welche Informationen dokumentiert werden müssen, und enthalten Felder für benutzerdefinierte Informationen. Nachdem Sie eine Modellkarte erstellt haben, können Sie sie in eine exportieren PDF oder herunterladen, um sie mit relevanten Stakeholdern zu teilen. Alle an einer Modellkarte vorgenommenen Änderungen, mit Ausnahme einer Aktualisierung des Genehmigungsstatus, führen zu zusätzlichen Modellkartenversionen, sodass eine unveränderliche Aufzeichnung der Modelländerungen gewährleistet ist.

Voraussetzungen

Um mit Amazon SageMaker Model Cards zu beginnen, benötigen Sie die Erlaubnis, Modellkarten zu erstellen, zu bearbeiten, anzusehen und zu exportieren.

Verwendungszwecke eines Modells

Die Angabe der Verwendungszwecke eines Modells trägt dazu bei, dass Modellentwickler und -benutzer über die Informationen verfügen, die sie benötigen, um das Modell verantwortungsbewusst zu trainieren oder einzusetzen. Die Verwendungszwecke eines Modells sollten die Szenarien beschreiben, in denen das Modell verwendet werden kann, sowie die Szenarien, in denen die Verwendung des Modells nicht empfohlen wird.

Wir empfehlen die Aufnahme von:

  • Der allgemeine Zweck des Modells

  • Anwendungsfälle, für die das Modell vorgesehen war

  • Anwendungsfälle, für die das Modell nicht vorgesehen war

  • Bei der Entwicklung des Modells getroffene Annahmen

Die Verwendungszwecke eines Modells gehen über technische Einzelheiten hinaus und beschreiben, wie ein Modell in der Produktion verwendet werden sollte, in welchen Szenarien ein Modell verwendet werden sollte, und zusätzliche Überlegungen wie die Art der Daten, die mit dem Modell verwendet werden sollen, oder etwaige Annahmen, die bei der Entwicklung getroffen wurden.

Risikoeinstufungen

Entwickler erstellen ML-Modelle für Anwendungsfälle mit unterschiedlichem Risiko. Ein Modell, das Kreditanträge genehmigt, könnte beispielsweise ein Modell mit höherem Risiko sein als ein Modell, das die Kategorie einer E-Mail erkennt. Angesichts der unterschiedlichen Risikoprofile eines Modells bieten Modellkarten ein Feld, in dem Sie die Risikoeinstufung eines Modells kategorisieren können.

Diese Risikobewertung kann unknown, low, medium, oder high lauten. Verwenden Sie diese Risikoeinstufungsfelder, um Modelle mit unbekanntem, geringem, mittlerem oder hohem Risiko zu kennzeichnen und Ihr Unternehmen dabei zu unterstützen, alle bestehenden Regeln für die Produktion bestimmter Modelle einzuhalten.

JSONSchema der Modellkarte

Die Bewertungsdetails für eine Modellkarte müssen in einem JSON Format bereitgestellt werden. Wenn Sie bereits von SageMaker Clarify oder SageMaker Model Monitor generierte Bewertungsberichte im JSON Format haben, laden Sie diese auf Amazon S3 hoch und stellen Sie ein S3 bereitURI, um Bewertungsmetriken automatisch zu analysieren. Weitere Informationen und Beispielberichte finden Sie im Ordner mit Beispielkennzahlen im Beispielnotizbuch Amazon SageMaker Model Governance — Model Cards.

Beim Erstellen einer Modellkarte mit SageMaker Python muss SDK sich der Modellinhalt im JSON Modellkartenschema befinden und als Zeichenfolge bereitgestellt werden. Stellen Sie Modellinhalte wie im folgenden Beispiel gezeigt bereit.

{ "$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 } } }