Ce cours vous guide dans la création d’un modèle de langage (LLM) pour générer des histoires, en partant des bases jusqu’à une application web fonctionnelle. Vous apprendrez à développer, affiner et illustrer des histoires avec l’IA, en utilisant Python, C et CUDA.
Ce que je ne peux pas créer, je ne comprends pas. -Richard Feynman
Dans ce cours, nous allons construire un modèle de langage IA (LLM) conteur d’histoires. Ensemble, vous pourrez créer, affiner et illustrer de petites histoires avec l’IA. Nous allons tout construire de bout en bout, des bases à une application web fonctionnelle similaire à ChatGPT, en partant de zéro en Python, C et CUDA, avec des prérequis en informatique minimaux. À la fin, vous devriez avoir une compréhension relativement profonde de l’IA, des LLM et du deep learning en général.
Programme
- Chapitre 01 Modèle de langage Bigram (modélisation du langage)
- Chapitre 02 Micrograd (apprentissage automatique, rétropropagation)
- Chapitre 03 Modèle N-gram (perceptron multicouche, matmul, gelu)
- Chapitre 04 Attention (attention, softmax, encodeur positionnel)
- Chapitre 05 Transformer (transformer, résiduel, layernorm, GPT-2)
- Chapitre 06 Tokenization (minBPE, encodage par paires de bytes)
- Chapitre 07 Optimisation (initialisation, optimisation, AdamW)
- Chapitre 08 Need for Speed I : Device (appareil, CPU, GPU, …)
- Chapitre 09 Need for Speed II : Precision (entraînement en précision mixte, fp16, bf16, fp8, …)
- Chapitre 10 Need for Speed III : Distributed (optimisation distribuée, DDP, ZeRO)
- Chapitre 11 Jeux de données (jeux de données, chargement de données, génération de données synthétiques)
- Chapitre 12 Inference I : kv-cache (kv-cache)
- Chapitre 13 Inference II : Quantization (quantization)
- Chapitre 14 Finetuning I : SFT (finetuning supervisé SFT, PEFT, LoRA, chat)
- Chapitre 15 Finetuning II : RL (apprentissage par renforcement, RLHF, PPO, DPO)
- Chapitre 16 Déploiement (API, application web)
- Chapitre 17 Multimodal (VQVAE, transformer de diffusion)
Annexe
Autres sujets à intégrer dans la progression ci-dessus :
- Langages de programmation : Assembly, C, Python
- Types de données : Integer, Float, String (ASCII, Unicode, UTF-8)
- Tensor : formes, vues, strides, contiguous, …
- Frameworks de deep learning : PyTorch, JAX
- Architecture des réseaux neuronaux : GPT (1,2,3,4), Llama (RoPE, RMSNorm, GQA), MoE, …
- Multimodal : Images, Audio, Vidéo, VQVAE, VQGAN, diffusion