Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Quantização de Modelo

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.

Por que a quantização é importante

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:

  • Pegada de memória: Ao reduzir a largura de bits dos pesos (por exemplo, de 32 bits para 8 bits), a necessidade de armazenamento do modelo é reduzida em até 4 vezes. Isso é vital para aplicações móveis, onde o tamanho da aplicação é restrito.
  • Latência de inferência: operações de menor precisão são computacionalmente mais baratas. Os processadores modernos, especialmente aqueles com unidades de processamento neural (NPUs) especializadas, podem executar operações INT8 muito mais rapidamente do que FP32, reduzindo significativamente a latência de inferência.
  • Consumo de energia: mover menos dados pela memória e realizar operações aritméticas mais simples consome menos energia, prolongando a vida útil da bateria em dispositivos portáteis e veículos autónomos.

Comparação com Conceitos Relacionados

É importante diferenciar a quantização de outras técnicas de otimização, pois elas modificam o modelo de maneiras distintas :

  • Quantização vs. Poda: Enquanto a quantização reduz o tamanho do ficheiro diminuindo a largura de bits dos parâmetros, a poda do modelo envolve a remoção total de ligações desnecessárias (pesos) para criar uma rede esparsa. A poda altera a estrutura do modelo, enquanto a quantização altera a representação dos dados.
  • Quantização vs. Destilação de conhecimento: A destilação de conhecimento é uma técnica de treino em que um pequeno modelo «aluno» aprende a imitar um grande modelo «professor». A quantização é frequentemente aplicada ao modelo aluno após a destilação para melhorar ainda mais o desempenho da IA de ponta.

Aplicações no Mundo Real

A quantização permite a visão computacional e a IA em vários setores onde a eficiência é fundamental.

  1. Sistemas autônomos: Na indústria automotiva, os carros autônomos devem processar dados visuais de câmeras e LiDAR em tempo real. Modelos quantizados implantados em NVIDIA TensorRT permitem que esses veículos detect e obstáculos com latência de milissegundos, garantindo a segurança dos passageiros.
  2. Agricultura inteligente: Drones equipados com câmaras multiespectrais utilizam modelos quantizados de deteção de objetos para identificar doenças nas culturas ou monitorizar as fases de crescimento. A execução destes modelos localmente nos sistemas incorporados dos drones elimina a necessidade de ligações móveis pouco fiáveis em campos remotos.

Implementar a quantização com Ultralytics

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.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora