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

Detalles del soporte de las infraestructuras
Infraestructura Tipo de problema Tipo de datos
Nativa Clasificación Estructurados
Nativa Regresión Estructurados
Atención: Microsoft Azure Machine Learning Studio (clásico) dejará de estar disponible el 31 de agosto de 2024. Azure La lista de implementaciones y la puntuación de Studio Classic dejarán de funcionar a partir del 31 de agosto de 2024.

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:

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 El icono de la pestaña de configuración «Configurar », añade un proveedor de aprendizaje automático y haz clic en el icono El icono de la pestaña de configuración «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.