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
- Gestión de métricas personalizadas con el proveedor de métricas personalizadas y Python el SDK
- Gestión de métricas personalizadas con el proveedor de métricas personalizadas y la interfaz de usuario
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:
- Registre el monitor personalizado con la definición de métricas.
- Habilita el monitor personalizado.
- Almacenar valores de métrica.
La siguiente guía de aprendizaje avanzada muestra cómo hacerlo:
Puede desactivar y volver a activar la supervisión personalizada en cualquier momento. Puede eliminar el monitor personalizado si ya no lo necesita.
Para obtener más información, consulte la documentación del SDK de Python.
Registrar el monitor 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.
- Utilice el método
get_definition(monitor_name)para importar los objetosMetricyTag. - Utilice el método
metricspara definir las métricas, que requieren los valoresname,thresholdsytype. - Utilice el método
tagspara 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)
Habilitar el monitor personalizado
A continuación, debe habilitar el supervisor personalizado para la suscripción. Así se activa el supervisor y se establecen los umbrales.
- Utilice el método
targetpara importar el objetoThreshold. - Utilice el método
thresholdspara establecer el valor de la métricalower_limit. Proporcione el valormetric_idcomo uno de los parámetros. Si no lo recuerda, siempre puede utilizar el mandatocustom_monitor_detailspara 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).
Almacenar valores métricos
Debe almacenar, o guardar, sus métricas personalizadas en la región donde existe su instancia de servicio.
- Utilice el método
metricspara establecer qué métricas está almacenando. - Utilice el método
subscription.monitoring.store_metricspara 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 el proveedor de métricas personalizadas y Python el SDK
Para gestionar métricas personalizadas con el SDK de Python , debe realizar las tareas siguientes:
Crear el proveedor de métricas personalizadas
Defina los detalles del punto final del proveedor de métricas personalizadas con la información de autenticación. OpenScale Genera el token e invoca el punto final REST con el token durante el tiempo de ejecución
El siguiente código procede del cuaderno de ejemplos de trabajo
wos_client.integrated_systems.add(name="Custom Metrics Provider",
description="Custom Metrics Provider", type="custom_metrics_provider",
credentials= {
"auth_type":"bearer",
"token_info": {
"url": IAM_URL,
"headers": { "Content-type": "application/x-www-form-urlencoded" }
"payload": "grant_type=urn:ibm:params:oauth:grant-type:apikey&response_type=cloud_iam&apikey=<api_key>”,
"method": "POST"
}
},
connection={
"display_name": "Custom Metrics Provider",
"endpoint": rest_endpoint_url
}
).result
Gestión de métricas personalizadas con el proveedor de métricas personalizadas y la interfaz de usuario
Realice los pasos siguientes:
Añadir grupos métricos
- En la página de inicio, haga clic en Configurar y, a continuación, haga clic en Grupos de métricas.
- Haga clic en Añadir grupo de métricas.
- Para configurar un grupo de métricas mediante un archivo JSON, haga clic en Importar desde archivo. Sube un archivo JSON y haz clic en Importar.
- Para configurar un grupo de métricas manualmente, haga clic en Configurar nuevo grupo.
- Escriba un nombre para el grupo de métricas y haga clic en Aplicar. El nombre debe tener menos de 48 caracteres.
- Haga clic en el icono Editar en los tipos de modelo compatibles y seleccione uno o varios tipos de modelo que su evaluación admita. Pulse Siguiente.
- Para especificar una programación de evaluación, haga clic en el botón de alternancia y especifique el intervalo. Pulse Siguiente.
- Especifique los detalles de los parámetros de entrada. Para cada parámetro de entrada, introduzca los detalles y, a continuación, haga clic en Añadir. El nombre del parámetro que especifique debe coincidir con el nombre del parámetro especificado en la API de métricas. Si se requiere un parámetro para configurar su monitor personalizado, seleccione la casilla de verificación Parámetro obligatorio.
- Pulse Guardar.
Añadir puntos finales métricos
En la página de inicio, haga clic en Configurar y, a continuación, haga clic en Puntos finales métricos.
Haga clic en Añadir punto final métrico.
Especifique un nombre y una descripción para el punto final de métrica.
Pulse el icono Editar en el mosaico Conexión y especifique los detalles de conexión. Pulse Siguiente.
Seleccione los grupos de métricas que desea asociar al punto final de métricas y haga clic en Guardar.
Si habilita la compatibilidad con lotes, cuando especifique un punto final de tiempo de ejecución URL watsonx.ai personalizado, puede añadir los siguientes parámetros de entrada a un grupo de métricas:
| Parámetro | Tipo de datos | Valor |
|---|---|---|
| tipo_de_proveedor_de_métricas_personalizadas | Serie | wml_lote |
| space_id | Serie | Tu ID de espacio |
| id_de_implementación | Serie | watsonx.ai ID de implementación en tiempo de ejecución de su punto final de métricas personalizadas |
| id_especificación_hardware | Serie | watsonx.ai ID de especificaciones de hardware en tiempo de ejecución de su punto final de métricas personalizado |
| tiempo_de_espera_de_métricas_personalizadas | Int | tiempo en segundos (por ejemplo: 60) |
Configurar monitores personalizados
- En la página de inicio, haz clic en Panel de información.
- En un mosaico de implementación de modelo, seleccione Configurar monitores.
- En la sección Evaluaciones , seleccione el nombre del grupo de métricas que ha añadido.
- Seleccione el icono Editar en el mosaico Punto final de métrica .
- Seleccione un punto final de métrica y pulse Siguiente. Si no desea utilizar un punto final métrico, seleccione Ninguno.
- Utilice los conmutadores para especificar las métricas que desea utilizar para evaluar el modelo y proporcionar valores de umbral. Pulse Siguiente.
- 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
La visualización de sus métricas personalizadas aparece en el panel de control de Insights.
