Apache Apex avec Apache SAMOA
17 juil. 2016
Vous appréciez notre travail......nous recrutons !
Ne ratez pas nos articles sur l'open source, le big data et les systèmes distribués, fréquence faible d’un email tous les deux mois.
Le Machine learning
- Orienté batch
- Supervisé - plus courant
- Training et Scoring
- Construction préliminaire du modèle
- Training : Construction du modèle
- Holdout : tuning du paramétrage
- Test : précision
Online Machine Learning
- Streaming
- Modèle évolutif
- Adaptation dynamique aux nouveaux patterns de la donnée
- Changement à travers le temps (concept drift)
- Mise à jour du modèle
- Utilisation généralisée des algorithmes d’approximation
- Single pass : une donnée à la fois
- Espace et temps sous-linéaire par élément de données
- Faible erreur avec forte probabilité
Apache SAMOA
- Contient le nécessaire
- Plateforme pour les algorithmes d’apprentissage en streaming
- Distribué et passage à l’échelle
Classification machine learning
Machine learning
/ \
Disribué Non distibué
/ \ / \
Batch streaming Batch streaming
| | | |
Hadoop Apex/flink/storm | |
| | | |
Mahout SAMOA R, WEKA MOA
Logical Building Blocks
Chaque block est un processor (un algorithme), on crée alors une topologie en imbriquant les processors.
Evaluation de tâches séquentielles prédictives dans SAMOA
- Intervalles “test-then-train”
- Évaluation de performances pour des classifieurs online
- Basique - Global
- Fenêtre glissante - Le plus récent
Apex DSPE
DSPE signifie Distributed Stream Processing Engine, par exemple :
- Apex
- Storm
- Flink
Apex Application DAG
- Un DAG est composé de vertices (Operators) et d’arêtes (Streams)
- Un Stream est une séquence de n-uplets (tuples) de données qui connectent les operators
Distribution des tuples
- Calcul du hash du tuple pour le partitionnement
- Calcul du modulo du hash par le nombre de partitions
Support de l’iteratif dans Apex
- Le Machine learning a besoin d’itérations
- Au minimum, une boucle de feedback
- Les topologies d’Apex sont des DAG
Opérateurs de délai
- ID de fenêtre auto-incrémentée pour tous les ports de sortie
- Tolérant aux fautes
Challenges
Intégration de DSPE dans Apache Apex :
- Différences de d’API entre SAMOA et Apex
- Pas de concept de ports dans SAMOA
- Déclaration de streams à la demande dans SAMOA
- Cycles dans une topologie : opérateur de délai
- Sérialisation de l’état du processor au moment du checkpoint
Également, sérialisation de n-uplets :
- Nombre de n-uplets dans une fenêtre
- Affecte le nombre de n-uplets dans les fenêtres à venir depuis l’opérateur de délai