Aller au contenu
Kudos AI

GPT From Scratch

Un transformeur décodeur construit composant par composant - tokeniseur, plongements, attention, blocs, boucle de pré-entraînement - sans aucun code de modélisation importé d’une bibliothèque.

Python (PyTorch)actif

Un modèle de langage de type GPT implémenté intégralement en PyTorch à partir des opérations sur tenseurs, écrit de sorte que chaque ligne corresponde à une étape démontrée dans les articles. Il commence par un tokeniseur BPE et une table de plongements, ajoute l’attention par produit scalaire normalisé puis l’attention multi-tête, empile le tout en blocs de transformeur à pré-normalisation avec connexions résiduelles, et se termine par une boucle de pré-entraînement à prédiction du token suivant sur un petit corpus. Le repère constant est qu’un modèle non entraîné doit obtenir une entropie croisée proche du logarithme de la taille du vocabulaire ; la boucle d’entraînement n’est considérée comme fonctionnelle que lorsque la perte descend nettement sous ce plancher. Masques d’attention, partage des poids et nombre de paramètres sont tous vérifiés par rapport à la configuration publiée de GPT-2 plutôt que supposés. L’implémentation est en cours et aucun dépôt source n’a encore été publié.

Points forts

  • Tokeniseur BPE et consultation de plongements, démontrés équivalents à un produit matriciel one-hot
  • Attention par produit scalaire normalisé, puis multi-tête, construites à partir de la dérivation plutôt que de nn.MultiheadAttention
  • Masquage causal vérifié en contrôlant qu’un token ne peut jamais attendre une position ultérieure
  • Le nombre de paramètres reproduit exactement la configuration GPT-2 à 124 M, bloc par bloc
  • Plancher d’entropie croisée log(vocabulaire) utilisé comme contrôle de cohérence pour un modèle non entraîné

Articles associés

8 min de lectureBuilding a Language Model

Tokenization and Embeddings

How text becomes numbers a model can train on: building a vocabulary, why byte pair encoding never needs an unknown token, the embedding layer as a lookup that is provably one-hot times a matrix, and why position has to be added back in by hand.

IA générativeTraitement du langage naturelApprentissage profond
7 min de lectureBuilding a Language Model

Attention and Self-Attention

Queries, keys, and values built from the ground up: why attention exists, how scaled dot-product attention is computed, why it is divided by the square root of the dimension, and how causal masking works, with every matrix computed and checked.

IA générativeApprentissage profondTraitement du langage naturel
8 min de lectureBuilding a Language Model

The Transformer Architecture

Assembling a GPT from attention: multi-head projections, layer normalization worked by hand, why shortcut connections rescue the gradient, the 4x feed-forward expansion, and a parameter count that reproduces GPT-2 small at 124 million exactly.

IA générativeApprentissage profondTraitement du langage naturel
7 min de lectureBuilding a Language Model

Pretraining and Fine-Tuning

How next-word prediction turns unlabelled text into supervision, why cross entropy is just negative average log probability, what perplexity really measures, and why a model that completes text fluently still cannot follow an instruction.

IA générativeApprentissage profond