Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Transformer-XL

Découvrez comment Transformer-XL révolutionne la modélisation de séquences grâce à des innovations telles que la récurrence au niveau des segments et la gestion du contexte à longue portée.

Transformer-XL, ou "Transformer-Extra Long", est une architecture de réseau neuronal sophistiquée, conçue pour répondre aux besoins de la société en matière d'information. réseau neuronal sophistiqué conçu pour relever l'un des défis les plus persistants de l'intelligence l'intelligence artificielle (IA): le traitement des séquences de données qui dépassent une longueur fixe. Développé par des chercheurs de Google AI et de l'université Carnegie Mellon, cette architecture Cette architecture améliore le Transformer original en introduisant un nouveau mécanisme de récurrence. en introduisant un nouveau mécanisme de récurrence. Cette innovation permet au modèle de conserver des informations sur différents segments de données, ce qui accroît considérablement son efficacité. segments de données, élargissant ainsi de manière significative sa fenêtre contextuelle effective sans la surcharge de calcul de calcul massive généralement associée au traitement de longues entrées.

Améliorer la modélisation des séquences

Pour comprendre l'importance de Transformer-XL, il est utile d'examiner les limites de ses prédécesseurs. Standard Les transformateurs traitent les données par morceaux de taille fixe (segments) de manière indépendante. Cela conduit à une "fragmentation du contexte", où le modèle oublie des informations. où le modèle oublie des informations dès qu'il passe d'un segment à l'autre. Transformer-XL surmonte ce problème en incorporant la récurrence au niveau des segments, un concept emprunté aux réseaux neuronaux récurrents (RNN). réseaux neuronaux récurrents (RNN) mais mais appliqué dans le cadre parallélisable de Transformer.

L'architecture repose sur deux contributions techniques principales :

  • Récurrence au niveau du segment : Le modèle met en cache les états cachés (mémoire) du segment précédent et les réutilise comme contexte étendu pour le segment actuel. les réutilise en tant que contexte étendu pour le segment actuel. Cela permet à l'information de circuler continuellement à travers les couches d'apprentissage profond, ce qui permet au modèle de s'adapter à la réalité. couches d'apprentissage profond, ce qui permet au modèle de de modéliser des dépendances qui sont des centaines de fois plus longues que les transformateurs standard.
  • Codages positionnels relatifs : Dans les modèles standard, les tokens se voient attribuer des coordonnées absolues (par exemple, position 1, position 2), position 1, position 2). Cependant, lors de la réutilisation de segments de mémoire, le positionnement absolu crée une confusion (car le premier token d'un nouveau segment serait identique au premier token de l'ancien). d'un nouveau segment serait identique au premier jeton de l'ancien segment). Transformer-XL résout ce problème en en encodant la distance relative entre les tokens dans le dans le mécanisme d'attention, ce qui garantit que le modèle comprend l'ordre de la séquence, quel que soit le segment. comprend l'ordre de la séquence, quelles que soient les limites du segment.

Applications concrètes

La capacité à conserver la mémoire à long terme rend Transformer-XL très utile pour les tâches nécessitant un contexte étendu.

  • Génération de textes longs : Dans le traitement du langage naturel (NLP), il est difficile de maintenir la cohérence narrative. traitement du langage naturel (NLP), il est difficile de maintenir la cohérence narrative. Transformer-XL excelle dans la génération de textes pour l'écriture créative, comme la génération de romans ou de scénarios, où le modèle doit se souvenir d'un personnage présenté dans le premier chapitre pour prendre des décisions logiques dans le dixième chapitre. pour prendre des décisions logiques dans le dixième chapitre.
  • Analyse des séries chronologiques financières : Les marchés financiers fonctionnent comme de longues séquences de données où où les tendances historiques d'il y a plusieurs mois influencent les prix actuels. Transformer-XL est utilisé dans l'analyse des séries temporelles et prédictive pour prévoir les mouvements les mouvements boursiers en analysant les dépendances à long terme dans l'historique des prix, ce qui permet de surpasser les modèles qui ne prennent en compte que des fenêtres quotidiennes courtes. quotidiennes.
  • Analyse de séquences génomiques : En bio-informatique, les brins d'ADN sont en fait des séquences extrêmement longues de caractères. de caractères. Les chercheurs utilisent des architectures telles que Transformer-XL pour analyser les séquences de gènes à des fins de reconnaissance des formes et détection d'anomalies, ce qui facilite la recherche médicale et la découverte de médicaments.

Concept de mise en œuvre

Alors qu'Ultralytics se concentre principalement sur vision par ordinateur (CV) avec des modèles tels que YOLO11, la compréhension du mécanisme de mise en cache de Transformer-XL est utile pour l'ingénierie ML avancée. L'extrait PyTorch suivant démontre le concept de passage d'un tenseur "mémoire" lors d'une passe avant . "mémoire" lors d'un passage en avant pour conserver le contexte.

import torch


def forward_pass_with_memory(input_segment, memory=None):
    """Conceptual demonstration of passing memory (cached states) simulating the Transformer-XL recurrence mechanism.
    """
    # If memory exists from the previous segment, concatenate it
    if memory is not None:
        # Combine memory with current input along the sequence dimension
        context = torch.cat([memory, input_segment], dim=1)
    else:
        context = input_segment

    # Simulation of processing (in a real model, this goes through layers)
    output = context * 0.5  # Dummy operation

    # Detach current output to create memory for the NEXT segment
    # This prevents gradient backpropagation into the deep history
    new_memory = output.detach()

    return output, new_memory


# Run a dummy example
segment1 = torch.randn(1, 10)  # Batch size 1, sequence length 10
output1, mems = forward_pass_with_memory(segment1)
print(f"Memory cached shape: {mems.shape}")

Transformer-XL par rapport aux architectures apparentées

La différenciation de Transformer-XL par rapport à des termes similaires permet de clarifier son cas d'utilisation spécifique :

  • vs. transformateur standard: Le modèle standard standard réinitialise son état après chaque segment, limitant sa "mémoire" à la longueur du segment (par ex, 512 jetons). Transformer-XL transporte la mémoire vers l'avant, ce qui permet théoriquement un contexte infini de retour en arrière, limité uniquement par les ressources de la mémoire.
  • vs. BERT: L'ORET est conçu pour la compréhension du langage naturel (NLU) en utilisant l'attention bidirectionnelle (en examinant simultanément les mots passés et futurs), mais n'est pas adapté à la génération. Transformer-XL est un modèle autorégressif, c'est-à-dire qu'il génère des données de manière séquentielle, ce qui le rend plus adapté à la création de contenu. contenu.
  • vs. Longformer: Longformer traite longues séquences en utilisant un modèle d'attention clairsemé (en ne regardant que quelques mots à la fois) afin de réduire les coûts de calcul. de calcul. En revanche, Transformer-XL utilise la récurrence. Longformer est souvent mieux adapté à la lecture d'un document volumineux en une seule fois, tandis que Transformer-XL est plus facile à utiliser. en une seule fois, tandis que Transformer-XL est supérieur pour la lecture de données en continu ou la génération de longues séquences étape par étape.

Pour les chercheurs et les développeurs qui travaillent avec des données séquentielles, l'étude du document de recherche de l'étude de Transformer-XL permet de mieux comprendre l'efficacité de la efficace de la mémoire dans les dans les grands modèles de langage (LLM). L'utilisation L'utilisation efficace de la mémoire est un principe qui s'applique également à l'optimisation des modèles de vision en vue de leur déploiement sur des appareils périphériques utilisant des GPU. GPU.

Rejoignez la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant