Aktualisieren von Azure Machine Learning Studio (Classic)-Modellen mithilfe der Aktivität „Ressource aktualisieren“
GILT FÜR: Azure Data Factory Azure Synapse Analytics
Tipp
Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!
Wichtig
Der Support für Azure Machine Learning-Studio (klassisch) wird am 31. August 2024 enden. Wir empfehlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.
Ab dem 1. Dezember 2021 können Sie in Machine Learning-Studio (klassisch) keine neuen Ressourcen mehr erstellen (Arbeitsbereichs- und Webdienstplan). Sie können bereits vorhandene Experimente und Webdienste in Machine Learning-Studio (klassisch) noch bis zum 31. August 2024 weiterverwenden. Weitere Informationen finden Sie unter:
- Migrieren zu Azure Machine Learning von Machine Learning-Studio (klassisch)
- Was ist Azure Machine Learning?
Die Dokumentation zu Machine Learning-Studio (klassisch) wird eingestellt und möglicherweise in der Zukunft nicht mehr aktualisiert.
Hinweis
Da Machine Learning Studio (Classic)-Ressourcen nach dem 1. Dezember 2021 nicht mehr erstellt werden können, wird Benutzer*innen empfohlen, Azure Machine Learning mit der Machine Learning Execute Pipeline-Aktivität zu verwenden, anstatt die Aktivität „Ressource aktualisieren“ zum Aktualisieren von Machine Learning Studio (Classic)-Modellen zu nutzen.
Dieser Abschnitt ergänzt den Hauptabschnitt zur Integration von Azure Machine Learning Studio (klassisch): Erstellen von Vorhersage-Pipelines mit Azure Machine Learning Studio (klassich). Wenn Sie dies noch nicht getan haben, lesen Sie zunächst den Hauptartikel, bevor Sie diesen Artikel lesen.
Übersicht
Im Rahmen des Operationalisierungsprozesses von klassischen Machine-Learning-Studio-Modellen wird Ihr Modell trainiert und gespeichert. Anschließend kann es dann zum Erstellen eines Vorhersagewebdiensts verwendet werden. Dieser Webdienst kann von Websites, Dashboards und mobilen Apps genutzt werden.
Mithilfe des klassischen Machine-Learning-Studios (Classic) erstellte Modelle sind in der Regel nicht statisch. Wenn neue Daten verfügbar sind oder der Endkunde der API über eigene Daten verfügt, muss das Modell erneut trainiert werden.
Das erneute Training kann häufig durchgeführt werden. Mit der Aktivität „Batch-Ausführung“ und der Aktivität „Ressource aktualisieren“ können Sie das klassiche Azure Machine-Learning-Studio-Modell neu trainieren und den Vorhersage-Webdienst aktualisieren.
Die folgende Abbildung zeigt die Beziehung zwischen Trainings- und Vorhersagewebdiensten.
Update Resource-Aktivität für Machine Learning Studio (klassisch)
Der folgende JSON-Codeausschnitt definiert eine Batchausführungsaktivität des klassischen Machine-Learning-Studios.
{
"name": "amlUpdateResource",
"type": "AzureMLUpdateResource",
"description": "description",
"linkedServiceName": {
"type": "LinkedServiceReference",
"referenceName": "updatableScoringEndpoint2"
},
"typeProperties": {
"trainedModelName": "ModelName",
"trainedModelLinkedServiceName": {
"type": "LinkedServiceReference",
"referenceName": "StorageLinkedService"
},
"trainedModelFilePath": "ilearner file path"
}
}
Eigenschaft | Beschreibung | Erforderlich |
---|---|---|
name | Name der Aktivität in der Pipeline | Ja |
description | Ein Text, der beschreibt, was mit der Aktivität ausgeführt wird. | Nein |
type | Der Aktivitätstyp der Aktivität „Ressource aktualisieren“ für Azure Machine Learning Studio (Classic) lautet AzureMLUpdateResource. | Ja |
linkedServiceName | Ein mit dem klassischen Machine Learning Studio verknüpfter Dienst, der die Eigenschaft „updateResourceEndpoint“ enthält. | Ja |
trainedModelName | Name des „Trained Model“-Moduls im Webdienstexperiment an, das aktualisiert werden soll | Ja |
trainedModelLinkedServiceName | Name des mit Azure Storage verknüpften Diensts, der die „ilearner“-Datei enthält, die vom Aktualisierungsvorgang hochgeladen wird | Ja |
trainedModelFilePath | Der relative Dateipfad in „trainedModelLinkedService“, der die „ilearner“-Datei darstellt, die beim Aktualisierungsvorgang hochgeladen wird | Ja |
Kompletter Workflow
Der gesamte Prozess der Operationalisierung des erneuten Trainierens eines Modells und Aktualisieren der Vorhersagewebdienste umfasst die folgenden Schritte:
- Rufen Sie mithilfe der Batchausführungsaktivität den Trainingswebdienst auf. Der Aufruf eines Trainings-Webdienstes entspricht dem Aufruf eines Vorhersage-Webdienstes, der in Erstellen von Vorhersage-Pipelines mit Azure Machine Learning Studio (klassisch) und der Aktivität Batch-Ausführung beschrieben wird. Die Ausgabe des Trainingswebdiensts ist eine „iLearner“-Datei, die Sie zum Aktualisieren des Vorhersagewebdiensts verwenden können.
- Rufen Sie mithilfe der Ressourcenaktualisierungsaktivität den Ressourcenaktualisierungsendpunkt des Vorhersagewebdiensts auf, um den Webdienst mit dem neu trainierten Modell zu aktualisieren.
Verknüpfter Machine-Learning-Studio-Dienst (klassisch)
Damit der zuvor erwähnte End-to-End-Workflow funktioniert, müssen Sie zwei mit dem klassischen Machine Learning Studio verknüpfte Dienste erstellen:
- Ein mit dem klassischen Machine Learning Studio verknüpfter Dienst, der mit dem Trainings-Webdienst verbunden ist. Dieser verknüpfte Dienst wird von der Aktivität „Batch-Ausführung“ auf die gleiche Weise verwendet, wie unter Erstellen von Vorhersage-Pipelines mit dem klassischen Machine Learning Studio und der Aktivität „Batch-Ausführung“ beschrieben. Der Unterschied bei der Ausgabe des Trainingswebdiensts ist eine iLearner-Datei, die dann von der Ressourcenaktualisierungsaktivität zum Aktualisieren des Vorhersagewebdiensts verwendet wird.
- Ein mit dem klassischen Machine Learning Studio verknüpfter Dienst für den Ressourcenaktualisierungsendpunkt des Vorhersagewebdiensts. Dieser verknüpfte Dienst wird von der Ressourcenaktualisierungsaktivität zum Aktualisieren des Vorhersagewebdiensts mithilfe der im vorherigen Schritt zurückgegebenen „iLearner“-Datei verwendet.
Für den zweiten mit dem klassischen Machine Learning Studio verknüpften Dienst unterscheidet sich die Konfiguration, wenn Ihr klassisches-Machine-Learning-Studio-Webdienst ein klassischer oder neuer Webdienst ist. Die Unterschiede werden in den folgenden Abschnitten getrennt erläutert.
Webdienst ist ein Azure Resource Manager-Webdienst
Wenn der Webdienst der neue Webdiensttyp ist, der einen Azure Resource Manager-Endpunkt verfügbar macht, müssen Sie den zweiten nicht standardmäßigen Endpunkt nicht hinzufügen. Das updateResourceEndpoint-Element im verknüpften Dienst hat das Format:
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearning/webServices/{web-service-name}?api-version=2016-05-01-preview
Beim Abfragen des Webdiensts im Azure Machine Learning Studio können Sie Werte für Platzhalter in der URL abrufen.
Der neue Typ des Ressourcenaktualisierungsendpunkts erfordert die Dienstprinzipalauthentifizierung. Um die Dienstprinzipalauthentifizierung zu verwenden, registrieren Sie eine Anwendungsentität in Microsoft Entra ID, und teilen Sie ihr die Rolle Mitwirkender oder Besitzer des Abonnements oder der Ressourcengruppe zu, zu der der Webdienst gehört. Informationen dazu finden Sie im Artikel zum Erstellen eines Dienstprinzipals und Zuweisen von Berechtigungen zum Verwalten einer Azure-Ressource. Notieren Sie sich die folgenden Werte, die Sie zum Definieren des verknüpften Diensts verwenden:
- Anwendungs-ID
- Anwendungsschlüssel
- Mandanten-ID
Hier sehen Sie ein Beispiel der Definition eines verknüpften Diensts:
{
"name": "AzureMLLinkedService",
"properties": {
"type": "AzureML",
"description": "The linked service for AML web service.",
"typeProperties": {
"mlEndpoint": "https://ussouthcentral.services.azureml.net/workspaces/0000000000000000 000000000000000000000/services/0000000000000000000000000000000000000/jobs?api-version=2.0",
"apiKey": {
"type": "SecureString",
"value": "APIKeyOfEndpoint1"
},
"updateResourceEndpoint": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearning/webServices/{web-service-name}?api-version=2016-05-01-preview",
"servicePrincipalId": "000000000-0000-0000-0000-0000000000000",
"servicePrincipalKey": {
"type": "SecureString",
"value": "servicePrincipalKey"
},
"tenant": "mycompany.com"
}
}
}
Das folgende Szenario enthält weitere Details hierzu. Es enthält ein Beispiel für das Neutrainieren und Aktualisieren von klassischen Machine-Learning-Studio-Modellen aus einer Pipeline.
Beispiel: Erneutes Trainieren und Aktualisieren eines klassischen Machine-Learning-Studio-Modells
Dieser Abschnitt enthält eine Beispielpipeline, bei der die Batchausführungsaktivität von Azure Machine Learning Studio (Classic) zum erneuten Trainieren des Modells verwendet wird. Für die Pipeline wird außerdem die Aktivität zur Ressourcenaktualisierung von Azure Machine Learning Studio (Classic) verwendet, um das Modell im Bewertungswebdienst zu aktualisieren. Darüber hinaus enthält der Abschnitt JSON-Codeausschnitte für alle verknüpften Dienste, Datasets und Pipelines im Beispiel.
Mit Azure Blob Storage verknüpfter Dienst:
Der Azure-Speicher enthält die folgenden Daten:
- Trainingsdaten: Die Eingabedaten für den Machine-Learning-Studio-(klassisch)-Trainingswebdienst.
- iLearner-Datei: Die Eingabedaten für den Machine-Learning-Studio-(klassisch)-Trainingswebdienst. Die Datei dient darüber hinaus als Eingabe für die Aktivität zur Ressourcenaktualisierung.
Dies ist die JSON-Beispieldefinition des verknüpften-Diensts:
{
"name": "StorageLinkedService",
"properties": {
"type": "AzureStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=name;AccountKey=key"
}
}
}
Verknüpfter Dienst für den Machine-Learning-Studio-(Classic)-Trainingsendpunkt
Der folgende JSON-Codeausschnitt definiert einen mit einem klassischen Machine Learning Studio verknüpften Dienst, der auf den Standardendpunkt des Trainingswebdiensts verweist.
{
"name": "trainingEndpoint",
"properties": {
"type": "AzureML",
"typeProperties": {
"mlEndpoint": "https://ussouthcentral.services.azureml.net/workspaces/xxx/services/--training experiment--/jobs",
"apiKey": "myKey"
}
}
}
Führen Sie in Azure Machine Learning Studio (klassisch) folgende Schritte aus, um Werte für mlEndpoint und apiKey abzurufen:
- Klicken Sie im linken Menü auf WEB SERVICES .
- Klicken Sie in der Liste der Webdienste auf den Trainingswebdienst .
- Klicken Sie neben dem Textfeld API-Schlüssel auf „Kopieren“. Fügen Sie den Schlüssel aus der Zwischenablage in den Data Factory-JSON-Editor ein.
- Klicken Sie in Azure Machine Learning Studio (klassisch) auf den Link BATCHAUSFÜHRUNG.
- Kopieren Sie die Anforderungs-URI aus dem Abschnitt „Anforderungen“ und fügen Sie sie in den JSON-Editor ein.
Verknüpfter Dienst für den aktualisierbaren Azure Machine Learning Studio (Classic)-Bewertungsendpunkt:
Der folgende JSON-Codeausschnitt definiert einen mit Azure Machine Learning Studio (Classic) verknüpften Dienst, der auf den aktualisierbaren Endpunkt des Bewertungswebdiensts verweist.
{
"name": "updatableScoringEndpoint2",
"properties": {
"type": "AzureML",
"typeProperties": {
"mlEndpoint": "https://ussouthcentral.services.azureml.net/workspaces/00000000eb0abe4d6bbb1d7886062747d7/services/00000000026734a5889e02fbb1f65cefd/jobs?api-version=2.0",
"apiKey": "sooooooooooh3WvG1hBfKS2BNNcfwSO7hhY6dY98noLfOdqQydYDIXyf2KoIaN3JpALu/AKtflHWMOCuicm/Q==",
"updateResourceEndpoint": "https://management.azure.com/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/Default-MachineLearning-SouthCentralUS/providers/Microsoft.MachineLearning/webServices/myWebService?api-version=2016-05-01-preview",
"servicePrincipalId": "fe200044-c008-4008-a005-94000000731",
"servicePrincipalKey": "zWa0000000000Tp6FjtZOspK/WMA2tQ08c8U+gZRBlw=",
"tenant": "mycompany.com"
}
}
}
Pipeline
Die Pipeline enthält zwei Aktivitäten: AzureMLBatchExecution und AzureMLUpdateResource. Die Batchausführungsaktivität verwendet die Trainingsdaten als Eingabe und erzeugt eine „iLearner“-Datei als Ausgabe. Die Ressourcenaktualisierungsaktivität verwendet anschließend diese „iLearner“-Datei zum Aktualisieren des Vorhersagewebdiensts.
{
"name": "LookupPipelineDemo",
"properties": {
"activities": [
{
"name": "amlBEGetilearner",
"description": "Use AML BES to get the ileaner file from training web service",
"type": "AzureMLBatchExecution",
"linkedServiceName": {
"referenceName": "trainingEndpoint",
"type": "LinkedServiceReference"
},
"typeProperties": {
"webServiceInputs": {
"input1": {
"LinkedServiceName":{
"referenceName": "StorageLinkedService",
"type": "LinkedServiceReference"
},
"FilePath":"azuremltesting/input"
},
"input2": {
"LinkedServiceName":{
"referenceName": "StorageLinkedService",
"type": "LinkedServiceReference"
},
"FilePath":"azuremltesting/input"
}
},
"webServiceOutputs": {
"output1": {
"LinkedServiceName":{
"referenceName": "StorageLinkedService",
"type": "LinkedServiceReference"
},
"FilePath":"azuremltesting/output"
}
}
}
},
{
"name": "amlUpdateResource",
"type": "AzureMLUpdateResource",
"description": "Use AML Update Resource to update the predict web service",
"linkedServiceName": {
"type": "LinkedServiceReference",
"referenceName": "updatableScoringEndpoint2"
},
"typeProperties": {
"trainedModelName": "ADFV2Sample Model [trained model]",
"trainedModelLinkedServiceName": {
"type": "LinkedServiceReference",
"referenceName": "StorageLinkedService"
},
"trainedModelFilePath": "azuremltesting/output/newModelForArm.ilearner"
},
"dependsOn": [
{
"activity": "amlbeGetilearner",
"dependencyConditions": [ "Succeeded" ]
}
]
}
]
}
}
Zugehöriger Inhalt
In den folgenden Artikeln erfahren Sie, wie Daten auf andere Weisen transformiert werden: