Progettare per la ripetizione del training
Quando si prepara il modello all'uso in produzione in una soluzione MLOps (Machine Learning Operations), è necessario progettare per il riaddestramento.
In genere, esistono due approcci per la ripetizione del training di un modello:
- In base a una pianificazione: quando si sa che è sempre necessaria la versione più recente del modello, è possibile decidere di ripetere il training del modello ogni settimana o ogni mese, in base a una pianificazione.
- In base alle metriche: se si vuole ripetere il training del modello solo quando necessario, è possibile monitorare le prestazioni e la deriva dei dati del modello per decidere quando è necessario ripetere il training del modello.
In entrambi i casi, è necessario progettare per la ripetizione del training. Per ripetere facilmente il training del modello, è necessario preparare il codice per l'automazione.
Preparare il codice
Idealmente, è consigliabile eseguire il training dei modelli con script anziché notebook. Gli script sono più adatti per l'automazione. È possibile aggiungere parametri a uno script e modificare parametri di input come i dati di training o i valori degli iperparametri. Quando si parametrizzano gli script, è possibile ripetere facilmente il training del modello sui nuovi dati all'occorrenza.
Un altro aspetto importante per preparare il codice consiste nell'ospitare il codice in un repository centrale. Un repository fa riferimento a una posizione in cui vengono archiviati tutti i file pertinenti per un progetto. Con i progetti di Machine Learning, i repository basati su Git sono ideali per ottenere il controllo del codice sorgente.
L'applicazione del controllo del codice sorgente al progetto consente di facilitare la collaborazione. È possibile assegnare a un utente il compito di migliorare il modello aggiornando il codice. Sarà possibile visualizzare le modifiche precedenti ed esaminare le modifiche prima di eseguirne il commit nel repository principale.
Automatizzare il codice
Quando si vuole eseguire automaticamente il codice, è possibile configurare i processi di Azure Machine Learning per eseguire script. In Azure Machine Learning si possono anche creare e pianificare pipeline per l'esecuzione degli script.
Se si vuole che gli script vengano eseguiti in base a un trigger o a un evento che si verifica all'esterno di Azure Machine Learning, è possibile attivare il processo di Azure Machine Learning da un altro strumento.
Due strumenti comunemente usati nei progetti MLOps sono Azure DevOps e GitHub (Actions). Entrambi gli strumenti consentono di creare pipeline di automazione e di attivare pipeline di Azure Machine Learning.
I data scientist possono preferire l'uso di Azure Machine Learning Python SDK. Tuttavia, quando si lavora con strumenti come Azure DevOps e GitHub, è preferibile configurare le risorse e i processi necessari con l'estensione dell'interfaccia della riga di comando di Azure Machine Learning. L'interfaccia della riga di comando di Azure è progettata per automatizzare le attività e può essere più semplice da usare con Azure DevOps e GitHub.
Suggerimento
Per altre informazioni su MLOps, vedere l'introduzione alle operazioni di Machine Learning (MLOps) o provare a creare la prima pipeline di automazione MLOps con GitHub Actions