Cross-Attention
iaDéfinition
Le Cross-Attention (ou attention croisée) est un mécanisme d'attention dans lequel les queries proviennent d'une séquence source et les keys/values d'une autre séquence cible. Contrairement au Self-Attention où une séquence s'interroge elle-même, le Cross-Attention permet à un modèle de "regarder" une autre représentation pour enrichir sa propre compréhension. Ce mécanisme est fondamental dans les architectures Encoder-Decoder (comme les Transformers originaux utilisés en traduction automatique), où le décodeur interroge les représentations produites par l'encodeur à chaque pas de décodage. C'est ce qui permet à un modèle de traduction de "focaliser" son attention sur les parties pertinentes de la phrase source lors de la génération de chaque mot cible. Dans les modèles multimodaux modernes (GPT-4V, Claude 3 Vision, Gemini, LLaVA), le Cross-Attention joue un rôle crucial pour intégrer les embeddings visuels (produits par un encodeur d'images ViT) avec les représentations textuelles du décodeur LLM. Chaque token textuel peut ainsi "s'aligner" avec les patches d'image pertinents. Dans les systèmes de diffusion conditionnelle (Stable Diffusion, DALL-E), le Cross-Attention est le mécanisme par lequel le prompt textuel guide le processus de débruitage de l'image : à chaque bloc U-Net, les features spatiales de l'image sont interrogées par les embeddings CLIP du texte. Pour les systèmes RAG (Retrieval-Augmented Generation), une forme de cross-attention intervient lors de la fusion des passages récupérés avec la question, notamment dans des architectures comme FiD (Fusion-in-Decoder) où chaque passage est encodé séparément puis fusionné via cross-attention dans le décodeur. La maîtrise du Cross-Attention est essentielle pour comprendre l'architecture des modèles vision-langage, des systèmes de traduction neuronale et des pipelines RAG avancés utilisés en entreprise.
Fonctionnement technique
Dans le Cross-Attention, les matrices Q, K, V proviennent de sources différentes :
- Q = projection de la séquence "décodeur" (ce qu'on génère)
- K, V = projections de la séquence "encodeur" (ce sur quoi on conditionne)
Formule : CrossAttention(Q, K, V) = softmax(QK^T / √d_k) × V, où Q ∈ ℝ^(n×d), K,V ∈ ℝ^(m×d) avec n ≠ m possible.
Applications dans les LLMs multimodaux
- LLaVA/InternVL : cross-attention entre tokens visuels ViT et tokens textuels
- Flamingo (DeepMind) : gated cross-attention layers intercalées entre les couches LLM
- Stable Diffusion XL : cross-attention dans U-Net entre embeddings texte (CLIP) et features image
- Whisper (OpenAI) : cross-attention audio→texte dans le décodeur ASR
Ressources
Papers clés : "Attention Is All You Need" (2017), "Flamingo: a Visual Language Model for Few-Shot Learning" (2022), "LLaVA: Large Language and Vision Assistant" (2023).
# Cross-Attention avec HuggingFace Transformers
from transformers import AutoModel
# Les modèles encoder-decoder (T5, BART) utilisent cross-attention nativement
# Vérifier: model.config.is_encoder_decoder == True
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