Estruturas Microsoft Azure ML Studio

Você pode usar o Microsoft Azure ML Studio para registrar dados de carga útil ou de feedback e para medir a precisão do desempenho, a detecção de viés em tempo de execução, a capacidade de explicação e os resultados de deduções automáticas para modelos implantados ao avaliar modelos.

As seguintes estruturas do Microsoft Azure Machine Learning Studio são totalmente compatíveis para avaliações de modelos:

Tabela 1. Detalhes do suporte da estrutura

Detalhes do suporte da estrutura
Estrutura Tipo de problema Tipo de dados
Native Classificação Estruturado
Native Regressão Estruturado
Atenção: O Microsoft Azure Machine Learning Studio (clássico) será descontinuado em 31 de agosto de 2024. Azure A listagem e a pontuação de implantações clássicas do Studio deixarão de funcionar após 31 de agosto de 2024.

Azure são compatíveis com as avaliações de modelo.

Adição do Microsoft Azure ML Studio

Você pode configurar avaliações de modelos para trabalhar com o Microsoft Azure ML Studio usando um dos seguintes métodos:

Blocos de notas de amostra

O Bloco de Notas a seguir mostra como trabalhar com o Microsoft Azure ML Studio:

Explorar mais

Consumir um modelo Azure Machine Learning que é implementado como um serviço da web

Especificando uma instância do Microsoft Azure ML Studio

A sua primeira etapa na ferramenta Watson OpenScale é especificar uma instância do Microsoft Azure ML Studio. Sua instância do Azure ML Studio é onde você armazena seus modelos de IA e implementações.

Também é possível incluir seu provedor de aprendizado de máquina usando o Python SDK. Para obter informações adicionais, consulte Incluir seu mecanismo de aprendizado de máquina Microsoft Azure.

Conecte sua instância do Azure ML Studio

Você pode se conectar a modelos e implantações de IA em uma instância Azure ML Studio para avaliações de modelos. Para conectar seu serviço, vá para a guia Configurar " O ícone da guia de configuração, adicione um provedor de aprendizado de máquina e clique no ícone Editar " O ícone da guia de configuração. Além de um nome e descrição e se o ambiente é um Pré-produção ou Produção, deve-se fornecer as informações a seguir:

  • ID do cliente: o valor de sequência real de seu ID do cliente, que verifica quem você é e autentica e autoriza chamadas que você faz para o Azure Studio.
  • Segredo do cliente: o valor real da sequência do segredo, que verifica quem você é e autentica e autoriza chamadas que você faz para o Azure Studio.
  • Locatário: o seu ID do locatário corresponde à sua organização e é uma instância dedicada do Azure AD. Para localizar o ID do locatário, passe o cursor do mouse sobre seu nome da conta para obter o diretório e o ID do locatário, ou selecione Azure Active Directory > Propriedades > ID do diretório no portal Azure.
  • ID da assinatura: credenciais de assinatura que identificam com exclusividade a sua assinatura do Microsoft Azure. O ID da assinatura faz parte do URI para cada chamada de serviço. Consulte Como usar o portal para criar um aplicativo do Azure AD e uma entidade de serviço que possa acessar recursos para obter instruções sobre como obter as suas credenciais do Microsoft Azure.

Criação de log de carga útil com o mecanismo Microsoft Azure Machine Learning Studio

Inclua seu mecanismo de aprendizado de máquina Microsoft Azure

Um mecanismo de Runtime watsonx.ai que IBM seja da IBM é vinculado como Personalizado, o que significa que se trata apenas de metadados; não há integração direta com o serviço de Runtime watsonx.ai IBM não seja da IBM.

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 a sua assinatura de serviço, execute o comando a seguir:

client.service_providers.list()

Incluir assinatura do Microsoft Azure ML Studio

Inclua a assinatura adaptando a amostra de código a seguir:

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 obter a lista de assinaturas, execute o código a seguir:

subscription_id = subscription_details.metadata.id
subscription_id
 
details: wos_client.subscriptions.get(subscription_id).result.to_dict()

Ativar a criação de log de carga útil

Para ativar a criação de log de carga útil, execute o código a seguir:

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 obter os detalhes da criação de log, execute o comando a seguir:

subscription.payload_logging.get_details()

Pontuação e criação de log de carga útil

Pontue o seu modelo. Para obter um exemplo completo, consulte Trabalhando com o bloco de notas do mecanismo Azure Machine Learning Studio.

Para armazenar a solicitação e a resposta na tabela de criação de log de carga útil, use o código a seguir:

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 linguagens diferentes de Python, também é possível registrar a carga útil usando uma API de REST.