Développement logiciel
Deep learning avec Python et PyTorch
Pour les ingénieurs qui entraînent des réseaux de neurones plutôt que d'appeler une API hébergée. Le programme couvre tenseurs et autograd, architectures nn.Module, boucle d'entraînement et signatures d'échec, régularisation et optimisation, transfer learning vision et texte, précision mixte et export vers un runtime de service.
Aperçu
Un apprentissage pratique pour le transfert en situation de travail.
Les projets de deep learning s'enlisent presque toujours au même endroit : la perte devient NaN, la courbe de validation s'écarte de l'entraînement dès la deuxième époque, le GPU reste inactif pendant que le chargeur de données le prive, ou un modèle performant en notebook s'avère inexportable. Ce sont des problèmes d'ingénierie aux signatures connues, et cette formation apprend à les lire. Partant du graphe de calcul et de ce qu'autograd enregistre, elle traite l'initialisation des poids, les plannings de taux d'apprentissage, la normalisation, le dropout, le clipping de gradient et le profilage qui révèle si le goulot est le calcul, la mémoire ou le pipeline d'entrée.
Prérequis
Solides compétences Python, expérience préalable en apprentissage supervisé et aisance avec la notation d'algèbre linéaire.
Objectifs
- Manipuler les tenseurs et raisonner sur autograd, les gradients et le graphe de calcul.
- Implémenter des architectures personnalisées avec nn.Module, pertes et optimiseurs.
- Écrire des Dataset et DataLoader efficaces qui maintiennent l'accélérateur occupé.
- Diagnostiquer perte divergente, surapprentissage et entraînements bloqués par leurs signatures.
- Affiner des modèles vision et langage pré-entraînés sur un jeu annoté limité.
- Exporter un modèle entraîné vers TorchScript ou ONNX et mesurer la latence d'inférence.
Public cible
- Ingénieurs ML faisant passer un modèle du prototype au service
- Data scientists expérimentés en scikit-learn abordant les réseaux de neurones
- Ingénieurs vision travaillant sur inspection, sécurité ou imagerie
- Praticiens NLP affinant des modèles transformer sur du texte métier
- Ingénieurs R&D et simulation remplaçant des modèles coûteux par des substituts appris
- Ingénieurs plateforme responsables des charges GPU et du coût d'inférence
Programme
Une structure claire pour le parcours d'apprentissage.
Programme
Les points du programme sont regroupés dans un seul bloc au lieu de créer un module par ligne.
Module 1 : Tenseurs, autograd et graphe de calcul
Création de tenseurs, dtype, placement device, broadcasting et opérations in-place
requires_grad, backward et ce que le graphe conserve entre itérations
torch.no_grad, detach et les fuites mémoire dues aux références au graphe
Vérification manuelle des gradients d'une opération personnalisée avant entraînement
Module 2 : Construire des modèles avec nn.Module
Couches, paramètres, buffers et contrat de la méthode forward
Blocs denses, convolutifs, récurrents et attention et leurs domaines d'application
Schémas d'initialisation des poids et leur effet sur la stabilité initiale
Choisir une fonction de perte cohérente avec la tâche et l'encodage des étiquettes
Module 3 : Chargement des données et boucle d'entraînement
Classes Dataset personnalisées, transformations et pipelines d'augmentation
Workers DataLoader, pin_memory, préchargement et diagnostic de famine d'entrée
La boucle canonique : zero_grad, forward, loss, backward, step et évaluation
Checkpointing, reprise, graines aléatoires et reproductibilité d'un run
Module 4 : Optimisation, régularisation et débogage
SGD avec momentum, Adam et AdamW comparés sur leur convergence
Recherche de taux d'apprentissage, warmup, plannings cosinus et par paliers
Dropout, weight decay, normalisation batch et layer, et arrêt précoce
Interpréter perte NaN, gradients qui s'évanouissent ou explosent, et clipping
Module 5 : Transfer learning en vision et en texte
Gel, dégel partiel et taux d'apprentissage différenciés par couche
Affiner des backbones torchvision pour classification, détection et segmentation
Adapter des modèles transformer Hugging Face au texte métier et aux corpus arabes
Affinage économe en paramètres avec LoRA et couches adaptateur
Module 6 : Performance, export et mise en service
Précision mixte avec autocast et GradScaler, et accumulation de gradients
Profilage avec torch.profiler pour distinguer calcul, mémoire et E/S
Entraînement multi-GPU avec DistributedDataParallel et ses pièges
Export TorchScript et ONNX, quantisation et mesure de latence
Supports fournis
- Manuel de formation, exemples de code commentés et notes de référence
- Environnement de laboratoire et dépôts de démarrage
- Exercices, check-lists et modèles de code réutilisables
- Certificat de participation 4D
- Accompagnement technique après la formation
Options de formation
Les programmes peuvent être organisés en entreprise, en ligne ou dans un format hybride selon le calendrier, la localisation et les objectifs de vos équipes. Lorsqu'un certificat ou un examen externe est inclus, les règles et frais de certification restent soumis aux politiques de l'organisme certificateur, tandis que 4D assure la formation et l'accompagnement à la préparation.
Pourquoi choisir 4D
4D calibre cette formation sur le matériel dont vous disposez réellement. Les formateurs mesurent dès le premier jour votre GPU ou votre instance cloud, dimensionnent l'architecture et la stratégie de batch en conséquence, et travaillent sur vos propres images, traces de capteurs ou textes arabes et anglais plutôt que sur un jeu public. La séance finale produit un modèle exporté avec latence mesurée et procédure de réentraînement documentée.
Formations liées
Fondamentaux de la programmation Python
Une introduction pratique à Python pour les ingénieurs et analystes qui ont besoin de code opérationnel plutôt que d'extraits de tutoriel. Les participants acquièrent de l'aisance avec les types, les collections, les fonctions, les fichiers et la gestion des erreurs, puis construisent un programme complet.
View coursePython intermédiaire et pratiques de code propre
Conçue pour les développeurs dont le code Python fonctionne mais résiste au changement. Le programme couvre dataclasses, générateurs, décorateurs, gestionnaires de contexte et annotations de types, puis applique les refactorings qui transforment un module interminable en unités testées contrôlées par black, ruff et mypy.
View courseAutomatisation et scripting Python pour les tâches métier
Destinée aux équipes qui perdent chaque semaine des heures en manipulations de fichiers, de tableurs et de rapports. Les participants automatisent ces tâches avec Python : traitement de fichiers en lot, Excel et CSV, appels d'API REST, alertes par e-mail et tâches planifiées qui signalent clairement toute défaillance.
View course