Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Para crear una tarjeta de modelo
importante
IAMLas políticas personalizadas que permiten a Amazon SageMaker Studio o Amazon SageMaker Studio Classic crear SageMaker recursos de Amazon también deben conceder permisos para añadir etiquetas a esos recursos. El permiso para añadir etiquetas a los recursos es obligatorio porque Studio y Studio Classic etiquetan automáticamente los recursos que crean. Si una IAM política permite a Studio y Studio Classic crear recursos, pero no permite el etiquetado, se pueden producir errores AccessDenied «» al intentar crear recursos. Para obtener más información, consulte Proporciona permisos para etiquetar SageMaker los recursos.
AWS Políticas gestionadas para Amazon SageMakerque otorgan permisos para crear SageMaker recursos ya incluyen permisos para añadir etiquetas al crear esos recursos.
Puedes crear una tarjeta SageMaker modelo de Amazon utilizando la SageMaker consola o SageMaker PythonSDK. También puede utilizar las API operaciones directamente. Para obtener más información sobre las API operaciones, consulteNivel bajo SageMaker APIs para tarjetas modelo.
Cree una tarjeta modelo mediante la SageMaker consola
Ve a la SageMaker consola de Amazon. En el panel de navegación, en Gobernanza, elija Tarjetas de modelos. En la esquina superior derecha, seleccione Crear tarjeta de modelo.
Siga los cuatro pasos que aparecen en el mensaje de Crear tarjeta de modelo para documentar los detalles de su modelo.
Paso 1: Ingresar los detalles del modelo y el uso previsto
Si su modelo es un AWS recurso, especifique el nombre exacto del modelo en este campo para rellenar automáticamente los detalles del modelo. Para ver los nombres de modelos existentes, consulta Modelos en la SageMaker consola de Amazon. Cada nombre de modelo único solo puede tener una tarjeta de modelo asociada.
Si tu modelo no es un AWS recurso, proporciona un nombre único para tu modelo. Para añadir un modelo como AWS recurso, consulta Crear un modelo en la Guía para SageMaker desarrolladores de Amazon. Como alternativa, puede añadir su modelo como paquete de modelos mediante SageMakerMarketplace o SageMaker Model Registry.
Para obtener más información sobre los usos previstos, consulte Usos previstos de un modelo. Para obtener más información sobre las clasificaciones de riesgo, consulte Clasificaciones de riesgo.
Paso 2: Ingresar detalles de entrenamiento
Agregue los detalles del entrenamiento, las observaciones del entrenamiento, los conjuntos de datos, los hiperparámetros y los detalles sobre la función objetivo del modelo a la tarjeta de modelo.
La función objetivo de una tarjeta de modelo puede ser cualquier función que se optimice durante el entrenamiento. Esto puede incluir, entre otras cosas, funciones de costos, funciones de pérdida o métricas objetivas. En esta sección, documente la función objetivo que es más importante para entrenar su modelo.
Se recomienda catalogar los siguientes atributos de la función objetivo:
-
Dirección de optimización
-
Métrica
-
Descripción
Por ejemplo, puede minimizar (dirección de optimización) la pérdida de entropía cruzada (métrica) para un problema de clasificación binaria (descripción) o maximizar la probabilidad de una regresión logística. Además, puede proporcionar notas sobre por qué eligió esta función objetivo en lugar de otras.
Paso 3: Ingresar los detalles de la evaluación
Si ya tiene informes de evaluación generados por SageMaker Clarify o Model Monitor, proporcione un S3 URI para esos informes o cárguelos manualmente para añadirlos a la tarjeta del modelo.
Para obtener más información sobre SageMaker Clarify, consulte Ejecute SageMaker Clarify Processing Jobs para obtener análisis de sesgos y explicabilidad.
Para obtener más información sobre la supervisión de la desviación en las métricas de calidad del modelo mediante el monitor de modelos, consulte Supervisión de la calidad del modelo.
Para agregar su propio informe de evaluación, elija una Evaluación de tarjeta de modelo genérica. Todos los informes de evaluación de las tarjetas de modelos deben estar en el JSONEsquema de tarjetas modelo.
Paso 4: Ingresar detalles adicionales
Agregue campos de detalles personalizados de la tarjeta de modelo para cualquier información adicional que desee incluir en su tarjeta de modelo. Por ejemplo, puede incluir el campo personalizado Línea de negocio con un valor de Finanzas personales.
Guardar la tarjeta de modelo
Tras revisar la información de la tarjeta de modelo, seleccione Guardar en la esquina inferior derecha para guardar la tarjeta de modelo.
Crea una tarjeta modelo usando SageMaker Python SDK
Antes de crear una tarjeta de modelo, primero debe definir el contenido de la tarjeta de modelo. Cuando se usa SageMaker PythonSDK, el contenido del modelo consiste en una descripción general del modelo, detalles de entrenamiento, usos previstos, detalles de evaluación e información adicional.
Puede crear tarjetas de modelos para:
-
Modelos que se alojan en SageMaker
-
Paquetes de modelos (modelos) dentro del Registro de SageMaker modelos
-
Modelos que están alojados o registrados fuera de SageMaker
También puede crear tarjetas de modelos sin asociarles ningún modelo.
Le recomendamos que añada los modelos que ha entrenado al Registro de SageMaker modelos. El registro de modelos le ayuda a catalogar los modelos y realizar un seguimiento de las versiones de los modelos. Al crear una tarjeta de modelo, la información sobre el modelo del registro de modelos rellena automáticamente la tarjeta de modelo. Puede editar la tarjeta de modelo o agregarle información después de crearla.
Para obtener más información sobre el uso del registro de modelos, consulte Implementación del registro de modelos con Model Registry. Para obtener información sobre la creación de una tarjeta de modelo a partir de un registro de modelos, consulte Cree una tarjeta modelo para su modelo en el Registro de SageMaker modelos.
nota
Para usar tarjetas modelo con SageMaker PythonSDK, primero debe establecer una SageMaker sesión. Para obtener más información, consulte Sesión
Para crear una tarjeta de modelo para modelos que no están en el Registro de SageMaker modelos, consulteCreación de un modelo que no esté en el registro de modelos.
Creación de un modelo que no esté en el registro de modelos
Utilice la información de las siguientes secciones para crear una tarjeta de modelo para un modelo que no haya agregado al registro de modelos.
Paso 1: Definir la descripción general del modelo
Defina una visión general de su modelo.
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"
, )
Si su modelo es un AWS recurso, podrá recuperar automáticamente la información general, como el modeloARN, el contenedor URI de inferencias y la ubicación en S3 de los artefactos del modelo. Imprima los AWS metadatos asociados con los siguientes comandos:
print(model_overview.model_id) print(model_overview.inference_environment.container_image) print(model_overview.model_artifact)
Paso 2: Definir detalles de entrenamiento
Para definir los detalles de entrenamiento de su modelo, primero debe definir su función objetivo.
objective_function = ObjectiveFunction( function=Function( function=ObjectiveFunctionEnum.MINIMIZE, facet=FacetEnum.LOSS, ), notes=
"An-explanation-about-objective-function"
, )
A continuación, puede definir los detalles del entrenamiento utilizando la descripción general, la sesión y la función objetivo del modelo existente. Agregue aquí cualquier observación de entrenamiento.
training_details = TrainingDetails.from_model_overview( model_overview=model_overview, sagemaker_session=sagemaker_session, objective_function=objective_function, training_observations="
Model-training-observations
", )
Una vez más, si tu modelo es un AWS recurso, algunos detalles de entrenamiento se rellenan automáticamente. Imprima el trabajo de entrenamientoARN, el contenedor URI de entrenamiento y las métricas de entrenamiento con los siguientes comandos:
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])
Definir los detalles de la evaluación
Para definir los detalles de la evaluación del modelo, primero debe definir uno o más grupos de métricas para describir las métricas utilizadas en cualquier trabajo de evaluación.
my_metric_group = MetricGroup( name=
"binary classification metrics"
, metric_data=[Metric(name="accuracy"
, type=MetricTypeEnum.NUMBER
, value=0.5
)] )
A continuación, puede definir los detalles de la evaluación mediante métricas de evaluación y conjuntos de datos para cada trabajo de evaluación. Agregue aquí cualquier observación de evaluación y asigne un nombre único a su trabajo de evaluación.
evaluation_details = [ EvaluationJob( name="
Example-evaluation-job
", evaluation_observation="Evaluation-observations"
, datasets=["s3://path/to/evaluation/data
"], metric_groups=[my_metric_group
], ) ]
Si ya tiene informes de evaluación generados por SageMakerClarify o SageMaker Model Monitor, cárguelos en Amazon S3 y proporcione un S3 URI para analizar automáticamente las métricas de evaluación. Para añadir su propio informe de evaluación de tarjeta modelo genérico, proporcione un informe en el JSONformato de resultados de la evaluación.
report_type =
"clarify_bias.json"
example_evaluation_job.add_metric_group_from_json( f"example_metrics/{report_type}", EvaluationMetricTypeEnum.CLARIFY_BIAS )
Paso 3: Definir los usos previstos
Defina los usos previstos del modelo, incluidos el propósito general del modelo y los casos de uso para los que fue diseñado. También se recomienda incluir cualquier factor que pueda afectar a la eficacia de este modelo en un caso de uso concreto y la clasificación de riesgo del modelo por parte de su organización. Para obtener más información, consulte Usos previstos de un modelo y Clasificaciones de riesgo.
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"
, )
Definir información adicional
Por último, puede agregar información personalizada adicional a la tarjeta de modelo. Puede documentar cualquier consideración ética, advertencia y recomendación sobre el modelo. También puede agregar cualquier detalle personalizado que desee en forma de pares clave-valor.
additional_information = AdditionalInformation( ethical_considerations=
"Any-ethical-considerations"
, caveats_and_recommendations="Any-caveats-and-recommendations"
, custom_details={"custom details1"
:"details-value"
}, )
Paso 4: Crear la tarjeta de modelo
Asigne un nombre a su tarjeta modelo, defina una tarjeta modelo y, a continuación, utilice esa definición para crear una tarjeta modelo con SageMaker PythonSDK.
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()
Cree una tarjeta modelo para su modelo en el Registro de SageMaker modelos
Antes de empezar a crear una tarjeta de modelo, asegúrese de haber creado un grupo de paquetes de modelos y un paquete de modelos. Para obtener más información sobre el uso del registro de modelos, consulte Implementación del registro de modelos con Model Registry.
importante
Debe tener permisos para utilizar las operaciones del Registro de SageMaker modelos. Se recomienda utilizar una política AmazonSageMakerModelRegistryFullAccess
AWS gestionada. Para obtener más información sobre la política administrada, consulte AWS Políticas gestionadas para el registro de modelos.
Utilice SageMaker Python SDK para crear una tarjeta de modelo para un paquete de modelos dentro del Registro de SageMaker modelos. Un paquete de modelos es un modelo que ha entrenado. Al crear una tarjeta modelo, Amazon SageMaker Model Cards importa automáticamente los datos del paquete modelo a la tarjeta modelo.
Al crear una tarjeta modelo para un paquete modelo, Amazon SageMaker Model Card utiliza la DescribeModelPackageoperación para añadir los datos del paquete modelo a la tarjeta modelo. Los siguientes son ejemplos de los campos que se pueden importar de un paquete de modelos a una tarjeta de modelo:
Utilice el siguiente código para definir el paquete de modelos y crear una tarjeta de modelo a partir de él:
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()
Para
, especificará el estado de aprobación de la tarjeta de modelo. Si no especificas ningún estado, SageMaker Model Cards utilizará el valor predeterminado destatus
DRAFT
. Si no especifica una SageMaker sesión, SageMaker Model Cards utilizará la SageMaker sesión predeterminada.
Debe especificar un nombre para el modelo y el nombre de recurso de Amazon (ARN) del paquete del modelo. Para obtener información sobre cómo obtener el nombre de recurso de Amazon (ARN) para el paquete modelo, consulteVea y actualice los detalles de una versión del modelo (Boto3).
La tarjeta de modelo que ha creado a partir del paquete de modelos puede que no contenga información o que la información sea inexacta. Puede agregar información a la tarjeta del modelo o editarla. Para obtener más información sobre la administración de tarjetas de modelos, consulte Acciones de las cartas modelo.
SageMaker Model Registry admite el control de versiones de sus paquetes de modelos. Puede versionar su paquete de modelos y crear una tarjeta de modelo para cada versión. La información de las tarjetas de modelos de las versiones anteriores se transfiere a las tarjetas de modelos creadas a partir de versiones posteriores. Por ejemplo, puede tener la versión 1, la versión 2 y la versión 3 de un paquete de modelos. Suponga que ya ha creado una tarjeta de modelo para la versión 1, pero no ha creado ninguna para la versión 2. Si creas una tarjeta modelo para la versión 3, Amazon SageMaker Model Cards transfiere automáticamente la información de la tarjeta modelo de la versión 1 a la tarjeta modelo de la versión 3.
nota
También puede crear tarjetas de modelo para paquetes de modelos que no utilizan el control de versiones. Sin embargo, la mayoría de los flujos de trabajo de machine learning incluyen varias versiones del mismo modelo, por lo que se recomienda hacer lo siguiente:
-
Crear una versión para cada paquete de modelos
-
Crear una tarjeta de modelo para cada versión del paquete de modelos