Apache Apex avec Apache SAMOA

Apache Apex avec Apache SAMOA

By SAUVAGE Pierre

17 juil. 2016

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

Canada - Morocco - France

International locations

10 rue de la Kasbah
2393 Rabbat
Canada

Nous sommes une équipe passionnées par l'Open Source, le Big Data et les technologies associées telles que le Cloud, le Data Engineering, la Data Sciencem le DevOps…

Nous fournissons à nos clients un savoir faire reconnu sur la manière d'utiliser les technologies pour convertir leurs cas d'usage en projets exploités en production, sur la façon de réduire les coûts et d'accélérer les livraisons de nouvelles fonctionnalités.

Si vous appréciez la qualité de nos publications, nous vous invitons à nous contacter en vue de coopérer ensemble.