Articles

Un aperçu du flux de travail d’apprentissage automatique de bout en bout

 Icône d'un œil

Dans cette section, nous fournissons un aperçu de haut niveau d’un flux de travail typique pour le développement de logiciels basés sur l’apprentissage automatique.Généralement, l’objectif d’un projet d’apprentissage automatique est de construire un modèle statistique en utilisant les données collectées et en leur appliquant des algorithmes d’apprentissage automatique.Par conséquent, chaque logiciel basé sur ML comprend trois artefacts principaux: les données, le modèle ML et le Code. Correspondant à ces artefacts, le flux de travail d’apprentissage automatique typique comprend trois phases principales:

  • Ingénierie des données: acquisition de données & préparation des données,
  • Ingénierie du modèle ML: Formation du modèle ML & service et
  • Ingénierie du code: intégration du modèle ML dans le produit final.

La figure ci-dessous montre les principales étapes d’un flux de travail ML typique.

 Ingénierie de l'apprentissage automatique

Ingénierie des données

L’étape initiale de tout flux de travail en science des données consiste à acquérir et à préparer les données à analyser.En règle générale, les données sont intégrées à partir de diverses ressources et ont différents formats.La préparation des données suit l’étape d’acquisition des données, qui est selon Gartner « un processus itératif et agile pour explorer, combiner, nettoyer et transformer des données brutes en ensembles de données organisés pour l’intégration de données, la science des données, la découverte de données et les cas d’utilisation d’analyse / business intelligence (BI) « .Notamment, même si la phase de préparation est une phase intermédiaire visant à préparer les données à analyser, cette phase est considérée comme la plus coûteuse en ressources et en temps.La préparation des données est une activité essentielle du flux de travail de la science des données, car il est important d’éviter la propagation d’erreurs de données à la phase suivante, l’analyse des données, car cela entraînerait la dérivation d’informations erronées à partir des données.

Le pipeline d’ingénierie de données comprend une séquence d’opérations sur les données disponibles qui conduit à la fourniture d’ensembles de données de formation et de test pour les algorithmes d’apprentissage automatique:

  1. Ingestion de données – Collecte de données en utilisant divers frameworks et formats, tels que Spark, HDFS, CSV, etc. Cette étape peut également inclure la génération de données synthétiques ou l’enrichissement des données.
  2. Exploration et validation – Comprend le profilage des données pour obtenir des informations sur le contenu et la structure des données. La sortie de cette étape est un ensemble de métadonnées, telles que max, min, moy de valeurs. Les opérations de validation des données sont des fonctions de détection d’erreurs définies par l’utilisateur, qui analysent l’ensemble de données afin de repérer certaines erreurs.
  3. Querelle de données (nettoyage) – Processus de reformatage d’attributs particuliers et de correction des erreurs dans les données, telles que l’imputation des valeurs manquantes.
  4. Étiquetage des données – Le fonctionnement du pipeline d’ingénierie des données, où chaque point de données est affecté à une catégorie spécifique.
  5. Fractionnement des données – Fractionnement des données en ensembles de données de formation, de validation et de test à utiliser au cours des principales étapes d’apprentissage automatique pour produire le modèle ML.

Ingénierie des modèles

Le cœur du flux de travail ML est la phase d’écriture et d’exécution d’algorithmes d’apprentissage automatique pour obtenir un modèle ML. Le pipeline d’ingénierie de modèle comprend un certain nombre d’opérations qui mènent à un modèle final:

  1. Formation de modèle – Le processus d’application de l’algorithme d’apprentissage automatique sur les données d’entraînement pour former un modèle de ML. Il comprend également l’ingénierie des fonctionnalités et le réglage de l’hyperparamètre pour l’activité de formation du modèle.
  2. Évaluation du modèle – Valider le modèle formé pour s’assurer qu’il répond aux objectifs codifiés originaux avant de servir le modèle ML en production à l’utilisateur final.
  3. Test de modèle – Effectuer le « Test d’acceptation de modèle » final à l’aide de l’ensemble de données hold backtest.
  4. Empaquetage de modèle – Le processus d’exportation du modèle ML final dans un format spécifique (p. ex. PMML, PFA ou ONX), qui décrit le modèle, afin d’être consommé par l’application métier.

Déploiement de modèles

Une fois que nous avons formé un modèle d’apprentissage automatique, nous devons le déployer dans le cadre d’une application métier telle qu’une application mobile ou de bureau.Les modèles ML nécessitent divers points de données (vecteur de caractéristiques) pour produire des prédictions.La dernière étape du workflow de ML est l’intégration du modèle de ML précédemment conçu dans le logiciel existant.Cette étape comprend les opérations suivantes:

  1. Service de modèle – Le processus d’adressage de l’artefact de modèle ML dans un environnement de production.
  2. Surveillance des performances du modèle – Le processus d’observation des performances du modèle ML sur la base de données vivantes et inédites, telles que la prédiction ou la recommandation. En particulier, nous nous intéressons aux signaux spécifiques au ML, tels que l’écart de prédiction par rapport aux performances du modèle précédent. Ces signaux peuvent être utilisés comme déclencheurs pour le réentraînement du modèle.
  3. Journalisation des performances du modèle – Chaque demande d’inférence entraîne l’enregistrement du journal.