Aller au contenu
Intelligence artificielle (IA) 💰 CPF éligible

Machine Learning distribué avec Spark ML

Avancé
présentiel, distanciel

Objectifs pédagogiques

  • Développer des modèles ML distribués.
  • Optimiser les performances de calcul.
  • Préparer et transformer des données pour ML.
  • Évaluer et déployer les modèles.

Programme détaillé

Module 1 Comprendre les enjeux du Machine Learning distribué
  • Identifier les cas d’usage nécessitant une approche distribuée.
  • Comprendre le rôle d’Apache Spark dans le traitement de données massives.
  • Situer Spark MLlib dans l’écosystème Big Data et Machine Learning.
  • Rappel des principes fondamentaux du Machine Learning.
  • Limites des traitements de Machine Learning classiques sur poste local.
  • Enjeux du calcul distribué : volumétrie, parallélisation, scalabilité, robustesse.
  • Positionnement d’Apache Spark dans l’écosystème Big Data.
  • Architecture générale de Spark : driver, executors, cluster manager.
  • Différences entre Spark Core, Spark SQL, DataFrames et Spark MLlib.
  • Cas d’usage : scoring à grande échelle, segmentation client, prédiction, détection d’anomalies, recommandation.
  • Prise en main de l’environnement de travail.
  • Chargement d’un premier jeu de données.
  • Identification des traitements qui peuvent bénéficier d’une approche distribuée.
Module 2 Charger, explorer et contrôler les données avec Spark
  • Charger des données dans Spark.
  • Explorer un jeu de données avec les DataFrames.
  • Identifier les premiers traitements nécessaires avant la modélisation.
  • Chargement de fichiers structurés.
  • Manipulation des DataFrames Spark.
  • Inspection des schémas de données.
  • Contrôle des types de variables.
  • Analyse descriptive simple.
  • Détection des valeurs manquantes.
  • Repérage des valeurs incohérentes ou atypiques.
  • Premières transformations avec Spark SQL et DataFrame API.
  • Charger un dataset.
  • Afficher et interpréter son schéma.
  • Calculer des statistiques descriptives.
  • Identifier les colonnes exploitables pour un modèle ML.
  • Repérer les traitements de préparation nécessaires.
Module 3 Préparer et transformer les données pour le Machine Learning
  • Préparer des données exploitables par Spark MLlib.
  • Transformer les variables numériques et catégorielles.
  • Construire les premières étapes d’un pipeline de préparation.
  • Nettoyage des données.
  • Gestion des valeurs manquantes.
  • Sélection des variables.
  • Encodage des variables catégorielles.
  • Indexation des labels.
  • Normalisation et standardisation.
  • Assemblage des variables avec VectorAssembler.
  • Constitution des jeux d’entraînement et de test.
  • Bonnes pratiques de reproductibilité.
  • Transformer un jeu de données brut en jeu de données exploitable pour l’apprentissage automatique.
  • Créer les colonnes de variables explicatives.
  • Séparer les données en jeu d’entraînement et jeu de test.
  • Préparer les données pour un modèle de classification ou de régression.
Module 4 Construire un premier modèle supervisé avec Spark MLlib
  • Entraîner un modèle supervisé avec Spark MLlib.
  • Comprendre les principaux paramètres d’entraînement.
  • Interpréter les premiers résultats obtenus.
  • Rappel sur les modèles supervisés.
  • Classification et régression dans Spark MLlib.
  • Choix d’un algorithme adapté au cas d’usage.
  • Entraînement d’un modèle distribué.
  • Paramétrage de base.
  • Génération de prédictions.
  • Premiers indicateurs de performance.
  • Limites d’un premier modèle et points de vigilance.
  • Entraîner un modèle supervisé sur un dataset préparé.
  • Générer des prédictions.
  • Comparer les prédictions aux valeurs réelles.
  • Identifier les limites d’un premier modèle.
Module 5 Construire des pipelines de Machine Learning avec Spark
  • Structurer un traitement ML complet sous forme de pipeline.
  • Chaîner préparation, transformation, entraînement et prédiction.
  • Rendre le processus reproductible.
  • Logique des pipelines Spark ML.
  • Notions de Transformer et Estimator.
  • Chaînage des étapes de transformation.
  • Intégration d’un algorithme dans un pipeline.
  • Entraînement du pipeline complet.
  • Sauvegarde et rechargement d’un pipeline.
  • Bonnes pratiques de structuration.
  • Construire un pipeline Spark ML complet.
  • Intégrer les étapes de préparation des données.
  • Ajouter l’algorithme d’apprentissage.
  • Entraîner le pipeline.
  • Réutiliser le pipeline sur un jeu de test.
