- 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
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
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.)
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
Aucun commentaire pour le moment.