Saiba como o Quantization-Aware Training (QAT) otimiza os modelos Ultralytics para implementação em borda. Descubra como manter alta precisão com precisão INT8.
O Treino Consciente da Quantização (QAT) é uma técnica especializada utilizada durante a fase de treino de modelos de aprendizagem automática para prepará-los para ambientes de menor precisão. Em fluxos de trabalho padrão de aprendizagem profunda, os modelos normalmente operam utilizando números de ponto flutuante de 32 bits de alta precisão (FP32). Embora essa precisão ofereça excelente exatidão, ela pode ser computacionalmente cara e consumir muita memória, especialmente em dispositivos de ponta. O QAT simula os efeitos da quantização — reduzindo a precisão para formatos como inteiros de 8 bits (INT8) — enquanto o modelo ainda está em treino. Ao introduzir esses erros de quantização durante o processo de aprendizagem, o modelo aprende a adaptar os seus pesos e recuperar efetivamente a precisão que, de outra forma, poderia ser perdida durante a conversão pós-treino.
A implementação de modelos de visão computacional em dispositivos com recursos limitados geralmente requer um equilíbrio entre velocidade e desempenho. Os métodos de quantização padrão, conhecidos como quantização pós-treinamento (PTQ), aplicam a redução de precisão somente após o modelo estar totalmente treinado. Embora a PTQ seja rápida, ela pode, às vezes, prejudicar a precisão de modelos sensíveis, pois os pesos da rede neural são significativamente alterados sem chance de ajuste.
O QAT resolve isso permitindo que o modelo "pratique" a quantização. Durante a passagem direta do treinamento, os pesos e as ativações são simulados como valores de baixa precisão. Isso permite que o processo de descida de gradiente atualize os parâmetros do modelo de forma a minimizar a perda especificamente para o estado quantizado. O resultado é um modelo robusto que mantém alta precisão mesmo quando implantado em hardware como microcontroladores ou processadores móveis.
É útil distinguir QAT da quantização do modelo, especificamente a quantização pós-treinamento (PTQ):
O QAT é essencial para indústrias onde a inferência em tempo real em hardware de ponta é crítica.
A Ultralytics e o YOLO suportam a exportação de modelos para formatos quantizados. Embora o QAT seja um procedimento de treino complexo, as estruturas modernas facilitam a preparação de modelos para inferência quantizada.
Abaixo está um exemplo de como pode exportar um modelo YOLO26 treinado para um TFLite quantizado INT8, que utiliza os princípios de quantização para uma implementação eficiente em borda.
from ultralytics import YOLO
# Load a trained YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format with INT8 quantization
# This prepares the model for efficient execution on edge devices
model.export(format="tflite", int8=True)
Os modelos otimizados por meio de técnicas de quantização são projetados para serem executados em motores de inferência especializados. Os modelos treinados com QAT são frequentemente implementados usando ONNX para compatibilidade entre plataformas ou OpenVINO para otimização em Intel . Isso garante que, seja o alvo um Raspberry Pi ou um Edge TPU dedicado, o modelo opere com a maior eficiência e velocidade possíveis.
Para compreender totalmente o QAT, é útil estar familiarizado com vários conceitos relacionados com a aprendizagem automática:
Ao integrar o Quantization-Aware Training no pipeline MLOps, os programadores podem preencher a lacuna entre modelos de pesquisa de alta precisão e aplicações de IA de ponta altamente eficientes e prontas para produção.