1© 2016 The MathWorks, Inc.
Machine Learning pour le Big Data…
… sans ni
Marc Wolff, Ph.D.
2
Quelle est l’alternative ?
Les clusters de calcul dits « traditionnels »
3
Quelle est l’alternative ? HPC Hadoop/Spark
Modèle de programmation
MPI vs. MapReduce/Spark
Architecture
Silos calcul et...
4
Composants d’infrastructures HPC
Le modèle de programmation MPI
Implémentation MPI d’algorithmes de machine learning
Age...
5
Serveurs de calcul
Architectures dites Twin²
 Design low-cost
 4 serveurs bi-CPU dans un châssis
 Alimentation redond...
6
Systèmes de fichiers parallèles
 De type scale-out : la performance
augmente avec la taille du système
 Namespace uniq...
7
Systèmes de fichiers parallèles
Un exemple : BeeGFS
 Système de fichiers open source
 Développé en Allemagne par l’Ins...
8
Systèmes de fichiers parallèles
Un exemple : BeeGFS
 A la recherche d’une vraie bête de course ?
 Associez BeeGFS avec...
9
Composants d’infrastructures HPC
Le modèle de programmation MPI
Implémentation MPI d’algorithmes de machine learning
Age...
10
Qu’est-ce que MPI ?
 MPI est le framework standard pour la programmation et l’exécution
d’applications parallèles
– Te...
11
MPI est un framework in-memory
 Opérations effectuées sur des données stockées en mémoire vive (RAM)
 Tendance global...
12
Pourquoi privilégier des traitements in-memory ?
Performances Coût
Bande passante max. pour un flux I/O
Disque dur
100 ...
13
Algorithmes de machine learning in-memory distribués
 « In-memory »
