Ring Attention
Explore comment Ring Attention étend les Transformers à des longueurs de séquence infinies. Découvre comment cette technique améliore les LLM et les Vision Transformers pour les tâches impliquant d’importants volumes de données.
Ring Attention est une technique avancée d'apprentissage automatique (ML) conçue pour étendre la fenêtre de contexte des architectures Transformer à des longueurs de séquence virtuellement infinies. En répartissant le calcul complexe de l'attention sur un cluster de GPU connectés selon une topologie en anneau, elle superpose efficacement la communication et le calcul. Cette avancée architecturale permet aux grands modèles de langage (LLMs) et aux transformers de vision (ViT) de traiter des entrées massives, telles que des livres entiers ou plusieurs heures de vidéo continue, qui dépassent largement la capacité mémoire de tout appareil matériel individuel.
Dépasser la limite de la fenêtre de contexte#
Dans les mécanismes standards d'attention personnelle, la consommation mémoire augmente de manière quadratique avec la longueur de la séquence d'entrée. Cela crée un goulet d'étranglement majeur pour les modèles d'apprentissage profond (DL) qui tentent d'analyser des données de longue durée. Pour en savoir plus sur la manière dont la communauté de l'AI s'attaque à ce problème, tu peux consulter les travaux de Berkeley AI Research sur les modèles à grand contexte.
Ring Attention résout ce goulet d'étranglement quadratique en répartissant les requêtes, les clés et les valeurs en blocs plus petits. Chaque GPU du réseau distribué calcule un bloc, puis transmet les clés et les valeurs à l'appareil voisin dans l'anneau. Ce transfert cyclique se poursuit jusqu'à ce que le mécanisme d'attention complet soit calculé. L'utilisation d'outils tels que le package de communication distribuée de PyTorch permet aux développeurs de créer ces pipelines sophistiqués d'entraînement multi-appareils.
Ring Attention ou Flash Attention#
Bien que les deux techniques optimisent la mémoire, elles opèrent à des niveaux différents. Flash Attention est un algorithme tenant compte du matériel qui réduit les lectures et écritures mémoire coûteuses au sein de la SRAM d'un seul GPU. À l'inverse, Ring Attention est un algorithme distribué axé sur la mise à l'échelle du calcul sur plusieurs GPU. Dans les workflows d'IA générative de pointe, ces deux techniques sont souvent combinées afin d'obtenir à la fois une efficacité matérielle localisée et une évolutivité massive sur plusieurs appareils, comme l'explique l'article de recherche original sur Ring Attention publié sur arXiv.
Applications concrètes#
La capacité à traiter simultanément des millions de tokens ouvre la voie à de puissantes fonctionnalités dans l'AI moderne :
-
Analyse complète de documents et de bases de code : Ring Attention permet aux modèles d'ingérer des millions de lignes de code ou des corpus juridiques complexes dans une seule invite. Cela améliore considérablement les systèmes reposant sur la génération augmentée par récupération (RAG), en leur permettant de synthétiser le contexte sans tronquer les informations essentielles. Ce concept est fondamental pour les modèles à contexte massif, comme l'architecture Gemini de Google.
-
Compréhension vidéo étendue : En vision par ordinateur (CV), le traitement de séquences vidéo haute résolution nécessite généralement un sous-échantillonnage agressif. Ring Attention permet aux modèles d'analyser des flux vidéo non compressés d'une durée d'une heure. Cela améliore la reconnaissance d'actions et le suivi continu d'objets dans les systèmes de sécurité et de conduite autonome, tout en maintenant une perception temporelle sur de longues périodes.
Traitement des séquences visuelles#
Alors que les modèles d'attention distribuée massive gèrent des contextes infinis, les applications pratiques privilégiant l'edge exigent des architectures hautement optimisées. Pour l'inférence en temps réel et le traitement de séquences visuelles, Ultralytics YOLO26 offre des performances de premier plan sans la surcharge de calcul extrême des transformers reposant exclusivement sur l'attention.
from ultralytics import YOLO
# Load the recommended YOLO26 model for high-speed object tracking
model = YOLO("yolo26n.pt")
# Perform robust multi-object tracking on a long video sequence
results = model.track(source="long_surveillance_feed.mp4", stream=True)
# Iterate through the stream to process temporal tracking data
for frame_result in results:
print(f"Tracked {len(frame_result.boxes)} objects in current frame.")Lors de la conception et de la mise à l'échelle de solutions complexes de détection d'objets et de segmentation d'images, la gestion de l'orchestration matérielle est essentielle. La plateforme Ultralytics simplifie entièrement ce processus en proposant des outils pour un entraînement dans le cloud fluide, l'annotation automatisée des jeux de données et le déploiement de modèles en un clic sur plusieurs environnements matériels. L'utilisation de ces plateformes garantit que les techniques de mise à l'échelle de pointe passent sans difficulté de la recherche à des pipelines d'AI évolutifs et prêts pour la production.









