Sliding Window Attention : Définition et Exemples
Mécanisme d'attention qui limite le calcul à une fenêtre locale de tokens adjacents, réduisant la complexité computationnelle tout en préservant la capacité du modèle à traiter de longues séquences.
Définition complète
Le Sliding Window Attention (attention à fenêtre glissante) est une variante optimisée du mécanisme d'attention des Transformers. Contrairement à l'attention classique (full attention) où chaque token interagit avec tous les autres tokens de la séquence, le Sliding Window Attention restreint le champ d'attention de chaque token à une fenêtre fixe de voisins immédiats. Par exemple, avec une fenêtre de taille 4096, chaque token ne "regarde" que les 4096 tokens précédents.
Cette approche résout un problème fondamental des Transformers : la complexité quadratique de l'attention classique. Lorsqu'un modèle doit traiter une séquence de 100 000 tokens, calculer l'attention entre toutes les paires de tokens devient extrêmement coûteux en mémoire et en calcul. Le Sliding Window Attention ramène cette complexité à un coût linéaire par rapport à la longueur de la séquence, rendant possible le traitement de contextes très longs.
Un aspect subtil mais essentiel est l'effet de propagation à travers les couches. Même si chaque couche ne voit qu'une fenêtre locale, l'empilement de plusieurs couches permet à l'information de se propager sur des distances beaucoup plus grandes. Avec L couches et une fenêtre de taille W, l'information peut théoriquement traverser L × W tokens, offrant ainsi une portée effective bien supérieure à la taille de la fenêtre individuelle.
Ce mécanisme a été popularisé par des modèles comme Mistral 7B et Mixtral, et constitue un composant clé de l'architecture Longformer. Il est souvent combiné avec d'autres techniques comme l'attention globale sur certains tokens spéciaux ou le GQA (Grouped Query Attention) pour obtenir un équilibre optimal entre performance et efficacité.
Étymologie
Le terme combine "sliding window" (fenêtre glissante), concept emprunté au traitement du signal et aux réseaux informatiques où une fenêtre de taille fixe se déplace séquentiellement sur des données, et "attention", le mécanisme central des architectures Transformer introduit dans le papier "Attention Is All You Need" (2017).
Exemples concrets
Traitement de documents longs
Tu es un assistant qui analyse des documents juridiques de plus de 50 pages. Grâce au sliding window attention, tu peux traiter l'intégralité du document. Résume les clauses principales du contrat suivant en identifiant les obligations de chaque partie.
Choix de modèle pour une application
Je dois choisir un LLM pour une application de résumé de livres entiers. Compare les approches des modèles utilisant le sliding window attention (comme Mistral) versus l'attention complète pour mon cas d'usage, en termes de qualité et de coût.
Optimisation de l'inférence
Explique-moi comment configurer la taille de la fenêtre d'attention glissante dans un modèle Mistral pour optimiser le rapport qualité/vitesse lors du traitement de conversations longues avec historique de 30 000 tokens.
Usage pratique
En prompt engineering, comprendre le sliding window attention aide à structurer ses prompts pour les modèles qui l'utilisent : les informations les plus critiques doivent être placées à proximité de la question ou de l'instruction finale, car l'attention locale y est la plus forte. Pour les tâches sur de très longs documents, il est préférable de découper le contenu en sections cohérentes plutôt que de compter sur la propagation inter-couches pour relier des informations très éloignées.
Concepts liés
FAQ
Le sliding window attention perd-il de l'information par rapport à l'attention complète ?
Quelle est la différence entre sliding window attention et sparse attention ?
Comment la taille de la fenêtre affecte-t-elle les performances du modèle ?
Voir aussi
Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter.