MLOps

Plateforme MLOps : Développer ou Acheter ? Ce que vous devez savoir

Certaines entreprises choisissent de développer des plateformes MLOps complètes, tandis que d'autres préfèrent acheter des outils intégrés à leurs solutions. Découvrez ce qui est le mieux pour vous.

PT

Picsellia Team

·13 min read

MLOps Platform: Build vs. Buy? What You Must Know

Mettez votre MLOps en pratique

Arretez d'assembler des outils. Adoptez une plateforme CV de bout en bout avec automatisation integree.

Sans carte bancaireEssai gratuit de 14 jours

TL;DR. Développer une solution complète et bien conçue à partir de zéro peut prendre jusqu'à deux ans, période pendant laquelle vous consacrerez vos ressources uniquement à cet objectif — du temps que vous pourriez utiliser pour développer votre produit et entraîner vos modèles de machine learning. Le simple fait de recruter une équipe complète pour un an pourrait vous coûter jusqu'à 400 k€ (et il y a d'autres coûts !). Donc, à moins que vous n'ayez un cas d'usage très spécifique nécessitant une solution sur mesure, il est préférable d'en acheter une qui correspond à vos besoins. Des centaines d'entreprises ont investi beaucoup d'efforts et d'argent pour construire toutes sortes de plateformes pour différents cas d'usage. Il y a donc de fortes chances que vous finissiez par développer quelque chose de similaire à ce qui existe déjà.

Introduction

Alors que de plus en plus d'entreprises adoptent les bénéfices du machine learning operations (MLOps), la question qui occupe l'esprit des dirigeants est : devons-nous développer ou acheter une plateforme MLOps ?

Développer votre propre plateforme MLOps nécessite une expertise dans de nombreux domaines comme la data science, l'ingénierie logicielle, l'architecture de données et le DevOps. Cela requiert également un investissement significatif en temps et en ressources. Mais, en même temps, développer votre propre plateforme ML peut vous aider à personnaliser votre solution pour vos besoins spécifiques et les exigences de votre secteur.

D'un autre côté, acheter une solution MLOps clé en main signifie qu'elle a déjà été construite pour vous (et beaucoup d'efforts ont été investis dans sa création et son support), vous permettant de vous concentrer sur l'entraînement et la maintenance de vos modèles.

Certaines entreprises ont décidé de développer une plateforme MLOps complète adaptée à leurs besoins, tandis que d'autres ont acheté des plateformes qui ne disposent pas de tous les outils nécessaires pour leurs projets ML, devant alors construire des outils supplémentaires pour couvrir leurs besoins. Si vous hésitez entre acheter ou développer votre propre plateforme MLOps de bout en bout, nous allons vous donner quelques éclairages pour vous aider à décider.

Quand faut-il développer une plateforme MLOps ?

Développer une plateforme ML en interne peut être une bonne option pour un cas d'usage très spécifique nécessitant des fonctionnalités particulièrement personnalisées. Cependant, dans certains cas, il est également possible de personnaliser des solutions tierces dans une certaine mesure, afin de répondre à vos besoins spécifiques et aux exigences de votre secteur.

Le meilleur exemple pour des besoins sectoriels spécifiques est l'industrie de l'imagerie médicale. Étant donné la multitude de formats de données généralement utilisés dans ce domaine, il est vraiment compliqué de trouver une plateforme prête à l'emploi capable de tous les gérer.

Sur un autre plan, développer votre propre plateforme MLOps signifie que vous avez un contrôle total sur les données, ce qui implique de construire vos propres standards (élevés) de sécurité. Si vous achetez une plateforme MLOps commerciale, vous devrez accepter d'utiliser les standards de sécurité de votre fournisseur.

Quand faut-il acheter une plateforme MLOps ?

Acheter une plateforme MLOps est un excellent choix pour les entreprises qui recherchent une mise en œuvre rapide, de la vitesse et de l'efficacité.

L'un des avantages les plus importants de l'achat d'une solution MLOps est que vous pouvez vous concentrer sur ce qui est important pour votre activité pendant que la plateforme gère tout le reste. Autrement dit, vous aurez plus de temps pour développer votre produit et vous concentrer sur la data science, et éviter de prendre du retard pendant que vos concurrents progressent.

Les entreprises qui achètent des plateformes MLOps clé en main peuvent être assurées de la qualité de la technologie dans laquelle elles investissent. Beaucoup de temps et de ressources ont été consacrés au développement de ces technologies.

Les plateformes de bout en bout existantes permettent à vos équipes de travailler et collaborer sur une seule plateforme, sans avoir à utiliser divers outils pour compléter le cycle de vie MLOps.

Ces avantages augmentent la productivité de vos équipes et leur permettent de développer vos produits plus rapidement.

De quoi ai-je besoin pour développer une plateforme MLOps de qualité ?

Pour construire des modèles ML précis, il est essentiel de considérer la vitesse d'itération de vos expériences, et c'est là que les outils MLOps entrent en jeu. Cependant, le processus de développement d'une plateforme MLOps bien conçue en interne implique de disposer d'une infrastructure robuste et évolutive qui s'adapte à vos besoins au fur et à mesure que votre organisation grandit.

En même temps, une infrastructure solide est nécessaire pour déployer des systèmes ML en production. De cette façon, vous pouvez continuellement réentraîner vos modèles sur les données entrantes pour garder vos modèles représentatifs du monde réel sans interruption.

Les fonctionnalités qui apportent le plus de valeur à une plateforme MLOps ne sont pas toujours les plus évidentes. Par exemple, un système d'alertes et de notifications qui se déclenche en fonction des besoins des utilisateurs, comme la revue des prédictions ou la validation des performances du modèle, peut sembler accessoire, mais peut assurément vous faire gagner beaucoup de temps (et éviter des temps d'arrêt).

Chez Picsellia, nous avons développé une plateforme qui couvre l'ensemble du stack MLOps, incluant des workflows automatiques avec des notifications qui vous alertent lorsque de nouvelles données nécessitant un étiquetage arrivent ou lorsque votre modèle nécessite une attention particulière. Ainsi, vous identifierez facilement toute dérive ou dégradation du modèle et pourrez y remédier à temps.

Mlops platform build vs buy what you must knowMlops platform build vs buy what you must know

Source : Introducing MLOps. How to Scale Machine Learning in the Enterprise. Pg. 85 (Treveil M., the Daitaku Team, 2020)

Pour accélérer votre mise en production, votre plateforme doit être capable d'exécuter plusieurs tâches en parallèle sur différentes ressources. C'est pourquoi vous devrez déployer votre plateforme MLOps personnalisée dans le cloud ou exploiter le cluster de calcul de votre propre organisation.

De plus, vous aurez besoin d'une équipe pluridisciplinaire expérimentée au minimum en ingénierie logicielle, data science, architecture de données et DevOps.

Afin de prendre la décision qui correspond le mieux aux besoins de votre organisation, vous devez définir des objectifs clairs. Quelle valeur souhaitez-vous que la plateforme apporte ? Combien de temps et d'argent êtes-vous prêt à y consacrer, en tenant compte du coût d'opportunité ? Avez-vous besoin de construire l'ensemble du stack MLOps ou seulement une partie ?

Sur le plan technique, vous devrez savoir quelle infrastructure vous avez à disposition (cloud ou on-premise), le langage requis, le framework de deep learning utilisé ou même des besoins d'annotation exotiques. Il est également très important d'avoir une compréhension claire de vos objectifs et de vos métriques de performance, car cela orientera vos besoins en tableaux de bord et en analytique.

Combien de temps faut-il pour développer une plateforme MLOps ?

Vous ne devez pas seulement considérer le temps nécessaire pour construire une plateforme ML en interne en soi, mais aussi le coût total de possession. C'est-à-dire que vous devez prévoir du temps pour corriger, maintenir et surveiller votre solution, une fois qu'elle est construite.

Lors de la TWIMLCon à San Francisco, un sondage informel a été réalisé lors d'une session unconference, sur le temps qu'il a fallu aux équipes pour développer leur propre plateforme ML en interne. Les réponses variaient en fonction de la maturité de la plateforme et allaient de quelques ingénieurs ML travaillant pendant quelques mois à une douzaine d'ingénieurs travaillant jusqu'à deux ans.

Étant donné que l'ensemble de ce processus pourrait prendre jusqu'à quelques années, et que la maintenance est nécessaire, vous voudrez peut-être identifier soigneusement vos priorités et votre budget. Gardez à l'esprit que, si vous décidez de développer, vous ne pourrez pas mener d'expériences ni vous concentrer sur la data science.

Alors qu'avec une plateforme existante, vous pouvez itérer dès le départ pendant que votre plateforme mûrit à travers les différentes étapes du cycle de vie.

Quel est le coût de développement d'une plateforme MLOps ?

Effectifs

En plus du temps nécessaire pour construire une plateforme MLOps robuste, vous devez considérer d'autres facteurs économiques plus directs.

Non seulement vous devrez investir dans des data scientists, mais vous voudrez également avoir une équipe d'ingénieurs logiciels pour construire la plateforme et corriger tous les bugs qui pourraient survenir. Il est également important de constituer des équipes expérimentées dans toutes les parties du stack MLOps telles que l'infrastructure cloud, la gestion des ressources de calcul, la configuration, le suivi des modèles, le déploiement et la surveillance (la liste est longue).

Certains des postes que vous devrez pourvoir sont développeur(s) backend, ingénieur(s) données, data scientist(s), DevOps, et probablement un chef de projet.

Les coûts d'effectifs varient d'une année à l'autre et dépendent de la ville. Début 2022, nous avons fait une estimation en utilisant Glassdoor pour une équipe ML sur le marché parisien (France). Rien que pour une équipe pluridisciplinaire de 6 membres travaillant pendant un an, cela pourrait vous coûter environ 400 k€.

  • Développeur backend : 65 k€ /an
  • Ingénieur données : 63 k€ /an
  • Data scientist : 60 k€ /an
  • DevOps : 72 k€ /an
  • Chef de projet : 61 k€ /an
  • Architecte machine learning : 81 k€ /an

Les tâches des data scientists se situent généralement du côté de la construction des modèles et impliquent de traiter des données cloisonnées, des processus et des outils ML. Comme le suggère "Introducing MLOps. How to Scale Machine Learning in the Enterprise" (O'Reilly, 2020), les data scientists devraient aller au-delà de ces tâches strictement ML et aider les experts métier (qu'il est également recommandé d'inclure dans l'équipe pour garantir le succès) à résoudre les problèmes business.

Les ingénieurs données sont principalement en charge du stockage, de l'organisation, du traitement et de la transformation des données nécessaires au cycle d'entraînement de votre modèle ML. Et surtout, ils doivent s'assurer que tout fonctionne bien du point de vue de l'ingestion des données (ETL) et de l'infrastructure.

Les ingénieurs logiciels doivent travailler avec les data scientists pour s'assurer que le code ML, l'apprentissage, les tests et le déploiement s'intègrent dans les pipelines CI/CD que le reste du logiciel utilise.

Les équipes DevOps sont en charge de la gestion des pipelines CI/CD, et sont généralement impliquées dans la conduite et la construction des systèmes opérationnels et des tests. C'est essentiel pour optimiser les performances de vos modèles ML. Les DevOps sont un pont entre les ingénieurs logiciels et les serveurs de production déployés, garantissant la scalabilité des produits. Cependant, comme les principales plateformes cloud ont grandement simplifié la gestion des serveurs, dans les petites équipes les rôles DevOps sont de plus en plus laissés de côté puisque les ingénieurs logiciels peuvent assumer cette fonction.

Les architectes machine learning doivent s'assurer que l'architecture de l'entreprise répond à toutes les exigences en matière de données. Ils suggéreront les nouvelles technologies nécessaires pour optimiser les performances des modèles ML. Pour cette raison, ils doivent collaborer constamment avec toutes les équipes pour allouer les ressources de manière précise.

Mlops platform build vs buy what you must knowMlops platform build vs buy what you must know

Source : Introducing MLOps. How to Scale Machine Learning in the Enterprise. (Treveil M., the Daitaku Team, 2020)

Cloud Computing

De plus, vous devez considérer les coûts de ressources tels que la possession de votre propre cluster de calcul ou le paiement d'un fournisseur cloud pour un ou plusieurs serveurs. Une plateforme de cloud computing pour le ML peut coûter environ $400/mois pour un serveur sans GPU, et $15 000 pour une infrastructure back-office complète.

Si vous souhaitez estimer vos coûts personnalisés de plateformes de cloud computing, certaines des plateformes les plus populaires fournissent des calculateurs en ligne, comme les suivants :

Calculateur Amazon AWS Cloud

Calculateur Google GCP Cloud

Calculateur Microsoft Azure Cloud

Pour en savoir plus sur la comparaison de ces trois plateformes cloud, nous vous suggérons de lire cet article.

À l'inverse, si vous décidez d'acheter une plateforme ML, vous pourrez exploiter diverses ressources simultanément, notamment l'entraînement parallèle de modèles et le réglage d'hyperparamètres. Si vous décidiez de faire ce processus vous-même, vous devriez gérer toutes les communications entre votre cluster et votre code. De plus, les outils ML incluent généralement une gestion du cluster pour nettoyer vos expériences après leur achèvement, évitant d'occuper l'espace de stockage de vos ressources.

Les outils ML s'intègrent souvent à diverses plateformes cloud afin que vous puissiez choisir celle qui convient le mieux à vos besoins. En fait, Picsellia a un partenariat avec OVH Cloud, le principal fournisseur cloud européen, qui offre un stockage et des ressources robustes pour toutes vos données, expériences et modèles, augmentant considérablement la vitesse d'itération.

Conclusion

Développer une plateforme ML full stack à partir de zéro est une tâche exigeante qui vous coûtera beaucoup d'argent et de temps que vous pourriez utiliser pour faire de la recherche, mener des expériences et développer votre produit. Si vous avez une petite équipe, vous pourriez envisager d'utiliser vos ressources pour le développement produit plutôt que d'investir vos ressources à réinventer la roue.

Commencez par identifier quels sont les besoins de votre produit et ce que vous cherchez à accomplir avec une plateforme ML. Assurez-vous de déterminer le périmètre de votre projet, comme les fonctionnalités, la configuration requise et les besoins de scalabilité. Une fois cela en tête, nous vous conseillons de rechercher minutieusement les plateformes MLOps disponibles, car il est probable que vous en trouviez une qui corresponde à vos besoins.

Nous ne suggérerions de développer vos propres outils que si vous avez déjà fait preuve de diligence raisonnable et n'avez toujours pas trouvé d'outil adapté à votre cas d'usage. Même dans ce cas, vous pourriez ne construire qu'une partie du cycle de vie MLOps — par exemple, un outil d'étiquetage spécifique — et acheter une plateforme intégrable qui couvre le reste du stack ML.

Au cas où vous auriez décidé d'acheter une plateforme ML complète, ou d'en construire seulement une partie, chez Picsellia nous avons développé une plateforme robuste qui couvre l'ensemble du cycle de vie MLOps pour les projets de vision par ordinateur. De la gestion des datasets et du suivi des expériences, au déploiement des modèles, à la surveillance et aux pipelines automatisés.

Si vous souhaitez commencer à itérer et entraîner vos modèles dès le départ, nous vous suggérons d'essayer Picsellia. Pour en savoir plus sur notre solution et comment elle peut répondre à vos besoins, n'hésitez pas à réserver une démo avec nous !

healthcaremlopsmodel-training

Suggestions Picsellia

Automatisez vos pipelines ML

Configurez l'entrainement et le deploiement continus avec des declencheurs automatiques, des deploiements shadow et des boucles de feedback.

Explorer les pipelines automatises

Restez informe

Recevez les derniers articles sur la vision par ordinateur, le MLOps et l'IA directement dans votre boite mail.