Longformer
Explore l’architecture Longformer pour traiter efficacement les longues séquences de données. Découvre comment l’attention creuse surmonte les limites de mémoire en NLP et en vision par ordinateur.
Le Longformer est un type spécialisé d’architecture de Deep Learning conçu pour traiter efficacement de longues séquences de données, en surmontant les limites des modèles traditionnels. Initialement introduit pour répondre aux contraintes des Transformers standards, qui ont généralement des difficultés avec les séquences de plus de 512 tokens en raison des restrictions de mémoire, le Longformer utilise un mécanisme d’attention modifié. En réduisant la complexité des calculs, qui passe d’une croissance quadratique à une croissance linéaire, cette architecture permet aux systèmes d’IA d’analyser des documents entiers, de longues transcriptions ou des séquences génétiques complexes en un seul passage, sans tronquer l’entrée.
Le problème du goulot d’étranglement de l’attention#
Pour comprendre l’importance du Longformer, il est essentiel d’examiner les limites de ses prédécesseurs, comme BERT et les premiers modèles GPT-3. Les Transformers standards utilisent une opération d’« attention personnelle » dans laquelle chaque token porte son attention sur tous les autres tokens de la séquence. Cela entraîne un coût de calcul quadratique : doubler la longueur de la séquence quadruple la mémoire requise sur le GPU. Par conséquent, la plupart des modèles standards imposent une limite stricte à la taille des entrées, obligeant souvent les data scientists à découper les documents en segments plus petits et déconnectés, ce qui entraîne une perte de contexte.
Le Longformer résout ce problème en introduisant l’attention clairsemée. Au lieu d’une connexion complète entre tous les tokens, il utilise une combinaison d’attention locale fenêtrée et d’attention globale :
- Attention par fenêtre glissante : chaque token ne porte son attention que sur ses voisins immédiats. Cela capture le contexte local et la structure syntaxique, de manière similaire à la façon dont un réseau neuronal convolutif (CNN) traite les images.
- Fenêtre glissante dilatée : pour augmenter le champ réceptif sans accroître les calculs, la fenêtre peut intégrer des intervalles, ce qui permet au modèle de voir « plus loin » dans le texte.
- Attention globale : des tokens spécifiques présélectionnés, comme le token de classification
[CLS], portent leur attention sur tous les autres tokens de la séquence, et tous les tokens portent leur attention sur eux. Cela garantit que le modèle conserve une compréhension de haut niveau de l’entrée entière pour des tâches comme le résumé de texte.
Applications concrètes#
La capacité à traiter simultanément des milliers de tokens ouvre de nouvelles possibilités pour le traitement automatique du langage naturel (NLP) et au-delà.
1. Analyse de documents juridiques et médicaux#
Dans des secteurs comme le droit et la santé, les documents sont rarement courts. Un contrat juridique ou le dossier médical d’un patient peut s’étendre sur des dizaines de pages. Les grands modèles de langage (LLMs) traditionnels devraient fragmenter ces documents, au risque de manquer des dépendances cruciales entre une clause de la page 1 et une définition de la page 30. Le Longformer permet d’effectuer la reconnaissance d’entités nommées (NER) et la classification sur l’ensemble du document en une seule fois, en garantissant que le contexte global influence l’interprétation de termes spécifiques.
2. Réponse aux questions sur des textes longs (QA)#
Les systèmes standards de réponse aux questions ont souvent des difficultés lorsque la réponse nécessite de synthétiser des informations réparties dans un long article. En conservant l’intégralité du texte en mémoire, les modèles basés sur Longformer peuvent effectuer un raisonnement multi-étapes, en reliant des faits présents dans différents paragraphes pour générer une réponse complète. Cela est essentiel pour les systèmes automatisés d’assistance technique et les outils de recherche universitaire.
Différenciation des principaux termes#
- Longformer par rapport à Transformer : le Transformer standard utilise une attention complète en $N^2$, ce qui le rend précis mais coûteux en calcul pour les entrées longues. Le Longformer utilise une attention clairsemée en $N$, échangeant une quantité négligeable de capacité théorique contre d’importants gains d’efficacité, ce qui permet de traiter des entrées de 4 096 tokens ou plus.
- Longformer par rapport à Transformer-XL : bien que les deux modèles gèrent les séquences longues, Transformer-XL s’appuie sur un mécanisme de récurrence (mise en cache des états précédents) pour mémoriser les segments passés. Le Longformer traite nativement la longue séquence en une seule fois, ce qui simplifie l’entraînement parallèle sur des plateformes comme Ultralytics Platform.
- Longformer par rapport à BigBird : ces architectures sont très similaires et ont été développées à la même époque. Toutes deux utilisent des mécanismes d’attention clairsemée pour obtenir une mise à l’échelle linéaire. BigBird introduit, en plus des fenêtres glissantes, un composant spécifique d’attention aléatoire.
Concepts d’implémentation#
Bien que le Longformer soit une architecture plutôt qu’une fonction spécifique, il est essentiel de comprendre comment préparer les données pour les modèles capables de gérer de longs contextes. Dans les frameworks modernes comme PyTorch, cela implique souvent de gérer des représentations vectorielles qui dépassent les limites standards.
L’exemple suivant montre comment créer un tenseur d’entrée fictif pour un scénario à long contexte, en le comparant à la taille généralement utilisée dans les modèles standards de détection comme YOLO26.
import torch
# Standard BERT-like models typically cap at 512 tokens
standard_input = torch.randint(0, 30000, (1, 512))
# Longformer architectures can handle significantly larger inputs (e.g., 4096)
# This allows the model to "see" the entire sequence at once.
long_context_input = torch.randint(0, 30000, (1, 4096))
print(f"Standard Input Shape: {standard_input.shape}")
print(f"Long Context Input Shape: {long_context_input.shape}")
# In computer vision, a similar concept applies when processing high-res images
# without downsampling, preserving fine-grained details.Pertinence pour la vision par ordinateur#
Bien qu’ils aient été conçus à l’origine pour le texte, les principes du Longformer ont influencé la vision par ordinateur. Le concept consistant à limiter l’attention à un voisinage local est analogue aux opérations localisées dans les tâches visuelles. Les Vision Transformers (ViT) rencontrent des problèmes de mise à l’échelle similaires avec les images haute résolution, car le nombre de pixels ou de patches peut être considérable. Des techniques dérivées de l’attention clairsemée du Longformer sont utilisées pour améliorer l’efficacité de la classification d’images et de la détection d’objets, aidant des modèles comme YOLO26 à maintenir des vitesses élevées tout en traitant des données visuelles détaillées.
Pour approfondir les détails architecturaux, l’article original sur Longformer publié par AllenAI fournit des benchmarks détaillés et des justifications théoriques. De plus, l’entraînement efficace de modèles aussi volumineux bénéficie souvent de techniques comme la précision mixte et les algorithmes d’optimisation avancés.









