Vous pouvez utiliser Microsoft Azure ML Studio pour enregistrer les données de charge utile ou de retour d'information, et pour mesurer la précision des performances, la détection des biais d'exécution, l'explicabilité et les résultats de l'autodébit pour les modèles déployés lorsque vous évaluez les modèles.
Les frameworks Microsoft Azure Machine Learning Studio suivants sont entièrement pris en charge pour l'évaluation des modèles :
Tableau 1. Détails des infrastructures prises en charge
Infrastructure | Type de problème | Type de données |
---|---|---|
Natif | Classification | Structurées |
Natif | Régression | Structurées |
Azure Les points d'extrémité des instances de conteneurs de concepteurs sont pris en charge pour les évaluations de modèles.
Ajout de Microsoft Azure ML Studio
Vous pouvez configurer les évaluations de modèles pour qu'elles fonctionnent avec Microsoft Azure ML Studio en utilisant l'une des méthodes suivantes :
- La première fois que vous ajoutez un fournisseur de services d'apprentissage automatique, vous pouvez utiliser l'interface de configuration. Pour plus d'informations, consultez Spécification d'une instance Microsoft Azure ML Studio.
- Vous pouvez également ajouter votre fournisseur d'apprentissage automatique avec le SDK Python. Cette méthode est obligatoire si vous voulez avoir plusieurs fournisseurs. Pour plus d'informations sur l'exécution de ce programme à l'aide d'un programme, voir Ajoutez votre moteur d'apprentissage automatique Microsoft Azure.
Exemples de bloc-notes
Le bloc-notes suivant montre comment utiliser Microsoft Azure ML Studio :
Explorer plus avant
Consume an Azure Machine Learning model that is deployed as a web service
Spécification d'une instance de Microsoft Azure ML Studio
Votre première étape dans l'outil Watson OpenScale consiste à spécifier une instance de Microsoft Azure ML Studio. Votre instance de d'Azure ML Studio est l'endroit où vous stockez vos modèles et déploiements d'IA.
Vous pouvez également ajouter votre fournisseur d'apprentissage automatique avec le SDK Python. Pour plus d'informations, voir Ajoutez votre moteur d'apprentissage automatique Microsoft Azure.
Connectez votre instance d'Azure ML Studio
Vous pouvez vous connecter aux modèles et aux déploiements d'IA dans une instance Azure ML Studio pour évaluer les modèles. Pour connecter votre service, allez dans l'onglet Configurer " , ajoutez un fournisseur d'apprentissage automatique et cliquez sur l'icône Modifier " . En plus d'un nom et d'une description et si l'environnement est en préproduction ou en production, vous devez fournir les informations suivantes :
- ID client : chaîne de votre ID client, qui vérifie qui vous êtes et authentifie et autorise les appels que vous faites à Azure Studio.
- Secret client : chaîne du secret, qui vérifie qui vous êtes et authentifie et autorise les appels que vous faites à Azure Studio.
- Titulaire : votre ID titulaire correspond à votre organisation et est une instance dédiée d'Azure AD. Pour trouver l'ID locataire, survolez votre nom de compte pour obtenir le répertoire et l'ID locataire, ou sélectionnez Azure Active Directory > Propriétés > Directory ID dans le portail Azure.
- ID abonnement : Identifiants d'abonnement qui identifient de manière unique votre abonnement Microsoft Azure. L'ID d'abonnement constitue une partie de l'URI à chaque appel de service. Pour savoir comment obtenir vos données d'identification Microsoft Azure, consultez la page How to: Use the portal to create an Azure AD application and service principal that can access resources.
Journalisation du contenu avec le moteur Microsoft Azure Machine Learning Studio
Ajouter votre moteur d'apprentissage automatique Microsoft Azure
Un moteur watsonx.ai Runtime non IBM est lié en tant que Custom, ce qui signifie qu'il s'agit uniquement de métadonnées ; il n'y a pas d'intégration directe avec le service 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
Pour voir votre abonnement au service, exécutez la commande suivante :
client.service_providers.list()
Ajouter un abonnement Microsoft Azure ML Studio
Ajoutez un abonnement en adaptant l'exemple de code suivant :
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
Pour obtenir la liste des abonnements, exécutez le code suivant :
subscription_id = subscription_details.metadata.id
subscription_id
details: wos_client.subscriptions.get(subscription_id).result.to_dict()
Activer la journalisation du contenu utile
Pour activer la journalisation de contenu, exécutez le code suivant :
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
)])
Pour obtenir les détails de journalisation, exécutez la commande suivante :
subscription.payload_logging.get_details()
Evaluation et journalisation du contenu
Evaluez votre modèle. Pour un exemple complet, consultez le Bloc-notes Working with Azure Machine Learning Studio Engine.
Pour stocker la demande et la réponse dans la table de journalisation de contenu, utilisez le code suivant :
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)
Pour les langages autres que Python, vous pouvez également journaliser le contenu utile en utilisant une API REST.
Rubrique parent : Moteurs d'apprentissage automatiques, infrastructures et modèles pris en charge