Esplorare l'architettura della soluzione
Tenendo conto di scalabilità e automazione, si è collaborato con vari stakeholder fino a decidersi per un'architettura MLOps (Machine Learning Operations).
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'architettura include:
- Configurazione: creare tutte le risorse di Azure necessarie per la soluzione.
- Sviluppo del modello (ciclo interno): esplorare ed elaborare i dati per eseguire il training e la valutazione del modello.
- Integrazione continua: creare un pacchetto del modello e registrarlo.
- Distribuzione del modello (ciclo esterno): distribuire il modello.
- Distribuzione continua: testare il modello e promuoverlo nell'ambiente di produzione.
- Monitoraggio: monitorare le prestazioni del modello e dell'endpoint.
Per la sfida corrente l'aspetto più importante prevede di gestire il passaggio del modello dallo sviluppo alla distribuzione. Il passaggio intermedio tra questi due cicli prevede la creazione di un pacchetto e la registrazione del modello. Dopo che il team di data science ha eseguito il training di un modello, è essenziale creare un pacchetto del modello e registrarlo nell'area di lavoro di Azure Machine Learning. Dopo aver registrato il modello, è possibile distribuirlo.
Esistono diversi approcci per creare un pacchetto del modello. Dopo aver esaminato alcune opzioni, come l'uso dei file pickle, si è deciso con il team di data science di utilizzare MLflow. Quando si registra il modello come modello MLflow, è possibile scegliere la distribuzione senza codice nell'area di lavoro di Azure Machine Learning. Con la distribuzione senza codice non è necessario creare lo script di assegnazione del punteggio e l'ambiente perché la distribuzione funzioni.
Quando si vuole distribuire un modello, è possibile scegliere tra un endpoint online per previsioni in tempo reale o un endpoint batch per previsioni batch. Poiché il modello verrà integrato in un'app Web in cui il medico immetterà i dati medici allo scopo di ottenere una risposta diretta, si sceglie di distribuire il modello in un endpoint online.
È possibile distribuire manualmente il modello nell'area di lavoro di Azure Machine Learning. Tuttavia, si prevede di distribuire più modelli in futuro. E si vuole anche ridistribuire facilmente il modello di classificazione del diabete ogni volta che il modello viene sottoposto nuovamente a training. Si vuole quindi automatizzare la distribuzione del modello ogniqualvolta possibile.
Nota
Anche se l'automazione è un aspetto critico di MLOps, è fondamentale mantenere nel ciclo la componente umana. La procedura consigliata prevede la verifica del modello prima di distribuirlo automaticamente.