È possibile utilizzare Microsoft Azure ML Studio per registrare i dati di payload o di feedback e per misurare l'accuratezza delle prestazioni, il rilevamento delle distorsioni in fase di esecuzione, la spiegabilità e i risultati di auto-debias per i modelli distribuiti durante la valutazione dei modelli.
I seguenti framework di Microsoft Azure Machine Learning Studio sono pienamente supportati per la valutazione dei modelli:
Tabella 1. Dettagli supporto framework
Framework | Tipo di problema | Tipo di dati |
---|---|---|
Nativo | Classificazione | Structured |
Nativo | Regressione | Structured |
Azure sono supportati per le valutazioni del modello.
Aggiunta di Microsoft Azure ML Studio
È possibile configurare le valutazioni dei modelli per lavorare con Microsoft Azure ML Studio utilizzando uno dei seguenti metodi:
- Per la prima volta che si aggiunge un provider di apprendimento automatico, è possibile utilizzare l'interfaccia di configurazione. Per ulteriori informazioni, vedere Specificare un'istanza di Microsoft Azure ML Studio.
- È anche possibile aggiungere il provider di machine learning utilizzando l'SDK Python. È necessario utilizzare questo metodo se si desidera avere più di un provider. Per ulteriori informazioni sull'esecuzione programmatica di questa operazione, vedere Aggiungere il motore di machine learning Microsoft Azure.
Notebook di esempio
Il seguente notebook mostra come utilizzare Microsoft Azure ML Studio:
Scopri di più
Utilizzare un modello Azure Machine Learning distribuito come servizio web
Specifica di un'istanza di Microsoft Azure ML Studio
Il primo passo nello strumento Watson OpenScale è specificare un'istanza di Microsoft Azure ML Studio. L'istanza di Azure ML Studio è il luogo dove si memorizzano i modelli AI e le distribuzioni.
È anche possibile aggiungere il provider di machine learning utilizzando l'SDK Python. Per ulteriori informazioni, vedi Add your Microsoft Azure machine learning engine.
Connessione dell'istanza di Azure ML Studio
È possibile connettersi ai modelli e alle distribuzioni di intelligenza artificiale in un'istanza di Azure ML Studio per valutare i modelli. Per collegare il servizio, andare alla scheda Configura ', aggiungere un provider di apprendimento automatico e fare clic sull'icona Modifica '. Oltre a un nome e una descrizione e se l'ambiente è una Pre - produzione o una Produzione, è necessario fornire le seguenti informazioni:
- ID client: il valore stringa effettivo dell'ID client, che verifica chi è l'utente e autentica e autorizza le chiamate che si fanno ad Azure Studio.
- Segreto client: il valore stringa effettivo del segreto, che verifica chi è l'utente e autentica e autorizza le chiamate che si fanno ad Azure Studio.
- Tenant: l'ID tenant corrisponde alla propria organizzazione ed è un'istanza dedicata di Azure AD. Per trovare l'ID tenant, passare il mouse sul nome account per ottenere la directory e l'ID tenant oppure selezionare Azure Active Directory > Proprietà> ID directory nel portale Azure .
- ID sottoscrizione: credenziali di sottoscrizione che identificano in modo univoco la sottoscrizione Microsoft Azure . L'ID sottoscrizione forma parte dell'URI per ogni chiamata al servizio. Consultare Come: utilizzare il portale per creare un'applicazione Azure AD e un principal di servizio che possa accedere alle risorse per istruzioni su come ottenere le proprie credenziali Microsoft Azure .
Registrazione del payload con il motore Microsoft Azure Machine Learning Studio
Aggiungere il motore di machine learning Microsoft Azure
Un motore watsonx.ai Runtime IBM IBM è vincolato come Custom, il che significa che si tratta solo di metadati; non vi è alcuna integrazione diretta con il servizio watsonx.ai Runtime IBM 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
Per visualizzare la tua sottoscrizione al servizio, immetti il seguente comando:
client.service_providers.list()
Aggiungi sottoscrizione a Microsoft Azure ML Studio
Aggiungere la sottoscrizione adattando il seguente codice di esempio:
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
Per ottenere l'elenco di sottoscrizioni, utilizzare il seguente codice:
subscription_id = subscription_details.metadata.id
subscription_id
details: wos_client.subscriptions.get(subscription_id).result.to_dict()
Abilitare la registrazione del payload
Per attivare la registrazione del payload, eseguire il seguente codice:
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
)])
Per ottenere i dettagli di registrazione, esegui il seguente comando:
subscription.payload_logging.get_details()
Calcolare il punteggio e registrare il payload
Calcolare il punteggio del modello. Per un esempio completo, consultare Utilizzo di Azure Machine Learning Studio Engine Notebook.
Per memorizzare la richiesta e la risposta nella tabella di registrazione del payload, utilizza il seguente codice:
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)
Per i linguaggi diversi da Python, puoi anche registrare il payload utilizzando un'API REST.
Argomento principale Motori, framework e modelli di machine learning supportati