Condividi tramite


Aggiornare i modelli di Machine Learning Studio (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 per Azure Machine Learning Studio (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.

A partire dal 1° dicembre 2021, non è possibile creare nuove risorse di Machine Learning Studio (versione classica) (area di lavoro e piano di servizio Web). 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 di Machine Learning Studio (versione classica) viene ritirata e potrebbe non essere aggiornata in futuro.

Nota

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

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

Panoramica

Come parte del processo di operazionalizzazione dei modelli di Machine Learning Studio (versione classica), il modello viene sottoposto a training e 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 Machine Learning Studio (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 l'attività Esecuzione batch e l'attività Aggiorna risorsa, è possibile rendere operativo il training del modello di Machine Learning Studio (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 frammento JSON seguente definisce un'attività di esecuzione batch di Machine Learning Studio (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 Machine Learning Studio (versione classica), il tipo di attività è AzureMLUpdateResource.
linkedServiceName Servizio collegato di Machine Learning Studio (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 Machine Learning Studio (versione classica) e l'attività di esecuzione batch. L'output del servizio Web di training è un file iLearner che è possibile usare 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 Machine Learning Studio (versione classica):

  1. Un servizio collegato di Machine Learning Studio (versione classica) al servizio Web di training, questo servizio collegato viene usato dall'attività di esecuzione batch nello stesso modo indicato in Creare pipeline predittive usando Machine Learning Studio (versione classica) e l'attività di esecuzione batch. La differenza è 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 Machine Learning Studio (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 Machine Learning Studio (versione classica), la configurazione è diversa quando il servizio Web di Machine Learning Studio (versione classica) è un servizio Web classico o 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 nel portale dei servizi Web di Machine Learning Studio (versione classica).

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 concedergli il ruolo 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 Machine Learning Studio (versione classica) da una pipeline.

Esempio: Ripetere il training e aggiornare un modello di Machine Learning Studio (versione classica)

Questa sezione fornisce una pipeline di esempio che usa l'attività di esecuzione batch di Azure Machine Learning Studio (versione classica) per ripetere il training di un modello. La pipeline usa anche l'attività Aggiorna risorsa di Azure Machine Learning Studio (versione classica) 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 Machine Learning Studio (versione classica).
  • File iLearner. Output del servizio Web di training di Machine Learning Studio (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 Machine Learning Studio (versione classica)

Il frammento JSON seguente definisce un servizio collegato di Machine Learning Studio (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 Azure Machine Learning Studio (versione classica) eseguire le operazioni seguenti 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 Azure Machine Learning Studio (versione classica) fare clic sul collegamento ESECUZIONE BATCH.
  5. Copiare l'URIdella richiesta dalla sezione Richiesta e incollarlo nell'editor JSON.

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

Il frammento JSON seguente definisce un servizio collegato di Azure Machine Learning Studio (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: