RechercheOpen Source 🇷🇺 27.07.2026 20:04

Écrire un Transformer Décodeur-Only pour un LLM à partir de zéro en Python

Google/DeepMindGoogle/DeepMind OpenAIOpenAI MetaMeta
L'auteur d'une série d'articles décrit en détail l'implémentation d'un bloc transformer pour un petit LLM décodeur-only utilisant le framework PyTorch. Les composants couverts incluent : l'attention multi-têtes avec masquage, le réseau feed-forward avec GELU, la couche de normalisation et les connexions résiduelles. L'article explique la différence par rapport à l'architecture originale : la pré-normalisation (Pre-LN) est utilisée à la place de la post-normalisation pour la stabilité de l'entraînement.
L'auteur, Vladimir, illustre à l'aide d'une tâche de tatouage numérique (watermarking) de texte sous licence la mise en œuvre d'un bloc transformeur pour un LLM (large language model, grand modèle de langage) de type decoder-only. Il explique que le transformeur est l'architecture issue de l'article de Google « Attention Is All You Need », dans laquelle une séquence est traitée en parallèle grâce à un mécanisme d'attention. Au cœur du Multi-Head Attention se trouvent trois matrices de projection Q, K et V. Dans un premier temps, on calcule la similarité entre les tokens (la matrice d'attention) ; dans un second temps, on mélange le contenu des tokens selon les poids ainsi obtenus. Pour des raisons d'efficacité, toutes les têtes d'attention sont implémentées via une seule grande projection linéaire. Après l'attention, on applique un Feed Forward Network doté d'une activation GELU et d'un dropout. L'assemblage du transformeur comprend une normalisation (Pre-LN) ainsi que des connexions résiduelles. On y ajoute également un masque du futur (causal mask) destiné au décodeur. Dans l'ensemble, le bloc est prêt à être utilisé pour la construction d'un LLM, son entraînement et la génération de texte.
Source: Habr — хаб NLP — original
Nos articles précédents sur ce sujet ↓
Infos fraîches