Optimise les modèles d'IA pour les appareils périphériques grâce à l'entraînement conscient de la quantification (QAT), ce qui garantit une grande précision et une grande efficacité dans les environnements aux ressources limitées.
L'entraînement conscient de la quantification (QAT) est une technique puissante utilisée pour optimiser les modèles d'apprentissage profond (DL), comme... Ultralytics YOLO pour être déployés sur des appareils aux ressources informatiques limitées, tels que les téléphones portables ou les systèmes embarqués. Les modèles standard utilisent souvent des nombres de haute précision (comme la virgule flottante 32 bits ou FP32) pour les calculs, ce qui demande une puissance de traitement et une mémoire importantes. L'EAQ vise à réduire cette demande en préparant le modèle pendant la phase d'entraînement pour qu'il soit performant même lorsqu'il utilise des nombres de précision inférieure (par exemple, des nombres entiers de 8 bits ou INT8), comblant ainsi le fossé entre une grande précision et une performance efficace sur les appareils périphériques. Cette optimisation est cruciale pour permettre des tâches d'IA complexes directement sur le matériel comme les smartphones ou les capteurs IoT.
La principale différence réside dans le moment où la quantification est appliquée. La quantification du modèle, souvent appelée quantification post-entraînement (PTQ), convertit un modèle pré-entraîné de pleine précision en un format de précision inférieure une fois l'entraînement terminé. La quantification post-entraînement est généralement plus simple à mettre en œuvre car elle ne nécessite pas de réentraînement ni d'accès à l'ensemble de données d'entraînement d'origine. Cependant, il peut parfois entraîner une diminution notable de la précision du modèle, en particulier pour les modèles complexes effectuant des tâches telles que la détection d'objets ou la segmentation d'images. QAT, en revanche, simule la quantification pendant la formation, ce qui rend le modèle intrinsèquement plus robuste à la réduction de la précision. Cela se traduit souvent par une plus grande précision du modèle quantifié final par rapport au PTQ, bien que cela nécessite plus de ressources informatiques et d'accès aux données d'entraînement. Pour des modèles comme YOLO, qui intègre des blocs favorables à la quantification, l'EAQ peut apporter des avantages significatifs en termes de performances avec une perte de précision minimale.
Bien que les deux techniques fassent appel à la précision numérique, leurs objectifs diffèrent. La formation en précision mixte vise principalement à accélérer le processus de formation lui-même et à réduire l'utilisation de la mémoire pendant la formation en utilisant une combinaison de formats de précision inférieure (par exemple, flottant 16 bits ou FP16) et de précision standard (flottant 32 bits) pour les calculs et le stockage. L'EAQ se concentre spécifiquement sur l'optimisation du modèle pour une inférence efficace en utilisant des formats entiers de faible précision (comme INT8) après le déploiement du modèle. Bien que la précision mixte soit utile pendant la formation, l'EAQ garantit que le modèle final fonctionne bien avec les contraintes du matériel d'inférence quantifiée, comme les NPU (Neural Processing Units) ou les TPU.
La formation consciente de la quantification est vitale pour déployer des modèles d'IA sophistiqués dans des environnements à ressources limitées où l'efficacité est essentielle.
Ultralytics prend en charge l'exportation des modèles vers différents formats tels que ONNX, TensorRTet TFLite, qui sont compatibles avec les flux de travail QAT, ce qui permet un déploiement efficace sur divers matériels. Tu peux gérer et déployer tes modèles optimisés par QAT en utilisant des plateformes comme Ultralytics HUB. Il est essentiel d'évaluer les performances du modèle à l'aide de mesures pertinentes après QAT pour s'assurer que les exigences en matière de précision sont respectées.
Comment fonctionne l'apprentissage par quantification
Contrairement aux méthodes qui quantifient un modèle après qu' il a été entièrement formé, QAT intègre la simulation des effets de quantification directement dans le processus de formation. Il introduit des opérations appelées nœuds de "fausse quantification" dans l'architecture du modèle pendant la formation. Ces nœuds imitent l'effet d'une précision inférieure (par exemple, la précision INT8) sur les poids et les activations du modèle pendant la passe avant, en arrondissant les valeurs comme elles le feraient dans un modèle réellement quantifié. Cependant, pendant la passe arrière (où le modèle apprend par rétropropagation), les gradients sont généralement calculés et les mises à jour appliquées à l'aide de nombres à virgule flottante standard de haute précision. Cela permet aux paramètres du modèle de s'adapter et d'apprendre à être robustes à la perte de précision qui se produira pendant l'inférence quantifiée réelle. En "voyant" les effets de la quantification pendant la formation, le modèle minimise la baisse de précision souvent associée au déploiement de modèles dans des formats de faible précision, un aspect clé abordé dans les stratégies d'optimisation des modèles. Des frameworks comme TensorFlow Lite et PyTorch fournissent des outils pour mettre en œuvre le QAT.