Puede utilizar Microsoft Azure ML Studio para registrar datos de carga útil o retroalimentación, y para medir la precisión del rendimiento, la detección de sesgos en tiempo de ejecución, la explicabilidad y los resultados de autodebias de los modelos implementados cuando evalúe modelos.
Los siguientes marcos de Microsoft Azure Machine Learning Studio son totalmente compatibles con las evaluaciones de modelos:
Tabla 1. Detalles del soporte de las infraestructuras
Infraestructura | Tipo de problema | Tipo de datos |
---|---|---|
Nativa | Clasificación | Estructurada |
Nativa | Regresión | Estructurada |
Azure para las evaluaciones de modelos.
Añadir Microsoft Azure ML Studio
Puede configurar las evaluaciones de modelos para que funcionen con Microsoft Azure ML Studio mediante uno de los siguientes métodos:
- La primera vez que añada un proveedor de aprendizaje automático, podrá utilizar la interfaz de configuración. Para obtener más información, consulte Especificación de una instancia de Microsoft Azure ML Studio.
- También puede añadir el proveedor de aprendizaje automático utilizando el SDK de Python. Debe utilizar este método si desea tener más de un proveedor. Para obtener más información sobre la realización de este programa, consulte Añadir el motor de aprendizaje automático de Microsoft Azure.
Cuadernos de ejemplo
El siguiente cuaderno muestra cómo trabajar con Microsoft Azure ML Studio:
Explorar más
Consumir un modelo de Azure Machine Learning que se ha desplegado como un servicio web
Especificación de una instancia de Microsoft Azure ML Studio
El primer paso en la herramienta de Watson OpenScale es especificar una instancia de Microsoft Azure ML Studio. La instancia de Azure ML Studio es dónde se almacenan los modelos y despliegues de inteligencia artificial.
También puede añadir el proveedor de aprendizaje automático utilizando el SDK de Python. Para obtener más información, consulte Añada el motor de aprendizaje automático de Microsoft Azure.
Conecte su instancia de Azure ML Studio
Puede conectarse a modelos y despliegues de IA en una instancia de Azure ML Studio para evaluaciones de modelos. Para conectar su servicio, vaya a la pestaña Configurar ' , añada un proveedor de aprendizaje automático y haga clic en el icono Editar ' . Además de un nombre y una descripción y si el entorno es Preproducción o Producción, debe proporcionar la siguiente información:
- ID de cliente: El valor de serie real del ID de cliente, que verifica quién es y autentica y autoriza las llamadas que realiza a Azure Studio.
- Secreto de cliente: El valor de serie real del secreto, que verifica quién es y autentica y autoriza las llamadas que realiza a Azure Studio.
- Arrendatario: El ID de arrendatarioo correspondiente a su organización y que es una instancia dedicada de Azure AD. Para buscar el ID de arrendatario, pase el puntero del ratón sobre el nombre de la cuenta para obtener el directorio y el ID de arrendatario, o seleccione Azure Active Directory > Propiedades > ID de directorio en el portal de Azure.
- ID de suscripción: Credenciales de suscripción que identifican de forma exclusiva su suscripción a Microsoft Azure. El IDforms de suscripción forma parte del URI para cada llamada de servicio. Consulte Cómo utilizar el portal para crear una entidad de servicio y una aplicación de Azure AD que puedan acceder a recursos para ver instrucciones sobre cómo obtener sus credenciales de Microsoft Azure.
Registro de carga útil con el motor de aprendizaje automático de Microsoft Azure
Añadir su motor de aprendizaje automático de Microsoft Azure
A non-IBM watsonx.ai Runtime engine is bound as Custom, meaning that this is just metadata; there is no direct integration with the non-IBM watsonx.ai Runtime service.
AZURE_ENGINE_CREDENTIALS = {
"client_id": "",
"client_secret": "",
"subscription_id": "",
"tenant": ""
}
wos_client.service_providers.add(
name=SERVICE_PROVIDER_NAME,
description=SERVICE_PROVIDER_DESCRIPTION,
service_type=ServiceTypes.AZURE_MACHINE_LEARNING,
#deployment_space_id = WML_SPACE_ID,
#operational_space_id = "production",
credentials=AzureCredentials(
subscription_id= AZURE_ENGINE_CREDENTIALS['subscription_id'],
client_id = AZURE_ENGINE_CREDENTIALS['client_id'],
client_secret= AZURE_ENGINE_CREDENTIALS['client_secret'],
tenant = AZURE_ENGINE_CREDENTIALS['tenant']
),
background_mode=False
).result
Para ver la suscripción de servicio, ejecute el mandato siguiente:
client.service_providers.list()
Añadir suscripción de Microsoft Azure ML Studio
Añada la suscripción adaptando el ejemplo de código siguiente:
asset_deployment_details = wos_client.service_providers.list_assets(data_mart_id=data_mart_id, service_provider_id=service_provider_id).result
asset_deployment_details
deployment_id=''
for model_asset_details in asset_deployment_details['resources']:
if model_asset_details['metadata']['guid']==deployment_id:
break
azure_asset = Asset(
asset_id=model_asset_details["entity"]["asset"]["asset_id"],
name=model_asset_details["entity"]["asset"]["name"],
url=model_asset_details["entity"]["asset"]["url"],
asset_type=model_asset_details['entity']['asset']['asset_type'] if 'asset_type' in model_asset_details['entity']['asset'] else 'model',
input_data_type=InputDataType.STRUCTURED,
problem_type=ProblemType.BINARY_CLASSIFICATION
)
deployment_scoring_endpoint = model_asset_details['entity']['scoring_endpoint']
scoring_endpoint = ScoringEndpointRequest(url = model_asset_details['entity']['scoring_endpoint']['url'],request_headers = model_asset_details['entity']['scoring_endpoint']['request_headers'],
credentials = None)
deployment = AssetDeploymentRequest(
deployment_id=model_asset_details['metadata']['guid'],
url=model_asset_details['metadata']['url'],
name=model_asset_details['entity']['name'],
description=model_asset_details['entity']['description'],
deployment_type=model_asset_details['entity']['type'],
scoring_endpoint = scoring_endpoint
)
asset_properties = AssetPropertiesRequest(
label_column="Risk ",
prediction_field='Scored Labels',
probability_fields=['Scored Probabilities'],
training_data_reference=training_data_reference,
training_data_schema=None,
input_data_schema=None,
output_data_schema=None,
)
subscription_details = wos_client.subscriptions.add(
data_mart_id=data_mart_id,
service_provider_id=service_provider_id,
asset=azure_asset,
deployment=deployment,
asset_properties=asset_properties,
background_mode=False
).result
Para obtener la lista de suscripciones, ejecute el código siguiente:
subscription_id = subscription_details.metadata.id
subscription_id
details: wos_client.subscriptions.get(subscription_id).result.to_dict()
Habilitar registro de carga útil
Para habilitar el registro de carga útil, ejecute el código siguiente:
payload_data_set_id = None
payload_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
payload store:
wos_client.data_sets.store_records(data_set_id=payload_data_set_id, request_body=[PayloadRecord(
scoring_id=str(uuid.uuid4()),
request=request_data,
response=response_data,
response_time=460
)])
Para obtener los detalles del registro, ejecute el mandato siguiente:
subscription.payload_logging.get_details()
Puntuación y registro de carga útil
Puntúe el modelo. Para ver un ejemplo completo, consulte el cuaderno Trabajar con Azure Machine Learning Studio Engine.
Para almacenar la solicitud y la respuesta en la tabla de registro de carga útil, utilice el siguiente código:
records_list = [PayloadRecord(request=request_data, response=response_data, response_time=response_time),
PayloadRecord(request=request_data, response=response_data, response_time=response_time)]
for i in range(1, 10):
records_list.append(PayloadRecord(request=request_data, response=response_data, response_time=response_time))
subscription.payload_logging.store(records=records_list)
Para los idiomas distintos de Python, también puede registrar la carga útil utilizando una API REST.
Tema principal: Motores, infraestructuras y modelos de aprendizaje automático soportados