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

Tips

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 resurser för Machine Learning Studio (classic) inte längre kan skapas efter den 1 december 2021 uppmanas användarna att i stället använda Azure Machine Learning med aktiviteten Machine Learning Execute Pipeline snarare än att använda aktiviteten Uppdatera resurs för att uppdatera modeller för Machine Learning Studio (classic).

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 omträningen av maskininlärningsmodellen i Machine Learning Studio (klassisk) 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 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"
    }
}
Egendom Beskrivning Obligatoriskt
namn Namnet på aktiviteten i pipelinen Ja
beskrivning Text som beskriver vad aktiviteten gör. Nej
typ 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
utbildadModellnamn 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

Helhetsarbetsflöde

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):

  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 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.
  2. En länkad tjänst i Machine Learning Studio (klassisk) till uppdateringsresursens slutpunkt för den prediktiva 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 platshållarvärden i URL:en när du skickar en fråga till webbtjänsten på Azure Machine Learning Studio.

Den nya typen av uppdateringsresursslutpunkt kräver autentisering med tjänsthuvudman. 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:

  • Applikations-ID
  • Programnyckel
  • Hyresgäst-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. Välj WEBBTJÄNSTER på den vänstra menyn.
  2. Välj utbildningswebbtjänsten i listan över webbtjänster.
  3. Klicka på kopiera bredvid textfältet API-nyckel. Klistra in nyckeln från Urklipp i JSON-redigeraren i Data Factory.
  4. I Azure Machine Learning Studio (klassisk) väljer du länken 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) uppdateringsbar slutpunkt för 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" ]
                    }
                ]
            }
        ]
    }
}

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