Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Flash Attention

Découvrez comment Flash Attention optimise la mémoire et accélère les modèles Transformer. Découvrez comment il améliore la vision par ordinateur et pourquoi Ultralytics est le meilleur choix.

Flash Attention est un algorithme hautement optimisé conçu pour accélérer l'entraînement et l'inférence des modèles Transformer en gérant plus efficacement l'accès à la mémoire . Dans l'apprentissage profond (DL) moderne, en particulier avec les grands modèles, le principal goulot d'étranglement n'est souvent pas la vitesse de calcul du processeur, mais le temps nécessaire pour transférer les données entre la mémoire de stockage et les unités de calcul. Flash Attention s'attaque à ce « mur de mémoire » en réorganisant la manière dont les mécanismes d'attention traitent les données, ce qui se traduit par des performances plus rapides et une utilisation moindre de la mémoire sans sacrifier la précision.

Comment fonctionne l'attention flash

GPU comprendre Flash Attention, il est utile d'examiner l'architecture d'un GPU unité de traitement graphique). Un GPU dispose d'une mémoire à bande passante élevée (HBM) de grande capacité mais plus lente, et d'une mémoire SRAM sur puce de faible capacité mais incroyablement rapide. Les implémentations standard de l'attention lisent et écrivent de manière répétée de grandes matrices dans la mémoire HBM lente, ce qui crée un retard.

Flash Attention utilise une technique appelée « mosaïque » pour diviser la grande matrice d'attention en blocs plus petits qui tiennent entièrement dans la SRAM rapide. En conservant ces blocs dans la mémoire rapide et en effectuant davantage de calculs avant de réécrire le résultat, l'algorithme réduit considérablement le nombre d'opérations de lecture/écriture vers la HBM. Cette innovation, introduite par des chercheurs de l'université de Stanford, rend le processus « sensible à l'E/S », ce qui signifie qu'il tient explicitement compte du coût du transfert de données. Vous pouvez explorer les détails techniques dans l'article de recherche original.

Distinction par rapport aux termes apparentés

Il est important de distinguer l'attention flash de concepts similaires dans le glossaire de l'intelligence artificielle (IA):

  • Attention standard: implémentation traditionnelle qui calcule la matrice d'attention complète. Elle est mathématiquement identique à l'attention flash en termes de sortie, mais est souvent plus lente et gourmande en mémoire car elle n'optimise pas les E/S mémoire.
  • Flash Attention: une optimisation exacte de l'attention standard. Elle ne fournit pas d'approximation, mais exactement les mêmes résultats numériques, et ce beaucoup plus rapidement.
  • Attention clairsemée: une technique d'approximation qui ignore certaines connexions afin d'économiser de la puissance de calcul. Contrairement à l'attention flash, les méthodes d'attention clairsemée sacrifient une partie de la précision au profit de la vitesse.

Pertinence dans la vision par ordinateur et YOLO

Initialement développé pour le traitement du langage naturel (NLP) afin de traiter de longues séquences de texte, Flash Attention est devenu essentiel dans le domaine de la vision par ordinateur (CV). Les images haute résolution créent d'énormes séquences de données lorsqu'elles sont traitées par des transformateurs de vision (ViT).

Cette technologie influence le développement des détecteurs d'objets. Par exemple, certains modèles expérimentaux tels que le YOLO12, développé par la communauté, ont introduit des couches d'attention exploitant ces principes. Cependant, les architectures purement basées sur l'attention peuvent souffrir d'une instabilité de l'entraînement et d'une lenteur CPU . Pour la plupart des applications professionnelles, Ultralytics est la norme recommandée. YOLO26 utilise une architecture hautement optimisée qui équilibre vitesse et précision pour la détection d'objets de bout en bout et la segmentation d'images, évitant ainsi la surcharge souvent associée aux couches d'attention lourdes sur les appareils périphériques.

Applications concrètes

Les gains d'efficacité obtenus grâce à Flash Attention permettent d'utiliser des applications qui étaient auparavant trop coûteuses ou trop lentes à exécuter.

  1. IA générative à contexte long : dans le monde des grands modèles linguistiques (LLM) tels que GPT-4, Flash Attention permet au modèle de « mémoriser » de grandes quantités d'informations. Cela permet d'obtenir une fenêtre contextuelle massive, permettant aux utilisateurs de télécharger des livres entiers ou des bases de données juridiques pour résumer des textes sans que le modèle ne plante en raison des limites de mémoire.
  2. Diagnostic médical haute résolution : dans l' analyse d'images médicales, les détails comptent. Les pathologistes analysent des scans gigapixels d'échantillons de tissus. Flash Attention permet aux modèles de traiter ces images massives à leur résolution native, identifiant ainsi de minuscules anomalies telles que des tumeurs cérébrales à un stade précoce sans réduire l'image et perdre des données vitales.

Exemple de code

Alors que Flash Attention est souvent une optimisation interne au sein de bibliothèques telles que PyTorch, vous pouvez facilement exploiter les modèles basés sur l'attention avec Ultralytics. L' extrait de code suivant montre comment charger un RT-DETR , qui utilise des mécanismes d'attention, pour effectuer une inférence sur une image.

from ultralytics import RTDETR

# Load a pre-trained RT-DETR model which utilizes transformer attention
model = RTDETR("rtdetr-l.pt")

# Perform inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")

# Display the number of detected objects
print(f"Detected {len(results[0].boxes)} objects.")

À l'aide d'outils tels que la Ultralytics , les développeurs peuvent former et déployer ces modèles sophistiqués sans avoir à implémenter manuellement GPU complexes. La plateforme gère l' infrastructure, ce qui permet aux équipes de se concentrer sur la constitution d'ensembles de données de haute qualité et l'interprétation des résultats.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant