Per preparare le pipeline ML per la produzione, devi fare quanto segue:
- Esegui il provisioning delle risorse di computing per le pipeline
- Implementare il logging, il monitoraggio e gli avvisi
Provisioning delle risorse di computing in corso
L'esecuzione di pipeline di ML richiede risorse di calcolo come RAM, CPU e GPU/TPU. Senza un'adeguata elaborazione, non puoi eseguire le pipeline. Pertanto, assicurati per ottenere una quota sufficiente per il provisioning delle risorse richieste nelle tue pipeline in fase di produzione.
Pipeline di distribuzione, addestramento e convalida. Queste pipeline richiedono TPU, GPU o CPU. A seconda del caso d'uso, potresti addestrare e pubblicare su hardware diversi o utilizzare lo stesso hardware. Ad esempio, l'addestramento avvengono sulle CPU, ma la gestione potrebbe utilizzare TPU o viceversa. In generale, comune per l'addestramento su hardware più grandi e per la pubblicazione su hardware più piccoli.
Quando scegli l'hardware, considera quanto segue:
- È possibile eseguire l'addestramento con un hardware meno costoso?
- Il passaggio a un altro hardware migliora le prestazioni?
- Quali sono le dimensioni del modello e quale hardware ne ottimizzerà le prestazioni?
- Qual è l'hardware ideale in base all'architettura del tuo modello?
Pipeline di dati. Le pipeline di dati richiedono una quota per RAM e CPU Dovrai stimare la quota necessaria alla pipeline per generare set di dati di addestramento e test.
Potresti non allocare la quota per ogni pipeline. Potresti invece e allocare la quota condivisa dalle pipeline. In questi casi, verifica disponi di una quota sufficiente per eseguire tutte le tue pipeline e configurare il monitoraggio le modifiche per evitare che una singola pipeline erronea consumi tutta la quota.
Stima della quota in corso...
Per stimare la quota necessaria per le pipeline di dati e addestramento, progetti simili su cui basare le stime. Per stimare la quota di pubblicazione, prova a a prevedere le query del servizio al secondo. Questi metodi forniscono una base di riferimento. Come inizi a prototipare una soluzione durante la fase di sperimentazione, inizierai per ottenere una stima più precisa della quota.
Quando stimi la quota, ricorda di tenere conto della quota non solo per la tua produzione pipeline di dati, ma anche per gli esperimenti in corso.
Verifica le tue conoscenze
Logging, monitoraggio e avvisi
Il logging e il monitoraggio del comportamento di un modello di produzione sono fondamentali. Robust dell'infrastruttura di monitoraggio conferma che i modelli previsioni di alta qualità.
Le buone pratiche di logging e monitoraggio aiutano a identificare in modo proattivo i problemi nel machine learning pipeline di dati e mitigare il potenziale impatto aziendale. In caso di problemi, gli avvisi i membri del team, mentre i log esaustivi facilitano la diagnosi causa principale del problema.
Devi implementare il logging e il monitoraggio per rilevare i seguenti problemi con le pipeline di ML:
Pipeline | Monitoraggio |
---|---|
Pubblicazione |
|
Dati |
|
Formazione |
|
Convalida |
|
Vorrai anche il logging, il monitoraggio e gli avvisi per quanto segue:
- Latenza. Quanto tempo occorre per fornire una previsione?
- Interruzioni. Il modello ha smesso di fornire previsioni?
Verifica le tue conoscenze
Deployment di un modello
Per il deployment del modello, è opportuno documentare quanto segue:
- Approvazioni necessarie per iniziare il deployment e aumentarne l'implementazione.
- Come mettere un modello in produzione.
- Località in cui viene eseguito il deployment del modello, ad esempio se sono presenti risorse temporanee o canary ambienti cloud-native.
- Cosa fare in caso di errore di un deployment.
- Come eseguire il rollback di un modello già in produzione.
Dopo aver automatizzato l'addestramento del modello, conviene automatizzare la convalida e il deployment. L'automazione dei deployment distribuisce responsabile e riduce la probabilità che un deployment venga sottoposto a collo di bottiglia una sola persona. Inoltre riduce i potenziali errori, aumenta l'efficienza e l'affidabilità, consente rotazioni con chiamate e assistenza SRE.
In genere, esegui il deployment di nuovi modelli a un sottoinsieme di utenti per verificare che il modello sia si comporta come previsto. In caso affermativo, continua con il deployment. In caso contrario, esegui il rollback del deployment e inizi a diagnosticare e a eseguire il debug dei problemi.