Formation Full-Stack Machine Learning

Notée : (10)

Industrialisez vos projets Machine Learning, rendez vos modèles plus performants et automatisez leur déploiement en production

Prix (Formation inter-entreprise)

2700€ HT / personne

Durée

3 jours

Dates

Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)

Apprenez à industrialiser vos processus de développement et de déploiement de modèles prédictifs, grâce aux "best practices" et aux techniques les plus modernes de Machine Learning.

Au travers de cette formation Full-Stack Machine Learning, vous mettrez en pratique la théorie sur divers types de problèmes — y compris sur de gros volumes de données (plusieurs giga-octets) — au travers de challenges Kaggle.
Vous mettrez également en application les concepts de MLOps (DevOps pour le Machine Learning) dans le cadre d'un projet "end-to-end". Pour cela, vous utiliserez les librairies Python scikit-learn, XGBoost, Hyperopt, SHAP, DVC, MLflow, en local et sur une plateforme cloud offrant des ressources de calcul plus puissantes.

À la fin des 3 jours, vous disposerez de connaissances avancées et pratiques vous permettant :
- de sélectionner les meilleurs algorithmes pour vos problèmes de ML,
- d'implémenter des pipelines de préparation de données adaptées,
- de les optimiser, de déployer en continu de nouvelles versions,
- et de gérer efficacement vos projets de ML.

La formation Full-Stack Machine Learning est principalement destinée aux développeur·se·s et ingénieur·e·s informaticiens expérimenté·e·s en Machine Learning. Elle sera également d’intérêt aux statisticien·ne·s et data scientists souhaitant approfondir et mettre en pratique leurs connaissances en développement et déploiement de modèles de Machine Learning.

Si vous êtes débutant·e, consultez notre formation Machine Learning avec Python.

Covid-19 : Nous nous adaptons dans ces moments difficiles. Nous avons mis en place des outils permettant l'organisation de formations à distance.

Les objectifs

  • Savoir choisir les meilleurs algorithmes d’apprentissage, en allant des techniques classiques (régression linéaire et logistique) jusqu'aux techniques modernes (boosting), en fonction du problème à résoudre et des contraintes techniques
  • Mettre en place des pipelines de featurisation, préparation de données et modélisation
  • Optimiser ses pipelines grâce aux techniques intelligentes du choix d’hyper-paramètres (“AutoML”)
  • Utiliser le cloud compute pour expérimenter avec différentes techniques de modélisation et d'optimisation de pipelines à plus grande échelle
  • Créer des modèles prédictifs à partir de gros volumes de données qui ne tiennent pas en mémoire
  • Interpréter les prédictions et le comportement de n'importe quel modèle (localement et globalement), à fins de débogage et validation
  • Industrialiser le processus de développement de modèles prédictifs, en assurant leur reproductibilité, le suivi de version, le suivi des résultats, et en mettant en place des tests automatisés
  • Implémenter un processus de déploiement et d'intégration continus des modèles prédictifs

Pré-requis

  • Ordinateur portable à apporter
  • Développement :
    • Expérience de Python et scikit-learn
    • Expérience avec le terminal et la ligne de commande
  • Machine Learning
    • Connaître certains algorithmes d'apprentissage supervisé de base (voir les sections "rappel" dans le programme du Jour 1, ci-dessous)
    • Avoir une première expérience dans la création de modèles prédictifs et leur évaluation
    • Remarque: consultez notre formation Machine Learning avec Python pour gagner en compétence sur ces sujets
  • Pré-requis optionnels:
    • Une connaissance préalable de Git et de Docker peut être appéciable pour la partie "MLOps" de la formation
    • Une connaissance du Deep Learning peut être appréciable pour aller plus loin dans certaines discussions (consultez notre formation Deep Learning avec TensorFlow pour gagner en compétence sur ce sujet)
    • Des connaissances basiques d’algèbre, de statistiques, et de calcul scientifique (niveau Bac) peuvent être appréciables pour une meilleure compréhension de certaines parties théoriques.

Le programme de la formation Full-Stack Machine Learning

Jour 1 : comparatif pratique des algorithmes d'apprentissage principaux et méthodologie d'utilisation

Rappels et/ou explications des principaux algorithmes de ML supervisé : ce contenu sera adapté en séance en fonction des connaissances des participants et de leurs attentes. En cas de groupe hétérogène, des mises en pratique ciblées seront proposées aux participants les plus avancés sous forme d'exercices et de challenges de ML.

Rappel méthodologie et écueils à éviter
  • Méthodologie projet : workflow complet et best-practices
  • Fuite de données (data leak) : pourquoi et comment l'éviter?
  • Surapprentissage (overfitting) : pourquoi et comment l'éviter?
Comparatif et rappel des algorithmes d'apprentissage supervisé: intuitions, caractéristiques, hyper-paramètres
  • Algorithmes paramétriques
    • Régression linéaire et polynomiale
    • Equation normale vs descente de gradient (stochastique, mini-batch)
    • Régression logistique
    • Régularisation : L1 (Lasso), L2 (Ridge), ElasticNet
    • Réseaux de neurones
  • Algorithmes non-paramétriques
    • Machines à vecteur de support (SVM)
    • Méthodes de fonctions noyau (kernel methods)
    • k-plus proches voisins (kNN)
    • Ensembles d'arbres de décision
    • Forêts aléatoires (random forests)
    • Boosting
  • Set-up de l'environnement de développement et mise en pratique avec scikit-learn, XGBoost, Catboost et LightGBM sur datasets divers (taille, type de features)
  • Avantages et inconvénients pratiques : comment choisir le bon algorithme d’apprentissage, en fonction du problème
Apprentissage sur gros volumes de données
  • Mise à jour de modèles en flux continu (online learning) et apprentissage hors-mémoire (out-of-core learning)
  • Mise en pratique avec scikit-learn sur un jeu de données qui ne tient pas en mémoire vive, avec features catégorielles
  • Considérations supplémentaires : hashing trick, dilemme exploration/exploitation

Jour 2 : amélioration de vos pipelines de préparation et modélisation de données

Préparation des données
  • Remplacement de valeurs manquantes ou erronées
  • Encodage des features catégorielles
  • Normalisation et autres transformations des inputs / outputs
  • Importance et fonctionnement des pipelines de préparation et modélisation
  • Mise en pratique avec scikit-learn sur challenge Kaggle
Techniques avancées de feature engineering : comment créer des « magic features » en fonction du modèle utilisé
  • Pourquoi et comment créer des pipelines différents pour chaque type de modèle
  • Création de features avancées à partir de données numériques, catégorielles, texte, image, audio, de coordonnées géographiques, de dates et de séries temporelles
  • Pourquoi utiliser le target encoding et comment le valider
  • Techniques de sélection de features
  • Mise en pratique avec scikit-learn sur challenge ML
Stratégies d’amélioration des modèles / pipelines
  • Principe des techniques avancées d’optimisation intelligente des hyper-paramètres
  • Mise en pratique avec la librairie Hyperopt
  • Architectures de stacking de modèles différents : conception, mise en oeuvre et validation
  • Analyse manuelle des erreurs pour améliorer son modèle / sa pipeline
  • Explicabilité des modèles et prédictions : principe général et utilisation dans une analyse d’erreurs
  • Mise en pratique avec les librairies LIME et SHAP

Jour 3 : MLOps — DevOps appliqué au ML

Pour cette dernière journée, nous mettrons en application les concepts appris sur un projet "end-to-end" de ML.

Architecture d'un système complet de ML
  • Les 9 composants d'un système de ML : orchestrator, featurizer, model builder, evaluator, server, front-end, data labeler, ground-truth collector, monitor
  • Les 4 pipelines au sein d'un système de ML : featurisation (données brutes => données featurisées), apprentissage (données brutes => modèle), prédiction (input featurisée => prédiction), front-end (input brute => prédiction post-traitée ou décision)
Industrialisez votre processus de développement de modèles
  • Utilisation avancée de Jupyter (notebooks et Lab) : "magics", extensions, refactoring et tests automatisés de vos notebooks
  • Transformer des notebooks en scripts prêts à être utiliser en production
  • Expérimenter à grande échelle grâce aux infrastructures cloud
  • Mise en pratique avec le CLI de Gradient
Gestion de vos projets de ML : suivi de version, suivi des expérimentations, et reproductibilité

Les projets de ML demandent le suivi de version de vos transformations de datasets (scripts de séparation, nettoyage, préparation et modélisation des données), des (hyper-)paramètres utilisés et des résultats obtenus.

  • Utilisation de Git pour le suivi de version de votre code et la collaboration
  • Utilisation de l'outil open source DVC (Data Version Control) pour le suivi des changements de vos datasets (bruts et intermédiaires) et des modèles qui en résultent
  • Gestion et configuration de vos environnements Python avec l'outil open source Conda
  • Reproductibilité de vos expérimentations et pipelines complètes de ML (de datasets bruts aux modèles entraînés)
  • Suivi de vos expérimentations et résultats avec l'outil open source MLflow (code, paramètres, jeux de données, logs d'apprentissage, valeurs de performance)
