MLOps : DevOps dans le monde de l'apprentissage automatique

En 2018, le concept de MLOps est apparu dans les milieux professionnels et lors de conférences thématiques dédiées à l'IA, qui s'est rapidement imposée dans l'industrie et se développe aujourd'hui comme une direction indépendante. À l’avenir, les MLOps pourraient devenir l’un des domaines informatiques les plus populaires. De quoi s’agit-il et avec quoi le mange-t-on ? Découvrons-le ci-dessous.

MLOps : DevOps dans le monde de l'apprentissage automatique

Qu'est-ce que MLOps

MLOps (combinant des technologies et des processus d'apprentissage automatique et des approches pour mettre en œuvre des modèles développés dans des processus métiers) est une nouvelle façon de collaborer entre les représentants d'entreprises, les scientifiques, les mathématiciens, les spécialistes de l'apprentissage automatique et les ingénieurs informatiques lors de la création de systèmes d'intelligence artificielle.

En d’autres termes, il s’agit d’un moyen de transformer les méthodes et technologies d’apprentissage automatique en un outil utile pour résoudre les problèmes des entreprises. 

Il faut comprendre que la chaîne de productivité commence bien avant l’élaboration du modèle. Sa première étape consiste à définir un problème commercial, une hypothèse sur la valeur pouvant être extraite des données et une idée commerciale pour l'appliquer. 

Le concept même de MLOps est apparu comme une analogie avec le concept de DevOps en relation avec les modèles et technologies d'apprentissage automatique. DevOps est une approche du développement logiciel qui vous permet d'augmenter la vitesse de mise en œuvre des changements individuels tout en maintenant la flexibilité et la fiabilité en utilisant un certain nombre d'approches, notamment le développement continu, la division des fonctions en un certain nombre de microservices indépendants, les tests automatisés et le déploiement de changements, surveillance de la santé globale, système de réponse rapide aux pannes détectées, etc. 

DevOps a défini le cycle de vie des logiciels, et la communauté a eu l'idée d'appliquer la même méthodologie au big data. DataOps est une tentative d'adapter et d'élargir la méthodologie en tenant compte des caractéristiques de stockage, de transmission et de traitement de grandes quantités de données sur des plateformes diverses et interopérables.
  
Avec l’avènement d’une certaine masse critique de modèles d’apprentissage automatique mis en œuvre dans les processus métiers des entreprises, une forte similitude a été constatée entre le cycle de vie des modèles mathématiques d’apprentissage automatique et le cycle de vie des logiciels. La seule différence est que les algorithmes du modèle sont créés à l’aide d’outils et de méthodes d’apprentissage automatique. Par conséquent, l’idée est naturellement née d’appliquer et d’adapter des approches déjà connues de développement de logiciels pour les modèles d’apprentissage automatique. Ainsi, les étapes clés suivantes peuvent être distinguées dans le cycle de vie des modèles de machine learning :

  • définir une idée d'entreprise;
  • formation de modèles ;
  • test et mise en œuvre du modèle dans le processus métier ;
  • fonctionnement du modèle.

Lorsque, pendant l'exploitation, il est nécessaire de modifier ou de recycler le modèle sur de nouvelles données, le cycle recommence : le modèle est affiné, testé et une nouvelle version est déployée.

Retraite. Pourquoi se recycler et ne pas se recycler ? Le terme « recyclage du modèle » a un double sens : parmi les experts, cela signifie un défaut du modèle, lorsque le modèle prédit bien, répète en fait le paramètre prédit sur l'ensemble d'apprentissage, mais fonctionne bien moins bien sur l'échantillon de données externes. Naturellement, un tel modèle est un défaut, puisque ce défaut ne permet pas son utilisation.

Dans ce cycle de vie, il semble logique d'utiliser des outils DevOps : tests, déploiement et surveillance automatisés, conception de modèles de calcul sous forme de microservices distincts. Mais il existe également un certain nombre de fonctionnalités qui empêchent l'utilisation directe de ces outils sans liaison ML supplémentaire.

MLOps : DevOps dans le monde de l'apprentissage automatique

Comment faire fonctionner les modèles et être rentable

Comme exemple dans lequel nous démontrerons l'utilisation de l'approche MLOps, nous prendrons la tâche classique de robotiser un support de chat pour un produit bancaire (ou tout autre). En règle générale, un processus métier d'assistance par chat ressemble à ceci : un client saisit un message avec une question dans un chat et reçoit une réponse d'un spécialiste dans une arborescence de dialogue prédéfinie. La tâche d'automatisation d'un tel chat est généralement résolue à l'aide d'ensembles de règles définies par des experts, dont le développement et la maintenance demandent beaucoup de travail. L'efficacité d'une telle automatisation, selon le niveau de complexité de la tâche, peut être de 20 à 30 %. Naturellement, l'idée surgit qu'il est plus rentable de mettre en œuvre un module d'intelligence artificielle - un modèle développé grâce à l'apprentissage automatique, qui :

  • est capable de traiter un plus grand nombre de demandes sans la participation de l'opérateur (selon le sujet, dans certains cas, l'efficacité peut atteindre 70 à 80 %) ;
  • s'adapte mieux aux formulations non standard dans le dialogue - est capable de déterminer l'intention, le désir réel de l'utilisateur sur la base d'une demande non clairement formulée ;
  • sait déterminer quand la réponse du modèle est adéquate, et quand il y a des doutes sur la « conscience » de cette réponse et qu'il faut poser une question de clarification supplémentaire ou passer à l'opérateur ;
  • peut en outre être formé automatiquement (au lieu qu'un groupe de développeurs adapte et corrige constamment les scripts de réponse, le modèle est en outre formé par un spécialiste de la science des données à l'aide des bibliothèques d'apprentissage automatique appropriées). 

MLOps : DevOps dans le monde de l'apprentissage automatique

Comment faire fonctionner un modèle aussi avancé ? 

Comme pour résoudre tout autre problème, avant de développer un tel module, il est nécessaire de définir un processus métier et de décrire formellement la tâche spécifique que nous allons résoudre en utilisant la méthode d'apprentissage automatique. C’est alors que commence le processus d’opérationnalisation, désigné par l’acronyme Ops. 

L'étape suivante consiste pour le Data Scientist, en collaboration avec le Data Engineer, à vérifier la disponibilité et la suffisance des données ainsi que les hypothèses commerciales sur la viabilité de l'idée commerciale, en développant un modèle prototype et en testant son efficacité réelle. Ce n'est qu'après confirmation par l'entreprise que la transition du développement d'un modèle à son intégration dans des systèmes qui exécutent un processus métier spécifique peut commencer. La planification de la mise en œuvre de bout en bout, une compréhension approfondie à chaque étape de la manière dont le modèle sera utilisé et de l'effet économique qu'il apportera, est un point fondamental dans les processus d'introduction des approches MLOps dans le paysage technologique de l'entreprise.

Avec le développement des technologies d’IA, le nombre et la variété des problèmes pouvant être résolus grâce à l’apprentissage automatique augmentent de façon exponentielle. Chacun de ces processus commerciaux est une économie pour l'entreprise grâce à l'automatisation du travail des employés de masse (centre d'appels, contrôle et tri des documents, etc.), c'est une expansion de la clientèle en ajoutant de nouvelles fonctions attrayantes et pratiques, c'est c'est économiser de l'argent grâce à leur utilisation optimale et à leur redistribution des ressources et bien plus encore. En fin de compte, tout processus est axé sur la création de valeur et, par conséquent, doit apporter un certain effet économique. Ici, il est très important de formuler clairement l'idée commerciale et de calculer le bénéfice attendu de la mise en œuvre du modèle dans la structure globale de création de valeur de l'entreprise. Il existe des situations où la mise en œuvre d'un modèle ne se justifie pas, et le temps passé par les spécialistes de l'apprentissage automatique coûte beaucoup plus cher que le lieu de travail de l'opérateur effectuant cette tâche. C’est pourquoi il est nécessaire d’essayer d’identifier de tels cas dès les premières étapes de la création de systèmes d’IA.

Par conséquent, les modèles ne commencent à générer des bénéfices que lorsque le problème commercial a été correctement formulé dans le processus MLOps, que les priorités ont été définies et que le processus d'introduction du modèle dans le système a été formulé dès les premiers stades de développement.

Nouveau processus - nouveaux défis

Réponse complète à la question commerciale fondamentale sur l’applicabilité des modèles ML à la résolution de problèmes, la question générale de la confiance dans l’IA est l’un des principaux défis du processus de développement et de mise en œuvre des approches MLOps. Au départ, les entreprises sont sceptiques quant à l'introduction de l'apprentissage automatique dans les processus - il est difficile de s'appuyer sur des modèles dans des endroits où, en règle générale, les gens travaillaient auparavant. Pour les entreprises, les programmes apparaissent comme une « boîte noire » dont la pertinence reste encore à prouver. De plus, dans le secteur bancaire, dans le secteur des opérateurs de télécommunications et autres, les régulateurs gouvernementaux imposent des exigences strictes. Tous les systèmes et algorithmes mis en œuvre dans les processus bancaires sont soumis à un audit. Pour résoudre ce problème et prouver aux entreprises et aux régulateurs la validité et l’exactitude des réponses de l’intelligence artificielle, des outils de surveillance sont introduits parallèlement au modèle. Par ailleurs, il existe une procédure de validation indépendante, obligatoire pour les modèles réglementaires, qui répond aux exigences de la Banque Centrale. Un groupe d'experts indépendants audite les résultats obtenus par le modèle en tenant compte des données d'entrée.

Le deuxième défi consiste à évaluer et à prendre en compte les risques du modèle lors de la mise en œuvre d’un modèle d’apprentissage automatique. Même si une personne ne peut pas répondre avec une certitude à cent pour cent à la question de savoir si cette même robe était blanche ou bleue, l'intelligence artificielle a également le droit de se tromper. Il convient également de considérer que les données peuvent changer avec le temps et que les modèles doivent être recyclés afin de produire un résultat suffisamment précis. Pour s'assurer que le processus métier n'en souffre pas, il est nécessaire de gérer les risques du modèle et de surveiller les performances du modèle, en le reformant régulièrement sur de nouvelles données.

MLOps : DevOps dans le monde de l'apprentissage automatique

Mais après la première étape de méfiance, l’effet inverse commence à apparaître. Plus les modèles sont implémentés avec succès dans les processus, plus l'appétit des entreprises pour l'utilisation de l'intelligence artificielle augmente - de nouveaux problèmes apparaissent et peuvent être résolus à l'aide de méthodes d'apprentissage automatique. Chaque tâche déclenche tout un processus qui requiert certaines compétences :

  • les ingénieurs de données préparent et traitent les données ;
  • les data scientists utilisent des outils d'apprentissage automatique et développent un modèle ;
  • Le service informatique implémente le modèle dans le système ;
  • L'ingénieur ML détermine comment intégrer correctement ce modèle dans le processus, quels outils informatiques utiliser, en fonction des exigences du mode d'application du modèle, en tenant compte du flux de demandes, du temps de réponse, etc. 
  • Un architecte ML conçoit comment un produit logiciel peut être physiquement implémenté dans un système industriel.

L'ensemble du cycle nécessite un grand nombre de spécialistes hautement qualifiés. À un certain stade du développement et du degré de pénétration des modèles ML dans les processus métier, il s'avère que l'augmentation linéaire du nombre de spécialistes proportionnellement à l'augmentation du nombre de tâches devient coûteuse et inefficace. Par conséquent, la question se pose de l'automatisation du processus MLOps - définition de plusieurs classes standard de problèmes d'apprentissage automatique, développement de pipelines de traitement de données standard et formation supplémentaire de modèles. Dans une situation idéale, la résolution de tels problèmes nécessite des professionnels maîtrisant également les compétences à l’intersection du Big Data, de la Data Science, du DevOps et de l’informatique. Par conséquent, le plus gros problème dans le secteur de la science des données et le plus grand défi dans l'organisation des processus MLOps est le manque de telles compétences sur le marché de la formation existant. Les spécialistes qui répondent à ces exigences sont actuellement rares sur le marché du travail et valent leur pesant d'or.

Sur la question des compétences

En théorie, toutes les tâches MLOps peuvent être résolues à l'aide d'outils DevOps classiques et sans recourir à une extension spécialisée du modèle de rôle. Ensuite, comme nous l'avons noté plus haut, un data scientist doit être non seulement un mathématicien et un analyste de données, mais aussi un gourou de l'ensemble du pipeline - il est chargé de développer l'architecture, de programmer des modèles dans plusieurs langages selon l'architecture, de préparer un datamart et déployer l'application elle-même. Cependant, la création du cadre technologique mis en œuvre dans le processus MLOps de bout en bout nécessite jusqu'à 80 % des coûts de main-d'œuvre, ce qui signifie qu'un mathématicien qualifié, qui est un Data Scientist de qualité, ne consacrera que 20 % de son temps à sa spécialité. . Il devient donc essentiel de définir les rôles des spécialistes impliqués dans le processus de mise en œuvre des modèles d’apprentissage automatique. 

Le degré de précision de la définition des rôles dépend de la taille de l’entreprise. C'est une chose quand une startup a un spécialiste, un travailleur acharné dans la réserve d'énergie, qui est son propre ingénieur, architecte et DevOps. Il en va tout autrement lorsque, dans une grande entreprise, tous les processus de développement de modèles sont concentrés sur quelques spécialistes de haut niveau en science des données, alors qu'un programmeur ou un spécialiste des bases de données - une compétence plus courante et moins coûteuse sur le marché du travail - peut prendre en charge sur la plupart des tâches courantes.

Ainsi, la rapidité et la qualité des modèles développés, la productivité de l'équipe et le microclimat qui y règne dépendent directement de l'endroit où se situe la frontière dans la sélection des spécialistes pour soutenir le processus MLOps et de la manière dont le processus d'opérationnalisation des modèles développés est organisé. .

Ce que notre équipe a déjà fait

Nous avons récemment commencé à créer une structure de compétences et des processus MLOps. Mais nos projets sur la gestion du cycle de vie des modèles et sur l'utilisation des modèles en tant que service sont déjà en phase de test MVP.

Nous avons également déterminé la structure de compétences optimale pour une grande entreprise et la structure organisationnelle d'interaction entre tous les participants au processus. Des équipes agiles ont été organisées pour résoudre les problèmes de l'ensemble des clients professionnels, et un processus d'interaction avec les équipes de projet pour créer des plates-formes et des infrastructures, qui constituent la base du bâtiment MLOps en construction, a été établi.

Questions pour l'avenir

Le MLOps est un domaine en pleine croissance qui connaît une pénurie de compétences et qui prendra de l'ampleur à l'avenir. En attendant, il est préférable de s’appuyer sur les développements et les pratiques DevOps. L'objectif principal de MLOps est d'utiliser plus efficacement les modèles ML pour résoudre les problèmes commerciaux. Mais cela soulève de nombreuses questions :

  • Comment réduire les délais de mise en production des modèles ?
  • Comment réduire les frictions bureaucratiques entre des équipes de compétences différentes et mettre davantage l’accent sur la coopération ?
  • Comment suivre les modèles, gérer les versions et organiser un suivi efficace ?
  • Comment créer un cycle de vie véritablement circulaire pour un modèle ML moderne ?
  • Comment standardiser le processus de machine learning ?

Les réponses à ces questions détermineront en grande partie la rapidité avec laquelle les MLOps atteindront leur plein potentiel.

Source: habr.com

Ajouter un commentaire