Si está evaluando modelos de aprendizaje automático o activos de IA generativa, debe enviar transacciones de modelos desde su despliegue para permitir las evaluaciones de modelos.
Para generar continuamente resultados precisos para las evaluaciones de sus modelos, debe seguir enviando nuevos datos desde su implantación.
Envío de transacciones de modelo
Importación de datos
Cuando revise los resultados de la evaluación en el panel de control de Insights, puede utilizar el menú Acciones para importar datos de carga útil y retroalimentación para sus evaluaciones de modelos.
Para los modelos de preproducción, puede importar datos cargando archivos CSV o conectándose a datos almacenados en Cloud Object Storage o una base de datos Db2 .
Si desea cargar datos que ya están puntuados, puede seleccionar el recuadro de selección Test data includes model output
. Cloud Object Storage no vuelve a marcar los datos de prueba cuando selecciona esta opción. Los datos que importe también pueden incluir columnas record_id
/transaction_id
y record_timestamp
que se añaden a las tablas de registro de carga útil y de comentarios cuando se selecciona esta opción.
Para los modelos de producción, puede importar datos cargando archivos CSV o utilizando puntos finales para enviar las transacciones de modelo.
Uso de puntos finales
Para los modelos de producción, se admiten puntos finales que puede utilizar para proporcionar datos en formatos que permitan las evaluaciones. Puede utilizar el punto final de registro de carga útil para enviar solicitudes de puntuación para evaluaciones de equidad y desviación y utilizar el punto final de registro de comentarios para proporcionar datos de comentarios para evaluaciones de calidad. También puede cargar archivos CSV para proporcionar datos para evaluaciones de modelo. Para obtener más información sobre los formatos de datos, consulte Gestión de datos para evaluaciones de modelo.
También se admite un punto final de transacciones degradadas que puede utilizar para revisar los resultados de las evaluaciones de equidad. El punto final de transacciones sin sesgo aplica el sesgo activo en los datos de carga útil para detectar cualquier sesgo en el modelo. Para obtener más información sobre la eliminación del sesgo activa, consulte Revisión de transacciones sin sesgo.
Puede utilizar los siguientes pasos para enviar transacciones de modelos para sus evaluaciones de modelos con puntos finales:
- En la página de configuración del supervisor, seleccione el separador Puntos finales .
- Si desea cargar datos de carga útil con un archivo CSV, pulse Cargar datos de carga útil.
- Si desea cargar datos de comentarios con un archivo CSV, pulse Cargar datos de comentarios.
- En el panel Información de modelo , pulse Puntos finales.
- En el menú Punto final , seleccione el tipo de punto final que desea utilizar.
- En el menú Idioma de código , elija el tipo de fragmento de código que desea utilizar.
- Haga clic en Copiar al portapapeles ' para copiar el fragmento de código y ejecutar el código en su bloc de notas o aplicación.
Registro de datos de carga útil con Python
Cuando se selecciona el punto final de datos de carga útil en el menú Endpoints de Watson OpenScale, se puede utilizar el siguiente fragmento de código para mostrar cómo registrar los datos de carga útil:
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
from ibm_watson_openscale import APIClient
service_credentials = {
"apikey": "$API_KEY",
"url": "{$WOS_URL}"
}
authenticator = IAMAuthenticator(
apikey=service_credentials["apikey"],
url="https://iam.cloud.ibm.com/identity/token"
)
SERVICE_INSTANCE_ID = "{$WOS_SERVICE_INSTANCE_ID}"
wos_client = APIClient(authenticator=authenticator, service_instance_id=SERVICE_INSTANCE_ID, service_url=service_credentials["url"])
from ibm_watson_openscale.data_sets import DataSetTypes, TargetTypes
# Put your subscription ID here
SUBSCRIPTION_ID = "{$SUBSCRIPTION_ID}"
payload_logging_data_set_id = wos_client.data_sets.list(type=DataSetTypes.PAYLOAD_LOGGING, target_target_id=SUBSCRIPTION_ID, target_target_type=TargetTypes.SUBSCRIPTION).result.data_sets[0].metadata.id
from ibm_watson_openscale.supporting_classes.payload_record import PayloadRecord
# Put your data here
REQUEST_DATA = {
"parameters": {
"template_variables": {
"{$TEMPLATE_VARIABLE_1}": "$TEMPLATE_VARIABLE_1_VALUE",
"{$TEMPLATE_VARIABLE_2}": "$TEMPLATE_VARIABLE_2_VALUE"
}
},
"project_id": "$PROJECT_ID"
}
RESPONSE_DATA = {
"results": [
{
"generated_text": "$GENERATED_TEXT"
}
]
}
RESPONSE_TIME = $RESPONSE_TIME
wos_client.data_sets.store_records(data_set_id=payload_logging_data_set_id, request_body=[PayloadRecord(request=REQUEST_DATA, response=RESPONSE_DATA, response_time=RESPONSE_TIME)])
El valor ' "project_id": "$PROJECT_ID"
' especifica que desea registrar datos de carga útil para evaluaciones en proyectos. Para registrar datos de carga útil para evaluaciones en espacios, puede especificar el valor ' "space_id": "$SPACE_ID"
' en su lugar. Puede utilizar la pestaña Gestionar en proyectos y espacios para identificar el ID de proyecto o espacio de su modelo.
Registro de datos de retroalimentación con Python
Al seleccionar el endpoint de datos de feedback en el menú Endpoints de Watson OpenScale, se puede utilizar el siguiente fragmento de código para mostrar cómo registrar los datos de feedback:
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
from ibm_watson_openscale import APIClient
from ibm_watson_openscale.supporting_classes.enums import DataSetTypes, TargetTypes
service_credentials = {
"apikey": "$API_KEY",
"url": "{$WOS_URL}"
}
authenticator = IAMAuthenticator(
apikey=service_credentials["apikey"],
url="https://iam.cloud.ibm.com/identity/token"
)
SERVICE_INSTANCE_ID = "{$WOS_SERVICE_INSTANCE_ID}"
wos_client = APIClient(authenticator=authenticator, service_instance_id=SERVICE_INSTANCE_ID, service_url=service_credentials["url"])
subscription_id = "{$SUBSCRIPTION_ID}"
feedback_dataset_id = wos_client.data_sets.list(type=DataSetTypes.FEEDBACK, target_target_id=subscription_id, target_target_type=TargetTypes.SUBSCRIPTION).result.data_sets[0].metadata.id
fields = [
"{$TEMPLATE_VARIABLE_1}",
"{$TEMPLATE_VARIABLE_2}",
"{$LABEL_COLUMN}",
"_original_prediction"
]
values = [
[
"$TEMPLATE_VARIABLE_1_VALUE",
"$TEMPLATE_VARIABLE_2_VALUE",
"$LABEL_COLUMN_VALUE",
"$GENERATED_TEXT_VALUE"
]
]
wos_client.data_sets.store_records(
data_set_id=feedback_dataset_id,
request_body=[{"fields": fields, "values": values}],
background_mode=False
)
Tema principal: Gestión de datos para la evaluación de modelos