Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
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 est un format binaire de nombres à virgule flottante qui occupe 16 bits dans la mémoire de l'ordinateur, communément appelé FP16. communément appelé FP16. Dans le domaine de l'apprentissage profond, qui évolue rapidement l 'apprentissage profond, ce format constitue une alternative puissant au format standard 32 bits en simple précision (FP32) traditionnellement utilisé pour les calculs numériques. En réduisant En réduisant le nombre de bits nécessaires pour représenter chaque nombre, la demi-précision réduit considérablement la pression sur la bande passante de la mémoire et les besoins de stockage pour les calculs numériques. la pression de la bande passante de la mémoire et les exigences de stockage pour les poids et les activations du modèle. les poids et les activations du modèle. Cette efficacité permet aux aux chercheurs et aux ingénieurs de former des réseaux réseaux neuronaux de plus grande taille ou de déployer des sur du matériel aux ressources limitées sans compromettre la précision des prédictions.

La mécanique de la demi-précision

La norme IEEE 754 définit la structure des nombres à virgule flottante. FP16 alloue 1 bit pour le signe, 5 bits pour l'exposant et 10 bits pour la fraction (mantisse). Cette représentation compacte contraste avec FP32, qui utilise 8 bits pour l'exposant et 23 pour la fraction. Le principal principal avantage de l'utilisation de FP16 dans vision par ordinateur et d'autres tâches d'IA est l'accélération l'accélération des opérations mathématiques. Les accélérateurs matériels modernes, tels que les NVIDIA Tensor Cores, sont spécifiquement conçus pour effectuer des multiplications de matrices en demi-précision à des vitesses nettement supérieures à celles des opérations en simple précision.

Cependant, le nombre réduit de bits implique une gamme dynamique plus petite et une précision moindre. Cela peut potentiellement conduire à une instabilité numérique, telle que gradients qui s'évanouissent, où les nombres deviennent trop petits pour que l'ordinateur puisse les représenter distinctement de zéro. trop petits pour que l'ordinateur puisse les représenter distinctement de zéro. Pour atténuer ce problème, les développeurs emploient souvent des stratégies de stratégies de précision mixte, qui passent dynamiquement entre FP16 et FP32 pendant la formation pour maintenir la stabilité tout en capitalisant sur la vitesse de la demi-précision.

Applications de l'IA dans le monde réel

La demi-précision est omniprésente dans les flux de travail modernes de l'IA, en particulier dans les scénarios nécessitant un débit élevé ou une faible latence. latence.

  1. Déploiement de l'IA en périphérie: Lors du déploiement de modèles sur des comme les drones, les caméras intelligentes ou les téléphones mobiles, la mémoire et la durée de vie de la batterie sont des contraintes de premier ordre. La conversion d'un modèle tel que YOLO11 en FP16 réduit la taille du modèle d'environ 50%, ce qui lui permet de tenir dans la RAM limitée des systèmes embarqués comme le NVIDIA Jetson ou le Raspberry Pi. Cela permet une latence d'inférence plus rapide latence d'inférence plus rapide, permettant une temps réel dans des applications telles que la navigation autonome.
  2. Formation de modèles à grande échelle: Formation d'architectures massives, telles que les grands modèles de langage (LLM) ou modèles de vision de fondation, nécessite le traitement de téraoctets de données. L'utilisation du FP16 permet aux centres de données de doubler la taille des lots. taille du lot dans la mémoire mémoireGPU , ce qui réduit considérablement les cycles d'entraînement. Cette efficacité est essentielle pour l'expérimentation rapide et l'itération sur les architectures de nouvelle génération telles que YOLO26. comme le futur YOLO26.

Mise en œuvre de la demi-précision avec Ultralytics

Des cadres tels que PyTorch et des bibliothèques telles que ultralytics facilitent l'utilisation de la demi-précision. L'exemple suivant montre comment exporter un modèle YOLO11 vers le TensorRT en utilisant le format FP16, une pratique courante pour optimiser la vitesse d'inférence sur les GPU NVIDIA .

from ultralytics import YOLO

# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TensorRT engine with half-precision enabled
# The 'half=True' argument ensures weights are converted to FP16
model.export(format="engine", half=True)

Distinguer les termes apparentés

Pour comprendre la demi-précision, il faut la distinguer des techniques d'optimisation connexes décrites dans le glossaire :

  • Demi-précision et précision mixte: Alors que la demi-précision se réfère spécifiquement au format de données de 16 bits, la précision mixte est une technique d'entraînement qui qui combine FP16 pour les calculs lourds et FP32 pour les accumulations sensibles (comme les mises à jour de poids) afin d'éviter la perte d'informations. d'information.
  • Demi-précision vs. Modèle de quantification: La demi-précision conserve la représentation en virgule flottante, en réduisant simplement la largeur des bits. La quantification convertit généralement les poids en formats entiers, tels que INT8 (entiers de 8 bits), ce qui offre une compression et une vitesse encore plus grandes. mais nécessite des techniques d'étalonnage minutieuses telles que l'apprentissage conscient de la quantification (QAT) afin d'éviter une dégradation de la précision.
  • Demi-précision contre Bfloat16: Bfloat16 (Brain Floating Point) est un format alternatif de 16 bits souvent utilisé sur les TPU. 16 bits souvent utilisé sur les TPU. Il Il conserve l'exposant de 8 bits du FP32 pour maintenir la plage dynamique, mais sacrifie la précision de la fraction, ce qui le rend généralement plus stable pour l'apprentissage que le FP16 IEEE standard, sans que la précision de la fraction ne soit compromise. généralement plus stable pour l'apprentissage que le FP16 IEEE standard sans nécessiter de mise à l'échelle des pertes.

En maîtrisant ces formats, les développeurs peuvent s'assurer que leurs stratégies de déploiement de modèles sont optimisées pour les besoins de l'entreprise. stratégies de déploiement de modèles sont optimisées pour les pour les exigences spécifiques de leurs projets en matière de matériel et de performances.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant