Esplorare l'architettura della soluzione
Quando si lavora su progetti più piccoli con team di piccole dimensioni, può essere opportuno avere un'area di lavoro di Azure Machine Learning. L'area di lavoro può essere usata per tutte le operazioni: training, test e distribuzione del modello. Tuttavia, Proseware vuole una soluzione affidabile e a prova di futuro che possa essere facilmente dimensionata quando si creano e si gestiscono più modelli da integrare nell'applicazione Web per i medici.
Per il passaggio rapido ma sicuro del modello dallo sviluppo alla produzione, è stata concordata un'architettura Machine Learning Operations (MLOps) di alto livello.
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 usare i modelli di Machine Learning su larga scala, Proseware vuole usare ambienti separati per fasi diverse. Disponendo di ambienti separati sarà più facile controllare l'accesso alle risorse. Ogni ambiente può quindi essere associato a un'area di lavoro separata di Azure Machine Learning.
Nota
In questo modulo si fa riferimento agli ambienti come sono intesi in DevOps. Si noti che anche Azure Machine Learning usa il termine ambienti per indicare una raccolta di pacchetti Python necessari per eseguire uno script. Questi due concetti di ambienti sono indipendenti tra loro. Vedere altre informazioni sugli ambienti di Azure Machine Learning.
Per consentire il test dei modelli prima della distribuzione, è necessario usare tre ambienti:
L'ambiente di sviluppo viene usato per il ciclo interno:
- Gli scienziati dei dati eseguono il training del modello.
- Viene creato un pacchetto del modello e il modello viene registrato.
L'ambiente di staging viene usato per parte del ciclo esterno:
- Testare il codice e il modello con linting e testing unità.
- Distribuire il modello per testare l'endpoint.
L'ambiente di produzione viene usato per un'altra parte del ciclo esterno:
- Distribuire il modello all'endpoint di produzione. L'endpoint di produzione è integrato con l'applicazione Web.
- Monitorare le prestazioni del modello e dell'endpoint per attivare la ripetizione del training quando necessario.
Anche se molte attività di Machine Learning possono e devono essere automatizzate, sarà necessario pianificare punti per l'esecuzione dell'approvazione controllata. Dopo il training e la creazione del pacchetto del modello, è necessario avvisare lo scienziato dei dati responsabile di convalidare il modello prima del passaggio all'ambiente di staging.
In modo analogo, dopo test accurati del modello nell'ambiente di staging, si vuole aggiungere l'approvazione controllata per assicurarsi che un membro del team di sviluppo software verifichi che tutti i test abbiano avuto esito positivo prima di distribuire il modello nell'ambiente di produzione.
Quando si utilizzano gli ambienti, l'approvazione controllata consente di controllare le distribuzioni da un ambiente all'altro.