Infraestructuras de Microsoft Azure ML Studio
Puede utilizar Microsoft Azure ML Studio para registrar datos de carga útil o de retroalimentación, así como para medir la precisión del rendimiento, la detección de sesgos en tiempo de ejecución, la explicabilidad y los resultados de la eliminación automática de sesgos de los modelos implementados al evaluarlos.
Los siguientes marcos de trabajo 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 | Estructurados |
| Nativa | Regresión | Estructurados |
Azure Se admiten puntos finales de instancias de contenedores personalizados para las evaluaciones de modelos.
Incorporación de Microsoft Azure a ML Studio
Puedes configurar las evaluaciones de modelos para que funcionen con Microsoft Azure ML Studio utilizando uno de los siguientes métodos:
- La primera vez que añadas un proveedor de aprendizaje automático, podrás utilizar la interfaz de configuración. Para obtener más información, consulte «Especificar una instancia de ML Studio de Microsoft Azure ».
- 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 cómo realizar esto mediante programación, consulta «Añadir el motor de aprendizaje automático de Microsoft Azure ».
Cuadernos de ejemplo
El siguiente cuaderno muestra cómo trabajar con ML Studio de Microsoft Azure :
Explorar más
Utilizar un modelo de « Azure Machine Learning » implementado como servicio web
Especificación de una instancia de Microsoft Azure ML Studio
El primer paso en la herramienta « Watson OpenScale » consiste en especificar una instancia de ML Studio de Microsoft Azure. 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, consulta «Añadir el motor de aprendizaje automático de Microsoft Azure ».
Conecte su instancia de Azure ML Studio
Puedes conectarte a modelos de IA y a implementaciones en una instancia de ML Studio de Azure para realizar evaluaciones de modelos. Para conectar tu servicio, ve a la pestaña
«Configurar », añade un proveedor de aprendizaje automático y haz clic en el icono
«Editar ». Además del nombre y la descripción, y de si el entorno es de preproducción o de producción, debes 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.
- Inquilino: el ID de inquilino correspondiente a su organización y que es una instancia dedicada de Azure AD. Para encontrar el ID de cliente, pasa el cursor por encima del nombre de tu cuenta para ver el ID de directorio y el ID de cliente, o selecciona « Azure » (Gestionar > Active Directory ) > «Properties» (Propiedades) > «Directory ID» (ID de directorio) en el portal de Azure.
- ID de suscripción: credenciales de suscripción que identifican de forma única 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 aplicación y un principal de servicio de Active Directory de Azure que puedan acceder a los recursos » para obtener 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ñade tu motor de aprendizaje automático de Microsoft Azure
Un motor que no sea IBM Watson Machine Learning está vinculado como «Personalizado», lo que significa que se trata únicamente de metadatos; no existe una integración directa con el servicio que no sea IBM Watson Machine Learning.
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 tu suscripción al servicio, ejecuta el siguiente comando:
client.service_providers.list()
Añadir suscripción de Microsoft Azure ML Studio
Añade la suscripción adaptando el siguiente ejemplo de código:
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 suscriptores, ejecuta el siguiente código:
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 la carga útil, ejecuta el siguiente código:
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, ejecuta el siguiente comando:
subscription.payload_logging.get_details()
Puntuación y registro de carga útil
Puntúe el modelo. Para ver un ejemplo completo, consulta el cuaderno «Working with a Azure Machine Learning Studio Engine ».
Para almacenar la solicitud y la respuesta en la tabla de registro de carga útil, utiliza 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 idiomas distintos de Python, también puedes registrar la carga útil mediante una API REST.