– La totalité du jeu de données est chargée en mém...
14
Composants d’infrastructures HPC
Le modèle de programmation MPI
Implémentation MPI d’algorithmes de machine learning
Ag...
15
Un exemple : modèle de scoring
 Application : développer un modèle de scoring (risque de crédit)
 Dataset (~160 Go d’...
16
 Problème #2 : l’utilisation du calcul parallèle pour accélérer l’entraînement
des Random Forests consiste à entraîner...
17
Algorithme de random forest distribué basé sur MPI
 Solution proposée : s’appuyer sur un algorithme d’arbre de décisio...
18
Algorithme d’arbre de décision distribué basé sur MPI
Principe d’un arbre de décision
La séparation des données selon l...
19
Algorithme d’arbre de décision distribué basé sur MPI
 Accélération du
calcul des tables
de répartition
 Agrégation à...
20
Résultats
 Conditions du test
– Les PC utilisés pour le test disposent de 8 Go de mémoire vive
– Nous avons travaillé ...
Prochain SlideShare
Chargement dans…5
×

Machine Learning pour le Big Data, sans Hadoop ni Spark

398 vues

Publié le

Publié dans : Sciences
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
398
Sur SlideShare
0
Issues des intégrations
0
Intégrations
16
Actions
Partages
0
Téléchargements
29
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Machine Learning pour le Big Data, sans Hadoop ni Spark

  1. 1. 1© 2016 The MathWorks, Inc. Machine Learning pour le Big Data… … sans ni Marc Wolff, Ph.D.
  2. 2. 2 Quelle est l’alternative ? Les clusters de calcul dits « traditionnels »
  3. 3. 3 Quelle est l’alternative ? HPC Hadoop/Spark Modèle de programmation MPI vs. MapReduce/Spark Architecture Silos calcul et stockage vs. architecture totalement distribuée
  4. 4. 4 Composants d’infrastructures HPC Le modèle de programmation MPI Implémentation MPI d’algorithmes de machine learning Agenda 1 2 3
  5. 5. 5 Serveurs de calcul Architectures dites Twin²  Design low-cost  4 serveurs bi-CPU dans un châssis  Alimentation redondante partagée  Pour tout réseau d’interconnexion  Coût : ~20 k€ HT pour 96 cœurs  Où s’en procurer ? – Dell C6320 – Auprès de nombreux intégrateurs
  6. 6. 6 Systèmes de fichiers parallèles  De type scale-out : la performance augmente avec la taille du système  Namespace unique et extensible : un seul système de fichiers, quel que soit le nombre de nœuds de stockage  Contrairement à HDFS, les systèmes de fichiers parallèles sont vus par l’utilisateur comme un disque réseau classique – /data sous Linux ou disque S: sous Windows 100 To 100 To 100 To 300 To
  7. 7. 7 Systèmes de fichiers parallèles Un exemple : BeeGFS  Système de fichiers open source  Développé en Allemagne par l’Institut Fraunhofer  Software Defined Storage : peut être déployé sur du matériel de toute marque (comme HDFS)  Probablement le plus performant du marché  Coût : entre 200 et 300 € HT par To utile  Déployé dans de nombreuses universités et centres de calcul
  8. 8. 8 Systèmes de fichiers parallèles Un exemple : BeeGFS  A la recherche d’une vraie bête de course ?  Associez BeeGFS avec des disques flash ! Samsung 850 Pro 1 To, 500 Mo/s, 400 €
  9. 9. 9 Composants d’infrastructures HPC Le modèle de programmation MPI Implémentation MPI d’algorithmes de machine learning Agenda 1 2 3
  10. 10. 10 Qu’est-ce que MPI ?  MPI est le framework standard pour la programmation et l’exécution d’applications parallèles – Technologie mûre (plus de 20 ans d’existence) – Utilisation complexe avec des langages de programmation traditionnels  Les outils de calcul parallèle MATLAB sont basés à 100% sur MPI et sont beaucoup plus simples à apprivoiser
  11. 11. 11 MPI est un framework in-memory  Opérations effectuées sur des données stockées en mémoire vive (RAM)  Tendance globale à revenir à des traitements in-memory (Spark) Lecture Traitement en mémoire Ecriture1 2 3 In-memory Out-of-memory (exemple : MapReduce)
  12. 12. 12 Pourquoi privilégier des traitements in-memory ? Performances Coût Bande passante max. pour un flux I/O Disque dur 100 Mo/s Système de fichiers parallèle tel que BeeGFS 3 Go/s Mémoire vive 70 Go/s Quel est le composant le plus onéreux d’une infrastructure de calcul ? Du – cher au + cher : 5. 4. 3. 2. 1. Réseau Serveurs (châssis, carte mère) Stockage Mémoire vive Processeurs
  13. 13. 13 Algorithmes de machine learning in-memory distribués  « In-memory » – La totalité du jeu de données est chargée en mémoire au début de l’exécution, avant analyse – La sélection et le cleaning des données peuvent être effectués en même temps que le chargement des données  « Distribués » – Le jeu de données est chargée de manière distribuée : il est partitionné et chaque processus MPI stocke une portion des données – Les données ne sont jamais chargées intégralement sur une unique machine afin d’éviter les limitations liées à la quantité de mémoire vive disponible Chargement du jeu de données complet Data chunk 1/4 Data chunk 2/4 Data chunk 3/4 Data chunk 4/4
  14. 14. 14 Composants d’infrastructures HPC Le modèle de programmation MPI Implémentation MPI d’algorithmes de machine learning Agenda 1 2 3
  15. 15. 15 Un exemple : modèle de scoring  Application : développer un modèle de scoring (risque de crédit)  Dataset (~160 Go d’espace disque) :  Algorithme de classification : Random Forest – Minimum 100 arbres – Sans utiliser un modèle de programmation de type MapReduce … … +de200Mdelignes 157 variables
  16. 16. 16  Problème #2 : l’utilisation du calcul parallèle pour accélérer l’entraînement des Random Forests consiste à entraîner simultanément plusieurs arbres sur chaque machine – Mauvaise approche en contexte Big Data – Requiert le stockage de plusieurs copies du dataset – Approche nécessairement confrontée à des limitations mémoire  Problème #1 : l’implémentation standard des algorithmes de machine learning est adaptée à des données non distribuées stockées en mémoire vive – En mémoire vive, le dataset complet aurait occupé 260 Go – Aucune des machines à disposition n’avait suffisamment de mémoire vive >> OUT OF MEMORY Un exemple : modèle de scoring
  17. 17. 17 Algorithme de random forest distribué basé sur MPI  Solution proposée : s’appuyer sur un algorithme d’arbre de décision opérant sur des données distribuées – Entraînement de l’arbre accéléré, peut être fait sur des datasets de grande dimension – Toute random forest construite à partir d’arbres de ce type héritera naturellement de ses capacités « Big Data »  Infrastructure utilisée pour le PoC – Salle de formation MathWorks (12 PC équipés de processeurs 4 cœurs) – MATLAB Distributed Computing Server permet de distribuer les tâches sur le parc de stations de travail
  18. 18. 18 Algorithme d’arbre de décision distribué basé sur MPI Principe d’un arbre de décision La séparation des données selon la variable Temps maximise le gain d’information
  19. 19. 19 Algorithme d’arbre de décision distribué basé sur MPI  Accélération du calcul des tables de répartition  Agrégation à l’aide d’une opération de réduction  Parfaite reproductibilité
  20. 20. 20 Résultats  Conditions du test – Les PC utilisés pour le test disposent de 8 Go de mémoire vive – Nous avons travaillé avec un dataset réduit de « seulement » 25M de lignes – Occupe environ 10 Go en mémoire vive, plus que la capacité mémoire de l’un des PC !  Résultats – Entraîment d’un arbre de décision en utilisant 6 postes en 5 minutes – Entraînement d’une random forest de 100 arbres en 4 heures 20 k€ 512 Go permet de manipuler des datasets d’environ 500M de lignes

×