Déploiement continu de vos modèles
  • Lancement automatique de pipelines complètes suite aux changements du code ou des données à travers le temps
  • Packaging de vos modèles pour leur déploiement en production
  • Utilisation de MLflow Serve pour servir les prédictions de vos modèles
Conclusions
  • Récapitulatif des points clé de la formation
  • Ressources pour aller plus loin et suggestions personnalisées

Télécharger le programme

1 témoignage

Très bonne formation, avec des aspects très pratiques. Super Formateur (Christophe) très à l'écoute et qui a à coeur de transmettre son experience.

Mathieu DUPAS
Innovation Partagée

Besoin d'aide ?

Vous souhaitez discuter avec nous à propos de votre projet de formation ?
Vous voulez plus d'information sur une formation ou notre fonctionnement ?


Rappel Email

Nos forces

  • Des formations à taille humaine
  • Des formateurs passionnés
  • Des véritables workshop
Accéder au Manifeste

Nos clients

Voyage SNCF
Intel
Alcatel
La Poste
Boursorama
Axa

Nos formations en images

CasperJS
Angular
Machine Learning
Machine Learning

Formation Full-Stack Machine Learning

Notée : (10)

Industrialisez vos projets Machine Learning, rendez vos modèles plus performants et automatisez leur déploiement en production

Apprenez à industrialiser vos processus de développement et de déploiement de modèles prédictifs, grâce aux "best practices" et aux techniques les plus modernes de Machine Learning.

Au travers de cette formation Full-Stack Machine Learning, vous mettrez en pratique la théorie sur divers types de problèmes — y compris sur de gros volumes de données (plusieurs giga-octets) — au travers de challenges Kaggle.
Vous mettrez également en application les concepts de MLOps (DevOps pour le Machine Learning) dans le cadre d'un projet "end-to-end". Pour cela, vous utiliserez les librairies Python scikit-learn, XGBoost, Hyperopt, SHAP, DVC, MLflow, en local et sur une plateforme cloud offrant des ressources de calcul plus puissantes.

À la fin des 3 jours, vous disposerez de connaissances avancées et pratiques vous permettant :
- de sélectionner les meilleurs algorithmes pour vos problèmes de ML,
- d'implémenter des pipelines de préparation de données adaptées,
- de les optimiser, de déployer en continu de nouvelles versions,
- et de gérer efficacement vos projets de ML.

La formation Full-Stack Machine Learning est principalement destinée aux développeur·se·s et ingénieur·e·s informaticiens expérimenté·e·s en Machine Learning. Elle sera également d’intérêt aux statisticien·ne·s et data scientists souhaitant approfondir et mettre en pratique leurs connaissances en développement et déploiement de modèles de Machine Learning.

Si vous êtes débutant·e, consultez notre formation Machine Learning avec Python.

Covid-19: Nous restons ouverts. Nos formations sont disponibles à distance.

Les objectifs

  • Savoir choisir les meilleurs algorithmes d’apprentissage, en allant des techniques classiques (régression linéaire et logistique) jusqu'aux techniques modernes (boosting), en fonction du problème à résoudre et des contraintes techniques
  • Mettre en place des pipelines de featurisation, préparation de données et modélisation
  • Optimiser ses pipelines grâce aux techniques intelligentes du choix d’hyper-paramètres (“AutoML”)
  • Utiliser le cloud compute pour expérimenter avec différentes techniques de modélisation et d'optimisation de pipelines à plus grande échelle
  • Créer des modèles prédictifs à partir de gros volumes de données qui ne tiennent pas en mémoire
  • Interpréter les prédictions et le comportement de n'importe quel modèle (localement et globalement), à fins de débogage et validation
  • Industrialiser le processus de développement de modèles prédictifs, en assurant leur reproductibilité, le suivi de version, le suivi des résultats, et en mettant en place des tests automatisés
  • Implémenter un processus de déploiement et d'intégration continus des modèles prédictifs

Pré-requis

  • Ordinateur portable à apporter
  • Développement :
    • Expérience de Python et scikit-learn
    • Expérience avec le terminal et la ligne de commande
  • Machine Learning
    • Connaître certains algorithmes d'apprentissage supervisé de base (voir les sections "rappel" dans le programme du Jour 1, ci-dessous)
    • Avoir une première expérience dans la création de modèles prédictifs et leur évaluation
    • Remarque: consultez notre formation Machine Learning avec Python pour gagner en compétence sur ces sujets
  • Pré-requis optionnels:
    • Une connaissance préalable de Git et de Docker peut être appéciable pour la partie "MLOps" de la formation
    • Une connaissance du Deep Learning peut être appréciable pour aller plus loin dans certaines discussions (consultez notre formation Deep Learning avec TensorFlow pour gagner en compétence sur ce sujet)
    • Des connaissances basiques d’algèbre, de statistiques, et de calcul scientifique (niveau Bac) peuvent être appréciables pour une meilleure compréhension de certaines parties théoriques.

Le programme de la formation Full-Stack Machine Learning

Jour 1 : comparatif pratique des algorithmes d'apprentissage principaux et méthodologie d'utilisation

Rappels et/ou explications des principaux algorithmes de ML supervisé : ce contenu sera adapté en séance en fonction des connaissances des participants et de leurs attentes. En cas de groupe hétérogène, des mises en pratique ciblées seront proposées aux participants les plus avancés sous forme d'exercices et de challenges de ML.

Rappel méthodologie et écueils à éviter
  • Méthodologie projet : workflow complet et best-practices
  • Fuite de données (data leak) : pourquoi et comment l'éviter?
  • Surapprentissage (overfitting) : pourquoi et comment l'éviter?
Comparatif et rappel des algorithmes d'apprentissage supervisé: intuitions, caractéristiques, hyper-paramètres
  • Algorithmes paramétriques
    • Régression linéaire et polynomiale
    • Equation normale vs descente de gradient (stochastique, mini-batch)
    • Régression logistique
    • Régularisation : L1 (Lasso), L2 (Ridge), ElasticNet
    • Réseaux de neurones
  • Algorithmes non-paramétriques
    • Machines à vecteur de support (SVM)
    • Méthodes de fonctions noyau (kernel methods)
    • k-plus proches voisins (kNN)
    • Ensembles d'arbres de décision
    • Forêts aléatoires (random forests)
    • Boosting
  • Set-up de l'environnement de développement et mise en pratique avec scikit-learn, XGBoost, Catboost et LightGBM sur datasets divers (taille, type de features)
  • Avantages et inconvénients pratiques : comment choisir le bon algorithme d’apprentissage, en fonction du problème
Apprentissage sur gros volumes de données
  • Mise à jour de modèles en flux continu (online learning) et apprentissage hors-mémoire (out-of-core learning)
  • Mise en pratique avec scikit-learn sur un jeu de données qui ne tient pas en mémoire vive, avec features catégorielles
  • Considérations supplémentaires : hashing trick, dilemme exploration/exploitation

Jour 2 : amélioration de vos pipelines de préparation et modélisation de données

Préparation des données
  • Remplacement de valeurs manquantes ou erronées
  • Encodage des features catégorielles
  • Normalisation et autres transformations des inputs / outputs
  • Importance et fonctionnement des pipelines de préparation et modélisation
  • Mise en pratique avec scikit-learn sur challenge Kaggle
Techniques avancées de feature engineering : comment créer des « magic features » en fonction du modèle utilisé
  • Pourquoi et comment créer des pipelines différents pour chaque type de modèle
  • Création de features avancées à partir de données numériques, catégorielles, texte, image, audio, de coordonnées géographiques, de dates et de séries temporelles
  • Pourquoi utiliser le target encoding et comment le valider
  • Techniques de sélection de features
  • Mise en pratique avec scikit-learn sur challenge ML
Stratégies d’amélioration des modèles / pipelines
  • Principe des techniques avancées d’optimisation intelligente des hyper-paramètres
  • Mise en pratique avec la librairie Hyperopt
  • Architectures de stacking de modèles différents : conception, mise en oeuvre et validation
  • Analyse manuelle des erreurs pour améliorer son modèle / sa pipeline
  • Explicabilité des modèles et prédictions : principe général et utilisation dans une analyse d’erreurs
  • Mise en pratique avec les librairies LIME et SHAP

Jour 3 : MLOps — DevOps appliqué au ML

Pour cette dernière journée, nous mettrons en application les concepts appris sur un projet "end-to-end" de ML.

Architecture d'un système complet de ML
  • Les 9 composants d'un système de ML : orchestrator, featurizer, model builder, evaluator, server, front-end, data labeler, ground-truth collector, monitor
  • Les 4 pipelines au sein d'un système de ML : featurisation (données brutes => données featurisées), apprentissage (données brutes => modèle), prédiction (input featurisée => prédiction), front-end (input brute => prédiction post-traitée ou décision)
Industrialisez votre processus de développement de modèles
  • Utilisation avancée de Jupyter (notebooks et Lab) : "magics", extensions, refactoring et tests automatisés de vos notebooks
  • Transformer des notebooks en scripts prêts à être utiliser en production
  • Expérimenter à grande échelle grâce aux infrastructures cloud
  • Mise en pratique avec le CLI de Gradient
Gestion de vos projets de ML : suivi de version, suivi des expérimentations, et reproductibilité

Les projets de ML demandent le suivi de version de vos transformations de datasets (scripts de séparation, nettoyage, préparation et modélisation des données), des (hyper-)paramètres utilisés et des résultats obtenus.

  • Utilisation de Git pour le suivi de version de votre code et la collaboration
  • Utilisation de l'outil open source DVC (Data Version Control) pour le suivi des changements de vos datasets (bruts et intermédiaires) et des modèles qui en résultent
  • Gestion et configuration de vos environnements Python avec l'outil open source Conda
  • Reproductibilité de vos expérimentations et pipelines complètes de ML (de datasets bruts aux modèles entraînés)
  • Suivi de vos expérimentations et résultats avec l'outil open source MLflow (code, paramètres, jeux de données, logs d'apprentissage, valeurs de performance)
Déploiement continu de vos modèles
  • Lancement automatique de pipelines complètes suite aux changements du code ou des données à travers le temps
  • Packaging de vos modèles pour leur déploiement en production
  • Utilisation de MLflow Serve pour servir les prédictions de vos modèles
Conclusions
  • Récapitulatif des points clé de la formation
  • Ressources pour aller plus loin et suggestions personnalisées

Télécharger le programme

Le(s) formateur(s)

Louis Dorard

Louis Dorard

Louis Dorard est l’auteur du livre Bootstrapping Machine Learning, du Machine Learning Canvas, General Chair des conférences internationales PAPIs.io, Adjunct Teaching Fellow à UCL School of Management où il enseigne le module Predictive Analytics, membre de l’Advisory Board de France is AI, et co-organisateur du meetup ML de Bordeaux. Dans le cadre de son activité de consultant indépendant, il accompagne grandes entreprises, PME et startups dans l’intégration du ML dans leurs produits. Par le passé, il a “bootstrappé” plusieurs technologies innovantes en tant que Directeur R&D chez Concept Immo Global. Louis est titulaire d’un PhD en Machine Learning de University College London, domaine dans lequel il travaille depuis plus de 10 ans.

Voir son profil détaillé

Christophe Labrousse

Christophe Labrousse

Christophe est ingénieur en informatique et en mathématiques appliquées. Après avoir été diplômé de l'Ensimag en 2006, il a été consultant, fondateur de startup, responsable de système d'information, développeur freelance, et a notamment développé des applications de finance personnelle et de Business Intelligence. Au travers de ces expériences, il a pu acquérir une forte culture "data" et a toujours recherché la meilleure technologie pour exploiter la valeur des données.

Christophe met en oeuvre des solutions basées sur le machine learning avec Python, scikit-learn, et diverses plateformes cloud. Formateur passionné et pédagogue, il aime enseigner à des profils variés la puissance de ces techniques quand elles sont mises en oeuvre sur les bons jeux de données. Il est également expérimenté en technologies de bases de données SQL, de traitement de données (Pandas), et web (Django, Selenium).

Voir son profil détaillé

Suivi de formation en option

A l'issue de la formation, nos formateurs peuvent aussi intervenir pour vous accompagner dans la mise en application des compétences acquises :

  • en répondant à vos questions lors de rendez-vous téléphoniques réguliers
  • en étant présents physiquement à l'amorce du projet
  • en réalisant un audit de vos pratiques quelques semaines/mois après la formation

Cette idée vous intéresse ? Faîtes-le nous savoir pour que nous trouvions la formule adaptée à votre situation.

1 témoignage

Très bonne formation, avec des aspects très pratiques. Super Formateur (Christophe) très à l'écoute et qui a à coeur de transmettre son experience.

Mathieu DUPAS
Innovation Partagée