Glossaire

Précision mixte

Boostez l'efficacité de l'apprentissage profond avec un entraînement de précision mixte ! Obtenez des vitesses plus rapides, une utilisation réduite de la mémoire et des économies d'énergie sans sacrifier la précision.

La précision mixte est une technique utilisée dans l'apprentissage profond pour accélérer la formation des modèles et réduire la consommation de mémoire. Elle consiste à utiliser une combinaison de formats numériques de précision inférieure, comme la virgule flottante 16 bits (FP16), et de formats de précision supérieure, comme la virgule flottante 32 bits (FP32), pendant le calcul. En utilisant stratégiquement des nombres en basse précision pour certaines parties du modèle, telles que la multiplication des poids, et en conservant les composants critiques tels que les mises à jour de poids en haute précision, l'entraînement en précision mixte peut accélérer de manière significative les performances sur les GPU modernes sans perte substantielle de précision du modèle.

Comment fonctionne la précision mixte

L'idée de base de la précision mixte est de tirer parti de la vitesse et de l'efficacité de la mémoire des types de données de précision inférieure. Le matériel moderne, en particulier les GPU NVIDIA avec Tensor Cores, peut effectuer des opérations sur des nombres de 16 bits beaucoup plus rapidement que sur des nombres de 32 bits. Le processus comprend généralement trois étapes clés :

  1. Coulée en précision inférieure : La plupart des opérations du modèle, en particulier les multiplications et les convolutions de matrices à forte intensité de calcul, sont effectuées à l'aide de l'arithmétique de demi-précision (FP16). Cela permet de réduire l'empreinte mémoire et d'accélérer les calculs.
  2. Maintien d'une copie maîtresse des poids : Pour maintenir la précision et la stabilité du modèle, une copie principale des poids du modèle est conservée au format standard 32 bits à virgule flottante (FP32). Cette copie principale est utilisée pour accumuler les gradients et mettre à jour les poids au cours du processus d'apprentissage.
  3. Mise à l'échelle des pertes : Pour éviter les sous-débits numériques (lorsque de petites valeurs de gradient deviennent nulles lors de la conversion en FP16), une technique appelée mise à l'échelle des pertes est utilisée. Elle consiste à multiplier la perte par un facteur d'échelle avant la rétropropagation afin de maintenir les valeurs de gradient dans une plage représentable pour FP16. Avant la mise à jour des poids, les gradients sont remis à l'échelle.

Les frameworks d'apprentissage profond tels que PyTorch et TensorFlow disposent d'une prise en charge intégrée de la précision mixte automatique, ce qui facilite sa mise en œuvre.

Applications et exemples

La précision mixte est largement adoptée dans la formation de modèles d'apprentissage automatique à grande échelle, où l'efficacité est primordiale.

  • Formation de grands modèles linguistiques (LLM) : Les modèles tels que GPT-3 et BERT ont des milliards de paramètres. Les entraîner en utilisant uniquement FP32 nécessiterait des quantités prohibitives de mémoire et de temps de la part du GPU. La précision mixte permet d'entraîner de tels modèles de base en réduisant considérablement les besoins en mémoire et en accélérant les calculs. Cela permet aux chercheurs d'itérer plus rapidement et de construire des modèles de langage encore plus puissants.
  • Accélérer les modèles de vision par ordinateur : Dans le domaine de la vision par ordinateur, la précision mixte accélère l'apprentissage de modèles complexes tels que les réseaux neuronaux convolutifs (CNN) et les transformateurs de vision (ViT). Pour des tâches telles que la détection d'objets et la segmentation d'images, les modèles Ultralytics YOLO, y compris le dernier Ultralytics YOLO11, tirent parti de la précision mixte pour une convergence plus rapide. Ceci est particulièrement utile pour le réglage des hyperparamètres et le développement rapide sur des plateformes comme Ultralytics HUB. Une formation plus rapide facilite également une expérimentation plus rapide sur de grands ensembles de données tels que COCO. La précision mixte peut également être utilisée pendant l'inférence pour accélérer le déploiement du modèle, en particulier lors de l'exportation vers des formats tels que TensorRT, qui est fortement optimisé pour des précisions inférieures.

Concepts connexes

La précision mixte est l'une des nombreuses techniques d'optimisation utilisées pour rendre les modèles d'apprentissage profond plus efficaces. Il est important de la distinguer des concepts connexes :

  • Quantification du modèle: La quantification réduit la taille du modèle et le coût de calcul en convertissant les nombres à virgule flottante (comme FP32 ou FP16) en formats entiers de bits inférieurs, comme INT8. Alors que la précision mixte utilise différents formats de nombres à virgule flottante pendant la formation, la quantification est généralement appliquée après la formation(quantification post-formation) ou pendant celle-ci(formation consciente de la quantification) afin d'optimiser l'inférence, en particulier sur les appareils périphériques.
  • Élagage du modèle: L'élagage est une technique qui consiste à supprimer les connexions (poids) redondantes ou sans importance d'un réseau neuronal. Contrairement à la précision mixte, qui modifie le format numérique des poids, l'élagage modifie l'architecture même du modèle pour en réduire la taille et la complexité. Ces techniques peuvent être utilisées conjointement pour obtenir des gains de performance encore plus importants.

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