Glossaire

FLOPs

Comprenez les FLOPs dans l'apprentissage automatique ! Découvrez comment ils mesurent la complexité du modèle, influencent l'efficacité et facilitent la sélection du matériel.

Les FLOP, ou opérations en virgule flottante, sont une mesure fondamentale utilisée dans l'apprentissage automatique pour évaluer la complexité informatique d'un modèle. Une opération en virgule flottante est un calcul mathématique - comme une addition, une soustraction, une multiplication ou une division - impliquant des nombres avec des points décimaux, qui sont la norme dans les réseaux neuronaux. Bien que le terme puisse techniquement faire référence à des opérations par seconde, dans le contexte de l'apprentissage profond, les FLOP quantifient généralement le nombre total de ces opérations requises pour une seule passe avant d'un modèle. Cette mesure permet d'estimer, indépendamment du matériel, l'intensité de calcul d'un modèle lors de l'inférence. Les chiffres sont souvent si élevés qu'ils sont exprimés en GigaFLOPs (GFLOPs), qui correspondent à des milliards d'opérations, ou en TeraFLOPs (TFLOPs), qui correspondent à des trillions d'opérations.

Pourquoi les FLOPs sont-ils importants dans l'apprentissage automatique ?

Les FLOP sont un indicateur essentiel de l'efficacité d'un modèle. Un nombre de FLOP inférieur suggère généralement qu'un modèle sera plus rapide et nécessitera moins de puissance de calcul pour fonctionner. Ceci est particulièrement important pour les applications où les ressources sont limitées, comme dans l'IA de pointe et sur les appareils mobiles. En analysant les FLOP, les développeurs peuvent :

  • Comparer les architectures des modèles: Lorsqu'il s'agit de choisir entre différents modèles, tels que ceux présentés dans nos pages de comparaison de modèles, les FLOP offrent un moyen normalisé d'évaluer l'efficacité et la précision des calculs.
  • Optimiser pour le déploiement: Pour le déploiement de modèles sur du matériel tel qu'un Raspberry Pi ou un NVIDIA Jetson, la sélection d'un modèle avec un nombre de FLOP approprié est essentielle pour atteindre les niveaux de performance souhaités.
  • Guide de conception de modèles: Les chercheurs qui développent de nouvelles architectures, comme celles de la série YOLO d'Ultralytics, considèrent souvent la minimisation des FLOP comme une contrainte de conception essentielle. Les techniques explorées dans des modèles comme EfficientNet se concentrent sur la réduction des coûts de calcul sans sacrifier les performances.

Applications dans le monde réel

Les FLOP sont une mesure pratique utilisée quotidiennement dans le développement et le déploiement de solutions d'intelligence artificielle.

  1. Applications de vision mobile: Un développeur qui crée une fonction de détection d'objets en temps réel pour une application de smartphone doit choisir un modèle qui peut fonctionner rapidement sans épuiser la batterie. En comparant les FLOPs de modèles légers comme une petite variante YOLO11 d'Ultralytics à ceux d'autres modèles, il peut sélectionner un modèle qui offre un bon équilibre entre vitesse et précision pour le CPU ou le GPU de l'appareil.

  2. Véhicules autonomes: Dans la conduite autonome, les modèles de perception doivent traiter les images des caméras avec une latence extrêmement faible. Les ingénieurs qui conçoivent ces systèmes analysent les FLOP de différents modèles pour s'assurer que l'architecture choisie peut fonctionner sur le matériel spécialisé du véhicule. Un modèle comme YOLO11 peut être préféré à un modèle plus complexe si ses FLOPs plus faibles lui permettent de répondre aux exigences strictes de synchronisation pour un fonctionnement sûr.

FLOPs vs. mesures connexes

Il est important de distinguer les FLOP d'autres mesures courantes :

  • Paramètres vs. FLOPs: Le nombre de poids du modèle (paramètres) indique la taille d'un modèle en termes de stockage de mémoire. Les FLOP, quant à eux, mesurent le travail de calcul. Un modèle peut avoir un petit nombre de paramètres mais un nombre élevé de FLOP si ces paramètres sont réutilisés de nombreuses fois dans des opérations de calcul intensif.
  • MACs et FLOPs: Les MAC, ou opérations de multiplication et d'accumulation, sont des opérations courantes dans les réseaux neuronaux. Un seul MAC est souvent considéré comme équivalent à deux FLOP (une multiplication et une addition). Certains documents de recherche et cadres peuvent indiquer le coût de calcul en MAC, qui correspond à peu près à la moitié de la valeur en FLOP. Vous pouvez voir cette distinction dans des ressources telles que Papers with Code.
  • Latence vs. FLOPs: La latence d'inférence est le temps réel qu'il faut à un modèle pour faire une prédiction. Bien que les FLOPs fournissent une bonne estimation théorique, la latence réelle est influencée par des facteurs que les FLOPs ne capturent pas, tels que la bande passante de la mémoire, le parallélisme du matériel et l'efficacité des bibliothèques logicielles comme PyTorch.

Limites

Bien qu'utiles, les FLOP ont des limites :

  • Ils ne tiennent pas compte des coûts d'accès à la mémoire, qui peuvent constituer un goulot d'étranglement important.
  • Ils ne rendent pas compte du degré de parallélisme possible dans les opérations.
  • Les performances réelles dépendent fortement des optimisations spécifiques au matériel et de l'efficacité des bibliothèques logicielles sous-jacentes(cuDNN, Intel MKL).
  • Certaines opérations (par exemple, les fonctions d'activation comme ReLU) ont un faible nombre de FLOP mais peuvent néanmoins avoir un impact sur la latence.

Par conséquent, les FLOP doivent être pris en compte en même temps que d'autres mesures de performance, paramètres et références du monde réel pour obtenir une image complète de l'efficacité du modèle. Des outils comme Ultralytics HUB peuvent aider à gérer les modèles et à suivre les différents aspects de la performance pendant le développement et le déploiement.

Rejoindre la communauté Ultralytics

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

S'inscrire
Lien copié dans le presse-papiers