Sie können Microsoft Azure ML Studio verwenden, um Nutzlast- oder Feedbackdaten zu protokollieren und die Leistungsgenauigkeit, die Erkennung von Laufzeitverzerrungen, die Erklärbarkeit und die Ergebnisse von automatischen Verzerrungen für bereitgestellte Modelle zu messen, wenn Sie Modelle bewerten.
Die folgenden Microsoft Azure Machine Learning Studio-Frameworks werden für Modellauswertungen vollständig unterstützt:
Tabelle 1. Details der Frameworkunterstützung
Framework | Problemtyp | Datentyp |
---|---|---|
Nativ | Klassifikation | Strukturiert |
Nativ | Regression | Strukturiert |
Azure Designer-Container-Instanz-Endpunkte werden für Modellbewertungen unterstützt.
Hinzufügen von Microsoft Azure ML Studio
Sie können Modellauswertungen für die Verwendung mit Microsoft Azure ML Studio konfigurieren, indem Sie eine der folgenden Methoden verwenden:
- Wenn Sie zum ersten Mal einen Machine Learning-Anbieter hinzufügen, können Sie die Konfigurationsschnittstelle verwenden. Weitere Informationen finden Sie im Abschnitt Microsoft Azure ML Studio-Instanz angeben.
- Sie können Ihren Machine-Learning-Provider auch mithilfe des Python-SDK hinzufügen. Diese Methode müssen Sie verwenden, wenn mehrere Provider zur Verfügung stehen sollen. Weitere Informationen zur programmgesteuerten Ausführung finden Sie unter Microsoft Azure Machine Learning-Engine hinzufügen.
Beispielnotebooks
Im folgenden Notebook wird gezeigt, wie Sie mit Microsoft Azure ML Studio arbeiten:
Weiterführende Informationen
Als Web-Service bereitgestelltes Azure Machine Learning-Modell verarbeiten
Microsoft Azure ML Studio-Instanz angeben
Ihr erster Schritt im Watson OpenScale-Tool ist die Angabe einer Microsoft Azure ML Studio-Instanz. In der Azure ML Studio-Instanz werden die KI-Modelle und -Bereitstellungen gespeichert.
Sie können Ihren Machine-Learning-Provider auch mithilfe des Python-SDK hinzufügen. Weitere Informationen finden Sie unter Microsoft Azure Machine Learning-Engine hinzufügen.
Verbindung zu Azure ML Studio-Instanz herstellen
Sie können zur Modellauswertung eine Verbindung mit KI-Modellen und Bereitstellungen in einer Azure ML Studio-Instanz herstellen. Um Ihren Dienst zu verbinden, gehen Sie zur Registerkarte konfigurieren “, fügen Sie einen Anbieter für maschinelles Lernen hinzu und klicken Sie auf das Symbol bearbeiten “. Zusätzlich zu einem Namen und einer Beschreibung sowie dazu, ob es sich bei der Umgebung um eine Vorproduktion oder Produktionhandelt, müssen Sie die folgenden Informationen angeben:
- Client-ID: Der tatsächliche Zeichenfolgewert Ihrer Kunden-ID, mit dem verifiziert wird, wer Sie sind, und der Ihre Aufrufe an Azure Studio authentifiziert sowie autorisiert.
- Geheimer Clientschlüssel: Der tatsächliche Zeichenfolgewert des geheimen Schlüssels, mit dem verifiziert wird, wer Sie sind, und der Ihre Aufrufe an Azure Studio authentifiziert sowie autorisiert.
- Tenant: Ihre Tenant-ID entspricht Ihrem Unternehmen und stellt eine dedizierte Azure AD-Instanz dar. Um die Tenant-ID zu finden, bewegen Sie den Mauszeiger über Ihren Kontonamen, um das Verzeichnis und die Tenant-ID abzurufen, oder wählen Sie Azure Active Directory > Eigenschaften > Verzeichnis-ID im Azure-Portal aus.
- Abonnement-ID: Berechtigungsnachweise für das Abonnement, die Ihr Microsoft Azure-Abonnement eindeutig kennzeichnen. Die Abonnement-ID ist ein Bestandteil der URI für die einzelnen Serviceaufrufe. Anweisungen dazu, wie Sie Ihre Berechtigungsnachweise für Microsoft Azure beziehen, finden Sie in der zugehörigen Dokumentation unter How to: Use the portal to create an Azure AD application and service principal that can access resources.
Nutzdatenprotokollierung mit der Microsoft Azure Studio-Machine Learning-Engine
Microsoft Azure Machine Learning-Engine hinzufügen
Eine IBM watsonx.ai Runtime-Engine ist als Custom gebunden, was bedeutet, dass es sich nur um Metadaten handelt; es gibt keine direkte Integration mit dem IBM watsonx.ai Runtime-Service.
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
Führen Sie den folgenden Befehl aus, um Ihr Serviceabonnement anzuzeigen:
client.service_providers.list()
Microsoft Azure ML Studio-Abonnement hinzufügen
Fügen Sie ein Abonnement hinzu, indem Sie das folgende Codebeispiel anpassen:
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
Führen Sie den folgenden Code aus, um die Abonnementliste abzurufen:
subscription_id = subscription_details.metadata.id
subscription_id
details: wos_client.subscriptions.get(subscription_id).result.to_dict()
Nutzdatenprotokollierung aktivieren
Führen Sie den folgenden Code aus, um die Nutzdatenprotokollierung zu aktivieren:
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
)])
Führen Sie den folgenden Code aus, um die Protokollierungsdetails abzurufen:
subscription.payload_logging.get_details()
Scoring und Nutzdatenprotokollierung
Führen Sie ein Scoring für Ihr Modell durch. Ein vollständiges Beispiel finden Sie in Notebook 'Mit Azure Machine Learning Studio-Engine arbeiten'.
Verwenden Sie den folgenden Code, um die Anforderung und die Antwort in der Tabelle für Nutzdatenprotokollierung zu speichern:
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)
Für andere Sprachen als Python können Sie Nutzdaten auch über eine REST-API protokollieren.
Übergeordnetes Thema: Unterstützte Engines, Frameworks und Modelle für maschinelles Lernen