Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Quantification de modèle

Optimisez les performances de l'IA grâce à la quantification des modèles. Réduisez la taille, augmentez la vitesse et améliorez l'efficacité énergétique pour les déploiements dans le monde réel.

Model quantization is a sophisticated model optimization technique used to reduce the computational and memory costs of running deep learning models. In standard training workflows, neural networks typically store parameters (weights and biases) and activation maps using 32-bit floating-point numbers (FP32). While this high precision ensures accurate calculations during training, it is often unnecessary for inference. Quantization converts these values into lower-precision formats, such as 16-bit floating-point (FP16) or 8-bit integers (INT8), effectively shrinking the model size and accelerating execution speed without significantly compromising accuracy.

Why Quantization Matters

The primary driver for quantization is the need to deploy powerful AI on resource-constrained hardware. As computer vision models like YOLO26 become more complex, their computational demands increase. Quantization addresses three critical bottlenecks:

  • Memory Footprint: By reducing the bit-width of weights (e.g., from 32-bit to 8-bit), the model's storage requirement is reduced by up to 4x. This is vital for mobile apps where application size is restricted.
  • Inference Latency: Lower precision operations are computationally cheaper. Modern processors, especially those with specialized neural processing units (NPUs), can execute INT8 operations much faster than FP32, significantly reducing inference latency.
  • Power Consumption: Moving less data through memory and performing simpler arithmetic operations consumes less energy, extending battery life in portable devices and autonomous vehicles.

Comparaison avec des concepts connexes

Il est important de différencier la quantification des autres techniques d'optimisation, car elles modifient le modèle de manière distincte :

  • Quantization vs. Pruning: While quantization reduces the file size by lowering the bit-width of parameters, model pruning involves removing unnecessary connections (weights) entirely to create a sparse network. Pruning alters the model's structure, whereas quantization alters the data representation.
  • Quantification vs distillation des connaissances : La distillation des connaissances est une technique d'apprentissage dans laquelle un petit modèle « élève » apprend à imiter un grand modèle « enseignant ». La quantification est souvent appliquée au modèle élève après la distillation afin d'améliorer encore les performances de l'IA en périphérie.

Applications concrètes

Quantization enables computer vision and AI across various industries where efficiency is paramount.

  1. Autonomous Systems: In the automotive industry, self-driving cars must process visual data from cameras and LiDAR in real-time. Quantized models deployed on NVIDIA TensorRT engines allow these vehicles to detect pedestrians and obstacles with millisecond latency, ensuring passenger safety.
  2. Agriculture intelligente : des drones équipés de caméras multispectrales utilisent des modèles de détection d'objets quantifiés pour identifier les maladies des cultures ou surveiller les stades de croissance. L'exécution de ces modèles localement sur les systèmes embarqués des drones élimine le recours à des connexions cellulaires peu fiables dans les champs éloignés.

Mise en œuvre de la quantification avec Ultralytics

The Ultralytics library simplifies the export process, allowing developers to convert models like the cutting-edge YOLO26 into quantized formats. The Ultralytics Platform also provides tools to manage these deployments seamlessly.

The following example demonstrates how to export a model to TFLite with INT8 quantization enabled. This process involves a calibration step where the model observes sample data to determine the optimal dynamic range for the quantized values.

from ultralytics import YOLO

# Load a standard YOLO26 model
model = YOLO("yolo26n.pt")

# Export to TFLite format with INT8 quantization
# The 'int8' argument triggers Post-Training Quantization
# 'data' provides the calibration dataset needed for mapping values
model.export(format="tflite", int8=True, data="coco8.yaml")

Les modèles optimisés sont souvent déployés à l'aide de normes interopérables telles que ONNX ou des moteurs d'inférence haute performance tels que OpenVINO, garantissant une large compatibilité entre divers écosystèmes matériels.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant