Uppdatera Machine Learning Studio-modeller (klassisk) med hjälp av aktiviteten Uppdatera resurs
GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics
Dricks
Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!
Viktigt!
Stödet för Azure Machine Learning Studio (klassisk) upphör den 31 augusti 2024. Vi rekommenderar att du övergår till Azure Machine Learning vid det datumet.
Från och med den 1 december 2021 kan du inte skapa nya Machine Learning Studio-resurser (klassiska) (arbetsyta och webbtjänstplan). Till och med den 31 augusti 2024 kan du fortsätta att använda befintliga Machine Learning Studio-experiment (klassiska) och webbtjänster. Mer information finns i:
- Migrera till Azure Machine Learning från Machine Learning Studio (klassisk)
- Vad är Azure Machine Learning?
Dokumentationen för Machine Learning Studio (klassisk) dras tillbaka och kanske inte uppdateras i framtiden.
Kommentar
Eftersom Machine Learning Studio-resurser (klassiska) inte längre kan skapas efter den 1 december 2021 uppmanas användarna att använda Azure Machine Learning med aktiviteten Kör pipeline för Maskininlärning i stället för att använda aktiviteten Uppdatera resurs för att uppdatera Machine Learning Studio-modeller (klassisk).
Den här artikeln kompletterar huvudartikeln för Machine Learning Studio(klassisk) integrering: Skapa förutsägelsepipelines med Hjälp av Machine Learning Studio (klassisk). Om du inte redan har gjort det kan du läsa huvudartikeln innan du läser igenom den här artikeln.
Översikt
Som en del av processen med att operationalisera Machine Learning Studio-modeller (klassiska) tränas och sparas din modell. Sedan använder du den för att skapa en förutsägelsewebbtjänst. Webbtjänsten kan sedan användas på webbplatser, instrumentpaneler och mobilappar.
Modeller som du skapar med Machine Learning Studio (klassisk) är vanligtvis inte statiska. När nya data blir tillgängliga eller när api-konsumenten har sina egna data måste modellen tränas om.
Omträning kan ske ofta. Med batchkörningsaktivitet och uppdateringsresursaktivitet kan du operationalisera Machine Learning Studio-modellen (klassisk) omträning och uppdatera den förutsägande webbtjänsten.
Följande bild visar relationen mellan träning och prediktiva webbtjänster.
Uppdatera resursaktivitet i Machine Learning Studio (klassisk)
Följande JSON-kodfragment definierar en Batch-körningsaktivitet i Machine Learning Studio (klassisk).
{
"name": "amlUpdateResource",
"type": "AzureMLUpdateResource",
"description": "description",
"linkedServiceName": {
"type": "LinkedServiceReference",
"referenceName": "updatableScoringEndpoint2"
},
"typeProperties": {
"trainedModelName": "ModelName",
"trainedModelLinkedServiceName": {
"type": "LinkedServiceReference",
"referenceName": "StorageLinkedService"
},
"trainedModelFilePath": "ilearner file path"
}
}
Property | Beskrivning | Obligatoriskt |
---|---|---|
name | Namnet på aktiviteten i pipelinen | Ja |
description | Text som beskriver vad aktiviteten gör. | Nej |
type | För maskininlärningsstudions (klassiska) uppdateringsresursaktivitet är aktivitetstypen AzureMLUpdateResource. | Ja |
linkedServiceName | Den länkade tjänsten Machine Learning Studio (klassisk) som innehåller egenskapen updateResourceEndpoint. | Ja |
trainedModelName | Namnet på modulen Tränad modell i webbtjänstexperimentet som ska uppdateras | Ja |
trainedModelLinkedServiceName | Namnet på den länkade Azure Storage-tjänsten som innehåller ilearner-filen som laddats upp av uppdateringsåtgärden | Ja |
trainedModelFilePath | Den relativa filsökvägen i trainedModelLinkedService för att representera ilearner-filen som laddades upp av uppdateringsåtgärden | Ja |
Arbetsflödet slutpunkt till slutpunkt
Hela processen med att operationalisera omträning av en modell och uppdatera de prediktiva webbtjänsterna omfattar följande steg:
- Anropa träningswebbtjänsten med hjälp av batchkörningsaktiviteten. Att anropa en träningswebbtjänst är detsamma som att anropa en förutsägelsewebbtjänst som beskrivs i Skapa förutsägelsepipelines med hjälp av Machine Learning Studio (klassisk) och batchkörningsaktiviteten. Utdata från träningswebbtjänsten är en iLearner-fil som du kan använda för att uppdatera den prediktiva webbtjänsten.
- Anropa uppdateringsresursslutpunkten för den förutsägande webbtjänsten med hjälp av aktiviteten Uppdatera resurs för att uppdatera webbtjänsten med den nyligen tränade modellen.
Länkad tjänst för Machine Learning Studio (klassisk)
För att det tidigare nämnda arbetsflödet från slutpunkt till slutpunkt ska fungera måste du skapa två länkade Machine Learning Studio-tjänster (klassiska):
- En länkad Machine Learning Studio-tjänst (klassisk) till utbildningswebbtjänsten, den här länkade tjänsten används av batchkörningsaktiviteten på samma sätt som det som nämns i Skapa förutsägelsepipelines med hjälp av Machine Learning Studio (klassisk) och batchkörningsaktiviteten. Skillnaden är att utdata från träningswebbtjänsten är en iLearner-fil som sedan används av aktiviteten Uppdatera resurs för att uppdatera den förutsägande webbtjänsten.
- En Länkad Machine Learning Studio-tjänst (klassisk) till slutpunkten för uppdateringsresursen för den förutsägande webbtjänsten. Den här länkade tjänsten används av aktiviteten Uppdatera resurs för att uppdatera den förutsägande webbtjänsten med hjälp av iLearner-filen som returnerades från föregående steg.
För den andra länkade Machine Learning Studio-tjänsten (klassisk) skiljer sig konfigurationen när din Machine Learning Studio-webbtjänst (klassisk) är en klassisk webbtjänst eller en ny webbtjänst. Skillnaderna beskrivs separat i följande avsnitt.
Webbtjänsten är ny Azure Resource Manager-webbtjänst
Om webbtjänsten är den nya typen av webbtjänst som exponerar en Azure Resource Manager-slutpunkt behöver du inte lägga till den andra icke-standardslutpunkten . UpdateResourceEndpoint i den länkade tjänsten har formatet:
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearning/webServices/{web-service-name}?api-version=2016-05-01-preview
Du kan hämta värden för platshållare i URL:en när du frågar webbtjänsten på Azure Machine Learning-studio.
Den nya typen av uppdateringsresursslutpunkt kräver autentisering med tjänstens huvudnamn. Om du vill använda autentisering med tjänstens huvudnamn registrerar du en programentitet i Microsoft Entra-ID och ger den rollen Deltagare eller Ägare för prenumerationen eller resursgruppen där webbtjänsten tillhör. Se Hur du skapar tjänstens huvudnamn och tilldelar behörigheter för att hantera Azure-resurser. Anteckna följande värden som du använder för att definiera den länkade tjänsten:
- Program-ID:t
- Programnyckel
- Klientorganisations-ID
Här är ett exempel på en länkad tjänstdefinition:
{
"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"
}
}
}
Följande scenario innehåller mer information. Den har ett exempel för att träna om och uppdatera Machine Learning Studio-modeller (klassiska) från en pipeline.
Exempel: Träna om och uppdatera en Machine Learning Studio-modell (klassisk)
Det här avsnittet innehåller en exempelpipeline som använder batchkörningsaktiviteten i Azure Machine Learning Studio (klassisk) för att träna om en modell. Pipelinen använder också aktiviteten Azure Machine Learning Studio (klassisk) Uppdateringsresurs för att uppdatera modellen i bedömningswebbtjänsten. Avsnittet innehåller även JSON-kodfragment för alla länkade tjänster, datauppsättningar och pipeline i exemplet.
Länkad Azure Blob Storage-tjänst:
Azure Storage innehåller följande data:
- träningsdata. Indata för webbtjänsten för Machine Learning Studio-utbildning (klassisk).
- iLearner-fil. Utdata från webbtjänsten för Machine Learning Studio-utbildning (klassisk). Den här filen är också indata för aktiviteten Uppdatera resurs.
Här är JSON-exempeldefinitionen för den länkade tjänsten:
{
"name": "StorageLinkedService",
"properties": {
"type": "AzureStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=name;AccountKey=key"
}
}
}
Länkad tjänst för Träningsslutpunkt för Machine Learning Studio (klassisk)
Följande JSON-kodfragment definierar en länkad Machine Learning Studio-tjänst (klassisk) som pekar på standardslutpunkten för utbildningswebbtjänsten.
{
"name": "trainingEndpoint",
"properties": {
"type": "AzureML",
"typeProperties": {
"mlEndpoint": "https://ussouthcentral.services.azureml.net/workspaces/xxx/services/--training experiment--/jobs",
"apiKey": "myKey"
}
}
}
I Azure Machine Learning Studio (klassisk) gör du följande för att hämta värden för mlEndpoint och apiKey:
- Välj WEBBTJÄNSTER på den vänstra menyn.
- Välj utbildningswebbtjänsten i listan över webbtjänster.
- Välj kopiera bredvid textrutan API-nyckel . Klistra in nyckeln i Urklipp i Data Factory JSON-redigeraren.
- I Azure Machine Learning Studio (klassisk) väljer du länken BATCH EXECUTION( BATCH EXECUTION).
- Kopiera URI för begäran från avsnittet Begäran och klistra in den i JSON-redigeraren.
Länkad tjänst för Azure Machine Learning-studio (klassisk) slutpunkt för uppdateringsbar bedömning:
Följande JSON-kodfragment definierar en Azure Machine Learning-studio (klassisk) länkad tjänst som pekar på en uppdaterad slutpunkt för bedömningswebbtjänsten.
{
"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
Pipelinen har två aktiviteter: AzureMLBatchExecution och AzureMLUpdateResource. Batch-körningsaktiviteten tar träningsdata som indata och skapar en iLearner-fil som utdata. Aktiviteten Uppdatera resurs tar sedan den här iLearner-filen och använder den för att uppdatera den förutsägande webbtjänsten.
{
"name": "LookupPipelineDemo",
"properties": {
"activities": [
{
"name": "amlBEGetilearner",
"description": "Use AML BES to get the ilearner 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" ]
}
]
}
]
}
}
Relaterat innehåll
Se följande artiklar som förklarar hur du transformerar data på andra sätt: