Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Transformer-XL

Transformer-XL met en cache les états cachés du segment de texte précédent et utilise des positions relatives, afin qu’un modèle de langage conserve le contexte d’un segment à l’autre.

Transformer-XL est un Transformer modèle de langage qui conserve le contexte entre des segments de texte de longueur fixe : il met en cache les états cachés du segment précédent et permet au segment suivant de leur prêter attention. Zihang Dai, Zhilin Yang et leurs collègues de l’université Carnegie Mellon et de Google Brain l’ont présenté dans Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context, lors de la conférence ACL 2019. Un Transformer standard entraîné sur des segments fixes, chacun constituant une fenêtre de contexte distincte, ne peut rien voir avant le début du segment courant ; les auteurs ont appelé ce problème la fragmentation du contexte. Transformer-XL a appris des dépendances 80 % plus longues que celles des réseaux de neurones récurrents (RNNs) et 450 % plus longues que celles des Transformers standard.

Récurrence au niveau des segments#

Lorsqu’il traite un segment, chaque couche du modèle concatène les états cachés mis en cache du segment précédent avec ceux du segment courant. Les requêtes proviennent uniquement du segment courant, tandis que les clés et les valeurs couvrent les deux segments ; les gradients s’arrêtent donc au niveau du cache, ce qui maintient constant le coût d’entraînement par segment. Une seule couche d’attention dans PyTorch illustre ce principe :

import torch
from torch import nn

torch.manual_seed(0)
seg_len, dim = 4, 16
attn = nn.MultiheadAttention(dim, num_heads=2, batch_first=True)
hidden = torch.randn(1, 3 * seg_len, dim)  # hidden states for three consecutive segments

memory = torch.empty(1, 0, dim)  # nothing is cached before the first segment
for i, segment in enumerate(hidden.split(seg_len, dim=1), start=1):
    # Queries come from the current segment; keys and values also cover the cached one
    context = torch.cat([memory, segment], dim=1)
    out, weights = attn(segment, context, context)
    print(f"Segment {i}: {weights.shape[1]} queries attend over {weights.shape[2]} positions")
    # Cache this segment for the next one; detach() stops gradients as in Transformer-XL
    memory = segment.detach()

Les 4 requêtes du premier segment ne voient que ses 4 jetons, et les requêtes de chaque segment suivant en voient 8 : ses propres 4 jetons et les 4 jetons mis en cache. Comme la couche n d’un segment lit les états mis en cache de la couche n − 1 du segment précédent, la portée s’étend d’un segment supplémentaire à chaque couche, soit environ N × L jetons pour une longueur de segment N et L couches :

Le cache accélère également l’évaluation. Lorsqu’un Transformer standard prédit des jetons l’un après l’autre, il doit recalculer toute une fenêtre pour chaque nouveau jeton. Transformer-XL réutilise au contraire les états mis en cache, ce qui lui a permis d’être jusqu’à 1 800 fois plus rapide pendant l’évaluation. Le suivi Ultralytics YOLO26 rencontre le même problème de fragmentation lorsqu’un script transmet une vidéo à model.track() une image à la fois : persist=True conserve l’état du suiveur entre les appels, de sorte que chaque objet garde le même identifiant d’une image à l’autre.

Encodage positionnel relatif#

La réutilisation des états mis en cache rompt les positions absolues : le premier jeton du segment en cache et le premier jeton du segment courant porteraient le même plongement positionnel. Transformer-XL calcule plutôt chaque score d’attention à partir du contenu de la requête et de la clé, ainsi que d’un encodage sinusoïdal de la distance qui les sépare, avec deux vecteurs de biais appris et partagés entre les positions, l’un pour le contenu et l’autre pour la position. Comme les scores dépendent uniquement des distances, le modèle peut, lors de l’évaluation, porter son attention sur un cache plus long que celui qu’il a vu pendant l’entraînement. Les plongements positionnels rotatifs (RoPE), utilisés dans la plupart des grands modèles de langage (LLMs) actuels, rendent également les scores d’attention dépendants de la position relative.

Résultats et influence#

Transformer-XL a établi de nouveaux résultats de pointe sur cinq bancs d’essai : 0,99 bit par caractère sur enwik8, 1,08 sur text8 et une perplexité de 18,3 sur WikiText-103, de 21,8 sur One Billion Word et de 54,5 sur Penn Treebank, sans ajustement fin. Entraîné uniquement sur WikiText-103, il a généré des articles inédits assez cohérents de plusieurs milliers de jetons. XLNet, créé par plusieurs des mêmes auteurs, a fondé son préentraînement à la compréhension du langage naturel sur l’architecture Transformer-XL. Le Compressive Transformer de DeepMind a prolongé le cache en compressant les anciennes mémoires au lieu de les supprimer.

  • Mémoire à long court terme (LSTM) : met à jour un état caché jeton après jeton ; les informations anciennes doivent donc passer par toutes les étapes intermédiaires.
  • Longformer : lit simultanément un document entier de 4 096 jetons au moyen d’une attention par fenêtres et d’une attention globale, sans récurrence.
  • Cache KV : stocke les clés et les valeurs des jetons précédents pendant la génération afin de ne pas les recalculer. La mémoire de Transformer-XL est également utilisée pendant l’entraînement, les gradients s’arrêtant à la limite du segment.
  • Modèles d’espace d’états (SSMs) : compressent l’historique entier dans un état de taille fixe.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique