Gestion des données pour les applications d'apprentissage peu profond et profond

8.6 Gestion des données pour les applications d'apprentissage peu profond et profond

Objectifs d'apprentissage

À la fin de cette section, vous serez capable de :

  • Définir les mégadonnées et expliquer leurs fonctionnalités associées
  • Discuter de l'analytique des mégadonnées et de son impact sur les systèmes informatiques
  • Identifier et décrire les outils utilisés pour réaliser l'apprentissage automatique peu profond
  • Décrire l'analytique cognitive et l'intelligence artificielle
  • Identifier les outils utilisés pour réaliser l'apprentissage profond
  • Expliquer les systèmes de gestion de bases de données à traitement massivement parallèle (MPP)

Au cours des dernières années, la quantité de données a augmenté de manière exponentielle dans de nombreuses entreprises pour devenir des mégadonnées. Le stockage, l'analyse et la récupération des données sont devenus complexes et difficiles. Les bases de données et les systèmes de stockage traditionnels ne peuvent pas gérer les mégadonnées, ce qui crée de nouvelles opportunités commerciales en matière de logiciels et de matériel. L'intégration de données vise à fournir une vue unifiée et/ou un accès unifié à des sources de données hétérogènes et potentiellement distribuées. L'intégration de processus traite du séquencement des tâches dans un processus d'affaires, mais elle régit également les flux de données dans ces processus. Les données et les processus sont tous deux pris en compte dans l'intégration de données. L'émergence de la BI et de l'analytique a déclenché (trigger) le besoin de consolider les données dans un entrepôt de données.

Mégadonnées

Le terme mégadonnées est utilisé depuis le début des années 1990 et a été attribué à l'informaticien (computer scientist) John R. Mashey, considéré comme le père des mégadonnées. Les mégadonnées représentent un volume élevé de données sous forme structurée, semi-structurée ou de données non structurées (unstructured data). Chaque minute, plus de 300 000 tweets sont créés, les abonnés Netflix diffusent plus de 70 000 heures de vidéo simultanément, les utilisateurs d'Apple téléchargent 30 000 applications et les utilisateurs d'Instagram aiment près de deux millions de photos. Dans cette section, nous étudions les cinq V des mégadonnées, des exemples de mégadonnées, de nouvelles sources de données, l'intégration des données et des processus, la qualité des données et la gouvernance des données, ainsi que la confidentialité, la sécurité et l'utilisation éthique des données.

Les cinq V des mégadonnées

Les mégadonnées aident les décideurs à améliorer leurs décisions, ce qui, à son tour, améliore la qualité de leurs produits et services. Les mégadonnées possèdent de nombreuses caractéristiques. Les chercheurs ont défini la portée des mégadonnées par cinq V (Figure 8.24) :

  • volume (volume) : la quantité de données ; également appelé données au repos
  • vélocité (velocity) : la vitesse à laquelle les données entrent et sortent ; données en mouvement
  • variété (variety) : l'éventail des types et sources de données utilisés ; données sous leurs nombreuses formes
  • véracité (veracity) : l'incertitude des données ; données en doute
  • valeur (value) : la valeur réelle dérivée en utilisant le coût total de possession (TCO) et le retour sur investissement (ROI) des données
Les 5 V des mégadonnées : Volume (quantité de données), Vélocité (vitesse de traitement des données), Variété (types de données (structurées, brutes)), Véracité (authenticité des données), Valeur (impact des données sur l'entreprise).
Figure 8.24 Les cinq V des mégadonnées sont le volume, la vélocité, la variété, la véracité et la valeur. (source : Copyright Rice University, OpenStax, sous licence CC BY 4.0)

Nouvelles sources de données

Les sources IoT deviennent chaque jour plus nombreuses et diverses. D'autres sources de données sont les données de réseau, les données publiquement disponibles, les données macroéconomiques, les données textuelles, l'audio, les images, les vidéos, les empreintes digitales, la localisation (GPS), les données géospatiales, les données RFID, et bien d'autres encore. Nous aborderons l'IoT plus en détail dans le Chapitre 13 Développement de solutions numériques hybrides multinuages.

Intégration des données et des processus

Traditionnellement, une entreprise possède divers départements qui ont des données et des systèmes indépendants (c'est-à-dire en silo) les uns des autres. Des départements tels que les ressources humaines et la comptabilité ne s'intégraient pas et ne partageaient pas les ressources disponibles, ce qui rend difficile de répondre aux requêtes ou de vérifier les mises à jour. Pour amorcer la convergence des données analytiques et opérationnelles, il faut une intégration de données (data integration), qui offre une vue cohérente de toutes les données de l'organisation. Il existe différents modèles d'intégration de données, tels que la consolidation de données, la fédération de données et la propagation de données. L'utilisation de l'ETL pour capturer des données de multiples sources et les intégrer dans un stockage unique tel qu'un entrepôt de données (data warehouse) est la consolidation des données (data consolidation). L'utilisation de l'intégration d'informations d'entreprise (EII) pour fournir une vue unifiée sur les sources de données est la fédération de données (data federation). L'utilisation de l'intégration d'applications d'entreprise (EAI) correspondant à la propagation synchrone ou asynchrone des mises à jour d'un système source vers un système cible est la propagation de données (data propagation).

Une approche plus récente de l'intégration de données est la virtualisation des données (data virtualization), qui est une technique masquant l'emplacement physique des données et utilisant des modèles d'intégration de données pour produire une vue unifiée des données. L'objectif n'est pas seulement d'intégrer les données, mais aussi d'intégrer le processus. L'intégration de processus vise à intégrer les procédures au sein du processus d'affaires pour améliorer les performances. Le principal défi de la combinaison des types de données traditionnels avec de nouveaux types de données est d'intégrer les divers types de données de manière à ce qu'ils puissent être traités et analysés efficacement.

Qualité des données et gestion des données de référence

La qualité des données implique divers critères pour évaluer la qualité d'un ensemble de données. Nous devons garantir un niveau de qualité élevé pour obtenir des résultats précis (GIGO). Une dimension de qualité des données (data quality dimension) comprend l'exactitude, l'exhaustivité, la cohérence et l'accessibilité. Les causes des problèmes de qualité des données sont souvent profondément enracinées dans les processus organisationnels et la culture de base. Les activités de prétraitement des données sont des mesures correctives pour traiter les problèmes de qualité des données. Une collaboration transparente et bien définie entre les intendants des données (data steward) et les propriétaires des données (data owner) est essentielle pour améliorer durablement la qualité des données. L'intégration de données peut à la fois améliorer et nuire à la qualité des données (par exemple, dans des environnements où différentes approches d'intégration ont été combinées, menant à une jungle de systèmes). L'ensemble des processus, politiques, normes et outils pour aider les organisations à définir et à fournir un point de référence unique pour toutes les données maîtrisées est la gestion des données de référence (MDM) (master data management (MDM)). La mise en place d'une initiative MDM implique de nombreuses étapes et outils, y compris l'identification des sources de données, la cartographie de l'architecture des systèmes, la construction des règles de transformation, de nettoyage et de normalisation des données, la fourniture de capacités de stockage de données, de surveillance et de gouvernance. Le MDM est le terme générique de la gestion des données d'entreprise (EDM). L'EDM est une plateforme de gestion des données pour la validation des données clients ; elle est principalement associée aux données de titres.

Gouvernance des données

Les organisations mettent de plus en plus en œuvre des initiatives de gouvernance des données à l'échelle de l'entreprise pour régir et superviser la qualité et l'intégration des données. Dans la gouvernance des données, une organisation vise à établir une approche contrôlée et soutenue à l'échelle de l'entreprise en matière de qualité des données, accompagnée de processus de gestion de la qualité des données (c'est-à-dire gérer les données comme un actif plutôt qu'un passif). Différents cadriciels et normes ont été introduits pour la gouvernance des données. Un programme de gouvernance des données bien articulé est un bon point de départ. Les approches incluent la centralisation (c'est-à-dire un département central de scientifiques des données (data scientist) gérant toutes les requêtes analytiques), la décentralisation (c'est-à-dire tous les scientifiques des données sont directement affectés aux unités commerciales) et l'approche mixte (c'est-à-dire un centre d'excellence analytique coordonné centralement avec l'analytique organisée au niveau de l'unité commerciale). Les entreprises devraient viser une culture axée sur les données, de haut en bas, pour catalyser les effets de ruissellement. Le conseil d'administration et la haute direction devraient être activement impliqués dans les processus de construction, de mise en œuvre et de surveillance des modèles analytiques.

La gouvernance des données a différentes normes telles que le Total Data Quality Management (TDQM), le Capability Maturity Model Integration (CMMI), le Data Management Body of Knowledge (DMBOK), le Control Objectives for Information and Related Technology (COBIT) et l'Information Technology Infrastructure Library (ITIL). Le TDQM est un modèle qui définit, mesure et améliore la qualité des données dans l'organisation. Le CMMI est un modèle qui aide les organisations à améliorer la fiabilité en diminuant les risques dans les services et les produits en développant les comportements du système. Le DMBOK est une collection de bonnes pratiques pour chaque processus de gestion des données, tels que la modélisation de données, la qualité des données, la documentation, la sécurité des données et les métadonnées (metadata). Le COBIT est un cadriciel qui aide les organisations cherchant à améliorer et à surveiller leur système de gestion des données (data management). L'ITIL est un cadriciel qui améliore l'efficacité pour atteindre des services prévisibles en utilisant une conception standardisée.

Confidentialité et sécurité des données

Le concept de sécurité des données (data security) concerne les points suivants : garantir l'intégrité et la disponibilité des données (c'est-à-dire s'assurer que les données sont exactes et disponibles en cas de besoin), l'authentification (c'est-à-dire vérifier l'identité d'un utilisateur), le contrôle d'accès (c'est-à-dire contrôler qui a accès aux données et quelles actions ils peuvent effectuer), garantir la confidentialité (c'est-à-dire s'assurer que les données restent confidentielles et ne sont pas divulguées à des utilisateurs non autorisés), l'audit (c'est-à-dire suivre tous les accès et activités liés aux données) et les vulnérabilités (c'est-à-dire identifier les vulnérabilités dans les systèmes et les données). Pour mieux comprendre la confidentialité, nous devrions commencer par le RACI (responsable, imputable, consulté et informé). Responsable définit qui est responsable du développement des données. Imputable définit les personnes qui décident ce qui doit être fait avec les données. Consulté définit l'expertise du domaine pour conseiller le scientifique des données. Informé définit un ensemble de personnes qui doivent être à jour sur le processus de travail.

Pour accéder aux données internes, un scientifique des données doit déposer une demande d'accès aux données pour spécifier les données cibles et la durée d'accès nécessaire. Il existe de nombreuses réglementations en matière de confidentialité, telles que le Règlement général sur la protection des données (GDPR) (General Data Protection Regulation (GDPR)), le Privacy Act de 1974, le Health Insurance Portability and Accountability Act (HIPAA) de 1996, l'Electronic Communications Privacy Act (ECPA) de 1986 (Electronic Communications Privacy Act (ECPA) of 1986) et le Privacy Shield (Privacy Shield). Le Privacy Shield est un cadriciel pour les échanges de données personnelles entre l'Union européenne et les États-Unis.

Analytique des mégadonnées

Alors que les besoins en stockage et en informatique ont considérablement augmenté au cours des dernières décennies, le matériel (hardware) traditionnel n'a pas suffisamment progressé pour suivre le rythme. Les données d'entreprise ne s'intègrent plus parfaitement dans le stockage standard, et la puissance de calcul requise pour gérer la plupart des tâches d'analytique des mégadonnées peut prendre des semaines ou des mois, voire être impossible à réaliser. Pour pallier cette lacune, de nombreuses nouvelles technologies ont évolué pour inclure plusieurs ordinateurs travaillant ensemble, distribuant la base de données à des milliers de serveurs de base. Lorsqu'un réseau d'ordinateurs est connecté et travaille ensemble pour accomplir la même tâche, les ordinateurs forment une grappe. Une grappe (cluster) peut être considérée comme un seul ordinateur, mais elle peut améliorer considérablement les performances, la disponibilité et l'extensibilité par rapport à une machine unique plus puissante, à un coût inférieur, en utilisant du matériel de base.

Concepts en pratique

Données privées et analytique

Tous les sites web de médias sociaux et de moteurs de recherche utilisent la gestion des données pour les applications d'apprentissage automatique et profond. Aujourd'hui, des préoccupations majeures sont liées à l'utilisation de données privées pour effectuer des analyses et soutenir des ventes ciblées ou diffuser de fausses nouvelles à des clients sélectionnés. Il est essentiel de pouvoir contrôler l'utilisation des données privées afin qu'elles ne soient pas manipulées et qu'elles ne soient pas utilisées à mauvais escient pour diverses raisons. La conformité des données (Data compliance) tente de résoudre ce problème même, et diverses réglementations ont déjà été mises en place au Royaume-Uni et en Europe via les réglementations GDPR. La même chose se produit aux États-Unis, avec des réglementations mises en place dans certains États, y compris la Californie en particulier.

Modèle de processus analytique

Un modèle de processus analytique (analytics process model) fournit une analyse statistique utilisant un ensemble de processus pour résoudre les problèmes système et trouver de nouvelles opportunités de marché. Il existe de nombreuses applications d'exemple pour l'analyse de données, telles que l'analytique des risques (par exemple, notation de crédit, détection de fraude), l'analytique marketing (c'est-à-dire l'utilisation de données pour évaluer le succès des stratégies marketing), la modélisation de réponse (c'est-à-dire une plateforme statistique pour modéliser la relation entre les réponses des clients et les valeurs prédites), la segmentation client (c'est-à-dire la division des clients en groupes, chaque groupe partageant les mêmes caractéristiques pour améliorer la stratégie marketing), les systèmes de recommandation (c'est-à-dire un système de filtrage qui fournit des suggestions de produits basées sur l'évaluation des clients) et l'analytique textuelle (c'est-à-dire l'identification d'un motif pour comprendre les données).

La création d'une infrastructure de gestion des données viable pour les applications analytiques implique bien plus que la simple construction d'un modèle d'apprentissage automatique. Elle nécessite une compréhension de la façon dont toutes les parties de l'écosystème de l'entreprise fonctionnent ensemble—où/comment les données circulent vers l'équipe de données, l'environnement où les données sont traitées/transformées, les conventions de l'entreprise pour visualiser/présenter les données, et comment la sortie du modèle sera convertie en entrée pour d'autres applications d'entreprise. L'objectif principal est de construire un processus facile à maintenir, où les modèles sont itérés, les performances sont reproductibles, et la sortie d'un modèle peut être facilement comprise et visualisée par d'autres parties prenantes afin qu'elles puissent prendre des décisions commerciales éclairées. Atteindre ces objectifs nécessite de sélectionner les bons outils ainsi qu'une compréhension de ce que font les autres acteurs de l'industrie et des bonnes pratiques. La Figure 8.25 montre le processus en trois étapes du modèle de processus analytique, que nous allons discuter ensuite.

Illustration du modèle de processus analytique. Prétraitement : Problème, Identifier les sources de données, Sélectionner, Nettoyer et Transformer les données. Analytique (Analyser les données). Post-traitement (Tester et déployer).
Figure 8.25 Les trois étapes du modèle de processus analytique sont présentées. (source : Copyright Rice University, OpenStax, sous licence CC BY 4.0)

Prétraitement des données

Pour prétraiter les données, un scientifique des données peut utiliser la dénormalisation, le processus de fusion, l'échantillonnage, l'analyse exploratoire, la gestion des valeurs manquantes et la détection et le traitement des valeurs aberrantes. Le processus de fusion de plusieurs tables de données normalisées en une table de données agrégée et dénormalisée est appelé dénormalisation (denormalizing). Le processus de fusion (merging process) implique la sélection d'informations provenant de différentes tables concernant une entité spécifique, puis leur copie dans une table agrégée. La sélection d'un sous-ensemble de données historiques pour construire un modèle analytique est appelée échantillonnage (sampling). Le processus de résumé et de visualisation des données pour une première compréhension est appelé analyse exploratoire (exploratory analysis). Remplir le champ vide ou le supprimer implique de résoudre une valeur manquante (missing value). Une valeur aberrante (outlier) est une valeur en dehors de la population qui doit être détectée afin d'appliquer le processus de traitement sur celle-ci.

Types d'analytique

Après avoir terminé le prétraitement, l'étape analytique commencera (Figure 8.26). Cette étape vise à extraire un modèle de décision à partir des données prétraitées. Pour construire un tel modèle, il existe de nombreux modèles, tels que l'analytique prédictive, l'évaluation des modèles prédictifs, l'analytique descriptive et l'analytique des réseaux sociaux.

Illustration de l'exploration de données (analyse d'association, algorithme Apriori/FP-growth, classification, arbre de décision, réseaux bayésiens, analyse de grappes, regroupement K-means/hiérarchique) et de l'apprentissage automatique (apprentissage supervisé/non supervisé, arbres de décision de modèle de régression, association de regroupement, autre, apprentissage par renforcement/profond).
Figure 8.26 De nombreuses techniques peuvent être utilisées pour analyser les données afin de prendre une décision commerciale. (source : Copyright Rice University, OpenStax, sous licence CC BY 4.0)

La prédiction de la mesure cible d'intérêt à l'aide de la régression (par exemple, régression linéaire, régression logistique) et de la classification (par exemple, arbres de décision) est l'analyse prédictive (predictive analysis). L'évaluation des modèles prédictifs divise l'ensemble de données avec des mesures de performance spécifiques. Les motifs de comportement des clients (par exemple, règles d'association, règles de séquence et regroupement) sont considérés comme de l'analytique descriptive (descriptive analytics).

Enjeux mondiaux de la technologie

Analytique prédictive

L'analytique prédictive est un ensemble de techniques qui utilise des données, des statistiques et l'apprentissage automatique pour faire des prédictions sur des événements et/ou des comportements futurs. Ces prédictions reposent sur des données précises et impartiales pour apporter de la valeur. À mesure que nous nous dirigeons vers la technologie d'intelligence artificielle générative (GenAI) qui utilise les données existantes pour créer de grands modèles linguistiques (large language models), les problèmes associés à la possibilité d'utiliser des données biaisées pour entraîner ces modèles deviennent critiques. La recherche récente se concentre sur l'équité dans les décisions prises par les modèles entraînés avec des données biaisées, et sur la conception de méthodes pour accroître la transparence des processus de prise de décision automatisés afin que les problèmes de biais possibles puissent être facilement repérés et « corrigés » en éliminant les biais.

Post-traitement des modèles analytiques

La dernière étape est l'étape de post-traitement, et les premières activités de cette étape sont l'interprétation et la validation. Les experts métier valident les données et détectent tout motif inconnu. De plus, une analyse de sensibilité a lieu en post-traitement pour vérifier la robustesse du modèle créé. Après cela, les experts approuvent le déploiement du modèle et l'activité de production peut commencer. Enfin, l'expert applique l'activité de backtesting pour s'assurer que le modèle produit la sortie correcte.

Évaluation de l'analytique

Les modèles analytiques doivent résoudre le problème d'affaires pour lequel ils ont été développés (pertinence commerciale) et doivent être statistiquement acceptables (performance et validité statistiques). Le modèle analytique doit être compréhensible pour le décideur (interprétabilité) et opérationnellement efficace. La mesure de la performance du modèle utilise le TCO et le ROI. Le coût total de possession (TCO) (total cost of ownership (TCO)) représente le coût de possession et d'exploitation du modèle analytique au fil du temps. Le calcul du retour sur investissement (ROI) (return on investment (ROI)) détermine le ratio des bénéfices nets divisés par l'investissement des ressources.

Questions de réflexion

Apprentissage automatique

Vous disposez d'un ensemble de données concernant des patients hospitalisés atteints d'une condition particulière et il vous est demandé de créer un modèle prédictif qui pourrait être utilisé pour évaluer le dépistage de nouveaux individus pour cette condition.

Utiliseriez-vous l'apprentissage automatique peu profond ou profond pour résoudre ce problème ? Expliquez votre ensemble de données et votre logique pour résoudre le problème de santé.

Cadriciels d'analytique des mégadonnées pour l'apprentissage automatique peu profond

L'analytique des mégadonnées crée un modèle à partir d'un ensemble de données, et pour apprendre des données, nous avons besoin d'algorithmes d'apprentissage automatique (ML). Cette section aborde MapReduce (MapReduce), le cadriciel Hadoop, SQL sur Hadoop, le cadriciel Apache Spark, l'analytique des mégadonnées en continu, les solutions sur site versus infonuage, et la recherche de données non structurées et la recherche d'entreprise.

MapReduce

MapReduce est une approche computationnelle en deux étapes pour le traitement de grands ensembles de données (multiterabytes ou plus) distribués sur de grandes grappes de matériel de base de manière fiable et tolérante aux pannes (Figure 8.27). La première étape consiste à distribuer les données sur plusieurs ordinateurs (Map), chacun effectuant un calcul sur sa tranche de données en parallèle. L'étape suivante combine ces résultats de manière appariée (Reduce).

Illustration de l'entrée de mégadonnées passant par Map() puis Reduce(), résultant en une sortie.
Figure 8.27 Après l'étape d'entrée des données, Map commencera puis Reduce pour produire la sortie. (source : Copyright Rice University, OpenStax, sous licence CC BY 4.0)

Cadriciel Hadoop

Hadoop (Hadoop) est une infrastructure de données distribuée qui exploite des grappes pour stocker et traiter des quantités massives de données. Un cadriciel logiciel à code source ouvert utilisé pour le stockage et le traitement distribués de grands ensembles de données peut être mis en place sur une grappe d'ordinateurs construits à partir de matériel (hardware) normal et de base. De nombreux fournisseurs tels qu'Amazon, Cloudera, Dell, Oracle et Microsoft proposent leur implémentation d'une pile Hadoop.

Hadoop exploite la distribution et se compose de trois composants principaux :

  • Hadoop Distributed File System (HDFS) : Un moyen de stocker et de suivre les données sur plusieurs disques durs physiques (distribués)
  • MapReduce : Un cadriciel pour le traitement des données sur des processeurs distribués
  • Yet Another Resource Negotiator (YARN) (Yet Another Resource Negotiator (YARN)) : Un cadriciel de gestion de grappe qui orchestre la distribution de l'utilisation du CPU, de la mémoire et de l'allocation de la bande passante réseau sur des ordinateurs distribués

Hadoop est conçu pour les calculs itératifs. Il scanne des quantités massives de données en une seule opération à partir du disque, distribue le traitement sur plusieurs nœuds et stocke les résultats sur le disque. Hadoop est généralement utilisé pour générer des modèles analytiques complexes ou des applications de stockage de données à grand volume, telles que l'analytique rétrospective et prédictive qui implique l'analyse de données passées pour identifier des tendances, l'apprentissage automatique et l'appariement de motifs qui impliquent l'utilisation d'algorithmes pour identifier automatiquement des motifs et des tendances dans les données, la segmentation client et l'analyse du taux de désabonnement qui impliquent la division des clients en groupes basés sur des caractéristiques ou des comportements partagés et l'utilisation de ces informations pour mieux comprendre leurs besoins et préférences, et les archives actives qui impliquent le stockage des données d'une manière qui permet de les accéder et de les utiliser facilement à des fins d'analytique.

SQL sur Hadoop

En raison de la complexité de MapReduce dans une requête de base de données, de nombreuses industries créent d'autres solutions. En 2007, Hadoop a inclus la première version de HBase comme plateforme de stockage de données. HBase offre une structure et un langage de requête simplifiés pour les mégadonnées. Similaire à un SGBDR, HBase organise les données en tables avec des lignes et des colonnes. Yahoo a développé Pig (Pig), qui est une plateforme de haut niveau pour la création de programmes qui s'exécutent sur Hadoop, et son langage est Pig Latin, qui utilise MapReduce en dessous. Il ressemble quelque peu aux facilités de requête de SQL. Facebook a développé Hive, qui est une solution d'entrepôt de données offrant des facilités de requête SQL sur Hadoop. Il convertit les requêtes de type SQL en un pipeline MapReduce. Il offre également une interface JDBC et ODBC et peut fonctionner sur HDFS ainsi que sur d'autres systèmes de fichiers.

Cadriciel Apache Spark

MapReduce traite les données par lots ; par conséquent, il ne convient pas au traitement des données en temps réel. Apache Spark est un outil de traitement de données parallèle optimisé pour la vitesse et l'efficacité en traitant les données en mémoire. Il fonctionne selon le même principe MapReduce mais s'exécute beaucoup plus rapidement en effectuant la majeure partie du calcul en mémoire et en n'écrivant sur le disque que lorsque la mémoire est pleine ou que le calcul est terminé.

Analytique des mégadonnées en continu

Les flux de données proviennent d'appareils, de capteurs, de sites web, de médias sociaux et d'applications. L'analytique en continu effectue un processus analytique sur les données en flux, ce qui est utile pour le flux de données en temps réel. Il existe de nombreuses plateformes d'analytique des mégadonnées en continu, telles qu'Amazon Kinesis Data Firehose, qui est un service de données en continu pour capturer, traiter et stocker des flux de données à n'importe quelle échelle. L'Array of Things (AoT) (Array of Things (AoT)) est un réseau à code source ouvert qui collecte et renvoie des données urbaines en temps réel. Azure Stream Analytics est un moteur de traitement d'événements analytiques en temps réel pour analyser les mégadonnées en continu provenant de multiples sources.

Solutions sur site vs. infonuage

Une autre innovation qui a complètement transformé les capacités d'analytique des mégadonnées d'entreprise est l'essor des services infonuagiques. Avant la disponibilité des services infonuagiques, les entreprises devaient acheter des solutions de stockage et d'analytique de données sur site auprès de fournisseurs de logiciels et de matériel, payer d'avance des frais de licence logicielle perpétuels et la maintenance annuelle du matériel, payer des frais de service ainsi que les coûts liés à l'alimentation électrique, au refroidissement, à la sécurité, à la protection contre les sinistres et au personnel informatique pour la construction et la maintenance de l'infrastructure sur site. Même lorsqu'il était techniquement possible de stocker et de traiter de grandes quantités de données, la plupart des entreprises trouvaient cela trop coûteux à grande échelle. La mise à l'échelle avec une infrastructure sur site nécessite également un processus de conception et d'approvisionnement étendu, ce qui prend beaucoup de temps à mettre en œuvre et exige un capital initial substantiel. De nombreuses possibilités potentiellement précieuses de collecte et d'analytique des données ont été ignorées en conséquence. Certains avantages clés de l'informatique en nuage incluent l'extensibilité, la flexibilité, les économies de coûts, la fiabilité et la reprise après sinistre.

Recherche de données non structurées et recherche d'entreprise

La recherche d'informations dans des documents à l'aide de modèles de récupération qui spécifient des fonctions d'appariement et la représentation des requêtes est la recherche d'information (information retrieval). Les entreprises utilisent une variété de modèles de récupération pour l'intranet, la recherche web et l'analyse, tels que les requêtes par mots-clés qui utilisent un mot-clé pour récupérer des documents, les requêtes booléennes qui utilisent des opérateurs logiques pour récupérer les documents, les requêtes de phrase qui effectuent une récupération de phrase exacte, les requêtes de proximité qui vérifient la proximité de plusieurs entités au sein d'un enregistrement, les requêtes avec jokers qui prennent en charge les expressions d'appariement, et les requêtes en langage naturel qui tentent de formuler des réponses à une question spécifique à partir des résultats récupérés. La recherche de données non structurées (unstructured data) est un défi. Une recherche plein texte (full-text search) consiste à sélectionner des documents texte individuels à partir d'une collection de documents en fonction de la présence d'un seul ou d'une combinaison de termes de recherche dans le document. L'index (Index)ation des documents plein texte est le processus d'ajout d'un index pour chaque terme de recherche qui se compose d'un terme et d'un pointeur, chaque pointeur faisant référence à un document qui contient le terme. Les moteurs de recherche web recherchent une base de données web et recueillent des informations liées à un terme spécifique. Une recherche d'entreprise (enterprise search) est le processus de mise à disposition de contenu provenant des bases de données en offrant des outils qui peuvent être utilisés au sein de l'entreprise.

Analytique cognitive et intelligence artificielle

La technologie qui tente de simuler la manière humaine de résoudre des problèmes (par exemple, Siri et Alexa) est appelée informatique cognitive (cognitive computing). L'intelligence artificielle (AI) (Artificial intelligence (AI)) est un système qui crée des moyens intelligents de résoudre des problèmes qui nécessitaient auparavant une interaction humaine.

Informatique cognitive

Trois composants doivent interagir pour réaliser l'IA (Figure 8.28) : la syntaxe (structure), la sémantique (signification) et l'inférence (raisonnement/planification). L'intelligence humaine exige que ces trois composants s'appuient sur une forme de gestion des données et se rapportent à l'apprentissage profond d'autres fonctions cérébrales telles que les machines de Boltzmann restreintes, les auto-encodeurs empilés et les réseaux de croyances profondes. Les machines de Boltzmann restreintes sont des réseaux artificiels qui peuvent apprendre une distribution de probabilité en utilisant un ensemble d'entrées. L'auto-encodeur empilé est un réseau artificiel utilisé pour apprendre des données non étiquetées par un codage efficace. Les réseaux de croyances profondes sont des réseaux intelligents utilisés pour inventer une solution à un problème spécifique lorsque le réseau intelligent traditionnel ne pouvait pas le résoudre.

Illustration d'une tête avec Langage et Vision à l'intérieur, avec Sémantique, Inférence et Syntaxe tournant autour.
Figure 8.28 Les composants de l'intelligence artificielle incluent la syntaxe, la sémantique et l'inférence. (source : Copyright Rice University, OpenStax, sous licence CC BY 4.0)

Exemples d'applications d'IA

Amazon propose divers services ML. Ils permettent aux développeurs d'intégrer le ML infonuagique dans des applications mobiles et autres. Amazon Lex permet aux utilisateurs d'incorporer la saisie vocale dans les applications (extension du produit Echo d'Amazon) afin que les utilisateurs puissent poser des questions sur tout, de la météo aux actualités et à la musique en streaming. Amazon Polly est l'opposé de Lex ; Polly transforme le texte en parole dans 27 langues. Amazon Rekognition, qui est à la pointe des applications d'apprentissage profond, prend une image en entrée et renvoie une description textuelle des éléments qu'il voit dans cette image en effectuant une analyse faciale détaillée et des comparaisons.

Apprentissage par renforcement et par transfert

La méthode d'apprentissage automatique basée sur l'encouragement des comportements souhaités et la suppression des comportements indésirables est appelée renforcement (reinforcement). La méthode d'apprentissage automatique basée sur la réutilisation du résultat d'une tâche spécifique pour en démarrer une nouvelle est appelée apprentissage par transfert (transfer learning). Un réseau d'apprentissage profond (deep learning network) est un type de méthode d'apprentissage automatique basée sur les réseaux de neurones artificiels (Figure 8.29). Les réseaux de neurones artificiels simulent le réseau de neurones pour qu'un ordinateur apprenne et prenne des décisions comme le cerveau humain (par exemple, les réseaux de neurones récurrents ou RNN, qui sont un réseau de neurones artificiels, utilisent des données de séries temporelles). Il existe diverses classes de réseaux d'apprentissage profond, telles que :

  • Des cadriciels d'apprentissage profond basés sur l'infonuage, tels que Microsoft Cognitive Toolkit, qui est une boîte à outils à code source ouvert pour l'apprentissage profond distribué de qualité commerciale
  • Des applications système Google TensorFlow pour le calcul de réseaux de neurones et l'apprentissage profond, telles que la reconnaissance de chiffres manuscrits et les services cognitifs
  • Des bibliothèques logicielles prédictives pour les applications cognitives telles que Keras, qui est une bibliothèque logicielle à code source ouvert qui fournit une interface Python pour les réseaux de neurones artificiels
Illustration d'une entrée sous forme de cercle violet, à côté d'une colonne de cercles verts, connectés par des flèches à des cercles bleus, connectés à un cercle pêche étiqueté Sortie.
Figure 8.29 Le processus d'apprentissage profond utilise des réseaux de neurones artificiels. (source : modification de « NeuralNetwork » par Loxaxs/Wikimedia Commons, CC0)

Cadriciels d'analytique cognitive pour l'apprentissage profond

Dans cette section, nous présentons des exemples de cadriciels d'analytique cognitive pour les applications d'apprentissage profond, tels que Spark MLlib, Amazon Machine Learning Platform et MXNet, Google TensorFlow, Azure Machine Learning Platform et Microsoft Cognitive Toolkit.

Spark MLlib

Spark ML comprend une API de haut niveau (Spark Machine Learning Library de MLlib) pour la création de pipelines ML. Les données peuvent être introduites dans des dataframes, et la bibliothèque permet la création rapide d'un pipeline de traitement d'apprentissage automatique en combinant des transformateurs et des estimateurs.

MXNet

MXNet est une bibliothèque à code source ouvert pour l'apprentissage automatique parallèle distribué, développée à l'Université Carnegie Mellon, à l'Université de Washington et à l'Université de Stanford. MXNet peut être programmé avec Python, Julia, R, Go, Matlab ou C++ et fonctionne sur de nombreuses plateformes différentes, y compris les grappes et les GPU ; c'est aussi maintenant le cadriciel d'apprentissage profond de choix pour Amazon.

Google TensorFlow

TensorFlow de Google est une boîte à outils d'apprentissage profond fréquemment discutée et utilisée ; si vous avez installé l'AMI Amazon Deep Learning, vous avez déjà TensorFlow installé et vous pouvez commencer à expérimenter immédiatement.

Plateforme Azure Machine Learning et Microsoft Cognitive Toolkit

Le logiciel Microsoft Cognitive Toolkit est disponible en téléchargement dans une variété de formats afin que des exemples d'apprentissage profond puissent être exécutés sur Azure sous forme de grappes de conteneurs Docker (c'est-à-dire plusieurs nœuds joints à l'aide d'une configuration spéciale).

Pleins feux sur l'industrie

Le MPP est le VIP du NYSE

Le New York Stock Exchange (NYSE) reçoit quotidiennement 4 à 5 To de données et effectue des analyses complexes, une surveillance du marché, une planification de la capacité et un suivi. Il utilisait une base de données traditionnelle qui ne pouvait pas gérer la charge de travail ; le chargement prenait des heures et la vitesse des requêtes était faible. Le passage à une base de données MPP a réduit leur temps d'exécution d'analyse quotidienne de huit heures.

Bases de données à traitement massivement parallèle (MPP)

Similaires à MapReduce (MapReduce), les bases de données à traitement parallèle (parallel processing) massivement parallèle (MPP) sont appelées NewSQL par opposition à NoSQL. Le MPP distribue le traitement des données sur plusieurs nœuds, et les nœuds traitent les données en parallèle pour une vitesse accrue. Contrairement à Hadoop, le MPP est utilisé dans les SGBDR et utilise une architecture « share-nothing ». Chaque nœud traite sa propre tranche de données à l'aide de processeurs multicœurs, ce qui les rend beaucoup plus rapides que les SGBDR traditionnels. Certaines bases de données MPP, telles que Pivotal Greenplum, disposent de bibliothèques d'apprentissage automatique matures qui permettent l'analytique en base de données. Dans un système MPP, tous les nœuds sont interconnectés et les données peuvent être échangées sur le réseau.3 Cependant, comme avec les SGBDR traditionnels, la plupart des bases de données MPP ne prennent pas en charge les données non structurées, et même les données structurées (structured data) nécessiteront un certain traitement pour s'adapter à l'infrastructure MPP. Par conséquent, il faut du temps et des ressources supplémentaires pour configurer le pipeline de données pour une base de données MPP. Parce que les bases de données MPP sont conformes à ACID et offrent une vitesse beaucoup plus rapide que les SGBDR traditionnels, elles sont généralement employées dans des solutions d'entreposage de données d'entreprise haut de gamme telles qu'Amazon Redshift, qui est une plateforme infonuagique d'entrepôt de données (data warehouse) pour Amazon Web Services, et Pivotal Greenplum, qui est une technologie de mégadonnées basée sur l'architecture MPP combinée à une base de données à code source ouvert.