Saiba como a quantização de modelos otimiza Ultralytics para IA de ponta. Descubra como reduzir a memória, diminuir a latência e exportar modelos INT8 para uma inferência mais rápida.
A quantização de modelos é uma sofisticada técnica de otimização de modelos usada para reduzir os custos computacionais e de memória da execução de modelos de aprendizagem profunda. Em fluxos de trabalho de treinamento padrão, as redes neurais normalmente armazenam parâmetros (weights and biases) e mapas de ativação usando números de ponto flutuante de 32 bits (FP32). Embora essa alta precisão garanta cálculos precisos durante o treinamento, muitas vezes ela é desnecessária para a inferência. A quantização converte esses valores em formatos de menor precisão, como ponto flutuante de 16 bits (FP16) ou inteiros de 8 bits (INT8), reduzindo efetivamente o tamanho do modelo e acelerando a velocidade de execução sem comprometer significativamente a precisão.
O principal impulsionador da quantização é a necessidade de implementar IA poderosa em hardware com recursos limitados. À medida que modelos de visão computacional como o YOLO26 se tornam mais complexos, as suas exigências computacionais aumentam. A quantização aborda três gargalos críticos:
É importante diferenciar a quantização de outras técnicas de otimização, pois elas modificam o modelo de maneiras distintas :
A quantização permite a visão computacional e a IA em vários setores onde a eficiência é fundamental.
Ultralytics simplifica o processo de exportação, permitindo que os programadores convertam modelos como o inovador YOLO26 em formatos quantizados. A Ultralytics também fornece ferramentas para gerir essas implementações de forma integrada.
O exemplo a seguir demonstra como exportar um modelo para o TFLite com quantização INT8 ativada. Esse processo envolve uma etapa de calibração em que o modelo observa dados de amostra para determinar a faixa dinâmica ideal para os valores quantizados.
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")
Os modelos otimizados são frequentemente implementados utilizando padrões interoperáveis, como ONNX ou motores de inferência de alto desempenho, como o OpenVINO, garantindo ampla compatibilidade entre diversos ecossistemas de hardware.