Quantization-Aware Training (QAT)
Apprends comment l'entraînement conscient de la quantification (QAT) optimise les modèles Ultralytics YOLO26 pour le déploiement en périphérie. Découvre comment maintenir une haute précision avec la précision INT8.
L'entraînement tenant compte de 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 de plus faible précision. Dans les flux de travail deep learning standard, les modèles fonctionnent généralement avec des nombres à virgule flottante 32 bits haute précision (FP32). Bien que cette précision offre une excellente exactitude, elle peut s'avérer coûteuse en calculs et gourmande en mémoire, en particulier sur les appareils de périphérie (edge). La QAT simule les effets de la quantification — réduisant la précision à des formats tels que les entiers 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 à récupérer efficacement l'exactitude qui pourrait autrement être perdue lors d'une conversion post-entraînement.
Pourquoi la QAT est importante pour le déploiement en périphérie#
Le déploiement de computer vision models sur des appareils aux ressources contraintes nécessite souvent un équilibre entre vitesse et performances. Les méthodes de quantification standard, connues sous le nom de Post-Training Quantization (PTQ), appliquent une réduction de précision uniquement après que le modèle a été entièrement entraîné. Bien que la PTQ soit rapide, elle peut parfois dégrader l'exactitude des modèles sensibles, car les poids du neural network sont considérablement modifiés sans possibilité de s'ajuster.
La QAT résout ce problème en permettant au modèle de « s'entraîner » à être quantifié. Pendant la passe avant (forward pass) de l'entraînement, les poids et les activations sont simulés sous forme de valeurs de faible précision. Cela permet au processus de gradient descent de mettre à jour les paramètres du modèle de manière à minimiser la perte spécifiquement pour l'état quantifié. Le résultat est un modèle robuste qui conserve une exactitude élevée même lorsqu'il est déployé sur du matériel tel que des microcontrollers ou des processeurs mobiles.
Différencier la QAT de la quantification après entraînement (PTQ)#
Il est utile de distinguer la QAT de la model quantization, et plus particulièrement de la Post-Training Quantization (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. C'est plus rapide et ne nécessite aucun réentraînement, mais cela peut entraîner une perte d'exactitude plus importante pour les architectures complexes.
- Quantization-Aware Training (QAT) : Le processus de quantification est émulé lors de l'étape de fine-tuning. Le modèle ajuste ses paramètres internes pour s'adapter au bruit introduit par la plus faible précision, ce qui donne généralement une meilleure accuracy que la PTQ.
Applications concrètes#
La QAT est essentielle pour les secteurs où l'inférence en temps réel sur du matériel de périphérie est critique.
- Drones autonomes : Dans le cadre des AI drone operations, l'autonomie de la batterie et la puissance de traitement embarquée sont extrêmement limitées. Les drones utilisant des modèles optimisés via la QAT peuvent détecter des obstacles ou suivre des objets avec une grande précision tout en utilisant des accélérateurs INT8, ce qui prolonge considérablement les temps de vol par rapport aux modèles FP32.
- Caméras de commerce intelligent : Les supermarchés utilisent la computer vision in retail pour surveiller les stocks en rayon ou gérer les files d'attente aux caisses. Ces systèmes fonctionnent souvent sur des passerelles edge à faible consommation. La QAT garantit que les modèles de object detection exécutés sur ces appareils maintiennent l'exactitude nécessaire pour distinguer des produits similaires sans nécessiter de connectivité cloud coûteuse.
Implémenter la QAT avec Ultralytics#
La Ultralytics Platform et l'écosystème YOLO prennent en charge l'exportation de modèles vers des formats quantifiés. Bien que la 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 de la façon dont tu pourrais exporter un modèle YOLO26 entraîné vers un format TFLite quantifié en INT8, qui utilise 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 avec les écosystèmes de périphérie#
Les modèles optimisés par des techniques de quantification sont conçus pour s'exécuter sur des moteurs d'inférence spécialisés. Les modèles entraînés par QAT sont fréquemment déployés à l'aide de ONNX Runtime pour la compatibilité multiplateforme ou de OpenVINO pour l'optimisation sur le matériel Intel. Cela garantit que, que la cible soit un Raspberry Pi ou un Edge TPU dédié, le modèle fonctionne avec la plus grande efficacité et vitesse possibles.
Concepts clés liés à la QAT#
Pour bien comprendre la QAT, il est utile d'être familier avec plusieurs concepts de machine learning associés :
- Précision : Fait référence au niveau de détail utilisé pour représenter les nombres. La Half-precision (FP16) et l'INT8 sont des cibles courantes pour la quantification.
- Calibration : Le processus de détermination de la plage de valeurs d'activation dynamiques (min/max) pour mapper efficacement les nombres à virgule flottante vers des entiers. Il s'agit d'une étape cruciale dans le deploying quantized YOLO models.
- Latence d'inférence : L'un des principaux avantages de la QAT est la réduction de l'inference latency, ce qui permet une prise de décision plus rapide dans les systèmes en temps réel.
- Fine-Tuning : La QAT est souvent effectuée en tant qu'étape de fine-tuning sur un modèle pré-entraîné plutôt que par un entraînement à partir de zéro, ce qui permet d'économiser des ressources de calcul.
En intégrant l'entraînement tenant compte de la quantification dans le pipeline MLOps, tu peux combler le fossé entre les modèles de recherche de haute précision et les applications d'IA en périphérie (edge AI) hautement efficaces et prêtes pour la production.






