Dela via


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:

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 Machine Learning Execute Pipeline 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 förekomma 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.

Webbtjänster

Uppdatera resursaktivitet i Machine Learning Studio (klassisk)

Följande JSON-kodfragment definierar en Batch-körningsaktivitet (klassisk) i Machine Learning Studio.

{
    "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 laddas upp av uppdateringsåtgärden Ja
trainedModelFilePath Den relativa filsökvägen i trainedModelLinkedService för att representera ilearner-filen som laddas 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 ovan nämnda arbetsflödet från slutpunkt till slutpunkt ska fungera måste du skapa två länkade Machine Learning Studio-tjänster (klassiska):

  1. 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 Batch Execution-aktiviteten. 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.
  2. 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 returneras från ovanstå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 slutpunkten som inte är standard . 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 platsinnehavare i URL:en när du frågar webbtjänsten i 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:

  1. Klicka på WEBBTJÄNSTER på den vänstra menyn.
  2. Klicka på utbildningswebbtjänsten i listan över webbtjänster.
  3. Klicka på kopiera bredvid textrutan API-nyckel . Klistra in nyckeln i Urklipp i Data Factory JSON-redigeraren.
  4. I Azure Machine Learning Studio (klassisk) klickar du på länken BATCH EXECUTION (BATCH EXECUTION).
  5. 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 länkad Azure Machine Learning Studio-tjänst (klassisk) 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/00000000-0000-0000-0000-000000000000/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 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" ]
                    }
                ]
            }
        ]
    }
}

Se följande artiklar som förklarar hur du transformerar data på andra sätt: