Voici la première partie d'une série de trois articles sur le cycle de vie du processus de ML. Lire Partie 1 et Partie 3.
Maintenant que nous savons ce qu'est le ML Process Lifecycle (MLPL) et pourquoi il est important, nous allons examiner le cadre lui-même et passer en revue les aspects clés de chaque étape.
Les étapes de la MLPL
Il y a quatre étapes dans la MLPL :
Compréhension de l'entreprise et découverte de problèmes: Cette étape permet d'identifier un problème commercial et un problème de ML correspondant. Par exemple, si le problème commercial consiste à inciter les clients existants à consommer davantage de contenu en continu, une solution de ML correspondante pourrait consister à mettre en œuvre un algorithme qui recommande le contenu qu'ils devraient consommer en fonction de leur historique de visionnage.
Acquisition et compréhension des données: Cette étape consiste à explorer les données disponibles et à identifier les possibilités et les restrictions liées à leur utilisation en ML. Cela implique une analyse approfondie des données et de leur potentiel.
Modélisation et évaluation ML: C'est à ce stade que les algorithmes de ML entrent en jeu. De nombreuses organisations commencent par cette étape, pensant qu'il s'agit de la seule partie du processus à réaliser pour parvenir à une solution. Cependant, les deux premières étapes sont essentielles pour déterminer les algorithmes de ML et les configurations à utiliser.
Vérification et validation: Cette étape permet de valider si le problème de ML répond au problème commercial initial. Un projet idéal ne devrait arriver à cette étape qu'une seule fois, mais étant donné la rapidité avec laquelle un projet évolue pour diverses raisons, il est possible que cette étape doive être revisitée. Une bonne communication entre toutes les parties prenantes et la clarté de la définition du problème minimiseront le nombre de fois où cette étape devra être visitée.
Il existe plusieurs modules qui relèvent de chacune des quatre étapes du cadre.
Compréhension de l'activité et découverte des problèmes
Les principaux aspects à prendre en compte lors de cette étape sont les suivants :
Objectifs: Identifier les objectifs commerciaux auxquels les techniques de ML peuvent répondre.
Définition du problème : Découvrez le problème de ML qui permettrait de résoudre le problème de l'entreprise. Parfois, un seul problème exact permet de résoudre un problème de ML, et parfois plusieurs problèmes de ML permettent de résoudre ensemble le problème de l'entreprise.
Ressources/Contraintes: Identifier les ressources qui seront nécessaires. Il peut s'agir de temps, d'argent, d'employés (par exemple, des ingénieurs de données, des analystes, des scientifiques) ou de ressources informatiques. Identifiez les contraintes acceptables pour le problème. Avons-nous besoin de solutions de ML qui soient interprétables ? Y a-t-il une partie des données qui doit être supprimée pour des raisons de protection de la vie privée ?
Parties prenantes et communication: Identifier les parties prenantes internes/externes et leur rôle. Il existe généralement plusieurs parties prenantes qui doivent participer en permanence à ce processus. Par exemple, l'équipe de direction qui a décidé qu'il fallait essayer une approche de ML, une équipe technique qui explore activement la solution, les équipes chargées des différentes étapes de l'exploration et les tiers associés au développement et au déploiement de la solution finale. Toutes les équipes impliquées dans chacune des étapes de la MLPL doivent être sur la même longueur d'onde et se mettre d'accord sur les méthodes et la fréquence de communication.
Sources de données : Identifier les sources de données existantes. Dans le monde réel, les données proviennent généralement de différentes sources et ont été combinées à partir de ces sources. L'identification des sources de données permet de réduire le nombre de données utiles. Il peut s'agir de données internes exclusives, de données accessibles au public ou de données achetées à des tiers.
Jalons: Définir les étapes, les délais et les résultats attendus. Il n'est parfois pas possible de définir des étapes précises, étant donné qu'il s'agit d'un travail d'exploration. Mais une réflexion dans ce sens permettra d'ajouter de la structure.
Environnement de développement : Définir l'environnement de développement et de collaboration (dépôts de code/données, langages de programmation, etc.)
Pratiques existantes : Identifier les processus ou pratiques en place qui répondent au problème de l'entreprise dans le contexte actuel, s'il y en a. Il peut s'agir d'un problème entièrement nouveau ou d'un problème existant.
Ressources : Identifier les ressources qui seront nécessaires. Il peut s'agir de temps, d'argent, d'employés (ingénieurs de données, analystes, scientifiques) ou de ressources informatiques.
À la fin de cette étape, nous aurons identifié et défini nos objectifs pour nous aider à mieux comprendre le problème et à plonger plus profondément dans les étapes suivantes de la MLPL. Les feuilles de travail et autres outils peuvent être utiles à ce stade.
Acquisition et compréhension des données
Acquisition de données: L'acquisition des données est une tâche importante. Une fois les sources de données identifiées (lors de l'étape de compréhension de l'activité et de découverte du problème), elles doivent être combinées en une seule source de données. Dans certains cas, l'alignement et la combinaison des sources de données peuvent nécessiter une connaissance et une expertise approfondies du domaine.
Nettoyage des données: Dans le monde réel, les données sont généralement corrompues pour diverses raisons. Les relevés inexacts des capteurs, les incohérences entre les relevés et les données non valides sont quelques-uns des problèmes de données que l'on peut rencontrer. Il convient de procéder à une analyse approfondie de la manière de corriger ces valeurs avec l'aide d'un expert du domaine et des données.
Traitement des données: Les données acquises peuvent ne pas se présenter sous une forme lisible par les outils et les bibliothèques utilisés pour créer des modèles d'apprentissage automatique. Le traitement des données se fait généralement en deux étapes. La première consiste à traduire les données sous une forme liée au domaine du problème d'apprentissage automatique. Par exemple, pour le traitement de texte, si vos données d'origine sont sous forme d'images scannées, la première étape consistera à convertir ces images de documents textuels en texte utilisable par les algorithmes de traitement de texte. La deuxième étape consistera à convertir les données pour qu'elles soient compatibles avec les algorithmes spécifiques (par exemple : transformer les variables catégorielles en variables numériques) ou avec d'autres techniques de transformation (par exemple : normalisation, mise à l'échelle) qui contribueront à améliorer les résultats.
Pipeline de données: Un pipeline est une séquence de tâches qui peut être utilisée pour automatiser des tâches répétées. Il peut s'agir d'extraire des données de différentes sources vers un endroit unique, de prétraiter les données sous une forme qui peut être stockée et récupérée efficacement, et de charger les données dans un format nécessaire qui peut être utilisé par les algorithmes d'apprentissage automatique.
Analyse exploratoire des données : Effectuer une analyse exploratoire des données pour mieux comprendre les données. La compréhension des données est très importante et peut conduire à une meilleure conception et à une meilleure sélection du processus de ML. Elle permet également de comprendre en profondeur les informations qui pourraient être utiles pour les étapes suivantes.
Ingénierie des caractéristiques : L'ingénierie des caractéristiques est un processus continu qui intervient à différents stades d'un processus de ML. Dans la phase d'acquisition et de compréhension des données, l'ingénierie des caractéristiques peut consister à identifier les caractéristiques qui ne sont pas pertinentes et qui n'ajoutent aucune information. Par exemple, dans le cas de données à haute dimension, l'ingénierie des caractéristiques peut viser à supprimer les caractéristiques dont la variance est proche de 0.
Fractionnement des données : Les données doivent être divisées de manière à ce qu'il y ait une partie des données appelée "données de formation". Les données d'entraînement sont utilisées pour entraîner le QuAM et une autre partie des données, appelée "données de test", permet d'évaluer la qualité du QuAM.
Modélisation et évaluation des ML
Ingénierie de fonctionnalité : Cette partie de l'ingénierie des caractéristiques se concentre sur la préparation de l'ensemble de données pour qu'il soit compatible avec l'algorithme ML. La transformation des données, la réduction de la dimensionnalité, le traitement des valeurs aberrantes et des variables catégorielles sont quelques exemples de techniques d'ingénierie des caractéristiques.
Formation au modèle : Une fois qu'un algorithme a été sélectionné et que les données ont été préparées pour l'algorithme, nous devons construire la machine à questions et réponses (QuAM) - une combinaison d'un algorithme et de données. Dans le monde du ML, un QuAM est également appelé modèle. La formation au QuAM consiste à utiliser les données de formation pour apprendre un QuAM capable de bien se généraliser.
Évaluation du modèle: L'identification des critères d'évaluation est une tâche importante. Si votre tâche est la classification et que le succès d'un modèle est défini par le nombre d'instances actuellement identifiées, vous pouvez utiliser la précision comme mesure d'évaluation. S'il y a un coût associé à l'identification de faux positifs ou de faux négatifs, d'autres mesures telles que la précision et le rappel peuvent être utilisées.
Sélection du modèle : La sélection de modèles est un processus qui consiste à restreindre une série d'algorithmes adaptés au problème et aux données. Comme il existe de nombreux algorithmes dans divers domaines du ML, la sélection nous aide à nous concentrer sur certains algorithmes sélectionnés et à travailler avec eux pour parvenir à une solution.
Raffinement: Affiner le modèle en identifiant les meilleurs paramètres pour chacun des algorithmes sur lesquels vous avez entraîné le QuAM. Cette étape est appelée réglage des hyperparamètres et est utilisée pour trouver les paramètres optimaux d'un modèle.
Vérification et validation
C'est l'étape où nous confirmons que le problème de la LM répond au problème de l'entreprise. Il est essentiel d'avoir une conversation avec l'employeur ou le client pour comprendre si le problème de l'entreprise est résolu.
Solution ML : Du point de vue de la prestation, une solution de ML doit être fournie au client. Cette solution peut prendre l'une des trois formes suivantes ou les trois à la fois :
Documentation : Une bonne documentation accompagne toujours un prototype. Certains détails techniques doivent être énumérés et expliqués.
Transfert de connaissances : Identifier la formation interne nécessaire à la compréhension de la solution ML et la présenter au client. C'est le bon moment pour clarifier les questions relatives à la solution de ML, et il s'agit d'un point de contrôle du retour d'information avant d'incorporer la solution de ML dans le fonctionnement complet.
Transfert : Remettre tout le matériel au client pour qu'il puisse l'exécuter. Prototype : Le code source du prototype est fourni avec les fichiers readme et dependency sur la façon d'utiliser le prototype. Le prototype ne doit pas nécessairement être un code de niveau production, mais il doit être suffisamment propre avec des commentaires et relativement stable pour que les équipes d'ingénieurs puissent l'utiliser pour construire un produit.
Rapport de projet : Il s'agit d'une liste complète des méthodologies utilisées et des décisions prises tout au long du projet, ainsi que des raisons qui ont motivé ces décisions. Il donne une idée de haut niveau de ce qui a été réalisé dans le cadre du projet.
Dans la troisième et dernière partie de la série MLPLnous examinons les commutateurs de cycle de vie et ce à quoi vous pouvez vous attendre de manière réaliste dans votre parcours vers une solution de ML.
Auteurs
Talat Iqbal Syed
Luke Kumar
Shazan Jabbar
Sankalp Prabhakar
Anna Koop