Découvrez comment la formation sensible à la quantification (QAT) optimise les modèles Ultralytics pour un déploiement en périphérie. Découvrez comment maintenir une grande précision avec la précision INT8.
La formation sensible à la quantification (QAT) est une technique spécialisée utilisée pendant la phase de formation des modèles d'apprentissage automatique afin de les préparer à des environnements de moindre précision. Dans les flux de travail d'apprentissage profond standard, les modèles fonctionnent généralement à l'aide de nombres à virgule flottante 32 bits de haute précision (FP32). Bien que cette précision offre une excellente exactitude, elle peut être coûteuse en termes de calcul et de mémoire, en particulier sur les appareils périphériques. Le QAT simule les effets de la quantification, en réduisant la précision à des formats tels que les entiers 8 bits (INT8), pendant que le modèle est encore en cours de formation. En introduisant ces erreurs de quantification pendant le processus d'apprentissage, le modèle apprend à adapter ses poids et à récupérer efficacement la précision qui pourrait autrement être perdue lors de la conversion post-formation.
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 post-entraînement (PTQ), n'appliquent la réduction de précision qu'une fois le modèle entièrement entraîné. Bien que la PTQ soit rapide, elle peut parfois dégrader la précision des modèles sensibles, car les pondérations du réseau neuronal sont considérablement modifiées sans possibilité d'ajustement.
QAT résout ce problème en permettant au modèle de « s'entraîner » à être quantifié. Au cours de la phase ascendante de l'entraînement, les poids et les activations sont simulés sous forme de valeurs à faible précision. Cela permet au processus de descente de gradient de mettre à jour les paramètres du modèle de manière à minimiser la perte spécifiquement pour l'état quantifié. Il en résulte un modèle robuste qui conserve une grande précision même lorsqu'il est déployé sur du matériel tel que des microcontrôleurs ou des processeurs mobiles.
Il est utile de distinguer le QAT de la quantification du modèle, en particulier la quantification post-entraînement (PTQ) :
Le QAT est essentiel pour les industries où l'inférence en temps réel sur le matériel périphérique est cruciale.
Ultralytics et YOLO prennent en charge l'exportation de 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 de modèles pour l'inférence quantifiée.
Vous trouverez ci-dessous un exemple illustrant comment exporter un modèle YOLO26 entraîné vers un TFLite quantifié INT8, qui utilise les principes de quantification pour un déploiement efficace en périphérie.
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)
Les modèles optimisés via des techniques de quantification sont conçus pour fonctionner sur des moteurs d'inférence spécialisés. Les modèles entraînés par QAT sont souvent déployés à l'aide ONNX pour une compatibilité multiplateforme ou OpenVINO pour l'optimisation sur 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 la plus grande rapidité possibles.
Pour bien comprendre le QAT, il est utile de se familiariser avec plusieurs concepts liés à l'apprentissage automatique :
En intégrant la formation sensible à la quantification dans le pipeline MLOps, les développeurs peuvent combler le fossé entre les modèles de recherche de haute précision et les applications d'IA de pointe hautement efficaces et prêtes à être mises en production.