Pour préparer vos pipelines de ML à la production, vous devez procéder comme suit :
- Provisionner des ressources de calcul pour vos pipelines
- Implémenter la journalisation, la surveillance et les alertes
Provisionner des ressources de calcul
L'exécution de pipelines de ML nécessite des ressources de calcul, comme de la RAM, des processeurs et des GPU/TPU. Sans ressources de calcul suffisantes, vous ne pouvez pas exécuter vos pipelines. Par conséquent, assurez-vous d'obtenir un quota suffisant pour provisionner les ressources requises dont vos pipelines ont besoin pour s'exécuter en production.
Pipelines de diffusion, d'entraînement et de validation. Ces pipelines nécessitent des TPU, des GPU ou des processeurs. Selon votre cas d'utilisation, vous pouvez effectuer l'entraînement et le service sur différents matériels, ou utiliser le même matériel. Par exemple, l'entraînement peut avoir lieu sur des processeurs, mais le service peut utiliser des TPU, ou inversement. En général, il est courant d'entraîner un modèle sur du matériel plus puissant, puis de le déployer sur du matériel plus petit.
Lorsque vous choisissez du matériel, tenez compte des points suivants :
- Puis-je effectuer l'entraînement sur du matériel moins coûteux ?
- Le passage à un autre matériel permettrait-il d'améliorer les performances ?
- Quelle est la taille du modèle et quel matériel optimisera ses performances ?
- Quel matériel est idéal en fonction de l'architecture de votre modèle ?
Pipelines de données. Les pipelines de données nécessitent un quota de RAM et de processeur Vous devrez estimer le quota dont votre pipeline a besoin pour générer des ensembles de données d'entraînement et de test.
Il est possible que vous n'allouiez pas de quota pour chaque pipeline. À la place, vous pouvez allouer un quota que les pipelines partagent. Dans ce cas, vérifiez que vous disposez d'un quota suffisant pour exécuter tous vos pipelines, et configurez la surveillance et les alertes pour éviter qu'un seul pipeline erroné ne consomme tout le quota.
Estimer le quota
Pour estimer le quota dont vous aurez besoin pour les pipelines de données et d'entraînement, trouvez des projets similaires sur lesquels baser vos estimations. Pour estimer le quota de diffusion, essayez de prédire les requêtes par seconde du service. Ces méthodes fournissent une base de référence. Lorsque vous commencerez à prototyper une solution pendant la phase d'expérimentation, vous obtiendrez une estimation plus précise du quota.
Lorsque vous estimez le quota, n'oubliez pas de tenir compte du quota non seulement pour vos pipelines de production, mais aussi pour les tests en cours.
Testez vos connaissances
Journalisation, surveillance et alertes
Il est essentiel de journaliser et de surveiller le comportement d'un modèle de production. Une infrastructure de surveillance robuste confirme que vos modèles fournissent des prédictions fiables et de haute qualité.
De bonnes pratiques de journalisation et de surveillance permettent d'identifier de manière proactive les problèmes dans les pipelines de ML et d'atténuer l'impact potentiel sur l'activité. En cas de problème, des alertes sont envoyées aux membres de votre équipe et des journaux complets facilitent le diagnostic de la cause première du problème.
Vous devez implémenter la journalisation et la surveillance pour détecter les problèmes suivants avec les pipelines de ML :
Pipeline | Surveiller |
---|---|
Livraison |
|
Données |
|
Formation |
|
Validation |
|
Vous aurez également besoin de la journalisation, de la surveillance et des alertes pour les éléments suivants :
- Latence. Combien de temps faut-il pour fournir une prédiction ?
- Pannes. Le modèle a-t-il cessé de fournir des prédictions ?
Testez vos connaissances
Le déploiement d'un modèle
Pour le déploiement de modèles, vous devez documenter les éléments suivants :
- Approbations requises pour commencer le déploiement et l'étendre.
- Comment mettre un modèle en production.
- Emplacement de déploiement du modèle, par exemple s'il existe des environnements de préproduction ou canari.
- Que faire en cas d'échec d'un déploiement ?
- Découvrez comment effectuer un rollback d'un modèle déjà en production.
Après avoir automatisé l'entraînement des modèles, vous souhaiterez automatiser la validation et le déploiement. L'automatisation des déploiements répartit les responsabilités et réduit la probabilité qu'un déploiement soit bloqué par une seule personne. Il réduit également les erreurs potentielles, augmente l'efficacité et la fiabilité, et permet les rotations d'astreinte et l'assistance SRE.
En général, vous déployez de nouveaux modèles auprès d'un sous-ensemble d'utilisateurs pour vérifier que le modèle se comporte comme prévu. Si c'est le cas, poursuivez le déploiement. Si ce n'est pas le cas, vous devez annuler le déploiement et commencer à diagnostiquer et à déboguer les problèmes.