Glossário

Formação sensível à quantização (QAT)

Otimiza os modelos de IA para dispositivos de ponta com o treinamento com reconhecimento de quantização (QAT), garantindo alta precisão e eficiência em ambientes com recursos limitados.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

O treinamento com reconhecimento de quantização (QAT) é uma técnica poderosa usada para otimizar modelos de aprendizagem profunda (DL), como Ultralytics YOLO da Ultralytics, para implantação em dispositivos com recursos computacionais limitados, como telefones celulares ou sistemas incorporados. Os modelos padrão geralmente usam números de alta precisão (como ponto flutuante de 32 bits ou FP32) para cálculos, que exigem poder de processamento e memória significativos. O QAT tem como objetivo reduzir esta exigência, preparando o modelo durante a fase de formação para ter um bom desempenho mesmo quando utiliza números de menor precisão (por exemplo, números inteiros de 8 bits ou INT8), colmatando assim a lacuna entre a elevada precisão e o desempenho eficiente em dispositivos de ponta. Esta otimização é crucial para permitir tarefas complexas de IA diretamente no hardware, como smartphones ou sensores IoT.

Como funciona o treino sensível à quantização

Ao contrário dos métodos que quantizam um modelo depois de este ter sido totalmente treinado, o QAT integra a simulação dos efeitos de quantização diretamente no processo de treino. Introduz operações chamadas nós de "quantização falsa" na arquitetura do modelo durante o treino. Estes nós imitam o efeito de uma precisão mais baixa (por exemplo, precisão INT8) nos pesos e activações do modelo durante a passagem para a frente, arredondando os valores como o fariam num modelo verdadeiramente quantizado. No entanto, durante a passagem para trás (onde o modelo aprende através de retropropagação), os gradientes são normalmente calculados e as actualizações aplicadas utilizando números de vírgula flutuante de alta precisão padrão. Isso permite que os parâmetros do modelo se adaptem e aprendam a ser robustos à perda de precisão que ocorrerá durante a inferência quantizada real. Ao "ver" os efeitos da quantização durante o treino, o modelo minimiza a queda de precisão frequentemente associada à implementação de modelos em formatos de baixa precisão, um aspeto fundamental discutido nas estratégias de otimização do modelo. Estruturas como TensorFlow Lite e PyTorch fornecem ferramentas para implementar o QAT.

Distinção de conceitos relacionados

QAT vs. Quantização do modelo (pós-treino)

A principal diferença reside no momento em que a quantização é aplicada. A quantização de modelos, muitas vezes referida como Quantização pós-treinamento (PTQ), converte um modelo pré-treinado de precisão total num formato de precisão inferior após a conclusão do treino. A PTQ é geralmente mais simples de implementar, uma vez que não requer um novo treino ou acesso ao conjunto de dados de treino original. No entanto, pode por vezes levar a uma diminuição notável da precisão do modelo, especialmente para modelos complexos que executam tarefas como a deteção de objectos ou a segmentação de imagens. O QAT, por outro lado, simula a quantização durante o treinamento, tornando o modelo inerentemente mais robusto à redução da precisão. Isto resulta frequentemente numa maior precisão do modelo final quantizado em comparação com o PTQ, embora exija mais recursos computacionais e acesso a dados de treino. Para modelos como o YOLO, que incorpora blocos que facilitam a quantização, o QAT pode produzir benefícios significativos de desempenho com perda mínima de precisão.

QAT vs. Precisão mista

Embora ambas as técnicas envolvam precisão numérica, os seus objectivos são diferentes. O treino de precisão mista tem como principal objetivo acelerar o próprio processo de treino e reduzir a utilização de memória durante o treino, utilizando uma combinação de formatos de precisão mais baixa (por exemplo, float de 16 bits ou FP16) e de precisão padrão (float de 32 bits) para cálculos e armazenamento. O QAT concentra-se especificamente na otimização do modelo para uma inferência eficiente utilizando formatos inteiros de baixa precisão (como INT8) após a implementação do modelo. Embora a precisão mista ajude durante o treinamento, o QAT garante que o modelo final tenha um bom desempenho sob as restrições do hardware de inferência quantizada, como NPUs (Neural Processing Units) ou TPUs.

Aplicações reais do QAT

O treinamento com reconhecimento de quantização é vital para a implantação de modelos sofisticados de IA em ambientes com recursos limitados, onde a eficiência é fundamental.

  1. Visão computacional no dispositivo: Executa modelos complexos de visão computacional como o Ultralytics YOLOv8 diretamente em smartphones para aplicações como deteção de objetos em tempo real em aplicativos de realidade aumentada ou classificação de imagens em ferramentas de gerenciamento de fotos. O QAT permite que esses modelos sejam executados de forma eficiente, sem consumo significativo de bateria ou latência.
  2. IA de ponta no sector automóvel e na robótica: Implementar modelos para tarefas como a deteção de peões ou a assistência na manutenção da faixa de rodagem em veículos autónomos ou para a manipulação de objectos em robótica. O QAT permite que esses modelos sejam executados em hardware especializado, como Google Edge TPUs ou NVIDIA Jetson, garantindo baixa latência de inferência para decisões críticas em tempo real. Isto é crucial para aplicações como sistemas de alarme de segurança ou gestão de estacionamento.

Ultralytics suporta a exportação de modelos para vários formatos, como ONNX, TensorRTe TFLite, que são compatíveis com fluxos de trabalho QAT, permitindo uma implantação eficiente em diversos hardwares. Podes gerir e implementar os teus modelos optimizados para QAT utilizando plataformas como o Ultralytics HUB. Avaliar o desempenho do modelo usando métricas relevantes após o QAT é essencial para garantir que os requisitos de precisão sejam atendidos.

Lê tudo