Introduction
Afin dâaméliorer lâexpérience de ses clients, la marketplace ManoMano a recours à de nombreux algorithmes de data-science : catégorisation, extraction automatique des caractéristiques produits, recommandations de produits, cross-selling, etc. Dans son contexte de scale-up avec une augmentation des besoins (IA génératives, etc) et du nombre de Data Scientists, il est primordial dâégalement faire grandir les capacités de la plateforme pour leur permettre de travailler dans les meilleures conditions et raccourcir les cycles de développement tout en optimisant les coûts et en réduisant lâempreinte carbone.
Méthodologie
Nous nous appuierons sur les retours dâexpérience de notre évolution de la plateforme data science chez ManoMano depuis 2 ans. Dâune solution on premise à une utilisation de ressources Cloud à la demande, nous détaillerons les problématiques rencontrées. La première d'entre elles porte sur la concurrence d'accès aux ressources matérielles. Très présentes on-premise, l'utilisation de la conteneurisation dans le Cloud à permis de la solutionner pour les phases d'entraînement et d'inférence mais aussi pour les phases d'exploration et d'expérimentation via la conteneurisation de l'environnement de développement grâce à l'outil Devspace et un SDK interne.
Combinée à l'utilisation de Kubernetes, nous avons pu adresser également les besoins spécifiques en mémoire et en GPU en fonction des projets et des phases de développement, tout en homogénéisant les environnements d'exécution, raccourcissant ainsi les temps de cycle et améliorant la productivité des Data Scientists La mise à disposition de ressource à la demande associée à des stratégies pour optimiser les typologies de machines et leur temps d'utilisation nous ont permis de trouver le bon équilibre entre les besoins matériels grandissant, la résilience de l'infrastructure et l'optimisation de notre consommation de carbone.
Le changement de région de notre fournisseur Cloud nous a également permis d'optimiser cette dernière avec une électricité plus verte.
Originalité / perspective
La conteneurisation de l'ensemble du cycle de développement d'un modèle même lors de l'exploration et de l'expérimentation, nous a permis d'utiliser de manière ponctuelle des ressources matérielles et d'optimiser leur consommation notamment par la réutilisation de machine déjà disponible (aws spot instance) plutôt que par leur réservation. De plus, l'environnement quotidien des data scientists est le même que celui utilisé pour l'entraînement et l'inférence, permettant de détecter les problèmes au plus tôt et ainsi raccourcir les cycles et les consommations de ressources associées. Notre approche nous a permis de réduire de 30% notre consommation AWS et donc d'autant l'empreinte carbone associée, malgré une hausse du nombre de projets. Nous souhaitons par la suite étudier comment mettre à disposition des machines ayant un meilleur ratio entre leur puissance de calcul et leur consommation énergétique
Références
https://about.manomano.com/fr/mano-impact/
https://www.devspace.sh