Otimize modelos de IA para dispositivos edge com o Treinamento Sensível à Quantização (QAT), garantindo alta precisão e eficiência em ambientes com recursos limitados.
O treino sensível à quantização (QAT) é uma técnica sofisticada técnica de otimização de modelos de otimização de modelos concebida para preparar redes neuronais para redes neurais para implantação em hardware com recursos computacionais limitados. Enquanto os modelos padrão de modelos de aprendizagem profunda padrão normalmente processam dados usando números de ponto flutuante de 32 bits de alta precisão (FP32), muitos dispositivos de IA de ponta requerem uma precisão inferior, como números inteiros de 8 bits de 8 bits (INT8), para poupar memória e energia. O QAT aborda a queda de precisão frequentemente causada por esta conversão simulando os efeitos da quantização durante a durante a própria fase de treino. Esta abordagem proactiva permite que o modelo que o modelo ajuste os seus pesos para acomodar a perda de de precisão, resultando em modelos altamente eficientes que mantêm o seu desempenho preditivo.
O mecanismo central do treino sensível à quantização envolve a inserção de nós de quantização "falsos" na na arquitetura do modelo durante o treino. Estes nós modelam os erros de arredondamento e de fixação que ocorrem aquando da conversão de valores valores FP32 para INT8. Durante a passagem para a frente, o modelo funciona como se estivesse quantizado, enquanto a passagem para trás retrocesso - usando retropropagação - actualizaos pesos em alta precisão para compensar os erros simulados.
Este processo afina essencialmente o modelo para que seja robusto contra o ruído introduzido pela precisão reduzida. Os principais como o PyTorch e TensorFlow fornecem APIs APIs especializadas para facilitar este fluxo de trabalho. Ao integrar essas restrições antecipadamente, o modelo final exportado é muito melhor alinhado com os recursos de hardware de destino, como os encontrados em sistemas incorporados.
É importante distinguir a QAT da Quantização pós-formação (PTQ), uma vez que têm objectivos objectivos semelhantes, mas diferem na execução:
O QAT é essencial para os sectores em que a latência da inferência e o consumo de energia são factores factores críticos.
Embora os pipelines QAT completos envolvam frequentemente configurações de formação específicas, o ultralytics biblioteca
simplifica o processo de exportação para produzir modelos quantizados prontos para implantação. O exemplo a seguir demonstra
como exportar um modelo YOLO11 para TFLite com quantização INT8,
preparando-o para uma execução eficiente na borda.
from ultralytics import YOLO
# Load the YOLO11 model (latest stable version)
model = YOLO("yolo11n.pt")
# Export to TFLite with INT8 quantization
# This creates a compact model optimized for edge devices
model.export(format="tflite", int8=True)
Para uma eficiência máxima, o QAT é frequentemente combinado com outras técnicas de implantação de modelos. A poda de modelos remove as ligações redundantes antes da antes da quantização, reduzindo ainda mais o tamanho. Além disso, destilação do conhecimento pode ser utilizada para treinar um modelo de aluno compacto, que é depois refinado utilizando o QAT. Os modelos finais quantizados são compatíveis com tempos de execução de alto desempenho, como o ONNX Runtime e o OpenVINOgarantindo uma ampla compatibilidade entre diversas plataformas de hardware de Intel ao Google Coral.