Quantization-Aware Training (QAT)
Découvre comment l’entraînement sensible à la quantification (QAT) optimise les modèles Ultralytics YOLO26 pour le déploiement en périphérie. Apprends à maintenir une grande précision avec une précision INT8.
L'entraînement prenant en compte la quantification (QAT) est une technique spécialisée utilisée pendant la phase d'entraînement des modèles de machine learning pour les préparer aux environnements à précision réduite. Dans les workflows de deep learning standard, les modèles utilisent généralement des nombres à virgule flottante de haute précision sur 32 bits (FP32). Bien que cette précision offre une excellente exactitude, elle peut être coûteuse en calcul et exigeante en mémoire, notamment sur les appareils edge. Le QAT simule les effets de la quantification — la réduction de la précision vers des formats tels que les entiers sur 8 bits (INT8) — pendant que le modèle est encore en cours d'entraînement. En introduisant ces erreurs de quantification au cours du processus d'apprentissage, le modèle apprend à adapter ses poids et à retrouver efficacement l'exactitude qui pourrait autrement être perdue lors de la conversion après entraînement.
Pourquoi le QAT est important pour le déploiement edge#
Le déploiement de modèles de vision par ordinateur sur des appareils aux ressources limitées nécessite souvent de trouver un équilibre entre vitesse et performances. Les méthodes de quantification standard, connues sous le nom de quantification après entraînement (PTQ), appliquent la réduction de précision uniquement une fois l'entraînement complet du modèle terminé. Bien que le PTQ soit rapide, il peut parfois dégrader l'exactitude des modèles sensibles, car les poids du réseau neuronal sont considérablement modifiés sans possibilité d'ajustement.
Le QAT résout ce problème en permettant au modèle de « s'entraîner » à être quantifié. Pendant la passe avant de l'entraînement, les poids et les activations sont simulés sous forme de valeurs à faible précision. Le processus de descente de gradient peut ainsi mettre à jour les paramètres du modèle de manière à minimiser la perte spécifiquement pour l'état quantifié. On obtient un modèle robuste qui conserve une grande exactitude, même lorsqu'il est déployé sur du matériel tel que des microcontrôleurs ou des processeurs mobiles.
Différencier le QAT de la quantification après entraînement (PTQ)#
Il est utile de distinguer le QAT de la quantification des modèles, plus précisément de la quantification après entraînement (PTQ) :
- Quantification après entraînement (PTQ) : Le modèle est entraîné normalement en FP32. Une fois l'entraînement terminé, les poids sont convertis en INT8. Cette méthode est plus rapide et ne nécessite aucun réentraînement, mais peut entraîner une perte d'exactitude plus importante pour les architectures complexes.
- Entraînement prenant en compte la quantification (QAT) : Le processus de quantification est émulé pendant la phase d'affinage. Le modèle ajuste ses paramètres internes pour prendre en compte le bruit introduit par la précision réduite, ce qui permet généralement d'obtenir une meilleure exactitude que le PTQ.
Applications concrètes#
Le QAT est essentiel dans les secteurs où l'inférence en temps réel sur du matériel edge est critique.
- Drones autonomes : Dans les opérations de drones pilotés par l'IA, l'autonomie de la batterie et la puissance de calcul embarquée sont fortement limitées. Les drones utilisant des modèles optimisés par le QAT peuvent détecter les obstacles ou suivre des objets avec une grande précision à l'aide d'accélérateurs INT8, ce qui prolonge considérablement leur durée de vol par rapport aux modèles FP32.
- Caméras intelligentes pour le commerce de détail : Les supermarchés utilisent la vision par ordinateur dans le commerce de détail pour surveiller les stocks en rayon ou gérer les files d'attente aux caisses. Ces systèmes fonctionnent souvent sur des passerelles edge basse consommation. Le QAT garantit que les modèles de détection d'objets exécutés sur ces appareils conservent l'exactitude nécessaire pour distinguer des produits similaires sans nécessiter une connectivité cloud coûteuse.
Mise en œuvre du QAT avec Ultralytics#
La plateforme Ultralytics et l'écosystème YOLO prennent en charge l'exportation des modèles vers des formats quantifiés. Bien que le QAT soit une procédure d'entraînement complexe, les frameworks modernes facilitent la préparation des modèles pour l'inférence quantifiée.
Voici un exemple d'exportation d'un modèle YOLO26 entraîné vers un format TFLite quantifié en INT8, qui applique les principes de la quantification pour un déploiement edge efficace.
from ultralytics import YOLO
# Load a trained YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format with INT8 quantization
# This prepares the model for efficient execution on edge devices
model.export(format="tflite", int8=True)Intégration aux écosystèmes edge#
Les modèles optimisés à l'aide de techniques de quantification sont conçus pour fonctionner sur des moteurs d'inférence spécialisés. Les modèles entraînés avec le QAT sont fréquemment déployés avec ONNX Runtime pour assurer la compatibilité multiplateforme, ou avec OpenVINO pour optimiser leur exécution sur du matériel Intel. Ainsi, que la cible soit un Raspberry Pi ou un Edge TPU dédié, le modèle fonctionne avec la meilleure efficacité et la plus grande vitesse possibles.
Concepts clés liés au QAT#
Pour comprendre pleinement le QAT, il est utile de connaître plusieurs concepts connexes du machine learning :
- Précision : Désigne le niveau de détail utilisé pour représenter les nombres. La demi-précision (FP16) et INT8 sont des cibles courantes de la quantification.
- Calibration : Processus consistant à déterminer la plage des valeurs d'activation dynamiques (min/max) afin de convertir efficacement les nombres à virgule flottante en entiers. Il s'agit d'une étape essentielle du déploiement de modèles YOLO quantifiés.
- Latence d'inférence : L'un des principaux avantages du QAT est la réduction de la latence d'inférence, qui permet une prise de décision plus rapide dans les systèmes en temps réel.
- Affinage : Le QAT est souvent réalisé comme étape d'affinage sur un modèle préentraîné plutôt que comme un entraînement à partir de zéro, ce qui permet d'économiser des ressources de calcul.
En intégrant l'entraînement prenant en compte la quantification au pipeline MLOps, les développeurs peuvent combler l'écart entre les modèles de recherche à haute exactitude et les applications d'IA edge très efficaces et prêtes pour la production.









