Puede configurar las evaluaciones del monitor de estado del modelo para ayudarle a comprender su comportamiento y rendimiento. Puede utilizar las métricas de estado del modelo para determinar la eficacia con la que el despliegue del modelo procesa las transacciones.
Las evaluaciones del estado del modelo están activadas por defecto para las evaluaciones de modelos de aprendizaje automático en producción y para todos los tipos de despliegues de activos de IA generativa. Cuando las evaluaciones de estado de modelo están habilitadas, se crea un conjunto de datos de estado de modelo en la despensa de datos para el servicio que utilice. El conjunto de datos de estado del modelo almacena detalles sobre las solicitudes de puntuación que se utilizan para calcular las métricas de estado del modelo.
Para configurar evaluaciones de supervisión de estado de modelo, puede establecer valores de umbral para cada métrica tal como se muestra en el ejemplo siguiente:
Las evaluaciones del estado del modelo para las implantaciones de preproducción y por lotes no son compatibles con las implantaciones de modelos de aprendizaje automático.
Métricas de estado de modelo soportadas
Se admiten las siguientes categorías métricas para las evaluaciones de la salud del modelo. Cada categoría contiene medidas que proporcionan detalles sobre el rendimiento del modelo.
Las evaluaciones del supervisor de estado de modelo dan soporte a las métricas siguientes:
Solicitudes de puntuación
Las evaluaciones del supervisor de salud del modelo calculan el número de solicitudes de puntuación que recibe el despliegue del modelo.
- Modelos compatibles: aprendizaje automático y LLM
Registros
Las evaluaciones del supervisor de estado del modelo calculan el total, el promedio, el mínimo, el máximoy la mediana del número de registros de transacciones que se procesan en las solicitudes de puntuación.
- Modelos compatibles: aprendizaje automático y LLM
Rendimiento y latencia
Las evaluaciones del supervisor de estado de modelo calculan la latencia realizando un seguimiento del tiempo que tarda en procesar las solicitudes de puntuación y los registros de transacción por milisegundo (ms). El rendimiento se calcula realizando un seguimiento del número de solicitudes de puntuación y registros de transacción que se procesan por segundo.
Para calcular el rendimiento y la latencia, el valor response_time
de las solicitudes de puntuación se utiliza para realizar un seguimiento del tiempo que tarda el despliegue del modelo en procesar las solicitudes de puntuación.
Para las implantaciones de watsonx.ai Runtime, el valor ' response_time
' se detecta automáticamente al configurar las evaluaciones.
Para implementaciones externas y personalizadas, debe especificar el valor " response_time
" cuando envíe solicitudes de puntuación para calcular el rendimiento y la latencia, como se muestra en el siguiente ejemplo del SDK dePython:
from ibm_watson_openscale.supporting_classes.payload_record import PayloadRecord
client.data_sets.store_records(
data_set_id=payload_data_set_id,
request_body=[
PayloadRecord(
scoring_id=<uuid>,
request=openscale_input,
response=openscale_output,
response_time=<response_time>,
user_id=<user_id>)
]
)
Las métricas siguientes se calculan para medir la ponderación y la latencia durante las evaluaciones:
- Latencia de API: tiempo que se tarda (en ms) en procesar una solicitud de puntuación por el despliegue del modelo.
- Rendimiento de API: número de solicitudes de puntuación procesadas por el despliegue del modelo por segundo
- Latencia de registro: tiempo que se tarda (en ms) en procesar un registro por el despliegue del modelo
- Rendimiento de registro: número de registros procesados por el despliegue del modelo por segundo
El promedio, el máximo, la mediana y el rendimiento y la latencia mínimos para las solicitudes de puntuación y los registros de transacción se calculan durante las evaluaciones del supervisor de estado del modelo.
- Modelos compatibles: aprendizaje automático y LLM
Tamaño de carga útil
El tamaño de carga útil total, promedio, mínimo, máximoy mediana de los registros de transacción que el despliegue del modelo procesa entre solicitudes de puntuación en kilobytes (KB) se calcula durante las evaluaciones del supervisor de estado del modelo. Las métricas de tamaño de carga útil para modelos de imagen no están soportadas. Las métricas de tamaño de carga útil se calculan sólo para modelos tradicionales.
- Modelos admitidos: aprendizaje automático
Usuarios
Las evaluaciones de supervisión de estado de modelo calculan el número de usuarios que envían solicitudes de puntuación a los despliegues de modelo.
Para calcular el número de usuarios, el user_id
de las solicitudes de puntuación se utiliza para identificar los usuarios que envían las solicitudes de puntuación que recibe el modelo.
Para las implantaciones de watsonx.ai Runtime, el valor ' user_id
' se detecta automáticamente al configurar las evaluaciones.
Para implantaciones externas y personalizadas, debe especificar el valor " user_id
" cuando envíe solicitudes de puntuación para calcular el número de usuarios, como se muestra en el siguiente ejemplo del SDK dePython:
from ibm_watson_openscale.supporting_classes.payload_record import PayloadRecord
client.data_sets.store_records(
data_set_id=payload_data_set_id,
request_body=[
PayloadRecord(
scoring_id=<uuid>,
request=openscale_input,
response=openscale_output,
response_time=<response_time>,
user_id=<user_id>). --> value to be supplied by user
]
)
Cuando revisa un resumen de evaluación para la métrica Usuarios , puede utilizar la vista en tiempo real para ver el número total de usuarios y las vistas agregadas para ver el número promedio de usuarios.
- Modelos compatibles: aprendizaje automático y LLM
Recuentos de señales
Si utiliza Watsonx.governance, las evaluaciones del supervisor de estado del modelo calculan el número de señales que se procesan entre las solicitudes de puntuación para el despliegue del modelo. Esta categoría de métrica solo está soportada para los modelos de base.
Watsonx.governance calcula las métricas siguientes para medir el recuento de señales durante las evaluaciones:
Recuento de señales de entrada: calcula el recuento de señales de entrada total, promedio, mínimo, máximoy mediana entre varias solicitudes de puntuación durante las evaluaciones
Recuento de señales de salida: calcula el recuento de señales de salida total, promedio, mínimo, máximoy mediana entre las solicitudes de puntuación durante las evaluaciones
Modelos compatibles: LLMs
Para calcular métricas de recuento de tokens personalizadas, debe especificar los campos generated_token_count
y input_token_count
cuando envíe solicitudes de puntuación con el SDK dePython para calcular las métricas de recuento de tokens de entrada y salida, como se muestra en el siguiente ejemplo:
request = {
"fields": [
"comment"
],
"values": [
[
"Customer service was friendly and helpful."
]
]
}
response = {
"fields": [
"generated_text",
"generated_token_count",
"input_token_count",
"stop_reason",
"scoring_id",
"response_time"
],
"values": [
[
"1",
2,
73,
"eos_token",
"MRM_7610fb52-b11d-4e20-b1fe-f2b971cae4af-50",
3558
],
[
"0",
3,
62,
"eos_token",
"MRM_7610fb52-b11d-4e20-b1fe-f2b971cae4af-51",
3778
]
]
}
from ibm_watson_openscale.supporting_classes.payload_record import PayloadRecord
client.data_sets.store_records(
data_set_id=payload_data_set_id,
request_body=[
PayloadRecord(
scoring_id=<uuid>,
request=request,
response=response,
response_time=<response_time>,
user_id=<user_id>). --> value to be supplied by user
]
)