0 / 0
Volver a la versión inglesa de la documentación
Creación de evaluaciones y métricas personalizadas
Última actualización: 22 nov 2024
Creación de evaluaciones y métricas personalizadas

Para crear evaluaciones personalizadas, seleccione un conjunto de métricas personalizadas para realizar un seguimiento cuantitativo del despliegue del modelo y de la aplicación empresarial. Puede definir estas métricas personalizadas y utilizarlas junto con las métricas generadas por otros tipos de evaluaciones.

Puede utilizar uno de los métodos siguientes para gestionar evaluaciones y métricas personalizadas:

Gestión de métricas personalizadas con el SDK de Python

Para gestionar métricas personalizadas con el SDK de Python , debe realizar las tareas siguientes:

  1. Registrar el supervisor personalizado con la definición de métricas.
  2. Habilitar el supervisor personalizado.
  3. Almacenar valores de métrica.

La siguiente guía de aprendizaje avanzada muestra cómo hacerlo:

Puede inhabilitar y habilitar de nuevo la supervisión personalizada en cualquier momento. Puede eliminar el supervisor personalizado si ya no lo necesita.

Para obtener más información, consulte la documentación del SDK de Python.

Paso 1: Registrar el supervisor personalizado con la definición de métricas.

Para poder empezar utilizando métricas personalizadas, debe registrar el supervisor personalizado, que es el procesador que realiza el seguimiento de las métricas. También debe definir las propias métricas.

  1. Utilice el método get_definition(monitor_name) para importar los objetos Metric y Tag.
  2. Utilice el método metrics para definir las métricas, que requieren los valores name, thresholdsy type.
  3. Utilice el método tags para definir los metadatos.

El código siguiente procede del cuaderno de ejemplo de trabajo que se ha mencionado anteriormente:

def get_definition(monitor_name):
    monitor_definitions = wos_client.monitor_definitions.list().result.monitor_definitions
   
    for definition in monitor_definitions:
        if monitor_name == definition.entity.name:
            return definition
   
    return None
 
 
monitor_name = 'my model performance'
metrics = [MonitorMetricRequest(name='sensitivity',
                                thresholds=[MetricThreshold(type=MetricThresholdTypes.LOWER_LIMIT, default=0.8)]),
          MonitorMetricRequest(name='specificity',
                                thresholds=[MetricThreshold(type=MetricThresholdTypes.LOWER_LIMIT, default=0.75)])]
tags = [MonitorTagRequest(name='region', description='customer geographical region')]
 
existing_definition = get_definition(monitor_name)
 
if existing_definition is None:
    custom_monitor_details = wos_client.monitor_definitions.add(name=monitor_name, metrics=metrics, tags=tags, background_mode=False).result
else:
    custom_monitor_details = existing_definition

Para comprobar cómo lo está haciendo, ejecute el mandato client.data_mart.monitors.list() para ver si el supervisor y las métricas que acaba de crear se han configurado correctamente.

También puede obtener el ID de supervisor ejecutando el mandato siguiente:

custom_monitor_id = custom_monitor_details.metadata.id
 
print(custom_monitor_id)

Para examinar con más detalle, ejecute el mandato siguiente:

custom_monitor_details = wos_client.monitor_definitions.get(monitor_definition_id=custom_monitor_id).result
print('Monitor definition details:', custom_monitor_details)

Paso 2: Habilitar el supervisor personalizado.

A continuación, debe habilitar el supervisor personalizado para la suscripción. Así se activa el supervisor y se establecen los umbrales.

  1. Utilice el método target para importar el objeto Threshold.
  2. Utilice el método thresholds para establecer el valor de la métrica lower_limit. Proporcione el valor metric_id como uno de los parámetros. Si no lo recuerda, siempre puede utilizar el mandato custom_monitor_details para obtener los detalles tal como se muestra en el ejemplo anterior.

El código siguiente procede del cuaderno de ejemplo de trabajo que se ha mencionado anteriormente:

target = Target(
        target_type=TargetTypes.SUBSCRIPTION,
        target_id=subscription_id
    )
 
thresholds = [MetricThresholdOverride(metric_id='sensitivity', type = MetricThresholdTypes.LOWER_LIMIT, value=0.9)]
 
custom_monitor_instance_details = wos_client.monitor_instances.create(
            data_mart_id=data_mart_id,
            background_mode=False,
            monitor_definition_id=custom_monitor_id,
            target=target
).result

Para comprobar los detalles de la configuración, utilice el mandato subscription.monitoring.get_details(monitor_uid=monitor_uid).