Module 6 Évaluer et comparer les modèles
  • Choisir les métriques adaptées selon le type de problème.
  • Évaluer la qualité d’un modèle.
  • Comparer plusieurs modèles ou configurations.
  • Évaluation des modèles de classification.
  • Évaluation des modèles de régression.
  • Matrice de confusion.
  • Précision, rappel, F1-score, AUC.
  • Erreur quadratique moyenne.
  • Erreur absolue moyenne.
  • Coefficient de détermination.
  • Validation croisée.
  • Comparaison de modèles.
  • Lecture critique des résultats.
  • Risques de surapprentissage et de sous-apprentissage.
  • Évaluer un modèle de classification ou de régression.
  • Comparer deux modèles à partir de métriques.
  • Identifier le modèle le plus adapté à un contexte métier.
  • Argumenter le choix d’un modèle à partir des résultats obtenus.
Module 7 Optimiser les performances de calcul
  • Comprendre les facteurs qui influencent les performances d’un traitement Spark.
  • Diagnostiquer les principaux goulots d’étranglement.
  • Appliquer des bonnes pratiques d’optimisation.
  • Principes de parallélisation dans Spark.
  • Partitionnement des données.
  • Cache et persistance.
  • Réduction des transformations coûteuses.
  • Optimisation des lectures et écritures.
  • Lecture d’un plan d’exécution.
  • Gestion des ressources.
  • Bonnes pratiques pour les traitements Spark ML.
  • Erreurs fréquentes dans les traitements distribués.
  • Diagnostiquer un pipeline Spark peu performant.
  • Identifier les transformations coûteuses.
  • Appliquer des optimisations simples.
  • Comparer les temps d’exécution.
  • Documenter les choix d’optimisation.
Module 8 Sauvegarder, réutiliser et déployer un modèle Spark ML
  • Sauvegarder un modèle entraîné.
  • Réutiliser un modèle sur de nouvelles données.
  • Comprendre les principes de déploiement d’un modèle ML distribué.
  • Sauvegarde d’un pipeline Spark ML.
  • Sauvegarde d’un modèle entraîné.
  • Rechargement du modèle.
  • Application du modèle à de nouvelles données.
  • Batch scoring.
  • Intégration dans une chaîne de traitement.
  • Introduction au monitoring des modèles.
  • Dérive des données.
  • Dérive du modèle.
  • Articulation possible avec une démarche MLOps.
  • Sauvegarder un pipeline ou un modèle Spark ML.
  • Recharger le modèle.
  • Réaliser un scoring sur de nouvelles données.
  • Identifier les contrôles à mettre en place avant mise en production.
Module 9 Cas pratique de synthèse
  • Mobiliser l’ensemble des acquis de la formation.
  • Construire un traitement ML distribué complet.
  • Présenter et justifier les choix techniques réalisés.
  • Cadrage du problème ML.
  • Préparation des données.
  • Construction du pipeline.
  • Entraînement du modèle.
  • Évaluation.
  • Optimisation.
  • Sauvegarde et réutilisation.
  • Restitution des résultats.
  • charger un dataset
  • analyser sa structure
  • préparer les données
  • construire un pipeline Spark ML
  • entraîner un modèle distribué
  • évaluer les résultats
  • optimiser certains traitements
  • sauvegarder le modèle
  • présenter les choix réalisés

Prérequis

  • Connaissances en Python/Scala, Spark et ML

Public visé

  • Data engineers
  • Data scientists

Modalités de la formation

  • 📍 Format : présentiel, distanciel
  • 📊 Niveau d'entrée : Avancé
  • 👥 Effectif : 4 à 12 stagiaires (groupe restreint)
  • 🎯 Pédagogie : Apports théoriques, exercices pratiques, études de cas, projet fil rouge
  • ♿ Accessibilité : Formations accessibles aux personnes en situation de handicap. Contactez notre référent handicap.
🏆
Passage de la certification obligatoire

Cette formation se conclut par le passage d'une certification officielle, indispensable à la validation de votre parcours.