Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Précision mixte

Découvrez comment la précision mixte accélère l'entraînement et réduit la mémoire pour des modèles tels que Ultralytics . Explorez les avantages des formats FP16 et FP32 pour obtenir plus rapidement des informations issues de l'IA.

La précision mixte est une technique essentielle dans l' optimisation des modèles, utilisée pour accélérer l'entraînement des modèles d'apprentissage profond tout en réduisant la consommation de mémoire. En combinant stratégiquement différents formats numériques, généralement des types à virgule flottante 16 bits et 32 bits, cette méthode permet aux algorithmes d'apprentissage automatique d'effectuer des calculs plus rapidement sans sacrifier la précision finale du modèle. Elle est devenue une pratique courante dans le développement moderne de l'IA , en particulier pour les tâches gourmandes en ressources telles que l'entraînement de l' architecture YOLO26 sur des ensembles de données massifs.

Comment fonctionne la précision mixte

Dans les workflows traditionnels d'apprentissage profond, les modèles effectuent généralement des calculs en utilisant le format à virgule flottante simple précision (FP32). Chaque nombre en FP32 nécessite 32 bits de mémoire. Bien que très précis, ce format peut être coûteux en termes de calculs et gourmand en mémoire.

La précision mixte introduit l'utilisation de la demi-précision (FP16), qui n'utilise que 16 bits. Cependant, l'utilisation exclusive de FP16 peut entraîner une instabilité numérique en raison d'une plage dynamique plus petite. Pour résoudre ce problème, les méthodes de précision mixte conservent une « copie originale » des pondérations du modèle en FP32 pour plus de stabilité, tout en utilisant FP16 pour les opérations mathématiques lourdes, telles que les convolutions et les multiplications matricielles.

Le processus comprend généralement trois étapes clés :

  1. Casting : conversion des entrées et des activations du modèle en FP16 afin d'accélérer l'exécution sur du matériel compatible , tel que Tensor NVIDIA
  2. Échelle de perte : amplification des valeurs de la fonction de perte pour éviter le « sous-débordement », où les petites mises à jour de gradient deviennent des zéros dans FP16.
  3. Accumulation : exécution des opérations arithmétiques en FP16, mais accumulation des résultats en FP32 afin de conserver les informations nécessaires avant la mise à jour des poids maîtres.

Avantages de la formation en IA

L'adoption de la précision mixte offre des avantages significatifs aux développeurs et aux chercheurs qui utilisent efficacement les ressources informatiques :

  • Vitesse d'entraînement plus rapide : les opérations en FP16 nécessitent moins de bande passante mémoire et sont traitées plus rapidement par les GPU modernes. Cela peut réduire considérablement le temps nécessaire pour un epoch.
  • Réduction de l'utilisation de la mémoire : les tenseurs FP16 occupant deux fois moins de mémoire que les FP32, les développeurs peuvent essentiellement doubler la taille de leurs lots. Des lots plus importants permettent souvent d'obtenir des estimations de gradient plus stables et une convergence plus rapide.
  • Efficacité énergétique : la réduction de la charge de calcul se traduit par une baisse de la consommation d'énergie, ce qui est crucial pour les opérations de formation à grande échelle dans le cloud.

Applications concrètes

La précision mixte est utilisée dans divers secteurs pour traiter efficacement des modèles complexes et des ensembles de données volumineux.

Conduite autonome

Dans le cadre du développement de véhicules autonomes, les ingénieurs doivent entraîner des modèles de détection d'objets sur des millions d'images vidéo haute résolution. L'utilisation de la précision mixte leur permet d' entraîner efficacement des modèles de pointe tels que YOLO26. La réduction de l'empreinte mémoire permet le traitement d'entrées à plus haute résolution, ce qui est essentiel pour détecter de petits objets tels que des panneaux de signalisation ou des piétons à distance.

Analyse d'images médicales

L'analyse d'images médicales implique souvent des données volumétriques 3D issues d'IRM ou de tomodensitométries, qui sont extrêmement gourmandes en mémoire. L'entraînement de modèles de segmentation sur ces données en précision FP32 complète entraîne souvent des erreurs « Out of Memory » (OOM). La précision mixte permet aux chercheurs d'adapter ces modèles lourds à GPU , facilitant ainsi le développement d'une IA capable d'aider les médecins à diagnostiquer plus tôt les maladies.

Mise en œuvre de la précision mixte avec Ultralytics

Les cadres modernes tels que PyTorch gèrent généralement les complexités de la précision mixte automatiquement via une fonctionnalité appelée Automatic Mixed Precision (AMP). Le ultralytics Le package active AMP par défaut pendant l'entraînement afin de garantir des performances optimales.

Voici un exemple concis illustrant comment lancer l'entraînement avec YOLO26, où la précision mixte est activée par défaut (contrôlable via le amp argument) :

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Train the model on the COCO8 dataset
# amp=True is the default setting for mixed precision training
results = model.train(data="coco8.yaml", epochs=5, imgsz=640, amp=True)

Précision mixte vs concepts connexes

Il est utile de distinguer la précision mixte des termes similaires dans le glossaire afin d'éviter toute confusion :

  • Quantification du modèle: alors que la précision mixte utilise des nombres à virgule flottante de précision inférieure (FP16) pendant l'entraînement, la quantification convertit généralement les poids en nombres entiers (comme INT8) après l'entraînement pour le déploiement. La quantification se concentre principalement sur la latence d'inférence sur les appareils périphériques, tandis que la précision mixte se concentre sur la vitesse et la stabilité de l'entraînement.
  • Demi-précision: ce terme fait référence spécifiquement au format de données FP16 lui-même. La précision mixte est une technique qui consiste à utiliser à la fois FP16 et FP32 . L'utilisation de la demi-précision pure sans la copie maître FP32 « mixte » entraîne souvent des modèles qui ne parviennent pas à converger en raison d'erreurs numériques.

Conclusion

La précision mixte a révolutionné la manière dont les réseaux neuronaux sont entraînés, jouant un rôle essentiel dans la mise en place des modèles fondamentaux massifs et des systèmes de vision que nous connaissons aujourd'hui. En équilibrant le besoin de précision mathématique et les contraintes de vitesse et de mémoire du matériel , elle permet aux développeurs d'itérer plus rapidement et de créer des solutions d'IA plus performantes.

Pour ceux qui cherchent à gérer des ensembles de données et à former des modèles optimisés de manière transparente, la Ultralytics offre un environnement complet qui exploite automatiquement ces techniques d'optimisation modernes.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant