Glossário

Quantização do modelo

Otimiza o desempenho da IA com a quantização de modelos. Reduz o tamanho, aumenta a velocidade e melhora a eficiência energética para implantações no mundo real.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A quantização de modelos é uma técnica crucial de otimização de modelos utilizada na aprendizagem profunda (DL) para reduzir os custos computacionais e de memória dos modelos. Consegue isso convertendo a precisão numérica dos parâmetros do modelo(pesos e ativações) de representações de maior precisão, normalmente números de ponto flutuante de 32 bits(FP32), para formatos de menor precisão, como ponto flutuante de 16 bits (FP16), inteiros de 8 bits (INT8) ou até mesmo representações de bits inferiores. Este processo torna os modelos mais pequenos, mais rápidos e mais eficientes em termos energéticos, o que é particularmente vital para a implementação de modelos complexos em ambientes com recursos limitados, como dispositivos móveis ou sistemas de IA de ponta.

Como funciona a quantização de modelos

Na sua essência, a quantização do modelo envolve o mapeamento da gama de valores encontrados em tensores de alta precisão (como pesos e activações em FP32) para uma gama mais pequena representável por tipos de dados de baixa precisão (como INT8). Esta conversão reduz significativamente a memória necessária para armazenar o modelo e a potência computacional necessária para a inferência, uma vez que as operações em números de menor precisão (especialmente inteiros) são frequentemente mais rápidas e mais eficientes em termos energéticos em hardware moderno como GPUs e aceleradores especializados como TPUs.

Vantagens da Quantização de Modelos

A aplicação da quantização a modelos de aprendizagem profunda oferece várias vantagens importantes:

  • Reduz o tamanho do modelo: A precisão mais baixa requer menos bits por parâmetro, diminuindo drasticamente o espaço de armazenamento do modelo. Isto é benéfico para actualizações over-the-air e dispositivos com armazenamento limitado.
  • Velocidade de inferência mais rápida: Os cálculos com números de menor precisão, particularmente a aritmética de números inteiros, são geralmente mais rápidos em hardware compatível, levando a uma menor latência de inferência.
  • Menor consumo de energia: O acesso reduzido à memória e os cálculos mais simples resultam num menor consumo de energia, crucial para dispositivos de ponta alimentados por bateria.
  • Implementação melhorada: Permite a implementação de modelos grandes e complexos como o Ultralytics YOLO em hardware com recursos computacionais limitados, como microcontroladores ou TPUs de ponta.

Técnicas de Quantização

Existem duas abordagens principais para a quantização de modelos:

  1. Quantização pós-treinamento (PTQ): Este método envolve a quantização de um modelo que já foi treinado usando precisão de ponto flutuante padrão. É mais simples de implementar, uma vez que não requer novo treino, mas pode por vezes levar a uma queda notável na precisão do modelo. A calibração com um conjunto de dados representativo é frequentemente utilizada para minimizar esta perda de precisão.
  2. Treino sensível à quantização (QAT): O QAT simula os efeitos da quantização durante o próprio processo de formação. O modelo aprende a adaptar-se à precisão mais baixa, o que normalmente resulta numa melhor precisão em comparação com o PTQ, embora exija acesso ao pipeline e aos dados de treino originais.

Aplicações no mundo real

A quantização de modelos é amplamente utilizada em vários domínios:

  1. Computação móvel: Permite funcionalidades sofisticadas de IA, como a deteção de objectos em tempo real para filtros de câmara, classificação de imagens e processamento de linguagem natural diretamente nos smartphones sem depender fortemente da computação em nuvem. Estruturas como o TensorFlow Lite utilizam fortemente a quantização.
  2. Veículos autónomos: Os modelos quantizados permitem um processamento mais rápido dos dados dos sensores (câmara, LiDAR) para tarefas como a deteção de peões, a manutenção da faixa de rodagem e o reconhecimento de sinais de trânsito, cruciais para a tomada de decisões em tempo real em sistemas de condução autónoma. Ultralytics oferece várias opções de implementação de modelos adequadas a essas aplicações.

Considerações e conceitos relacionados

Embora altamente benéfica, a quantização pode afetar potencialmente a precisão do modelo. Após a quantização, é essencial uma avaliação cuidadosa utilizando métricas de desempenho relevantes. Técnicas como a utilização de arquitecturas de modelos favoráveis à quantização (por exemplo, a substituição de determinadas funções de ativação, como se vê no YOLO) podem ajudar a atenuar a degradação da precisão, tal como discutido na implementação de modelos YOLOv8 quantizados.

A quantização de modelos é uma das várias técnicas de otimização de modelos. Outras incluem:

  • Poda de modelos: Remove pesos ou conexões menos importantes para reduzir a complexidade do modelo.
  • Precisão mista: Utiliza uma combinação de FP16 e FP32 durante o treino ou a inferência para obter um equilíbrio entre velocidade/memória e precisão.
  • Destilação de conhecimento: Treina um modelo "aluno" mais pequeno para imitar o resultado de um modelo "professor" maior e pré-treinado.

Ultralytics suporta a exportação de modelos para vários formatos que facilitam a quantização, incluindo ONNX, OpenVINO, TensorRT, CoreMLe TFLite, permitindo uma implementação eficiente em diversas plataformas de hardware. Podes gerir e implementar os teus modelos, incluindo versões quantizadas, utilizando ferramentas como o Ultralytics HUB.

Lê tudo