Intermédiaire · après le cours Python

Ingénierie de l'IA et calcul accéléré

Bêta Ce cours est en version bêta. Les leçons, les exercices et les traductions sont encore en cours de relecture et peuvent changer. Signalez tout ce qui vous semble faux avec le bouton de retour.

Un cours d'ingénierie, pas une visite guidée des mots à la mode. Vous implémentez vous-même les idées centrales (calcul vectorisé, descente de gradient, réseau de neurones avec rétropropagation, évaluation honnête), avec une vérification automatique dans votre navigateur. Vous passez ensuite à PyTorch et au matériel accéléré sur votre propre ordinateur, en mesurant ce que les GPU changent réellement, et vous terminez en optimisant et en mettant en service un modèle dont les limites sont documentées.

Modules
12
Leçons
29
Durée
~13 heures
Projets
2
Commencer

Ce que tu sauras faire

  • Écrire du code numérique vectorisé avec NumPy, et raisonner sur les formes des tableaux
  • Entraîner des modèles par descente de gradient, et les évaluer sans se leurrer
  • Implémenter un petit réseau de neurones avec rétropropagation, et vérifier ses gradients
  • Utiliser PyTorch sur CPU et sur GPU, et mesurer correctement les performances
  • Rendre un modèle plus rapide et plus léger pour l'inférence, et le servir de façon responsable
  • Raisonner sur les files d'attente, le regroupement par lots, la précision mixte et les profils
  • Lire des kernels CUDA, et raisonner sur leur trafic mémoire et leurs accès concurrents
  • Empaqueter, déployer progressivement et exploiter un service, en gardant à l'œil le coût et la sécurité

Pour qui

Les personnes à l'aise en Python (le cours Python, jusqu'à ses niveaux professionnels, ou l'équivalent) qui veulent construire correctement des systèmes d'apprentissage automatique, et pas seulement appeler une bibliothèque.

Ce qu'il te faut

Python avec les fonctions, les classes et les listes de dictionnaires ; l'algèbre du lycée (fonctions, sommes). L'algèbre linéaire et les probabilités nécessaires sont enseignées ici, en contexte. Les niveaux 1 à 3 et les exercices de mesure s'exécutent dans votre navigateur, sur le CPU. Les niveaux PyTorch et GPU s'exécutent sur votre propre ordinateur : tout portable récent convient sur le CPU ; les exercices GPU exigent un GPU NVIDIA avec CUDA (ou un Mac à puce Apple pour la variante MPS), et le précisent.

Ce que tu vas construire

  • Laboratoire GPU (exige un GPU NVIDIA)
  • Système d'IA de bout en bout

Programme

Fondations : apprendre à partir des donnéesNumPy, descente de gradient, évaluation et réseaux de neurones, implémentés et vérifiés dans votre navigateur. 3 modules · 9 leçons
  1. 1 Penser en tableauxNumPy, formes, vectorisation et l'algèbre linéaire dont l'apprentissage automatique se sert vraiment.
  2. 2 Apprendre à partir des donnéesModèles, fonctions de perte, descente de gradient, et une évaluation qui ne ment pas.
  3. 3 Des réseaux de neurones à partir de zéroUnités logistiques, rétropropagation et vérification des gradients, pour que PyTorch n'ait plus de mystères.
Accélération : PyTorch, GPU et inférenceFrameworks, matériel, mesure, optimisation et mise en service, sur votre propre machine. 2 modules · 6 leçons
  1. 4 PyTorch et les GPULes mêmes idées avec un framework et un accélérateur, exécutées sur votre propre ordinateur et mesurées honnêtement.
  2. 5 Inférence, optimisation et mise en serviceLatence et débit, modèles plus légers, et mise à disposition responsable d'un modèle derrière une API.
Systèmes : servir à grande échelleArchitecture, files d'attente, regroupement par lots, précision mixte et profilage. 2 modules · 4 leçons
  1. 6 Architecture des systèmes d'IAEn ligne ou par lots, contrats d'API, files d'attente et regroupement dynamique.
  2. 7 Précision mixte et profilageMoins de bits, et la recherche du vrai goulot d'étranglement.
Fonctionnement interne des GPU et CUDAMatériel, hiérarchie des threads, mémoire et correction. Les concepts s'exécutent ici ; le vrai CUDA exige un GPU NVIDIA. 2 modules · 5 leçons
  1. 8 Architecture des GPUPourquoi les GPU sont rapides pour certaines tâches, et ce qu'ils ne peuvent pas masquer.
  2. 9 Les bases de CUDAHiérarchie, kernels, mémoire, synchronisation et correction.
ProductionEmpaquetage, déploiement, fiabilité, sécurité, coût et projet de synthèse. 3 modules · 5 leçons
  1. 10 Empaquetage et déploiementConteneurs, artefacts et déploiement progressif.
  2. 11 Fiabilité, sécurité et coûtFaire tourner le service après son lancement.
  3. 12 Projet de synthèse : un système d'IA de bout en boutDonnées, entraînement, évaluation honnête, optimisation et mise en service, chaque affirmation étant mesurée.