Per preparare le pipeline ML per la produzione, devi:
- Provisioning delle risorse di calcolo per le pipeline
- Implementa logging, monitoraggio e avvisi
Provisioning delle risorse di computing
L'esecuzione di pipeline ML richiede risorse di calcolo, come RAM, CPU e GPU/TPU. Senza risorse di calcolo adeguate, non puoi eseguire le pipeline. Pertanto, assicurati di ottenere una quota sufficiente per eseguire il provisioning delle risorse richieste dalle tue pipeline per l'esecuzione in produzione.
Pipeline di pubblicazione, addestramento e convalida. Queste pipeline richiedono TPU, GPU o CPU. A seconda del caso d'uso, potresti eseguire l'addestramento e la pubblicazione su hardware diversi o utilizzare lo stesso hardware. Ad esempio, l'addestramento potrebbe avvenire sulle CPU, mentre la pubblicazione potrebbe utilizzare le TPU o viceversa. In generale, è comune eseguire l'addestramento su hardware più grande e poi pubblicare su hardware più piccolo.
Quando scegli l'hardware, considera quanto segue:
- Puoi eseguire l'addestramento su hardware meno costoso?
- Il passaggio a un hardware diverso migliorerebbe le prestazioni?
- Quali sono le dimensioni del modello e quale hardware ne ottimizzerà le prestazioni?
- Quale hardware è ideale in base all'architettura del 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. ma potresti allocare una quota condivisa dalle pipeline. In questi casi, verifica di avere una quota sufficiente per eseguire tutte le pipeline e configura il monitoraggio e gli avvisi per impedire che una singola pipeline errata consumi tutta la quota.
Stima della quota
Per stimare la quota necessaria per le pipeline di dati e addestramento, trova progetti simili su cui basare le stime. Per stimare la quota di pubblicazione, prova a prevedere le query al secondo del servizio. Questi metodi forniscono una base di riferimento. Man mano che inizi a creare il prototipo di una soluzione durante la fase di sperimentazione, inizierai a ottenere una stima più precisa della quota.
Quando stimi la quota, ricorda di tenere conto della quota non solo per le pipeline di produzione, ma anche per gli esperimenti in corso.
Verifica di aver compreso tutto
Logging, monitoraggio e avvisi
Il logging e il monitoraggio del comportamento di un modello di produzione sono fondamentali. Un'infrastruttura di monitoraggio solida conferma che i tuoi modelli forniscono previsioni affidabili e di alta qualità.
Buone pratiche di logging e monitoraggio aiutano a identificare in modo proattivo i problemi nelle pipeline ML e a mitigare il potenziale impatto sul business. Quando si verificano problemi, gli avvisi notificano i membri del tuo team e i log completi facilitano la diagnosi della causa principale del problema.
Devi implementare la registrazione e il monitoraggio per rilevare i seguenti problemi con le pipeline ML:
Pipeline | Monitoraggio |
---|---|
Pubblicazione |
|
Dati |
|
Formazione |
|
Convalida |
|
Inoltre, ti consigliamo di configurare logging, monitoraggio e avvisi per quanto segue:
- Latenza. Quanto tempo ci vuole per fornire una previsione?
- Interruzioni. Il modello ha smesso di fornire previsioni?
Verifica di aver compreso tutto
Deployment di un modello
Per il deployment del modello, devi documentare quanto segue:
- Approvazioni necessarie per iniziare il deployment e aumentare l'implementazione.
- Come mettere in produzione un modello.
- Dove viene eseguito il deployment del modello, ad esempio se sono presenti ambienti di staging o canary.
- Che cosa fare se un deployment non va a buon fine.
- Come eseguire il rollback di un modello già in produzione.
Dopo aver automatizzato l'addestramento del modello, ti consigliamo di automatizzare la convalida e il deployment. L'automazione dei deployment distribuisce la responsabilità e riduce la probabilità che un deployment venga bloccato da una sola persona. Inoltre, riduce i potenziali errori, aumenta l'efficienza e l'affidabilità e consente rotazioni di reperibilità e supporto SRE.
In genere, esegui il deployment di nuovi modelli per un sottoinsieme di utenti per verificare che il modello si comporti come previsto. Se è così, continua con il deployment. In caso contrario, esegui il rollback del deployment e inizia a diagnosticare ed eseguire il debug dei problemi.