Comment implémenter CI / CD / CT pour l'apprentissage automatique?
Si vous travaillez sur des projets d'apprentissage automatique, il est probable que vous travaillez sur une version de l'intégration continue / déploiement continu (CI / CD).Il représente un niveau élevé de maturité dans les MLOPS avec une formation continue (CT) en haut.Ce niveau d'automatisation aide vraiment les ingénieurs ML à se concentrer uniquement sur l'expérimentation avec de nouvelles idées tout en déléguant des tâches répétitives vers les pipelines d'ingénierie et en minimisant les erreurs humaines.
Il existe de nombreuses façons d'implémenter CI / CD / CT pour l'apprentissage automatique, mais voici un processus typique:
La phase expérimentale:L'ingénieur ML souhaite tester une nouvelle idée (disons une nouvelle transformation de fonctionnalité).Il modifie la base de code pour implémenter la nouvelle transformation, forme un modèle et valide que la nouvelle transformation donne en effet des performances plus élevées.Le résultat qui en résulte à ce stade n'est qu'un morceau de code qui doit être inclus dans le Master Repo.
Intégration continue:L'ingénieur crée ensuite une demande de traction (PR) qui déclenche automatiquement les tests unitaires (comme un processus CI typique) mais déclenche également l'instanciation du pipeline d'entraînement automatisé pour recycler le modèle, le tester potentiellement par le biais de tests d'intégration ou de tests et de le pousser versun registre de modèles.Il existe un processus manuel pour un autre ingénieur pour valider la lecture des relations publiques et des performances du nouveau modèle.
Déploiement continu:L'activation d'un déploiement déclenche un déploiement canari pour s'assurer que le modèle s'adapte à un pipeline de service et exécute une expérience de test A / B pour la tester contre le modèle de production.Après des résultats satisfaisants, nous pouvons proposer le nouveau modèle en remplacement de celui de production.
Formation continue:Dès que le modèle entre dans le registre du modèle, il se détériore et vous voudrez peut-être activer immédiatement une formation récurrente.Par exemple, chaque jour, le modèle peut être affiné avec les nouvelles données de formation de la journée, déployés, et le pipeline de service est redirigé vers le modèle mis à jour.