Intelligence artificielle
ModÚles de langage à grande échelle basés sur le décodeur : Un guide complet
Les modèles de langage à grande échelle (LLM) ont révolutionné le domaine du traitement automatique des langues (TAL) en démontrant des capacités remarquables dans la génération de texte similaire à celui des humains, la réponse aux questions et l’assistance dans une large gamme de tâches liées au langage. Au cœur de ces modèles puissants se trouve l’architecture de transformateur décodeur-seul, une variante de l’architecture de transformateur originale proposée dans l’article fondateur “Attention is All You Need” de Vaswani et al.
Dans ce guide complet, nous allons explorer les mécanismes internes des LLM basés sur le décodeur, en nous plongeant dans les blocs de construction fondamentaux, les innovations architecturales et les détails d’implémentation qui ont propulsé ces modèles au premier plan de la recherche et des applications en TAL.
L’architecture de transformateur : Un rappel
Avant de plonger dans les spécificités des LLM basés sur le décodeur, il est essentiel de revisiter l’architecture de transformateur, la fondation sur laquelle ces modèles sont construits. Le transformateur a introduit une approche novatrice de modélisation de séquence, en s’appuyant uniquement sur des mécanismes d’attention pour capturer les dépendances à longue portée dans les données, sans avoir besoin de couches récurrentes ou convolutionnelles.
L’architecture de transformateur originale se compose de deux principaux composants : un encodeur et un décodeur. L’encodeur traite la séquence d’entrée et génère une représentation contextualisée, qui est ensuite consommée par le décodeur pour produire la séquence de sortie. Cette architecture a été initialement conçue pour des tâches de traduction automatique, où l’encodeur traite la phrase d’entrée dans la langue source, et le décodeur génère la phrase correspondante dans la langue cible.
Auto-attention : La clé du succès du transformateur
Au cœur du transformateur se trouve le mécanisme d’auto-attention, une technique puissante qui permet au modèle de peser et d’agréger les informations provenant de différentes positions dans la séquence d’entrée. Contrairement aux modèles de séquence traditionnels, qui traitent les jetons d’entrée de manière séquentielle, l’auto-attention permet au modèle de capturer les dépendances entre n’importe quelle paire de jetons, indépendamment de leur position dans la séquence.
L’opération d’auto-attention peut être décomposée en trois principales étapes :
- Projections de requête, de clé et de valeur : La séquence d’entrée est projetée dans trois représentations distinctes : requêtes (Q), clés (K) et valeurs (V). Ces projections sont obtenues en multipliant l’entrée avec des matrices de poids apprises.
- Calcul des scores d’attention : Pour chaque position dans la séquence d’entrée, des scores d’attention sont calculés en prenant le produit scalaire entre le vecteur de requête correspondant et tous les vecteurs de clé. Ces scores représentent la pertinence de chaque position par rapport à la position actuellement traitée.
- Somme pondérée des valeurs : Les scores d’attention sont normalisés à l’aide d’une fonction softmax, et les poids d’attention résultants sont utilisés pour calculer une somme pondérée des vecteurs de valeur, produisant la représentation de sortie pour la position actuelle.
L’attention multi-tête, une variante du mécanisme d’auto-attention, permet au modèle de capturer différents types de relations en calculant des scores d’attention sur plusieurs “têtes” en parallèle, chacune avec son propre ensemble de projections de requête, de clé et de valeur.
Variantes et configurations architecturales
Bien que les principes fondamentaux des LLM basés sur le décodeur restent cohérents, les chercheurs ont exploré diverses variantes et configurations architecturales pour améliorer les performances, l’efficacité et les capacités de généralisation. Dans cette section, nous allons nous plonger dans les différents choix architecturaux et leurs implications.
Types d’architecture
Les LLM basés sur le décodeur peuvent être classés en trois principaux types : encodeur-décodeur, décodeur causal et décodeur de préfixe. Chaque type d’architecture présente des modèles d’attention distincts.
Architecture encodeur-décodeur
Basée sur le modèle de transformateur vanilla, l’architecture encodeur-décodeur se compose de deux piles : un encodeur et un décodeur. L’encodeur utilise des couches d’auto-attention multi-tête empilées pour encoder la séquence d’entrée et générer des représentations latentes. Le décodeur effectue ensuite une attention croisée sur ces représentations pour générer la séquence cible. Bien que cette architecture soit efficace dans diverses tâches de TAL, peu de LLM, tels que Flan-T5, adoptent cette architecture.
Architecture de décodeur causal
L’architecture de décodeur causal incorpore un masque d’attention unidirectionnel, permettant à chaque jeton d’entrée de ne prêter attention qu’aux jetons passés et à lui-même. Les jetons d’entrée et de sortie sont traités dans le même décodeur. Des modèles notables comme GPT-1, GPT-2 et GPT-3 sont construits sur cette architecture, GPT-3 faisant preuve de capacités d’apprentissage en contexte remarquables. De nombreux LLM, y compris OPT, BLOOM et Gopher, ont largement adopté les décodeurs causaux.
Architecture de décodeur de préfixe
Également connue sous le nom d’architecture de décodeur non causal, l’architecture de décodeur de préfixe modifie le mécanisme de masquage des décodeurs causaux pour permettre une attention bidirectionnelle sur les jetons de préfixe et une attention unidirectionnelle sur les jetons générés. Comme l’architecture encodeur-décodeur, les décodeurs de préfixe peuvent encoder la séquence de préfixe de manière bidirectionnelle et prédire les jetons de sortie de manière autoregressive en utilisant des paramètres partagés. Les LLM basés sur les décodeurs de préfixe incluent GLM130B et U-PaLM.
Les trois types d’architecture peuvent être étendus en utilisant la technique d’échelle de mélange d’experts (MoE), qui active de manière éparse un sous-ensemble de poids de réseau de neurones pour chaque entrée. Cette approche a été employée dans des modèles tels que Switch Transformer et GLaM, l’augmentation du nombre d’experts ou de la taille totale des paramètres montrant des améliorations significatives des performances.
Transformateur décodeur-seul : Émbrasser la nature autoregressive
Alors que l’architecture de transformateur originale a été conçue pour des tâches de séquence à séquence comme la traduction automatique, de nombreuses tâches de TAL, telles que la modélisation de langage et la génération de texte, peuvent être formulées comme des problèmes autoregressifs, où le modèle génère un jeton à la fois, conditionné aux jetons précédemment générés.
Entrez le transformateur décodeur-seul, une variante simplifiée de l’architecture de transformateur qui ne conserve que le composant décodeur. Cette architecture est particulièrement bien adaptée aux tâches autoregressives, car elle génère des jetons de sortie un par un, en exploitant les jetons précédemment générés comme contexte d’entrée.
La principale différence entre le transformateur décodeur-seul et le décodeur original du transformateur réside dans le mécanisme d’auto-attention. Dans le cadre du décodeur-seul, l’opération d’auto-attention est modifiée pour empêcher le modèle d’accéder à des jetons futurs, une propriété connue sous le nom de causalité. Cela est réalisé grâce à une technique appelée “auto-attention masquée”, où les scores d’attention correspondant aux positions futures sont définis sur moins l’infini, les masquant efficacement pendant l’étape de normalisation softmax.
Composants architecturaux des LLM basés sur le décodeur
Bien que les principes fondamentaux de l’auto-attention et de l’auto-attention masquée restent les mêmes, les LLM modernes basés sur le décodeur ont introduit plusieurs innovations architecturales pour améliorer les performances, l’efficacité et les capacités de généralisation. Explorons certains des principaux composants et techniques employés dans les LLM les plus récents.
Représentation d’entrée
Avant de traiter la séquence d’entrée, les LLM basés sur le décodeur emploient des techniques de tokenisation et d’intégration pour convertir le texte brut en une représentation numérique adaptée au modèle.
Tokenisation : Le processus de tokenisation convertit le texte d’entrée en une séquence de jetons, qui peuvent être des mots, des sous-mots ou même des caractères individuels, selon la stratégie de tokenisation employée. Les techniques de tokenisation populaires pour les LLM incluent l’encodage par paires de bytes (BPE), SentencePiece et WordPiece. Ces méthodes visent à équilibrer la taille du vocabulaire et la granularité de la représentation, permettant au modèle de gérer efficacement les mots rares ou en dehors du vocabulaire.
Intégration de jetons : Après la tokenisation, chaque jeton est mappé à une représentation vectorielle dense appelée intégration de jeton. Ces intégrations sont apprises pendant le processus d’entraînement et capturent les relations sémantiques et syntaxiques entre les jetons.
Intégrations de position : Les modèles de transformateur traitent l’ensemble de la séquence d’entrée simultanément, sans la notion inhérente de position de jeton présente dans les modèles récurrents. Pour incorporer les informations de position, des intégrations de position sont ajoutées aux intégrations de jetons, permettant au modèle de distinguer les jetons en fonction de leur position dans la séquence. Les premiers LLM ont utilisé des intégrations de position fixes basées sur des fonctions sinusoidales, tandis que les modèles plus récents ont exploré des intégrations de position apprises ou des techniques de codage de position alternatives comme les intégrations de position rotatives.
Blocs d’attention multi-tête
Les blocs de construction fondamentaux des LLM basés sur le décodeur sont les couches d’attention multi-tête, qui effectuent l’opération d’auto-attention masquée décrite précédemment. Ces couches sont empilées plusieurs fois, chaque couche prêtant attention à la sortie de la couche précédente, permettant au modèle de capturer des dépendances et des représentations de plus en plus complexes.
Têtes d’attention : Chaque couche d’attention multi-tête se compose de plusieurs “têtes d’attention“, chacune avec son propre ensemble de projections de requête, de clé et de valeur. Cela permet au modèle de prêter attention à différents aspects de l’entrée simultanément, capturant des relations et des modèles diversifiés.
Connexions résiduelles et normalisation de couche : Pour faciliter l’entraînement de réseaux profonds et atténuer le problème de gradient disparaissant, les LLM basés sur le décodeur emploient des connexions résiduelles et des techniques de normalisation de couche. Les connexions résiduelles ajoutent l’entrée d’une couche à sa sortie, permettant aux gradients de s’écouler plus facilement pendant la rétropropagation. La normalisation de couche aide à stabiliser les activations et les gradients, améliorant encore la stabilité et les performances de l’entraînement.
Couches de feed-forward
En plus des couches d’attention multi-tête, les LLM basés sur le décodeur intègrent des couches de feed-forward, qui appliquent un réseau de neurones feed-forward simple à chaque position dans la séquence. Ces couches introduisent des non-linéarités et permettent au modèle d’apprendre des représentations plus complexes.
Fonctions d’activation : Le choix de la fonction d’activation dans les couches de feed-forward peut avoir un impact significatif sur les performances du modèle. Alors que les premiers LLM reposaient sur la fonction d’activation ReLU largement utilisée, les modèles plus récents ont adopté des fonctions d’activation plus sophistiquées comme la fonction d’activation linéaire à erreur gaussienne (GELU) ou la fonction d’activation SwiGLU, qui ont montré des performances améliorées.
Attention éparse et transformateurs efficaces
Bien que le mécanisme d’auto-attention soit puissant, il comporte une complexité computationnelle quadratique par rapport à la longueur de la séquence, le rendant coûteux en termes de calcul pour les longues séquences. Pour relever ce défi, plusieurs techniques ont été proposées pour réduire les exigences computationnelles et de mémoire de l’auto-attention, permettant un traitement efficace de séquences plus longues.
Attention éparse : Les techniques d’attention éparse, telles que celle employée dans le modèle GPT-3, prêtent attention de manière sélective à un sous-ensemble de positions dans la séquence d’entrée, plutôt que de calculer des scores d’attention pour toutes les positions. Cela peut réduire considérablement la complexité computationnelle tout en maintenant des performances raisonnables.
Attention à fenêtre glissante : Introduite dans le modèle Mistral 7B, l’attention à fenêtre glissante (SWA) est une technique simple mais efficace qui restreint la portée d’attention de chaque jeton à une taille de fenêtre fixe. Cette approche exploite la capacité des couches de transformateur à transmettre des informations à travers plusieurs couches, augmentant efficacement la portée d’attention sans la complexité quadratique de l’auto-attention complète.
Cache de tampon roulant : Pour réduire encore les exigences de mémoire, en particulier pour les longues séquences, le modèle Mistral 7B emploie un cache de tampon roulant. Cette technique stocke et réutilise les vecteurs de clé et de valeur calculés pour une taille de fenêtre fixe, évitant les calculs redondants et minimisant l’utilisation de la mémoire.
Attention de requête groupée : Introduite dans le modèle LLaMA 2, l’attention de requête groupée (GQA) est une variante du mécanisme d’attention multi-requête qui divise les têtes d’attention en groupes, chaque groupe partageant une matrice de clé et de valeur commune. Cette approche équilibre l’efficacité de l’attention multi-requête et les performances de l’auto-attention standard, offrant des temps d’inférence améliorés tout en maintenant des résultats de haute qualité.
















