Découvrez comment les « attention sinks » stabilisent les modèles LLM et VLM pour la génération de séquences infinies. Apprenez à optimiser la mémoire et à déployer une IA stable avec Ultralytics .
Les « puits d'attention » constituent un phénomène crucial découvert dans l'architecture des grands modèles linguistiques (LLM) et des modèles vision-langage (VLM) modernes, qui assure la stabilité lors de la génération continue de textes ou de données de grande longueur. Dans un mécanisme d'attention, les réseaux neuronaux attribuent de manière dynamique des « poids » aux différentes parties de l'entrée. Les chercheurs ont observé que les modèles autorégressifs concentrent intrinsèquement une quantité massive de scores d'attention excédentaires sur les tout premiers tokens d'une séquence, quelle que soit leur signification sémantique réelle. Ces tokens initiaux agissent comme un « puits d'attention », fournissant un ancrage mathématique qui empêche les scores d'attention du modèle de s'effondrer. En conservant en permanence ces tokens puits dans le cache KV du modèle, les développeurs peuvent permettre la génération de séquences infinies sans dégrader la précision ni provoquer de plantage dû aux limites de mémoire.
La nécessité des « attention sinks » découle de l'opération Softmax utilisée dans les Transformers. Comme la somme des scores d'attention doit toujours être égale à 1, le modèle a besoin d'un endroit où relocaliser l'attention non utilisée lors du traitement de données très localisées. Les premiers tokens d'une requête absorbent naturellement cet excédent.
Historiquement, lors de la génération de très longues séquences, les ingénieurs utilisaient des techniques de fenêtrage qui supprimaient les anciens tokens de la mémoire. Cependant, la suppression des premiers tokens entraînait une chute immédiate des performances. Les implémentations modernes, telles que StreamingLLM, conservent explicitement ces tokens initiaux aux côtés des tokens les plus récents. Cette approche hautement optimisée de la gestion de la mémoire est activement explorée dans les développements de vision par OpenAI et la rechercheGoogle , et est prise en charge nativement au sein de l' PyTorch .
Pour bien comprendre comment les modèles d'IA optimisent le contexte, il est utile de comparer les « attention sinks » à d'autres stratégies de mémoire et de matériel :
La découverte des « attention sinks » a ouvert la voie à des capacités de traitement en continu extrêmement efficaces dans divers secteurs.
Si les filtres d'attention servent principalement à optimiser les modèles génératifs à grande échelle, la mise en œuvre de boucles d'inférence efficaces et économes en mémoire revêt une importance capitale dans le domaine de la vision par ordinateur (CV). Lors du traitement de flux vidéo continus avec Ultralytics , l'utilisation de générateurs Python garantit la stabilité de la mémoire sur de longues périodes, à l'instar de la gestion d'une fenêtre de contexte localisée.
from ultralytics import YOLO
# Load the recommended Ultralytics YOLO26 model for efficient, real-time edge processing
model = YOLO("yolo26n.pt")
# Process a continuous video stream efficiently without memory overflow
results = model.predict(source="rtsp://continuous_camera_stream", stream=True)
# Iterate through the generator to maintain a stable memory footprint over time
for frame_result in results:
print(f"Detected {len(frame_result.boxes)} objects in the current frame.")
La mise à l'échelle de ces pipelines efficaces et continus de détection d'objets pour une utilisation en entreprise nécessite des outils de gestion robustes. Les développeurs peuvent utiliser la Ultralytics pour simplifier le déploiement des modèles et la gestion automatisée des ensembles de données, ce qui permet aux équipes de créer facilement des applications de vision stables et durables.

Commencez votre parcours avec l'avenir de l'apprentissage automatique