Progettare per la ripetizione del training
Quando si prepara il modello per la produzione in una soluzione MLOps (Machine Learning Operations), è necessario progettare la ripetizione del training.
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 i 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 tutte le modifiche apportate in passato e rivedere 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.
Gli scienziati dei dati possono preferire l'uso di Azure Machine Learning Python SDK. Tuttavia, quando si utilizzano 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 a MLOps (Machine Learning Operations) o provare a creare la prima pipeline di automazione MLOps con GitHub Actions