- ACN_ATLAS
- Cours pratique
- Informatique
Formation Machine Learning distribué avec Spark ML
Développer, optimiser et déployer des modèles de machine learning distribués avec Apache Spark

- Durée
- 3 jours
- Niveau
- Fondamental
- Modalités
- Présentiel / Distanciel
Description de la formation Spark ML
L'entraînement de modèles de machine learning sur de grands volumes de données se heurte rapidement aux limites d'une machine unique. Spark ML, la bibliothèque de machine learning d'Apache Spark, répond à cet enjeu en distribuant les traitements sur l'ensemble d'un cluster, du prétraitement des données jusqu'à l'entraînement et l'évaluation des modèles.
Articulée autour de l'API DataFrame et du concept de pipeline, Spark ML offre une approche cohérente et industrialisable : transformation des données, construction de features, entraînement d'algorithmes supervisés et non supervisés, réglage des hyperparamètres et déploiement, le tout à l'échelle. Cette unification facilite le passage du prototype à la production.
Cette formation rend les participants capables de développer, optimiser, évaluer et déployer des modèles de machine learning distribués avec Spark ML. L'approche par la pratique, structurée autour d'ateliers progressifs sur un cluster fil rouge, permet de construire dès le premier jour des pipelines de préparation de données, puis d'aborder en confiance la modélisation distribuée, l'optimisation des performances de calcul et l'industrialisation des modèles.

Objectifs pédagogiques
À l'issue de cette formation Machine Learning distribué avec Spark ML, vous aurez acquis les connaissances nécessaires pour :
- Développer des modèles ML distribués
- Optimisier les performances de calcul
- Préparer et transformer des données pour le ML
- Evaluer et déployer les modèles
Objectifs opérationnels
Savoir développer et déployer des modèles Machine Learning distribués.
Programme
Contenu du cours, module par module
11 modules
- Rappels sur l'architecture distribuée de Spark (driver, executors, partitions)
- MLlib (API RDD) et Spark ML (API DataFrame) : différences et orientation actuelle
- Pourquoi distribuer le machine learning : enjeux de volume et de scalabilité
- Panorama des algorithmes et outils disponibles dans Spark ML
- Transformers, Estimators et Pipelines : les concepts clés
- Représentation des données : Vector, features, label
- Le DataFrame comme structure centrale du ML distribué
- Cycle de vie d'un pipeline ML
Travaux pratiques
Descriptif : Mise en place de l'environnement de travail sur le cluster, chargement d'un jeu de données dans un DataFrame, et exécution d'un pipeline minimal combinant un transformer et un estimator pour se familiariser avec l'API.
- Nettoyage et gestion des valeurs manquantes à l'échelle
- Encodage des variables catégorielles (StringIndexer, OneHotEncoder)
- Assemblage et normalisation des features (VectorAssembler, StandardScaler)
- Extraction de features textuelles (Tokenizer, TF-IDF, Word2Vec)
- Sélection de features et réduction de dimension (PCA)
Travaux pratiques
Descriptif : Construction d'une chaîne de préparation sur un jeu de données réel : traitement des valeurs manquantes, encodage des variables catégorielles, assemblage et normalisation des features, et production d'un DataFrame prêt pour l'entraînement.
- Chaîner les étapes de préparation et de modélisation dans un Pipeline
- Réutilisabilité et reproductibilité des pipelines
- Sauvegarde et rechargement d'un pipeline
Travaux pratiques
Descriptif : Encapsulation des étapes de préparation dans un Pipeline Spark ML, sauvegarde du pipeline sur disque, puis rechargement et application sur un nouveau jeu de données pour valider la reproductibilité.
- Régression linéaire et régression logistique
- Arbres de décision, forêts aléatoires et Gradient Boosted Trees
- Machines à vecteurs de support (SVM linéaire)
- Spécificités de l'entraînement distribué de ces algorithmes
Travaux pratiques
Descriptif : Entraînement d'un modèle de classification (forêt aléatoire) et d'un modèle de régression sur un jeu de données volumineux, à partir du pipeline de préparation construit la veille, et première lecture des résultats.
- Clustering avec K-Means et Bisecting K-Means
- Modèles de mélange gaussien (GMM)
- Règles d'association (FP-Growth)
- Cas d'usage du non supervisé à grande échelle
Travaux pratiques
Descriptif : Application d'un K-Means distribué sur un jeu de données non étiqueté, choix du nombre de clusters, interprétation des groupes obtenus et visualisation synthétique des résultats.
- Séparation entraînement / test et fuite de données
- Validation croisée (CrossValidator) et TrainValidationSplit
- Grille d'hyperparamètres (ParamGridBuilder)
- Sélection du meilleur modèle et risque de surapprentissage
Travaux pratiques
Descriptif : Mise en place d'une validation croisée avec une grille d'hyperparamètres sur le modèle de classification, sélection automatique du meilleur jeu de paramètres et comparaison des performances avant et après optimisation.
- Partitionnement et parallélisme des traitements ML
- Mise en cache et persistance des DataFrames intermédiaires
- Gestion de la mémoire et dimensionnement des executors
- Réduction du shuffle et des recalculs dans un pipeline
- Lecture de la Spark UI pour diagnostiquer un entraînement lent
Travaux pratiques
Descriptif : Analyse d'un entraînement coûteux via la Spark UI, mise en cache des DataFrames réutilisés, ajustement du partitionnement et des ressources des executors, et mesure du gain de temps obtenu.
- Métriques de classification (accuracy, précision, rappel, F1, AUC)
- Métriques de régression (RMSE, MAE, R²)
- Évaluateurs Spark ML (BinaryClassificationEvaluator, RegressionEvaluator)
- Matrice de confusion et interprétation des résultats
Travaux pratiques
Descriptif : Calcul des métriques d'évaluation adaptées sur le jeu de test, construction et lecture d'une matrice de confusion, et comparaison argumentée de plusieurs modèles pour sélectionner le plus pertinent.
- Sauvegarde et versionnement d'un modèle entraîné
- Inférence par lots (batch) sur de nouveaux jeux de données
- Inférence en flux avec Structured Streaming
- Intégration d'un modèle dans un pipeline de production
- Introduction au suivi des modèles et bonnes pratiques MLOps
Travaux pratiques
Descriptif : Sauvegarde du meilleur modèle, rechargement dans un nouveau contexte, mise en œuvre d'une inférence par lots sur un jeu de données inédit, puis mise en place d'une inférence en flux avec Structured Streaming.
Programme mis à jour le 22/05/2026
Public concerné
Ce cours s'adresse aux data engineers et aux data scientists amenés à concevoir et industrialiser des modèles de machine learning sur de grands volumes de données.
Il intéressera également les développeurs et les analystes de données souhaitant monter en compétence sur le machine learning distribué et le passage à l'échelle de leur traitements.

Prérequis
Des connaissances en Python ou Scala, en Apache Spark et en machine learning sont nécessaires pour suivre cette formation. Une familiarité avec la manipulation des DataFrames Spark et avec les concepts fondamentaux du machine learning (apprentissage supervisé, jeu d'entrainement et de test, surapprentissage) facilitera le suivi des ateliers.
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
Formations liées
- Machine Learning et Data Science : déployer, monitorer et gérer des modèles en productionRéf. MLDS3 joursIntermédiaire
- AutoML avec H2O.aiRéf. AAHO2 joursFondamentalProchaine session : 15 oct.1 590 €
- Deep Learning avec PyTorchRéf. DLPT3 joursFondamentalProchaine session : 19 oct.2 090 €
- TensorFlow : Analyse d'images avec TensorFlowRéf. AITF3 joursIntermédiaire