Comment devenir ingénieur MLOps
Découvrez les principales responsabilités et compétences requises pour une carrière dans le domaine du MLOps, qui se concentre sur la gestion des flux de travail tout au long du cycle de vie des modèles de machine learning.
Le machine learning va bien au-delà de l’analytique traditionnelle. Il peut aider les entreprises à repérer des tendances, à trouver des anomalies et à résoudre des erreurs à grande échelle. Mais la mise en œuvre d’un modèle d’apprentissage automatique, du concept à son intégration dans un produit, est un véritable défi.
La demande d’expertise dans la mise en œuvre de l’IA a conduit à l’émergence du MLOps, une pratique dédiée à la gestion du cycle de vie de ces modèles, de leur conception, en passant par leur usage en production, jusqu’à leur suppression. Les experts techniques qui se concentrent sur l’organisation, la coordination, l’expérimentation et l’amélioration des produits et processus de machine learning sont connus sous le nom d’ingénieurs MLOps.
Qu’est-ce que le MLOps ?
Comme son nom l’indique, cette approche s’inspire du DevOps, une manière spécifique de conduire un cycle de développement applicatif. Au lieu de s’assurer du bon fonctionnement d’une application, le MLOps vise à appliquer des techniques et approches similaires aux projets de machine learning et de deep learning.
Sans même lui attribuer un rôle, la pratique impose une collaboration étroite avec diverses parties prenantes dans l’ensemble de l’organisation.
Voilà ces parties prenantes :
- Les Data Scientists, qui acquièrent et traitent les données utilisées pour entraîner les algorithmes de ML et sont souvent impliqués dans la conception et l’entraînement des modèles initiaux.
- Les développeurs, qui conçoivent et construisent le logiciel qui intégrera un modèle.
- Le personnel chargé des opérations informatiques, qui fournit, configure et entretient l’infrastructure informatique, laquelle hébergera les algorithmes et les données.
- Les parties prenantes de l’entreprise, qui sont responsables de la plateforme de ML qui en résulte et de son impact sur l’entreprise, comme la génération de revenus.
L’objectif du MLOps est de mettre en œuvre et d’exploiter d’un modèle de machine learning comme un produit commercial, plutôt que comme un POC. L’approche MLOps vise à créer des pipelines qui apportent une supervision et une coordination rigoureuses au cycle de vie du machine learning, impliquant les étapes suivantes :
- La validation et la préparation de l’entraînement initial et des jeux de données de test.
- L’ingestion des données dans le modèle.
- L’entraînement et l’optimisation du modèle.
- La sécurisation de toutes les données que le modèle traitera après son déploiement.
- La supervision du modèle afin d’assurer sa disponibilité, ses performances et sa précision.
- Comprendre comment et pourquoi le modèle fonctionne, une discipline connue sous le nom d’explicabilité.
L’adoption de l’approche MLOps peut devenir importante lorsque les organisations prennent de l’ampleur. Cela peut comprendre le développement et le soutien de dizaines, voire de centaines de modèles. Un pipeline MLOps bien défini peut améliorer la vitesse de mise en production des algorithmes, renforcer la collaboration entre les équipes et consolider le respect des réglementations en documentant un processus reproductible de mise en production et de gestion des modèles.
Que fait un ingénieur MLOps ?
La spécialité opérationnelle chargée de superviser la production des modèles AI/ML est appelée ingénierie MLOps.
Les ingénieurs MLOps sont des professionnels qualifiés chargés de gérer ces flux de travail de bout en bout. Ils interagissent avec les développeurs, les data scientists, les Ops (personnel opérationnel) et les responsables produit impliqués dans le projet. Les ingénieurs MLOps ont un large éventail de responsabilités, qui peuvent être réparties entre le développement, le déploiement, la gestion et la surveillance.
Du point de vue du développement, ou DevOps, les ingénieurs MLOps supervisent les modèles au sein de pipelines d’intégration continue/livraison continue (CI/CD). Ils examinent et approuvent les demandes de fonctionnalités ou de changements, ainsi que les pulls requests de l’équipe de data science, et s’assurent que les tests sont réussis et que tous les artefacts du modèle sont traités correctement.
Au moment du déploiement, les ingénieurs MLOps participent à la formation, à la mise au point et au test du modèle de ML, ce que l’on appelle parfois l’ingénierie ML. Ils déploient le modèle ML en production à la fin du pipeline CI/CD, en utilisant des outils tels que Docker et Kubernetes pour déployer les composants localement ou dans le cloud.
En termes de gestion et de surveillance, les ingénieurs MLOps collaborent avec d’autres équipes pour affiner le pipeline et corriger les erreurs dans le flux de travail. Pour ce faire, ils utilisent des outils de surveillance afin de suivre les paramètres, tels que l’utilisation des ressources, les taux d’erreur et les temps de réponse, et mettent en place des rapports et des alertes en cas de problèmes ou d’anomalies dans les résultats du ML. Ils analysent également les rapports et les alertes ainsi que les données de surveillance, les fichiers de logs et d’autres métriques et créent une documentation sur le déploiement, les optimisations, les changements et le dépannage.
Les compétences et l’expérience d’un ingénieur MLOps
Les ingénieurs MLOps sont les conducteurs entre les concepts du machine learning et le déploiement en production d’un produit ML.
Dans le cadre d’un recrutement, ces professionnels doivent disposer d’une suite de compétences et de connaissances dans :
- Les approches de développement logiciel et les méthodologies Agile, DevOps et les processus CI/CD.
- La programmation, notamment Python, mais aussi des langages comme SQL, Java, Scala, R, voire C++.
- Les outils d’ingestion et de transformation de données, dont Apache Kafka, les ETL du marché, Airflow, etc.
- Les plateformes de gestion et de déploiement ML, dont MLflow, Kubeflow, TensorFlow, etc.
- Les tests unitaires, la gestion des problèmes en utilisant la chaîne d’outils Agile.
- La collaboration avec des disciplines diverses et les responsables des projets.
Les différences entre le DevOps et le MLOps sont faibles, mais les deux disciplines se distinguent par le niveau de spécialisation attendue.
Un ingénieur MLOps doit comprendre le modèle et les données sous-jacentes. Il doit pouvoir déterminer si le modèle atteint ses objectifs, comment le déployer et valider ses résultats régulièrement. En conséquence, ce métier requiert un jeu de compétences avancé incluant la programmation, le scripting, la data science, la modélisation statistique, la constitution et la gestion d’une base de données, la connaissance des infrastructures et les opérations y afférentes.
Le domaine de l’intelligence artificielle n’est pas totalement appréhendé par les entreprises. Seuls les plus grands groupes ont formé des structures d’envergure pour opérer leurs modèles à l’échelle. Dans ce secteur mouvant, les rôles, les responsables et les compétences associées peuvent varier d’une activité à une autre, mais aussi évoluer au fil du temps. Il est donc recommandé de vérifier les compétences, l’expérience et les diplômes exigés avant de répondre à une offre d’emploi.
Pas de voie royale pour devenir ingénieur MLOps
Du fait de cette jeunesse, il n’y a pas une seule voie pour devenir ingénieur MLOps. Cela ouvre de nombreuses opportunités de carrières, mais cela peut générer de la confusion et de la frustration pour les candidats et les employeurs.
L’ingénierie MLOps est toutefois une activité avancée et est souvent confiée à des séniors de la profession.
S’il n’y a pas une seule voie pour obtenir ce rôle, les employeurs recherchent habituellement des candidats qui peuvent attester d’un diplôme ou d’une expérience dans les champs de la science computationnelle, l’ingénierie logicielle, la data science, les statistiques ou les mathématiques. Plus un ingénieur peut démontrer qu’il possède des compétences dans ces domaines, mieux ce sera.
Pour autant, les compétences listées ci-dessus s’apprennent. Il se peut qu’un recruteur ne cherche pas un « mouton à cinq pattes » et préfère laisser l’ingénieur prendre ses marques, puis suivre des formations pour élargir son jeu de compétences.
Le futur du MLOps
S’il faut éviter de spéculer sur l’avenir d’une spécialisation particulièrement jeune dans le monde de l’IT, les praticiens peuvent s’attendre à certaines évolutions de l’approche MLOps au cours des prochaines années.
À court terme, il est probable que les ingénieurs MLOps vont devoir renforcer leur collaboration avec les data engineers, afin de s’attaquer de front aux problèmes de qualité de données et des biais qui peuvent affecter le comportement d’un modèle de machine learning. Dans un contexte réglementaire de plus en plus net, la fourniture de données de qualité et la chasse au biais paraissent presque obligatoires.
Les approches MLOps et DevOps pourraient, par ailleurs, converger. Le MLOps s’inspire déjà largement des principes de base du DevOps. Les flux de travail de data science et du développement d’applications pourraient converger davantage, grâce à de meilleurs outils et plateformes permettant d’impliquer davantage d’équipes ou de fonctions dans les efforts MLOps. À l’avenir, davantage de scientifiques et de personnels non techniques, tels que les parties prenantes de l’entreprise, pourraient être impliqués dans le cycle de développement de machine learning. Cette évolution pourrait être renforcée par l’automatisation des pratiques MLOps, ce qui améliorera la formation, le réglage, les tests et le déploiement.
Enfin, la gouvernance des données est déjà un facteur bien établi de la conformité des entreprises. Avec la généralisation de l’IA, les modèles de machine learning et leur comportement pourraient également être soumis à des principes de gouvernance, que les ingénieurs MLOps devront comprendre et adopter.