Esplorare l'architettura della soluzione

Completato

Prima di iniziare, esaminiamo l'architettura per comprendere tutti i requisiti. Portare un modello in produzione significa dimensionare la soluzione e collaborare con altri team. Insieme a scienziati dei dati, ingegneri dei dati e team dell'infrastruttura, si è deciso di usare l'approccio seguente:

  • Tutti i dati verranno memorizzati in un archivio di Archiviazione BLOB di Azure, che verrà gestito dall'ingegnere dei dati.
  • Il team dell'infrastruttura creerà le risorse di Azure necessarie, ad esempio l'area di lavoro di Azure Machine Learning.
  • Lo scienziato dei dati si concentrerà sul ciclo interno: sviluppo e training del modello.
  • Il tecnico di Machine Learning prenderà il modello sottoposto a training e lo distribuirà nel ciclo esterno.

Insieme al team allargato è stata progettata un'architettura di tipo MLOps (Machine Learning Operations).

Diagram of machine learning operations architecture.

Nota

Il diagramma è una rappresentazione semplificata di un'architettura MLOps. Per visualizzare un'architettura più dettagliata, esplorare i vari casi d'uso nell'acceleratore di soluzione MLOps (v2).

L'obiettivo principale dell'architettura MLOps è creare una soluzione affidabile e riproducibile. Per raggiungere questo obiettivo, l'architettura include:

  1. Configurazione: creare tutte le risorse di Azure necessarie per la soluzione.
  2. Sviluppo del modello (ciclo interno): esplorare ed elaborare i dati per eseguire il training e la valutazione del modello.
  3. Integrazione continua: creare un pacchetto del modello e registrarlo.
  4. Distribuzione del modello (ciclo esterno): distribuire il modello.
  5. Distribuzione continua: testare il modello e promuoverlo nell'ambiente di produzione.
  6. Monitoraggio: monitorare le prestazioni del modello e dell'endpoint.

A questo punto nel progetto viene creata l'area di lavoro di Azure Machine Learning, i dati vengono memorizzati in un archivio di Archiviazione BLOB di Azure e il team di data science ha eseguito il training del modello.

Si vuole passare dal ciclo interno e dallo sviluppo del modello al ciclo esterno distribuendo il modello in produzione. È quindi necessario convertire l'output del team di data science in una pipeline affidabile e riproducibile in Azure Machine Learning.

Assicurarsi che tutto il codice sia archiviato come script ed eseguire gli script come processi di Azure Machine Learning renderà più semplice automatizzare il training del modello e ripetere il training del modello in futuro.

Diagram of showing details of model development which builds on setup.

Il team di data science sta lavorando allo sviluppo del modello. Consegnano un notebook di Jupyter, che include le attività seguenti:

  1. Leggere ed esplorare i dati.
  2. Eseguire l'ingegneria delle funzionalità.
  3. Eseguire il training del modello.
  4. Valutare il modello.

Nell'ambito della configurazione, il team dell'infrastruttura ha creato:

  1. Un'area di lavoro di sviluppo (dev) di Azure Machine Learning, che può essere usata dal team di data science per l'esplorazione e la sperimentazione.
  2. Un asset di dati nell'area di lavoro, che fa riferimento a una cartella in Archiviazione BLOB di Azure contenente i dati.
  3. Le risorse di calcolo necessarie per eseguire notebook e script.

La prima attività nell'ottica MLOps consiste nel convertire il lavoro degli scienziati dei dati, in modo da poter automatizzare facilmente lo sviluppo del modello. Mentre il team di data science ha lavorato in un notebook Jupyter, è necessario usare script ed eseguirli tramite processi di Azure Machine Learning. L'input del processo sarà l'asset di dati creato dal team dell'infrastruttura, che punta ai dati che risiedono in Archiviazione BLOB di Azure, connessi all'area di lavoro di Azure Machine Learning.