Intelligence artificielle (IA)
💰 CPF éligible
Machine Learning distribué avec Spark ML
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.