Sliding Window Attention
iaDéfinition
Le Sliding Window Attention (SWA) est une technique d'optimisation de l'attention dans les LLMs qui limite chaque token à n'attendre que ses W voisins les plus proches (W = taille de la fenêtre), plutôt que l'ensemble de la séquence. Cette approche réduit la complexité de l'attention de O(n²) à O(n×W), permettant de traiter des séquences très longues à coût linéaire. Introduit dans Mistral 7B (2023), le Sliding Window Attention est une adaptation du "local attention" longtemps étudié en NLP. L'intuition est que la plupart des dépendances importantes dans un texte naturel sont locales : un mot dépend principalement de ses voisins proches pour son sens immédiat. Les dépendances longue distance, bien que rares, sont capturées grâce aux couches successives du Transformer — à travers plusieurs couches de SWA, l'information peut se propager sur des distances arbitrairement longues (champ réceptif = W^L pour L couches). Dans Mistral 7B et Mixtral 8x7B, la fenêtre W=4096 tokens est utilisée pour un modèle supportant des contextes jusqu'à 32K tokens. Couplé au Rolling Buffer KV-Cache (qui réutilise les positions de cache de manière cyclique), le SWA permet à Mistral d'opérer sur de très longues séquences sans augmentation de mémoire proportionnelle. Pour les pipelines RAG enterprise, le Sliding Window Attention a des implications pratiques : si un passage pertinent se trouve au centre d'un très long contexte, certaines couches SWA ne pourront pas directement l'atteindre depuis le début ou la fin de la séquence. C'est une des raisons pour lesquelles le positionnement des chunks dans le prompt peut impacter la qualité des réponses.
Fonctionnement et champ réceptif
Avec une fenêtre W et L couches Transformer, le champ réceptif effectif à la couche L est W×L. Pour Mistral 7B (W=4096, 32 couches) : champ réceptif = 131072 tokens, ce qui explique que le modèle peut théoriquement utiliser les 32K tokens de contexte malgré la fenêtre locale.
Rolling Buffer KV-Cache
Mistral couple SWA avec un rolling buffer : le KV-Cache est une file circulaire de taille W. Les tokens hors fenêtre sont écrasés. Résultat : mémoire KV-Cache constante quel que soit la longueur de séquence — idéal pour les applications de streaming long (chatbots, assistants code).
Alternatives et évolutions
- Longformer : SWA + global attention pour tokens spéciaux [CLS]
- BigBird : SWA + random attention + global attention
- MegaByte : Attention locale sur bytes avec global attention sur patchs
- Gemma 2 : alternance de couches SWA (W=4096) et attention globale
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h