Comprendre le problème de l’entreprise
En tant qu’ingénieur Machine Learning chez Proseware, vous collaborez avec de nombreuses parties prenantes techniques. En plus de travailler avec l’équipe de science des données qui a formé un modèle de classification du diabète, vous collaborez également avec les développeurs de logiciels responsables de l’application web (utilisée par les praticiens) qui consommera le modèle.
Pour s’adapter aux nouvelles exigences, l’application web sera mise à jour au fil du temps et de la même façon, le modèle devra également changer au fil du temps. Dès qu’il y a dérive des données ou une diminution des performances du modèle, l’équipe de science des données sera invitée à réviser le modèle et à mettre à jour le code en conséquence.
Chaque fois qu’une modification du modèle est nécessaire, l’équipe de science des données doit expérimenter, tester et empaqueter le modèle. Pendant qu’ils travaillent sur un nouveau modèle amélioré, le modèle en production doit rester inchangé afin de garantir une expérience stable pour les praticiens travaillant avec l’application web.
En tant qu’ingénieur Machine Learning, vous souhaitez configurer le développement basé sur le tronc pour les scientifiques des données. En travaillant avec des branches dans votre contrôle de source, vous protégez la branche principale, qui contient le code de production, et vous permettez aux scientifiques des données d’expérimenter en toute sécurité dans leurs propres branches.
Pour configurer le développement basé sur des fonctionnalités, vous souhaitez :
- Bloquer les envois push directs vers la branche principale.
- Utiliser des demandes de tirage chaque fois qu’une mise à jour du code est nécessaire.
- Déclencher des vérifications de qualité du code chaque fois qu’une demande de tirage est créée pour vérifier automatiquement le code.
- Fusionner une demande de tirage uniquement lorsque les modifications sont approuvées manuellement.