Connectez-vous à YOLO Vision 2025 !
25 septembre 2025
10:00 — 18:00, heure d'été britannique
Événement hybride
Yolo Vision 2024
Glossaire

Précision Moitié (Half-Precision)

Découvrez comment la demi-précision (FP16) accélère l'IA grâce à un calcul plus rapide, une utilisation réduite de la mémoire et un déploiement efficace des modèles.

La demi-précision, également connue sous le nom de FP16, est un format de nombre à virgule flottante qui utilise 16 bits de mémoire pour représenter un nombre, contrairement aux formats plus courants de simple précision (FP32) à 32 bits ou de double précision (FP64) à 64 bits. Dans le contexte du deep learning, l'utilisation de la demi-précision réduit considérablement l'empreinte mémoire et les exigences de calcul d'un modèle. Ce compromis se fait au détriment d'une plage numérique et d'une précision réduites. Cependant, les techniques modernes, en particulier l'entraînement en précision mixte, ont fait de FP16 la pierre angulaire de l'apprentissage automatique (ML) efficace en permettant un entraînement et une inférence plus rapides avec un impact minimal sur la précision du modèle.

Comment fonctionne la demi-précision

Le passage de FP32 à FP16 réduit de moitié la mémoire nécessaire pour stocker les poids et les activations du modèle. Cela permet d'utiliser des modèles plus grands, des tailles de lots plus importantes ou de s'entraîner sur des GPU avec moins de mémoire. De plus, les GPU modernes, tels que ceux avec les NVIDIA Tensor Cores, sont spécifiquement conçus pour effectuer des opérations matricielles 16 bits à des vitesses beaucoup plus élevées que les opérations 32 bits.

Le principal défi de FP16 est sa plage numérique limitée, qui peut entraîner des problèmes tels que la disparition des gradients pendant l'entraînement. Pour contrer cela, la demi-précision est presque toujours mise en œuvre en utilisant une approche de précision mixte. Cette stratégie consiste à effectuer la plupart des calculs en FP16 pour la vitesse, mais en utilisant stratégiquement FP32 pour les opérations critiques, telles que les mises à jour des poids et certains calculs de fonction de perte, afin de maintenir la stabilité numérique. Les frameworks de deep learning comme PyTorch et TensorFlow offrent une prise en charge intégrée de l'entraînement automatique en précision mixte.

Applications et exemples

La précision moitié, principalement grâce à des techniques de précision mixte, est largement utilisée :

  1. Accélération de l'entraînement des modèles : L'entraînement de grands modèles d'apprentissage profond, tels que ceux utilisés pour la classification d'images ou le traitement du langage naturel (NLP), peut être considérablement accéléré grâce à la précision mixte, ce qui réduit le temps et les coûts d'entraînement. Les plateformes comme Ultralytics HUB utilisent souvent ces optimisations pendant les sessions d'entraînement dans le cloud.
  2. Optimisation de l'inférence de la détection d'objets : Les modèles tels que Ultralytics YOLO11 peuvent être exportés vers des formats tels que ONNX ou TensorRT avec une précision FP16 pour une inférence en temps réel plus rapide. Ceci est crucial pour les applications nécessitant un débit élevé, telles qu'un système de sécurité analysant plusieurs flux vidéo ou un contrôle qualité sur une chaîne de production à grande vitesse.
  3. Déploiement sur des appareils aux ressources limitées : L'empreinte mémoire réduite et le coût de calcul des modèles FP16 les rendent adaptés au déploiement sur des plateformes d'IA en périphérie telles que NVIDIA Jetson ou sur des appareils mobiles utilisant des frameworks tels que TensorFlow Lite ou Core ML d'Apple.
  4. Entraînement des grands modèles de langage (LLM) : La taille énorme de modèles comme GPT-3 et d'autres modèles de fondation nécessite l'utilisation de formats 16 bits pour intégrer les modèles dans la mémoire et terminer l'entraînement dans des délais raisonnables.

Comparaison entre la demi-précision et d'autres formats

  • Bfloat16 (BF16) : Un format alternatif de 16 bits développé par Google, Bfloat16 alloue plus de bits à l'exposant et moins à la mantisse par rapport à FP16. Cela lui donne la même plage dynamique que FP32, ce qui le rend plus résistant au sous-débordement et au dépassement de capacité, mais au prix d'une précision moindre. Il est fortement utilisé dans les TPU de Google. Vous pouvez en lire plus à ce sujet sur le blog Google Cloud AI.
  • Quantification de modèle : Bien que les deux soient des techniques d'optimisation de modèle, la quantification de modèle convertit généralement les poids en virgule flottante (FP32 ou FP16) en formats d'entiers de bits inférieurs, le plus souvent des entiers de 8 bits (INT8). Cela peut fournir des accélérations encore plus importantes, en particulier sur les CPU et certains accélérateurs, mais nécessite souvent un processus de calibration plus attentif, comme l'entraînement conscient de la quantification (QAT), pour éviter une baisse significative des performances du modèle.
  • Simple précision (FP32) : Il s'agit du format par défaut dans la plupart des frameworks d'apprentissage profond. Il offre une haute précision et une large plage dynamique, ce qui le rend robuste pour l'entraînement. Cependant, il est plus lent et plus gourmand en mémoire que la demi-précision, ce qui le rend moins idéal pour le déploiement de grands modèles ou pour les applications nécessitant une vitesse maximale. Les compromis entre ces formats sont un élément clé à prendre en compte, comme le montrent diverses comparaisons de modèles.

Rejoignez la communauté Ultralytics

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

Rejoindre maintenant
Lien copié dans le presse-papiers