Condividi tramite


Aggiornare i modelli di studio di Azure Machine Learning (versione classica) usando l'attività Aggiorna risorsa

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!

Importante

Il supporto di Azure Machine Learning Studio (versione classica) terminerà il 31 agosto 2024. Si consiglia di passare ad Azure Machine Learning entro tale data.

A partire dal 1° dicembre 2021 non è possibile creare nuove risorse (area di lavoro e piano di servizio Web) dello di Machine Learning Studio (versione classica). Fino al 31 agosto 2024 è possibile continuare a usare gli esperimenti e i servizi Web esistenti di Machine Learning Studio (versione classica). Per altre informazioni, vedi:

La documentazione relativa a Machine Learning Studio (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.

Nota

Poiché le risorse di studio di Azure Machine Learning (versione classica) non possono più essere create dopo il 1° dicembre 2021, gli utenti sono invitati a usare Azure Machine Learning con l'attività Execute Pipeline di Azure Machine Learning, anziché usare l'attività Aggiorna risorsa per aggiornare i modelli di studio di Azure Machine Learning (versione classica).

Questo articolo è complementare all'articolo principale sull'integrazione di studio di Azure Machine Learning (versione classica): Creare pipeline predittive con studio di Azure Machine Learning (versione classica). Se ancora non è stato fatto, consultare l'articolo principale prima di leggere questo articolo.

Panoramica

Nell'ambito del processo di messa in funzione dei modelli di studio di Azure Machine Learning (versione classica), il modello viene sottoposto a training e infine salvato. Lo si userà quindi per creare un servizio Web predicativo. Il servizio Web potrà quindi essere utilizzato in siti Web, dashboard e app per dispositivi mobili.

I modelli creati con studio di Azure Machine Learning (versione classica) in genere non sono statici. Quando sono disponibili nuovi dati o quando il consumer dell'API ha i propri dati, è necessario ripetere il training del modello.

La ripetizione del training può avvenire di frequente. Con le attività Batch Execution e Aggiorna risorsa, è possibile rendere operativo il training del modello di studio di Azure Machine Learning (versione classica) e aggiornare il servizio Web predittivo.

L'immagine seguente illustra la relazione tra training e servizi Web predittivi.

Servizi Web

Attività Update Resource di Machine Learning Studio (versione classica)

Il seguente frammento JSON definisce un'attività Batch Execution di studio di Azure Machine Learning (versione classica).

{
    "name": "amlUpdateResource",
    "type": "AzureMLUpdateResource",
    "description": "description",
    "linkedServiceName": {
        "type": "LinkedServiceReference",
        "referenceName": "updatableScoringEndpoint2"
    },
    "typeProperties": {
        "trainedModelName": "ModelName",
        "trainedModelLinkedServiceName": {
                    "type": "LinkedServiceReference",
                    "referenceName": "StorageLinkedService"
                },
        "trainedModelFilePath": "ilearner file path"
    }
}
Proprietà Descrizione Richiesto
name Nome dell'attività nella pipeline
description Testo che descrive l'attività. No
type Per l'attività Aggiorna risorsa di studio di Azure Machine Learning (versione classica) il tipo di attività corrisponde a AzureMLUpdateResource.
linkedServiceName Servizio collegato di studio di Azure Machine Learning (versione classica) che contiene la proprietà updateResourceEndpoint.
trainedModelName Nome del modulo di modello con training nell'esperimento del servizio Web da aggiornare
trainedModelLinkedServiceName Nome del servizio collegato di Archiviazione di Azure che viene caricato dall'operazione di aggiornamento
trainedModelFilePath Il percorso file relativo in trainedModelLinkedService per rappresentare il file con estensione iLearner caricato dall'operazione di aggiornamento

Flusso di lavoro end-to-end

L'intero processo di attivazione della ripetizione del training di un modello e dell'aggiornamento dei servizi Web predittivi prevede la procedura seguente:

  • Richiamare il servizio Web di training tramite l'attività Esecuzione batch. Richiamare un servizio Web di training equivale a richiamare un servizio Web predittivo descritto in Creare pipeline predittive usando studio di Azure Machine Learning (versione classica) e l'attività Batch Execution. L'output del servizio Web di training è un file iLearner che è possibile utilizzare per aggiornare il servizio Web predittivo.
  • Richiamare l'endpoint di aggiornamento risorse del servizio Web predittivo tramite l'attività Aggiorna risorsa per aggiornare il servizio Web con il nuovo modello con training.

Servizio collegato di Machine Learning Studio (versione classica)

Per il funzionamento del flusso di lavoro end-to-end indicato in precedenza, è necessario creare due servizi collegati di studio di Azure Machine Learning (versione classica):

  1. Un servizio collegato a studio di Azure Machine Learning (versione classica) per il servizio Web di training. Questo servizio collegato viene utilizzato dall'attività Batch Execution allo stesso modo di quanto indicato in Creare pipeline predittive utilizzando studio di Azure Machine Learning (versione classica) e l'attività Batch Execution. La differenza consiste nel fatto che l'output del servizio Web di training è un file iLearner che viene quindi usato dall'attività Aggiorna risorsa per aggiornare il servizio Web predittivo.
  2. Un servizio collegato di studio di Azure Machine Learning (versione classica) all'endpoint della risorsa di aggiornamento del servizio Web predittivo. Questo servizio collegato viene usato dall'attività Aggiorna risorsa per aggiornare il servizio Web predittivo tramite il file iLearner restituito dal passaggio precedente.

Per il secondo servizio collegato di studio di Azure Machine Learning, la configurazione è diversa quando il servizio Web di studio di Azure Machine Learning è di tipo classico o si tratta di un nuovo servizio Web. Le differenze sono illustrate separatamente nelle sezioni seguenti.

Il servizio Web è un nuovo servizio Web di Azure Resource Manager

Se il servizio Web è il nuovo tipo di servizio Web che espone un endpoint di Azure Resource Manager, non è necessario aggiungere il secondo endpoint non predefinito. Il formato del valore updateResourceEndpoint nel servizio collegato è il seguente:

https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearning/webServices/{web-service-name}?api-version=2016-05-01-preview

È possibile ottenere valori per i segnaposto nell'URL quando si esegue una query sul servizio Web in Azure Machine Learning Studio.

Il nuovo tipo di endpoint di aggiornamento delle risorse richiede l'autenticazione dell'entità servizio. Per usare l'autenticazione dell'entità servizio, registrare un'entità applicazione in Microsoft Entra ID e concedere a questa il ruolo di Collaboratore o Proprietario della sottoscrizione o del gruppo di risorse a cui appartiene il servizio Web. Vedere come creare un'entità servizio e assegnare autorizzazioni per la gestione di risorse di Azure. Prendere nota dei valori seguenti che si usano per definire il servizio collegato:

  • ID applicazione
  • Chiave applicazione
  • ID tenant

Ecco una definizione di esempio del servizio collegato:

{
    "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"
        }
    }
}

