Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

FLOPs

Découvrez comment les FLOP mesurent la complexité computationnelle des modèles d'IA. Découvrez comment calculer les FLOP pour Ultralytics et optimiser les performances pour l'IA en périphérie.

Les FLOP, ou opérations en virgule flottante, sont une mesure standard utilisée pour évaluer la complexité computationnelle d'un modèle d'apprentissage automatique. Elles comptent spécifiquement le nombre de calculs mathématiques (principalement des additions et des multiplications impliquant des nombres décimaux) qu'un réseau neuronal doit effectuer pour traiter une seule entrée, telle qu'une image ou une phrase. Dans le monde de l' apprentissage profond, les FLOP servent de référence théorique pour estimer le « poids » ou le coût de calcul d'un modèle. Un nombre de FLOP élevé suggère généralement qu'un modèle est plus complexe et nécessitera plus de puissance de traitement et d'énergie pour s'exécuter, tandis qu'un nombre faible indique une architecture légère conçue pour être efficace.

Le rôle des FLOP dans la sélection des modèles

Lors du développement d' applications d'intelligence artificielle, les ingénieurs sont souvent confrontés à un compromis entre précision et vitesse. Les FLOP agissent comme un indicateur indépendant du matériel pour la latence d'inférence, permettant aux développeurs de comparer différentes architectures sans avoir à les tester sur tous les appareils possibles. Cette mesure est essentielle pour choisir le modèle adapté à des scénarios de déploiement spécifiques. Par exemple, un chercheur menant des expériences sur de puissants serveurs de cloud computing peut privilégier la précision plutôt que l'efficacité, en utilisant des modèles à FLOP élevés. À l'inverse, un ingénieur qui développe des appareils d'IA de pointe doit privilégier les FLOP faibles afin de garantir le bon fonctionnement de l'application dans des limites strictes en matière d'alimentation et de température.

Applications concrètes

Les implications pratiques des FLOP sont évidentes dans divers secteurs où les ressources informatiques sont un facteur critique .

  • Drones autonomes : dans des domaines tels que la robotique agricole, des drones équipés de caméras analysent la santé des cultures en temps réel. Les batteries des drones ayant une autonomie limitée, chaque watt consommé compte. Les ingénieurs sélectionnent spécifiquement des modèles à faible FLOP, tels que les variantes Nano de YOLO26, afin de minimiser la consommation du processeur embarqué et maximiser ainsi le temps de vol et la portée opérationnelle.
  • Réalité augmentée mobile : les applications pour smartphones qui utilisent la reconnaissance faciale à des fins de sécurité ou appliquent des filtres RA dépendent fortement d'un traitement efficace. Ces applications doivent fonctionner sans provoquer de surchauffe ou de ralentissement de l'appareil. Les développeurs utilisent des estimations FLOP pour sélectionner des modèles légers qui s'adaptent facilement aux capacités des puces mobiles telles que la série Snapdragon ou les puces Apple série A.

FLOPs vs FLOPS (opérations en virgule flottante par seconde)

Il est important de faire la distinction entre « FLOPs » (pluriel de FLOP) et « FLOPS » (tout en majuscules). Bien qu'ils semblent presque identiques, ils mesurent des choses différentes. FLOPs (avec un « s » minuscule) fait référence à la quantité totale d'opérations requises par un modèle — il s'agit d'une mesure statique de la complexité. FLOPS (avec un « S » majuscule) signifie « opérations en virgule flottante par seconde » et mesure la vitesse ou la capacité de performance du matériel, tel qu'un GPU. Vous pouvez considérer les FLOP comme la distance qu'une voiture doit parcourir (le travail à effectuer), tandis que les FLOPS correspondent à la vitesse maximale de la voiture (la capacité du matériel à effectuer le travail).

Mesurer les FLOP avec Python

Vous pouvez facilement calculer le coût de calcul d'un Ultralytics à l'aide de Python. Cela est particulièrement utile pendant la phase d'optimisation du modèle afin de vous assurer que votre réseau neuronal correspond à votre budget matériel. L'exemple suivant montre comment charger un modèle YOLO26 et déterminer ses FLOP.

from ultralytics import YOLO
from ultralytics.utils.torch_utils import get_flops

# Load a lightweight YOLO26 model
model = YOLO("yolo26n.pt")

# Calculate and print the model's FLOPs (Billions of operations)
# This gives you a hardware-independent complexity metric
flops = get_flops(model)
print(f"Model FLOPs: {flops:.2f} Billion")

Réduire les FLOP pour plus d'efficacité

Pour rendre les modèles plus faciles à déployer, les chercheurs utilisent plusieurs techniques afin de réduire les FLOP sans sacrifier de manière significative la précision. L'élagage de modèle consiste à supprimer les connexions moins importantes dans le réseau neuronal, ce qui permet de l'alléger efficacement. Une autre technique est la quantification, qui réduit la précision des nombres utilisés dans les calculs (par exemple, de 32 bits en virgule flottante à 8 bits en entier). Les outils disponibles sur Ultralytics permettent de rationaliser ces processus d'optimisation, facilitant ainsi le déploiement de modèles efficaces vers des cibles telles que TensorRT ou OpenVINO. En comprenant et en optimisant les FLOP, les développeurs peuvent créer des systèmes d'IA à la fois puissants et durables.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant