
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 MOALogical 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