Le ML Ops – partie 2 : Pourquoi se lancer dans une démarche de Machine Learning ?
Pourquoi préférer une approche Machine Learning à celles de programmation traditionnelles ? En 2022, le Machine Learning n’est pas (encore) une solution miracle, mais il permet de répondre à un certain nombre de problématiques. Dans quelles conditions devriez-vous faire appel à une démarche d’apprentissage automatique ? On fait le point dans cet article, qui fait suite à “Le machine learning en production et ses solutions ML Ops dans le Cloud”.
Partie 1 : Le Machine Learning en production et ses solutions ML Ops dans le Cloud
Partie 2 : Pourquoi se lancer dans une démarche de Machine Learning
Partie 3 : La définition d’un algorithme ML
Partie 4 : Pour une stratégie de réutilisation des solutions
ML – 101
Tout d’abord, proposons une définition du terme “apprentissage machine”:
On dit d’un programme informatique qu’il apprend de l’expérience E en ce qui concerne une certaine classe de tâches T et une mesure de performance P, si sa performance aux tâches dans T, telle que mesurée par P, s’améliore avec l’expérience E.
— Tom Mitchell – Machine Learning
Allions à cette définition la première règle du ML :
Ne pas être complexé à l’idée de lancer un produit d’aide à la décision sans apprentissage automatique.
L’actualité le prouve avec l’affaire Zillow, et l’abandon de ses activités d’iBuying : l’apprentissage automatique est manifestement un exercice minutieux, potentiellement tortueux faute de précautions nécessaires. Cette entreprise Zillow se servait de modèles de machine learning Prophet pour prédire le marché immobilier états-unien. Elle les laissait décider de ses choix d’investissement d’achat-vente, sans l’apport des points de vue d’experts sur le terrain. Suite à de graves erreurs dans le système de contrôle, la société cotée en bourse, pourtant évaluée à plusieurs milliards (US$) de capital, s’est retrouvée en grande difficulté financière.
Oui, tout compte fait, il fait encore sens, en 2022, d’affirmer que de nombreux problèmes d’entreprise sont résolvables par des approches de programmation traditionnelles. Ces dernières correspondent à une transposition en langage machine de raisonnements formels qui paraissent relativement peu sophistiqués de prime abord, mais qui ont été savamment confectionnées par des ingénieurs experts en processus métier (subject matter experts). Lorsque de telles pratiques d’ingénierie logiciel sont possibles, elles s’avèrent souvent moins coûteuses et offrent des performances tout à fait acceptables pour l’entreprise, voire plus avantageuses que celle de l’apprentissage automatique. Disons donc que, malgré le battage médiatique, le machine learning n’est pas une solution miracle, à même (en 2022…) d’éclipser les pratiques classiques de développement informatique.
Ceci étant, au regard des avancées scientifiques et technologiques du moment, le recours à une machine apprenante est désormais une évidence pour de plus en plus de projets numériques. Pour deux raisons:
- soit l’estimateur présente un risque d’erreurs en sortie (dues à des biais de raisonnement) nettement plus acceptable que celui des programmes régis par des règles codées en dur,
- soit le machine learning donne la possibilité de solutionner des problématiques complexes de modélisation mathématique, ce qui semblait jusqu’alors inabordable avec des technologies non dotées de capacités cognitives.
Maintenant, si l’entreprise a la volonté de mettre en production des projets de ML, elle consent alors à un investissement non négligeable dans un plan d’architecture infrastructurelle sur mesure. De plus, elle aura besoin d’engager des profils spécialisés dans le domaine technique du ML en production.
L’intérêt ?
Quel est donc l’intérêt de se lancer dans une telle aventure?
La troisième règle du Machine Learning le stipule clairement:
Mieux vaut avoir recours à une machine apprenante plutôt qu’à une heuristique complexe.
Un arbre de décision ordinaire est traduisible en une simple logique booléenne
si telle ou telle condition est vraie, alors <action1>, sinon <action2>
Mais dans la situation où le modèle comportemental est réellement complexe, ce langage conditionnel n’a plus que des formulations fastidieuses à proposer. Eh bien, pour être simulées numériquement, certaines fonctions cognitives humaines nécessitent que le type de raisonnement soit développé avec plus de sophistication. La reconnaissance vocale, la reconnaissance visuelle et la traduction linguistique en sont de bons entraperçus.
Pour chacune de ces tâches, la machine est désormais capable d’égaler, voire de supplanter, les performances humaines (invincibilité aux jeux d’échecs, au jeu de go, à Starcraft II, etc.). Et si la plupart de nos appareils connectés sont enrichis de cette intelligence artificielle, cette innovation fonctionne généralement grâce à l’implication de modèles d’apprentissage machine.
Clarifions sur ce point ce qu’est un modèle créé par apprentissage automatique. Un modèle de machine learning est la résultante, l’artefact, d’une tentative de modélisation durant laquelle un jeu de données d’entraînement est parcouru par un algorithme. Le paradigme ML consiste à demander au médium qu’est une machine apprenante de résoudre un problème d’optimisation spécifique, avec un jeu de données numériques représentatives d’un système dynamique, en vue d’induire sous forme de signal le comportement de ce système.
Cette démarche d’apprentissage machine est théoriquement l’inverse des méthodes classiques de traitement de l’information, pour lesquelles le mode opératoire est le suivant: en fonction d’une logique déterministe (instruite par une expertise préalable du système) et de lots de données numériques, un programme traditionnel chemine vers des réponses formulées explicitement dans le logiciel.
Naturellement, un modèle de machine learning trouve sa place dans les protocoles informatiques de cette programmation traditionnelle. Comme l’évoque Andrej Karpathy, dans sa théorie du Software 2.0.
La preuve en est, les temps modernes incitent toute application web à intégrer un module de personnalisation en charge du contenu. Un cas probant: la plateforme commerciale Spotify® a ainsi réussi à se tailler une place de choix sur son marché, en misant sur les dons de trouvaille sonore de l’algorithme de recommandation qu’elle utilise, à la façon d’un disquaire qui connaît vos goûts sur le bout des doigts.
Pour faire court, si l’algorithme de Spotify® est si talentueux, c’est grâce à la contribution d’un nombre substantiel d’utilisateurs de la communauté prêts à partager leurs favoris dans des listes de lecture élaborées artisanalement. C’est l’accumulation des informations fournies par les utilisateurs qui permet à l’algorithme de s’adapter en continu aux tendances du moment, en tenant compte de la diversité des préférences individuelles. Cette boucle d’apprentissage adaptatif souligne l’importance de l’acquisition de données numériques de qualité pour qu’un modèle ML soit en phase avec la réalité du terrain.
source: girardin.medium.com/experience-design-in-the-machine-learning-era-e16c87f4f2e2
En fin de compte, la raison pour laquelle tant d’investisseurs ont placé leurs capitaux dans le développement de l’apprentissage automatique est que via cette innovation les systèmes d’information ont maintenant le chic de se programmer eux-mêmes.
Si la programmation est l’automatisation d’instructions explicites (traduites en langage binaire par un compilateur), alors le machine learning est l’automatisation de ce processus d’automatisation.
Laissez les données faire le travail à la place des développeurs 🙂 🍾🦄 🍭
L’apprentissage automatique est un moyen de rendre la programmation adaptative, évolutive (à l’instar du moteur de recommandations de pistes musicales de Spotify®).
Concrètement, la machine se donne pour mission de converger d’elle-même vers le meilleur modèle de prise de décisions possible, compte tenu d’une fonction objective à optimiser et de l’ensemble d’observations à disposition.
La prouesse majeure du ML est que si la réalité à modéliser vient à changer du tout au tout, le programme pourra être mis à jour par une procédure automatisable de réapprentissage. Cette propriété de réapprentissage est un argument clé, que nous détaillerons par la suite.
source: karpathy.medium.com/software-2-0-a64152b37c35
A suivre dans notre prochain article…