Programme de cours¶
2024/2025 ES aux Mines¶
Introduction (séance n°1 du mardi 10/12/2024, cours)¶
Salle L108-b
1h30 (15h30-17h)
Quelques transparents
Quelques slides du cours NLP 2024 du MVA présentés (9 à 26)
Cours principalement fait au tableau
Caractères, alphabets (séance n°2 du vendredi 13/12/2024, cours et TP)¶
Salle L109
3h (9h-12h15)
Première partie: cours caractères et alphabets (jusqu’au transparent 17). Plusieurs exemples de code montrés en cours.
Deuxième partie: travaux pratiques sur les expressions régulières
Expressions régulières, grammaires (séance n°3 du lundi 16/12/2024)¶
Salle L218
3h (13h45-17h)
Première partie: fin du cours caractères et alphabets
Deuxième partie: suite des travaux pratiques sur les expressions régulières, uniquement l’exercice 3 (rendu des travaux)
Micrograd (séance n°4 du mardi 17/12/2024)¶
Salle L108-b
1h30 (15h30-17h)
Construction de micrograd à partir de rien (partie 1)
Demande de création et d’envoi d’une clef publique SSH pour faire fonctionner du Remote Development using SSH pour les prochains TP et le projet
Makemore: bigrams (séance n°5 du vendredi 20/12/2024)¶
3h (9h-12h15)
Construction de micrograd à partir de rien (partie 2)
Makemore bigrams (version éditée post-cours)
Corpus de travail:
codes français en markdown
Travaux pratiques sur les bigrams
proposer une méthode en Python pour transformer un code en markdown en une liste de mots telle que celle utilisée dans le « notebook » Makemore ci-dessus
entrainer un modèle 3-gram, utilisant deux caractères pour prédire le troisième, soit par comptage soit avec un réseau de neurones. Comparer la fonction de perte par rapport à l’approche bigram
séparer le jeu de données entre 80% entrainement, 10% développement et 10% test. Entrainer les modèles bigram et 3-gram uniquement sur le jeu d’entrainement et évaluer sur les jeux de développement et de test. Interprétez les résultats
Actualités
« look Ma, no tokens », à propos papier du labo FAIR de Meta « Byte Latent Transformer: Patches Scale Better Than Tokens »
Makemore: MLP (séance n°6 du lundi 6/1/2025)¶
3h (13h45-17h)
A Neural Probabilistic Language Model, Bengio et al., 2003
Makemore MLP
Corpus de travail:
codes français en markdown
Travaux pratiques: l’objectif général va être d’améliorer le loss en jouant sur les paramètres et hyper-paramètres du réseau
Jouer avec le paramètre
lr
(learning rate) lors de l’apprentissage et déterminer (expérimentalement) si les valeurs utilisées sont satisfaisantesRépondre à l’exercice 02 d’Andrej Karpathy: « I was not careful with the intialization of the network in this video. (1) What is the loss you’d get if the predicted probabilities at initialization were perfectly uniform? What loss do we achieve? »
Identifier les « hyper paramètres » de ce réseau et explorer des modifications permettant d’améliorer (ou pas) le loss. Quelles sont selon vous les limites de ce type de réseau?
Le papier de Yoshua Bengio mentionne un certain nombre d’idées d’amélioration, et notamment l’utilisation d’une « mixture of models » avec des bigrams (cf TP précédent). Proposer une ou des améliorations de votre réseau avec les idées proposées
Makemore: initialisations, activations et BatchNorm (séance n°7 du mardi 7/1/2025)¶
1h30 (15h30-17h)
Makemore Activations
Travaux pratiques
Essayez de positionner initialement tous les biais et poids du réseau à 0 et entraînez-le. Est-ce que: 1) l’entraînement se passe très bien ou 2) le réseau n’apprend pas, ou 3) le réseau apprend partiellement. Inspectez les gradients et activations pour comprendre ce qui se passe.
Séance n°8 du vendredi 10/1/2025¶
3h (9h-12h15)
Séance n°9 du lundi 13/1/2025¶
3h (13h45-17h)
Choix du projet
Travail encadré sur le projet (séance n°10 du mardi 14/1/2025)¶
1h30 (15h30-17h)
Évaluations¶
TP notés
Projet final (choix d’un sujet parmi N)