RechercheOpen Source 🇷🇺 27.07.2026 20:04

Implémentation d'un Transformer Décodeur Seul pour 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 de type décodeur seul à l'aide du framework PyTorch. Les composants abordés incluent : l'attention multi-têtes masquée, 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, en prenant l'exemple d'une tâche de tatouage pour un texte sous licence, implémente un bloc transformeur pour un LLM à décodeur seul. Il explique que le transformeur est une architecture issue de l'article de Google « Attention Is All You Need », où une séquence est traitée en parallèle à l'aide d'un mécanisme d'attention. L'attention multi-têtes repose sur trois matrices de projection : Q, K, V. Dans un premier temps, la similarité entre les tokens est calculée (matrice d'attention), puis dans un second temps, le contenu des tokens est mélangé en fonction des poids trouvés. 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, un réseau Feed Forward avec activation GELU et dropout est appliqué. La construction du transformeur inclut la normalisation (Pre-LN) et les connexions résiduelles. De plus, un masque causal est utilisé pour le décodeur. Dans l'ensemble, le bloc est prêt à être utilisé pour assembler un LLM, pour l'apprentissage et la génération de texte.
Source: Habr — хаб NLP — original
Nos articles précédents sur ce sujet ↓
Infos fraîches