Condividi tramite


Risorse di training di Azure per Model Builder

Di seguito è riportata una guida per altre informazioni sulle risorse usate per eseguire il training dei modelli in Azure con Model Builder.

Che cos'è un esperimento di Azure Machine Learning?

Un esperimento di Azure Machine Learning è una risorsa che deve essere creata prima di eseguire il training di Model Builder in Azure.

L'esperimento incapsula la configurazione e i risultati per una o più esecuzioni di training di Machine Learning. Gli esperimenti appartengono a un'area di lavoro specifica. La prima volta che viene creato un esperimento, il nome viene registrato nell'area di lavoro. Tutte le esecuzioni successive, se viene usato lo stesso nome dell'esperimento, vengono registrate come parte dello stesso esperimento. In caso contrario, viene creato un nuovo esperimento.

Che cos'è un'area di lavoro di Azure Machine Learning?

Un'area di lavoro è una risorsa di Azure Machine Learning che fornisce una posizione centrale per tutte le risorse e gli artefatti di Azure Machine Learning creati come parte dell'esecuzione del training.

Per creare un'area di lavoro di Azure Machine Learning, sono necessarie le operazioni seguenti:

  • Nome: nome dell'area di lavoro tra 3 e 33 caratteri. I nomi possono contenere solo caratteri alfanumerici e trattini.
  • Area: posizione geografica del data center in cui vengono distribuite l'area di lavoro e le risorse. È consigliabile scegliere una località vicina alla posizione in cui si trovano i clienti.
  • Gruppo di risorse: contenitore che contiene tutte le risorse correlate per una soluzione di Azure.

Che cos'è un ambiente di calcolo di Azure Machine Learning?

Un ambiente di calcolo di Azure Machine Learning è una macchina virtuale Linux basata sul cloud usata per il training.

Per creare un ambiente di calcolo di Azure Machine Learning, sono necessari i valori seguenti:

  • Nome: nome del calcolo compreso tra 2 e 16 caratteri. I nomi possono contenere solo caratteri alfanumerici e trattini.

  • Dimensioni di calcolo.

    Model Builder può usare uno dei tipi di calcolo ottimizzati per GPU seguenti:

    Grandezza vCPU Memoria: GiB GiB (Temp Storage) (SSD) GPU Memoria GPU: GiB Numero massimo di dischi dati Numero massimo di schede di interfaccia di rete
    Standard_NC12 12 112 680 2 24 48 2
    Standard_NC24 24 224 1440 4 48 64 4

    Per altre informazioni sui tipi di calcolo ottimizzati per GPU, vedere la documentazione della macchina virtuale Linux serie NC .

  • Priorità di calcolo.

    • Priorità bassa: adatto per le attività con tempi di esecuzione più brevi. Le attività possono essere interessate dalle interruzioni e dalla mancanza di disponibilità. Questa opzione in genere costa meno perché sfrutta la capacità in eccedenza in Azure.
    • Dedicato: adatto per le attività di qualsiasi durata, ma soprattutto processi a esecuzione prolungata. Le attività non sono interessate dalle interruzioni o dalla mancanza di disponibilità. Questa opzione in genere costa di più perché riserva un set dedicato di risorse di calcolo in Azure per le attività.

Formazione

Il training in Azure è disponibile solo per lo scenario di classificazione delle immagini di Model Builder. L'algoritmo usato per eseguire il training di questi modelli è una rete neurale profonda basata sull'architettura ResNet50. Il processo di training richiede tempo e la quantità di tempo può variare a seconda delle dimensioni di calcolo selezionate e della quantità di dati. È possibile tenere traccia dello stato delle esecuzioni selezionando il collegamento "Monitorare l'esecuzione corrente nel portale di Azure" in Visual Studio.

Risultati

Al termine del training, alla soluzione vengono aggiunti due progetti con i suffissi seguenti:

  • ConsoleApp: un'app console C# che fornisce codice iniziale per compilare la pipeline di stima ed eseguire stime.

  • Modello: un'app .NET Standard C# che contiene i modelli di dati che definiscono lo schema dei dati del modello di input e di output, nonché gli asset seguenti:

    • bestModel.onnx: versione serializzata del modello in formato ONNX (Open Neural Network Exchange). ONNX è un formato open source per i modelli di intelligenza artificiale che supporta l'interoperabilità tra framework come ML.NET, PyTorch e TensorFlow.
    • bestModelMap.json: elenco di categorie usate per eseguire stime per eseguire il mapping dell'output del modello a una categoria di testo.
    • MLModel.zip: versione serializzata della pipeline di stima ML.NET che usa la versione serializzata del modello bestModel.onnx per eseguire stime e mapping degli output usando il file di bestModelMap.json.

Usare il modello di Machine Learning

Le classi e nel progetto modello di definiscono rispettivamente lo schema dell'input e dell'output previsto del modello.

In uno scenario di classificazione delle immagini, il ModelInput contiene due colonne:

  • ImageSource: percorso stringa della posizione dell'immagine.
  • Label: categoria effettiva a cui appartiene l'immagine. Label viene usato solo come input quando si esegue il training e non è necessario specificare durante l'esecuzione di stime.

Il ModelOutput contiene due colonne:

  • Prediction: categoria stimata dell'immagine.
  • Score: elenco di probabilità per tutte le categorie (il più alto appartiene al Prediction).

Risoluzione dei problemi

Impossibile creare il calcolo

Se si verifica un errore durante la creazione del calcolo di Azure Machine Learning, la risorsa di calcolo potrebbe essere ancora presente, in uno stato di errore. Se si tenta di ricreare la risorsa di calcolo con lo stesso nome, l'operazione ha esito negativo. Per correggere l'errore, eseguire una delle operazioni seguenti:

  • Creare il nuovo ambiente di calcolo con un nome diverso
  • Passare al portale di Azure e rimuovere la risorsa di calcolo originale