Apache Apex avec Apache SAMOA

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 au nouveaux patterns de la données
  • 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 algorithme d’apprentissage en streaming
  • Distribué et passage à l’échelle

Classification machine learning

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’iterations
  • 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é 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être à venir depuis l’opérateur de délai
Par |2017-07-24T20:35:56+00:00July 17th, 2016|Évènements|0 commentaire

À propos de l'auteur :

Passionné d'informatique depuis sa plus tendre enfance, et pratiquant la programmation en loisir depuis l'adolescence, Pierre rejoint une école d'ingénieur avec spécialisation en Système d'Information, option Big Data. Il a commencé sa carrière en laboratoire de recherche sur IoT, où il a pu étudier les systèmes distribués, tant sur un plan théorique que pratique. Pierre a ensuite rejoint Adaltas. Il est aujourd’hui un architecte solution Big Data & Hadoop et un Data Engineer avec plus de 4 ans d’expérience sur Hadoop et 5 ans d’expérience avec les systèmes distribués. Il a conçu, développé et opéré des workflows d’ingestion de données et des services temps réels tout en accompagnant ses clients dans la définition de leurs besoins et dans leur mise en application. Il est polyvalent sur les plateformes Big Data, de la planification, la conception et l’architecture du déploiement de clusters, l’administration, la maintenance ainsi que le prototypage et l’industrialisation d’application en collaboration avec les utilisateurs métiers, les analystes, les data scientists, les ingénieurs et les équipes d’exploitation. Il est aussi doté d’une forte expérience en tant que formateur (il donne régulièrement des cours et formations autour du Big Data pour diverses écoles ingénieur et master) facilitant le transfert de connaissance et la formation des équipes.

Laisser un commentaire