Otimize o desempenho da IA com a quantização de modelo. Reduza o tamanho, aumente a velocidade e melhore a eficiência energética para implementações no mundo real.
A quantização de modelos é uma técnica transformadora na aprendizagem automática concebida para reduzir os os custos computacionais e de memória da execução de redes neuronais. Ao converter os parâmetros do modelo do modelo - especificamente pesos e activações - de números de vírgula flutuante de alta precisão (normalmente 32 bits, conhecidos como FP32) para formatos de menor precisão, como números inteiros de 8 bits (INT8), os programadores podem reduzir significativamente o tamanho do ficheiro do modelo. Este processo é essencial para permitir implantação eficiente de modelos em hardware com recursos limitados, garantindo que as capacidades sofisticadas de IA podem funcionar sem problemas em tudo, desde smartphones a sensores industriais.
O mecanismo central da quantização envolve o mapeamento de uma vasta gama de valores contínuos para um conjunto mais pequeno de valores discretos. discretos. Num modelo típico de aprendizagem profunda, os parâmetros são armazenados como números de ponto flutuante de 32 bits para manter uma elevada precisão durante a fase de treinamento. No entanto, durante a inferência - a fase em que o modelo faz previsões - este nível de precisão é muitas vezes desnecessário.
A quantização comprime estes valores, o que reduz a largura de banda da memória necessária para ir buscar para obter os pesos do modelo e acelera as operações matemáticas. O hardware moderno, incluindo CPUs e aceleradores e aceleradores especializados, como GPUs, geralmente têm conjuntos de instruções dedicados para aritmética de inteiros que são mais rápidos e mais eficientes em termos de energia do que seus flutuante. Essa otimização ajuda a minimizar a latência de inferência, proporcionando uma experiência de utilizador mais rápida em aplicações em tempo real.
Existem duas abordagens principais para aplicar esta otimização, cada uma servindo diferentes fases do ciclo de vida do desenvolvimento ciclo de vida:
A quantização é uma pedra angular da IA de ponta, permitindo que tarefas complexas tarefas complexas sejam executadas localmente em dispositivos sem depender da conetividade da nuvem.
O quadro Ultralytics simplifica o processo de exportação de modelos para formatos de fácil quantização. O seguinte exemplo demonstra como exportar um modelo YOLO11 para TFLite com a quantização INT8 activada. Este processo trata automaticamente da calibração utilizando os dados especificados.
from ultralytics import YOLO
# Load the standard YOLO11 model
model = YOLO("yolo11n.pt")
# Export to TFLite format with INT8 quantization
# The 'data' argument provides calibration images
model.export(format="tflite", int8=True, data="coco8.yaml")
É útil distinguir a quantização de outras estratégias de otimização de modelos, uma vez que são frequentemente utilizadas em conjunto, mas funcionam de forma diferente:
À medida que os aceleradores de hardware se tornam mais especializados, a importância da quantização continua a crescer. A investigação futura Ultralytics como o próximo YOLO26, tem como objetivo aumentar a eficiência ainda mais, concebendo arquitecturas que são nativamente robustas à quantização agressiva, garantindo que visão computacional de alto desempenho permanece acessível mesmo nos dispositivos mais pequenos.
Para uma compatibilidade mais alargada, os modelos quantizados são frequentemente implementados utilizando normas interoperáveis como ONNX ou motores de inferência optimizados optimizados, como o TensorRT e OpenVINO.