Paso 3: Almacenar valores de métrica.

Debe almacenar, o guardar, sus métricas personalizadas en la región donde existe su instancia de servicio.

  1. Utilice el método metrics para establecer qué métricas está almacenando.
  2. Utilice el método subscription.monitoring.store_metrics para confirmar las métricas.

El código siguiente procede del cuaderno de ejemplo de trabajo que se ha mencionado anteriormente:

from datetime import datetime, timezone, timedelta
from ibm_watson_openscale.base_classes.watson_open_scale_v2 import MonitorMeasurementRequest
custom_monitoring_run_id = "11122223333111abc"
measurement_request = [MonitorMeasurementRequest(timestamp=datetime.now(timezone.utc),
                                                 metrics=[{"specificity": 0.78, "sensitivity": 0.67, "region": "us-south"}], run_id=custom_monitoring_run_id)]
print(measurement_request[0])
 
published_measurement_response = wos_client.monitor_instances.measurements.add(
    monitor_instance_id=custom_monitor_instance_id,
    monitor_measurement_request=measurement_request).result
published_measurement_id = published_measurement_response[0]["measurement_id"]
print(published_measurement_response)

Para listar todos los supervisores personalizados, ejecute el mandato siguiente:

published_measurement = wos_client.monitor_instances.measurements.get(monitor_instance_id=custom_monitor_instance_id, measurement_id=published_measurement_id).result
print(published_measurement)

Gestión de métricas personalizadas con watsonx.governance

Paso 1: Añadir grupos de métricas

  1. En el separador Configurar , pulse Añadir grupo de métricas.
  2. Si desea configurar un grupo de métricas manualmente, pulse Configurar nuevo grupo.
    a. Especifique un nombre y una descripción para el grupo de métricas.
    La longitud del nombre que especifique debe ser menor o igual que 48 caracteres.
    b. Pulse el icono Editar en el mosaico Parámetros de entrada y especifique los detalles de los parámetros de entrada.
    El nombre de parámetro que especifique debe coincidir con el nombre de parámetro especificado en la API de métrica.
    c. Si el parámetro es necesario para configurar el supervisor personalizado, seleccione el recuadro de selección Parámetro necesario .
    d. Pulse Añadir.
    Después de añadir los parámetros de entrada, pulse Siguiente.
    e. Seleccione los tipos de modelo a los que da soporte la evaluación y pulse Siguiente.
    f. Si no desea especificar una planificación de evaluación, pulse Guardar.
    g. Si desea especificar una planificación de evaluación, pulse el conmutador.
    Debe especificar el intervalo para la planificación de evaluación y pulsar Guardar. h. Pulse Añadir métrica y especifique los detalles de la métrica.
    Haga clic en Guardar.
  3. Si desea configurar un grupo de métricas utilizando un archivo JSON, pulse Importar desde archivo.
    Cargue un archivo JSON y pulse Importar.

Paso 2: Añadir puntos finales de métrica

  1. En la sección Puntos finales de métrica , pulse Añadir punto final de métrica.
  2. Especifique un nombre y una descripción para el punto final de métrica.
  3. Pulse el icono Editar en el mosaico Conexión y especifique los detalles de conexión.
    Pulse Siguiente.
  4. Seleccione los grupos de métricas que desea asociar con el punto final de métrica y pulse Guardar.

Paso 3: Configurar supervisores personalizados

  1. En la página Panel de instrumentos de Insights , seleccione Configurar supervisores en un mosaico de despliegue de modelo.
  2. En la sección Evaluaciones , seleccione el nombre del grupo de métricas que ha añadido.
  3. Seleccione el icono Editar en el mosaico Punto final de métrica .
  4. Seleccione un punto final de métrica y pulse Siguiente.
    Si no desea utilizar un punto final de métrica, seleccione Ninguno.
  5. Utilice los conmutadores para especificar las métricas que desea utilizar para evaluar el modelo y proporcionar valores de umbral.
    Pulse Siguiente.
  6. Especifique valores para los parámetros de entrada. Si ha seleccionado JSON como tipo de datos para el grupo de métricas, añada los datos JSON.
    Pulse Siguiente.

Ahora puede evaluar modelos con un supervisor personalizado.

Acceder y visualizar métricas personalizadas

Para acceder y visualizar métricas personalizadas, puede utilizar la interfaz programática. La siguiente guía de aprendizaje avanzada muestra cómo hacerlo:

La visualización de sus métricas personalizadas aparece en el panel de control de Insights.

Más información

Revisión de los resultados de la evaluación

Tema padre: Configuración de evaluaciones de modelo