Lo scenario seguente fornisce altri dettagli. Include un esempio per ripetere il training e aggiornare i modelli di studio di Azure Machine Learning (versione classica) da una pipeline.

Esempio: ripetere il training e aggiornare un modello di studio di Azure Machine Learning (versione classica)

Questa sezione include una pipeline di esempio che usa attività Batch Execution di studio di Azure Machine Learning (classico) per ripetere il training di un modello. La pipeline utilizza anche Attività della risorsa di aggiornamento di studio di Azure Machine Learning (classico) per aggiornare il modello nel servizio Web di assegnazione dei punteggi. La sezione include anche frammenti di codice JSON per tutti i servizi collegati, i set di dati e la pipeline usati nell'esempio.

Servizio collegato di archiviazione BLOB di Azure:

Archiviazione di Azure include i dati seguenti:

  • Dati di training. Dati di input per il servizio Web di training di studio di Azure Machine Learning (versione classica).
  • File iLearner. L'output del servizio Web di training di studio di Azure Machine Learning (versione classica). È anche l'input per Attività della risorsa di aggiornamento.

Ecco la definizione JSON di esempio del servizio collegato:

{
    "name": "StorageLinkedService",
    "properties": {
        "type": "AzureStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=name;AccountKey=key"
        }
    }
}

Servizio collegato per l'endpoint di training di studio di Azure Machine Learning (versione classica)

Il frammento JSON seguente definisce un servizio collegato di studio di Azure Machine Learning (versione classica) che punta all'endpoint predefinito del servizio Web di training.

{
    "name": "trainingEndpoint",
    "properties": {
        "type": "AzureML",
        "typeProperties": {
            "mlEndpoint": "https://ussouthcentral.services.azureml.net/workspaces/xxx/services/--training experiment--/jobs",
            "apiKey": "myKey"
        }
    }
}

In studio di Azure Machine Learning (classico), eseguire queste operazioni per ottenere i valori per mlEndpoint e apiKey:

  1. Fare clic su SERVIZI WEB nel menu a sinistra.
  2. Fare clic su servizio Web di training nell'elenco dei servizi Web.
  3. Fare clic su Copia accanto alla casella di testo Chiave API . Incollare la chiave dagli Appunti nell'editor JSON di Data Factory.
  4. In Studio di Azure Machine Learning (versione classica), fare clic sul collegamento BATCH EXECUTION.
  5. Copiare il valore di URI della richiesta dalla sezione Richiesta e incollarlo nell'editor JSON.

Servizio collegato per l'endpoint di assegnazione dei punteggi aggiornabile di studio di Azure Machine Learning (versione classica):

Il frammento JSON seguente definisce un servizio collegato di studio di Azure Machine Learning (versione classica) che punta all'endpoint aggiornabile del servizio Web di assegnazione dei punteggi.

{
    "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

La pipeline include due attività: AzureMLBatchExecution e AzureMLUpdateResource. L'attività Esecuzione batch di Azure ML accetta i dati di training come input e genera un file iLearner come output. L'attività Aggiorna risorsa riceve quindi il file iLearner e lo usa per aggiornare il servizio Web predittivo.

{
    "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" ]
                    }
                ]
            }
        ]
    }
}

Vedere gli articoli seguenti, che illustrano altre modalità di trasformazione dei dati: