Cours de CentraleSupélec en Big Data : Informatique pour les données et calculs
Cours de CentraleSupélec en Big Data : Informatique pour les données et calculs massifs Stéphane Vialle, CentraleSupélec Stephane.Vialle@centralesupelec.fr 9 avril 2018 2 Chapitre 1 Définitions et objectifs du cours Ce cours d’informatique pour les données et calculs massifs, présente des concepts issus de deux grands domaines scientifiques et techniques : la Science des données et des Big Data d’une part, et le calcul parallèle, ou High Performance Computing (HPC), d’autre part. Afin de préciser le cadre du cours et de lever d’éventuelles confusions, ce chapitre introductif résume ce que sont ces deux grands domaines et liste les objectifs du cours. 1.1 Définition du Big Data Big Data ou Data Science ? Certains considèrent que l’analyse des données et l’apprentissage numérique incluent forcé- ment les méthodes et technologies pour traiter de très gros volumes de données, et font ainsi du Big Data une partie des Data Sciences. A l’opposé, d’autres considèrent que le traitement de très gros volumes de données inclut forcément des méthodes d’analyse probabiliste et d’apprentissage, et considèrent que les Data Sciences sont inclues dans le Big Data. Ce cours aborde autant les problématiques d’exploitation de très gros volumes de données que celles de leur analyse, mais il reste un cours d’informatique. Le titre de Big Data a donc été préféré à celui de Data Sciences, et les aspects mathématiques des algorithmes d’analyse de données seront très peu abordés. Disciplines participant au Big Data Le Big Data est un domaine pluridisciplinaire pour lequel on peut identifier 5 parties, par- fois elles-mêmes basées sur plusieurs disciplines (voir figure 1.1). On peut tout d’abord énumérer quatre parties clés : – Une partie qualifiée parfois de Math-Info comprend tout d’abord des mathématiques statis- tiques et probabilistes sur lesquelles sont fondés des algorithmes d’apprentissage numérique (ou machine learning), ainsi que des algorithmes de fouille de données et de graphes. Cette partie du Big Data est celle qui est souvent identifiée comme le Data Science. C’est en tous cas le cœur mathématique du Big Data. – Une partie d’informatique distribué pour l’analyse de données large échelle. Il s’agit d’une forme d’algorithmique distribuée récente (apparue en 2009), visant à amener les traitements sur les machines où sont stockées les données. Cette approche permet des traitements de données à large échelle (sur des données très volumineuses), voire à l’échelle du web (web- scale). Une première mise en œuvre de cette approche utilisait le schéma Map-Reduce : un 9 10 CHAPITRE 1. DÉFINITIONS ET OBJECTIFS DU COURS FIGURE 1.1 – Composition pluridisciplinaire du Big Data schéma de calcul distribué à première vue très contraint mais en fait assez générique. – Une partie d’informatique parallèle à haute performance pour le data analytics et le ma- chine learning visant à accélérer les calculs sur des machines parallèles. Par exemple, en utilisant un cluster de PC multi-cœurs (ensemble de PC dédiés aux calculs et reliés par un réseau local rapide) ou un cluster de GPU (réseau de cartes graphiques détournées pour du calcul scientifique), pour entraîner des réseaux de neurones profonds (deep learning). – Une autre partie essentielle du Big Data réside dans la conception et l’exploitation de bases de données "not only SQL" (NoSQL). Elles permettent de stocker des données structurées complexes, ou au contraire de simples fichiers textes que l’on devra analyser en détail. Cer- taines BdD NoSQL ont été conçues pour un stockage distribué à très large échelle, d’autres pour favoriser la vitesse d’interrogation sur des données plus restreintes. Le domaine des BdD NoSQL est encore en pleine évolution. Deux autres parties complètent l’aspect pluridisciplinaire du Big Data : le domaine applicatif considéré, et la visualisation et présentation des données et résultats. – Une connaissance du domaine d’activité de l’entreprise est nécessaire pour que le data scientist puisse donner du sens aux données, guider son analyse et interpréter les résultats de ses algorithmes. – Enfin, le data scientist doit aussi posséder une expertise en visualisation de gros volumes de données et en présentation synthétique/simplifiée des résultats. Cette partie n’est pas la plus scientifique de ses activités, mais est néanmoins essentielle pour aboutir à une prise de décision dans un contexte industriel. Exemples d’applications Big Data Parmi les applications du Big Data on peut citer trois grands classiques. Premièrement l’ana- lyse de fichiers de traces pour en déduire des comportements passés et futurs : traces de transac- tions commerciales, traces d’activités de personnes mobiles, traces d’accès à des serveurs web..., et déductions de comportements de consommateurs, de voyageurs, d’utilisation d’Internet...Cette analyse aboutit généralement à un système de recommandation pour mieux cibler des clients po- 1.1. DÉFINITION DU BIG DATA 11 FIGURE 1.2 – Exemple d’analyse de graphe de réseaux sociaux à partir du twitteR package (voir http://geocachinglibrarian.com/|). Graphe de base à gauche, graphe en fonction des degrés de sorties des nœuds (milieu), et en fonction des degrés d’entrées des nœuds (droite). tentiels ou pour augmenter les performances de l’entreprise. Ce type d’analyse se faisait initiale- ment off line sur de très gros volumes de données, mais on observe une demande croissante de traitement on line de flux continus de données. Deuxièmement, l’analyse de signaux de sorties d’une foule de capteurs sur une installation industrielle, couplée à l’accès à des bases de données de situations passées et de spécifications techniques, afin d’identifier les prémisses d’une défaillance future. Cette analyse doit en général se faire en temps réel à partir des signaux captés sur l’installation en cours d’utilisation. Troisièmement, l’analyse de réseaux sociaux, c’est-à-dire de l’analyse de graphes, afin d’en déduire par exemple des relations/influences entre individus ou populations d’individus. L’analyse de graphes de grandes tailles constitue une partie spécifique du Big Data (voir figure 1.2), souvent citée comme exemple et qui intéresse particulièrement quelques géants du web. Du statisticien au data scientist Comparé au traditionnel statisticien du passé dans l’entreprise, le data scientist est proba- blement moins pointu en mathématique mais pratique la pluridisciplinarité. Il possède un niveau de développement informatique lui permettant de prototyper et tester facilement les algorithmes d’analyse de données qu’il conçoit. De plus, il s’implique dans le métier premier de l’entreprise afin de savoir mener des analyses de données pertinentes pour, par exemple, identifier de nouveaux marchés. Enfin, une partie du travail du data scientist consiste à simplifier, synthétiser et présenter les résultats de ses analyses aux autres membres de l’entreprises. Cette dernière facette de son tra- vail est primordiale car il doit convaincre ses collègues de la pertinence et de la solidité de ses conclusions sur l’évolution d’un process industriel ou de la stratégie de l’entreprise. Le data engineer Les couches logicielles d’un système Big Data sont devenues très complexes. Stocker et mettre à jour en permanence un Data Lake demande beaucoup de ressources matérielles, mais aussi une architecture logicielle efficace et tolérante aux pannes, qui dépasse de loin les simples serveurs de comptes et de données installés sur un petit réseau local. Un interfaçage avec des sources de données externes, ou avec des flux de données continus est aussi devenu une composante clas- sique d’un système Big Data. De plus, analyser de gros volumes de données sur ces architectures logicielles et matérielles requiert également une expérience spécifique en algorithmique et en pro- grammation, pour aboutir à des solutions efficaces à large échelle. Enfin, avant d’analyser des 12 CHAPITRE 1. DÉFINITIONS ET OBJECTIFS DU COURS FIGURE 1.3 – Composition pluridisciplinaire du HPC masses de données il convient de collecter, nettoyer et enrichir ces données, qui sont souvent hétérogènes, redondantes, mal identifiées. .. Toutes ces tâches (et d’autres) constituent des travaux d’ingénieurs apparus avec les Big Data, et définissent le travail des Data Engineers. Il est habituel que 80% d’un projet Big Data soit constitué de Data Engineering (et de seulement 20% de Data Science). Langages de programmation actuels du Big Data Les langages interprétés comme Java et Python, qui sont parmi les plus portables, sont les langages de développement de bas niveau du Big Data. Ce qui n’empêche pas certaines biblio- thèques d’apprentissage numérique d’être développées en C ou C++. Mais le data scientist se li- mite habituellement à des développement en Java ou Python, qu’il interface avec des bibliothèques éventuellement développées dans d’autres environnements. Enfin, les langages de requêtes des BdD NoSQL constituent souvent les langages de haut niveau du Big Data, et s’interfacent aussi avec des codes Java et Python. 1.2 Définition du calcul à haute performance (HPC) Disciplines participant au HPC Le HPC est un autre domaine pluridisciplinaire. Il inclut de l’informatique parallèle, des ma- thématiques numériques, des domaines applicatifs et de la visualisation interactive (voir figure 1.3) : – Le domaine applicatif fournit des problèmes qui nécessitent d’être modélisés et simulés avec précision, et qui sont souvent de grandes tailles. Une expertise de la physique du do- maine permet d’en établir un modèle mathématique avec la précision requise. – Les mathématiques numériques permettent ensuite de transformer ce modèle en un algo- rithme numérique convergeant vers le bon résultat et conservant la précision voulue. La maîtrise des problèmes d’arrondis fait partie de cette expertise. – Puis, l’informatique parallèle et l’optimisation de uploads/Management/ big-data 2 .pdf
Documents similaires
-
14
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jui 08, 2022
- Catégorie Management
- Langue French
- Taille du fichier 0.7732MB