Voici la première partie d'une série de trois articles sur le cycle de vie du processus de ML. Lire Partie 2 et Partie 3.
L'apprentissage machine (ML) connaît une croissance explosive en popularité en raison de sa capacité à apprendre automatiquement des données avec un minimum d'intervention humaine. Comme l'apprentissage automatique est de plus en plus mis en œuvre et appliqué dans les entreprises, les praticiens de l'apprentissage automatique doivent développer des méthodes pour décrire le calendrier de leurs projets à leurs employeurs ou clients.
Un outil particulièrement utile à cet égard est le ML Process Lifecycle, un cadre de processus adapté par l'équipe Amii (voir note ci-dessous). Dans cette série de blogs en trois parties, nous allons explorer ce qu'il est, pourquoi il est important et comment vous pouvez le mettre en œuvre.
Qu'est-ce que la MLPL ?
Le ML Process Lifecycle (MLPL) est un cadre qui capture le processus itératif de développement d'une solution ML pour un problème spécifique.
Le développement et la mise en œuvre de projets de ML est un processus exploratoire et expérimental où différents algorithmes et méthodes d'apprentissage sont essayés avant de parvenir à une solution satisfaisante. Le voyage pour atteindre une solution de ML qui répond aux attentes de l'entreprise est rarement linéaire - à mesure qu'un praticien de ML avance dans les différentes étapes du processus et que plus d'informations sont générées ou découvertes, il peut avoir besoin de revenir en arrière pour apporter des changements ou recommencer complètement.
La MLPL tente de capturer ce flux dynamique entre les différentes étapes et la séquence dans laquelle ces étapes sont réalisées.
Quelle est la place de la MLPL ?
Lorsque les entreprises développent de nouveaux systèmes logiciels ou introduisent de nouvelles fonctionnalités dans des systèmes existants, elles passent par deux phases majeures :
Analyse commerciale : évaluer et prendre des décisions commerciales concernant la valeur et la faisabilité d'un nouveau produit ou d'une nouvelle fonction logicielle ; et
Développement de produits : développer la solution (généralement en suivant l'une des méthodologies de développement de logiciels existantes) et la mettre en production.
Cependant, lorsqu'une entreprise envisage d'adopter la ML - soit pour compléter ses produits/services logiciels actuels, soit pour résoudre un nouveau problème commercial - il y a une phase d'exploration supplémentaire entre l'analyse commerciale et les phases de développement du produit. La MLPL rationalise et définit ce processus.
La MLPL est une méthodologie itérative pour exécuter des tâches d'exploration ML, en généralisant le processus afin qu'il soit suffisamment flexible et modulaire pour être appliqué à différents problèmes dans différents domaines, tout en ayant suffisamment de modules pour décrire complètement les points de décision et les étapes importantes.
En quoi consiste un processus d'exploration ML ?
Idéalement, une organisation voudrait connaître toutes les possibilités et les conséquences d'une solution de ML avant de l'introduire dans un système. Le processus d'exploration de la ML vise à déterminer si une solution de ML est ou non la meilleure décision commerciale en répondant aux questions suivantes :
Le ML peut-il répondre à mon problème commercial ?
Existe-t-il des données justificatives ?
Les algorithmes peuvent-ils tirer parti des données ?
Quelle est la valeur ajoutée par l'introduction de la ML ?
Quelle est la faisabilité technique d'une solution avec ML ?
Qu'est-ce que la MLPL ne saisit pas ?
Lorsqu'une entreprise commence à envisager l'adoption de la ML, la première chose qu'elle fait est souvent d'effectuer une analyse commerciale. Cela implique l'identification des flux de travail, des problèmes de l'entreprise, l'évaluation des ressources, l'identification des tâches et des points de décision dans lesquels les solutions de ML pourraient s'intégrer et apporter de la valeur à l'entreprise. La MLPL ne prend pas en compte tous les aspects de cette analyse, mais seulement les éléments qui ont un impact direct sur la définition des problèmes de ML.
Une fois l'exploration ML terminée, une organisation peut décider de développer la solution ML en un produit ou un service en tant que composant tangible, en le déployant en production et en le maintenant. Cette phase n'est pas non plus prise en compte dans la MLPL.
Le MLPL ne traite que de la phase d'exploration, au cours de laquelle différentes méthodes sont essayées pour parvenir à une solution de validation de concept qui peut être adaptée ultérieurement pour développer un système ML complet.
Pourquoi avons-nous besoin de la MLPL ?
Nous avons vu un aperçu de ce que la MLPL capture et de ce qu'elle ne capture pas. Mais pourquoi avons-nous besoin d'un processus pour capturer une tâche d'exploration ? Il existe quelques raisons importantes pour lesquelles une organisation devrait utiliser la MLPL :
Atténuation des risques: La MLPL normalise les étapes d'un projet de ML et définit des modules standard pour chacune de ces étapes, minimisant ainsi le risque de passer à côté d'importantes pratiques de ML.
La normalisation: La normalisation du flux de travail entre les équipes au moyen d'un cadre de bout en bout permet aux utilisateurs de construire et d'exploiter facilement des systèmes de ML tout en restant cohérents, et permet aux tâches inter-équipes d'être exécutées sans heurts.
Suivi: Le MLPL vous permet de suivre les différentes étapes et les modules à l'intérieur de chacune des étapes. Comme il s'agit d'une tâche d'exploration, il y a beaucoup de tentatives qui ne seront jamais utilisées dans la solution ML finale, mais qui ont nécessité un investissement important. La MLPL vous permet de suivre les ressources qui ont été dépensées pour ces expériences et d'évaluer les itérations futures.
Reproductibilité: L'existence d'un processus normalisé permet à une organisation de créer des pipelines pour la création et la gestion d'expériences, qui peuvent être comparées et reproduites pour des projets futurs.
Évolutivité: Un flux de travail standard permet également à une organisation de gérer plusieurs expériences simultanément.
Gouvernance: Des étapes et des modules bien définis pour chaque étape permettront de mieux évaluer si les systèmes de ML sont conçus de manière appropriée et s'ils fonctionnent efficacement.
Communication: Une ligne directrice standard permet de définir les attentes et de faciliter efficacement la communication entre les équipes sur le déroulement des projets.
En Partie 2 de la série MLPLnous examinons en profondeur le cadre MLPL et passons en revue les aspects clés de chaque étape.
Auteurs
Talat Iqbal Syed
Luke Kumar
Shazan Jabbar
Sankalp Prabhakar
Anna Koop