8 points par GN⁺ 2026-01-05 | 1 commentaires | Partager sur WhatsApp
  • Cours animé directement par Andrej Karpathy, qui propose d’apprendre en implémentant des réseaux de neurones depuis zéro en code
  • Démarre par les bases de la rétropropagation (backpropagation) puis construit progressivement des modèles modernes de deep learning au niveau de GPT
  • L’apprentissage est centré sur les modèles de langage (language model), avec une mise en pratique de technologies clés comme PyTorch, torch.Tensor, BatchNorm, WaveNet et le tokenizer GPT
  • Chaque leçon est structurée autour du processus réel de développement, avec entraînement du modèle, calcul de la perte, réglage des hyperparamètres et diagnostic du surapprentissage
  • Un curriculum très pratique pour comprendre de manière structurée le fonctionnement interne du deep learning et l’intuition de l’optimisation

Aperçu du cours

  • Ce cours est conçu comme un apprentissage par implémentation directe de réseaux de neurones en code
    • Il nécessite des bases en mathématiques (dérivation, gaussienne) ainsi qu’en programmation Python
    • Un canal Discord est mis à disposition pour les échanges entre apprenants
  • L’apprentissage est centré sur les modèles de langage, ce qui permet aussi de transférer utilement ces connaissances à d’autres domaines, par exemple la vision par ordinateur

Structure du cours (Syllabus)

1. Intro to Neural Networks and Backpropagation (2h25m)

  • Implémentation directe de micrograd pour expliquer étape par étape la rétropropagation et le processus d’apprentissage des réseaux de neurones
    • Accessible avec des bases en Python et un niveau lycée en calcul différentiel
Publicité

2. Intro to Language Modeling: Building makemore (1h57m)

  • Implémentation d’un modèle de langage bigramme au niveau des caractères
    • Présente l’usage de torch.Tensor et des méthodes efficaces de calcul pour les réseaux de neurones
    • Inclut l’entraînement du modèle, l’échantillonnage et l’évaluation de la perte (log-vraisemblance négative)

3. Building makemore Part 2: MLP (1h15m)

  • Implémentation d’un modèle de langage au niveau des caractères basé sur un perceptron multicouche (MLP)
    • Couvre aussi des notions fondamentales de machine learning comme l’ajustement du taux d’apprentissage, les hyperparamètres, la séparation des données (train/dev/test) et le surapprentissage/sous-apprentissage

4. Building makemore Part 3: Activations & Gradients, BatchNorm (1h55m)

  • Analyse du fonctionnement interne d’un MLP multicouche en examinant les propriétés statistiques des activations et des gradients
    • Introduction de la Batch Normalization pour améliorer la stabilité de l’entraînement
    • Les residual connections et l’optimiseur Adam seront abordés dans une vidéo ultérieure
    Publicité

5. Building makemore Part 4: Becoming a Backprop Ninja (1h55m)

  • Réalisation de la rétropropagation manuelle sans PyTorch autograd
    • Rétropropagation directe de la perte d’entropie croisée, tanh, BatchNorm et de la table d’embedding
    • Renforce l’intuition sur le flux des gradients et l’optimisation au niveau des tenseurs

6. Building makemore Part 5: Building a WaveNet (56m)

  • Extension du MLP à 2 couches précédent pour implémenter une architecture CNN hiérarchique proche de WaveNet (2016)
    • Mise en pratique du fonctionnement interne de torch.nn et du workflow de développement en deep learning (exploration de la documentation, gestion des dimensions des tenseurs, intégration du code, etc.)
Publicité

7. Let's Build GPT: From Scratch, in Code (1h56m)

  • Implémentation directe d’un modèle GPT, en suivant l’article “Attention is All You Need” ainsi que l’architecture de OpenAI GPT-2/3
    • Mention des liens avec ChatGPT et GitHub Copilot
    • Le cours part du principe que les notions de modélisation de langage autorégressive et les bases de PyTorch nn vues dans les leçons précédentes sur makemore sont acquises

8. Let's Build the GPT Tokenizer (2h13m)

  • Implémentation depuis zéro du tokenizer utilisé dans la série GPT
    • Inclut le processus d’apprentissage basé sur Byte Pair Encoding (BPE)
    • Implémentation directe des fonctions de conversion chaîne↔tokens (encode/decode)
    • Analyse, à travers des exemples, du fait qu’une partie des comportements anormaux des LLM provient de l’étape de tokenization
    • Inclut aussi une discussion sur la possibilité de supprimer le tokenizer

État d’avancement

  • Le cours est en cours (ongoing) et de nouvelles vidéos continueront d’être mises en ligne

1 commentaires

 
GN⁺ 2026-01-05
Réactions sur Hacker News
  • J’ai regardé toute cette série de vidéos au début de l’année
    J’avais déjà consulté pas mal de ressources sur le deep learning, comme des livres, des cours Coursera, des cours à l’université ou encore le cursus fast.ai, mais je les ai très peu utilisés en pratique au travail
    Pourtant, cette série est de loin le contenu qui m’a le plus aidé à développer une intuition solide. Il y a très peu de superflu et ce n’est jamais ennuyeux
    Maintenant, si quelqu’un me demande par où commencer pour comprendre les principes de bas niveau des DNN, c’est ce que je recommande en premier
    • La manière d’expliquer de Karpathy est très intuitive, mais elle est parfois trop simplifiée
      Pour quelqu’un venant d’un domaine voisin, le rythme peut sembler un peu lent, mais ça reste toujours intéressant
  • J’aime beaucoup Karpathy. Il vient de la même lignée de recherche que moi, donc ses réussites me rendent fier
    Je travaille sur la modélisation de données spatio-temporelles pour construire un modèle prédictif des systèmes de transport urbain. Je monte aussi moi-même l’infrastructure ML, et je prépare une application pour la déployer sur de vrais flux d’événements de transport
    J’ai suivi des formations en ligne sur Deeplearning.ai et skills.google : la première m’a paru un peu datée, tandis que la seconde couvre bien les aspects pratiques comme l’optimisation GPU·TPU
    Mais ce qui a vraiment fait de moi quelqu’un d’opérationnel, c’est Deep Learning with Python de Francois Chollet, le créateur de Keras. Le livre explique clairement les concepts en les replaçant dans les 70 ans d’histoire du deep learning, et va jusqu’à proposer des recettes pour implémenter soi-même des GPT ou des modèles de diffusion
    La leçon essentielle, c’est que « le deep learning relève plus de l’art que de la science ». Il faut énormément de pratique, et on ne peut pas tout expliquer parfaitement
    Il contient aussi des notebooks d’exemple pour TensorFlow, PyTorch et Jax. Grâce à ça, j’ai maintenant suffisamment confiance pour reproduire les résumés d’articles et déployer des modèles en production
    • Le projet sur lequel tu travailles a l’air passionnant. Je me demande comment le ML/l’IA dans les transports publics est utilisé, et quels avantages cela apporte par rapport aux modèles à base d’agents
  • Je ne suis pas spécialiste de l’IA, et j’ai oublié presque tout de mon cours d’introduction suivi à l’université il y a 20 ans
    Si je vais au bout de ce contenu, à quel niveau puis-je espérer arriver ?
    Est-ce que ce sera suffisant pour construire quelque chose moi-même ou participer à une discussion ? Ou bien est-ce seulement utile pour comprendre les concepts ?
    Je me demande aussi quelles sont les limites et les différences par rapport au niveau des chercheurs
    • Ça me semble être une drôle de question. Si tu ne sais pas pourquoi tu en aurais besoin, c’est probablement que tu n’en as pas besoin. Il y a de fortes chances que ça finisse comme ton cours d’intro d’il y a 20 ans
  • La comparaison est difficile, mais une autre option possible est le portail de formation de Hugging Face
    Je suis actuellement le Deep RL Course, et jusqu’ici c’est plutôt intuitif. En revanche, je risque de souffrir dès qu’on attaquera les maths
    • Les vidéos de Karpathy étaient très accessibles. J’ai une formation en informatique, mais je n’ai jamais étudié le ML en profondeur, et côté matrices je n’avais manipulé que des 4x4 pour le développement graphique
      Malgré ça, j’ai pu comprendre le fonctionnement de la backprop et le processus d’implémentation de tiny GPT. Les cours de Karpathy sont excellents pour saisir les principes fondamentaux
      En revanche, il y a très peu de pratique avec des bibliothèques, donc le cours que tu mentionnes est peut-être plus adapté à un usage concret
    • J’ai suivi quelques cours de Hugging Face, et je n’ai pas envie de les refaire
      Le système de correction automatique était bien trop rigide : il fallait forcer la formulation juste pour faire accepter la réponse. C’était peu efficace pour apprendre et une perte de temps
      À l’inverse, les vidéos de Karpathy étaient de véritables pépites
  • Ce sont de bonnes ressources, mais dans la réalité, 99,99 % des gens se contenteront d’utiliser des foundation models comme ChatGPT, Claude ou Gemini
    Donc cet apprentissage ne se traduira pas forcément en compétences directement utiles en pratique
    À la place, je recommande une autre vidéo de Karpathy : Deep Dive into LLMs like ChatGPT
  • Il y a quelques années, j’ai écrit un tutoriel pour implémenter un réseau de neurones from scratch avec NumPy
    Neural Network from Scratch in Python (NumPy)
  • Un peu d’autopromo, mais j’ai écrit deux billets après avoir suivi ce cours
    No local GPU? No problem – running Karpathy’s NanoGPT on Modal.com
    Modal.com and NanoGPT continued – producing output using Tiktoken for bigger tokens
  • Même la première vidéo est difficile à comprendre. Est-ce qu’il existe une sorte de liste de prérequis indispensables ?
    • Si tu veux approfondir les bases mathématiques, les vidéos de 3Blue1Brown sont très bien
      Si les mécanismes fondamentaux des réseaux de neurones te paraissent difficiles, je te conseille de survoler une première fois puis d’y revenir plus tard. La deuxième fois, on comprend beaucoup mieux
    • C’est un peu étrange que Karpathy ait choisi ça comme première vidéo
      La vidéo explique le principe de l’autograd, c’est-à-dire la façon dont PyTorch calcule automatiquement les dérivées en interne
      À l’époque, dans TensorFlow ou Torch, il fallait définir à la main la fonction de dérivation de chaque couche, alors qu’avec PyTorch, le code Python exécuté est enregistré pendant l’exécution pour construire automatiquement le graphe et calculer les dérivées
      Comprendre cela permet de voir comment PyTorch fonctionne en interne
      Mais la plupart des utilisateurs peuvent très bien utiliser des modèles sans connaître ces détails internes
      Si tu es complètement débutant, je te recommande le cours Coursera Introduction to ML d’Andrew Ng. Je ne connais pas la version la plus récente, mais c’est un excellent pédagogue
  • Est-ce que quelqu’un a suivi à la fois cs231n et ce cours ?
    cs231n était l’un des meilleurs cours que j’aie suivis, et comme celui-ci semble recouvrir beaucoup des mêmes sujets, je l’ai repoussé jusqu’ici. J’imagine que la partie transformer a été ajoutée
  • Je recommande aussi fortement ce cours
    Il permet de comprendre intuitivement pourquoi la descente de gradient et la normalisation fonctionnent, et il aborde en profondeur la dynamique de l’apprentissage
    Il aide à développer une bonne intuition pour juger si un modèle est réellement en train d’apprendre correctement