- Acquisition: L'acquisition des données est une tâche importante. Après avoir identifié les sources de données (lors de l'étape de compréhension de l'activité et de découverte des problèmes), il faut les combiner 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 approfondie du domaine et une expertise.
- Prétraitement: Les données acquises peuvent ne pas être sous une forme lisible par les outils et les bibliothèques utilisés pour créer des modèles d'apprentissage automatique. Le traitement se fait généralement en deux étapes. La première consiste à traduire les données sous une forme liée au domaine problématique de l'apprentissage automatique. Par exemple, pour le traitement de texte, si vos données d'origine sont sous forme d'images numérisées, la première étape consistera à convertir ces images de documents textuels en texte utilisable par les algorithmes textuels. La deuxième étape consistera à convertir les données afin de prendre en charge les algorithmes spécifiques (par exemple : changer les variables catégorielles en variables numériques) ou d'autres techniques de transformation (par exemple : normalisation, mise à l'échelle) qui permettront d'améliorer les résultats.
- Nettoyage: 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 invalides 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.
- Pipeline: Un pipeline est une séquence de tâches qui peut être utilisée pour automatiser des tâches répétées. Les tâches impliquées peuvent consister à extraire des données de différentes sources vers un seul endroit, à prétraiter les données sous une forme qui peut être stockée et récupérée efficacement et à 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 sélection du processus de ML. En outre, elle permet de comprendre en profondeur ce qui pourrait être une information utile pour les étapes suivantes.
- Ingénierie des caractéristiques : L'ingénierie des caractéristiques est un processus continu qui peut intervenir à différentes étapes 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'apportent aucune information. Par exemple, dans les données à haute dimension, l'ingénierie des caractéristiques peut chercher à éliminer 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 former QuAM et une autre partie des données, appelée "données de test", sert à évaluer la qualité de QuAM.
Modélisation et évaluation des ML
- Sélection d'algorithmes : La sélection d'algorithmes est un processus qui consiste à réduire une série d'algorithmes qui conviennent au problème et aux données. Avec 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 arriver à une solution.
- Ingénierie des caractéristiques : 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, le traitement des variables catégorielles sont quelques exemples de techniques d'ingénierie des caractéristiques.
- Formation QuAM/Modèle : Une fois qu'un algorithme a été sélectionné et que les données sont 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. L'entraînement du QuAM comprend l'utilisation des données d'entraînement pour apprendre un QuAM qui peut bien se généraliser.
- L'évaluation: 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 des faux positifs ou des faux négatifs, alors d'autres mesures telles que la précision et le rappel peuvent être utilisées.
- Raffinement: Affinez le modèle en identifiant les meilleurs paramètres pour chacun des algorithmes sur lesquels vous avez entraîné le QuAM. Cette étape, appelée réglage des hyperparamètres, est utilisée pour trouver les paramètres optimaux d'un modèle.
Livraison et acceptation
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 livraison, une solution ML doit être livrée au client. Cette solution peut prendre l'une ou les trois formes suivantes :
- Prototype : Le code source du prototype est fourni avec des fichiers readme et de dépendance 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.
- Documentation : Une bonne documentation accompagne toujours un prototype. Certains détails techniques doivent être énumérés et expliqués.
- 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 de ces décisions. Cela donne une idée de haut niveau de ce qui a été réalisé dans le projet.
- Transfert de connaissances : Identifiez la formation interne nécessaire à la compréhension de la solution ML et présentez-la au client. C'est le moment approprié pour clarifier les questions concernant la solution de ML, et agit comme un point de contrôle du retour d'information avant d'incorporer la solution de ML dans le fonctionnement complet.
- Remise : Remettre tout le matériel au client pour qu'il puisse l'exécuter.
Cadre total MLPL
Vu dans son ensemble, le cadre entier ressemble à ceci :
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 ML.
Le cadre MLPL d'Amii s'appuie sur les connaissances déjà acquises par les équipes d'organisations telles que Microsoft, Uber, Google, Databricks et Facebook. Le MLPL a été adapté par les équipes d'Amii pour être un cadre indépendant de la technologie, suffisamment abstrait pour être flexible à travers les types de problèmes et suffisamment concret pour être mis en œuvre. Pour répondre aux besoins de nos clients, nous avons également découplé les phases de déploiement et d'exploration, fourni des modules de processus au sein de chaque étape et défini les artefacts clés qui résultent de chaque étape. La MLPL garantit également que nous sommes en mesure de capturer tous les apprentissages qui surviennent tout au long du processus global mais qui ne sont pas utilisés dans le modèle final.
Si vous souhaitez en savoir plus sur ce sujet et sur d'autres sujets intéressants liés à l'apprentissage automatique, nous vous recommandons vivement le cours en ligne d'apprentissage automatique récemment lancé par Amii : Algorithmes dans la spécialisation du monde réel, enseigné par notre directrice générale des sciences appliquées, Anna Koop. Visitez la page Formation pour en savoir plus sur toutes nos offres de formation.