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 de otimização crucial utilizada na aprendizagem automática para reduzir os custos computacionais e de memória da implementação de modelos de IA. Funciona convertendo os pesos e as activações de uma rede neural de números de vírgula flutuante de alta precisão (como números flutuantes de 32 bits) para formatos de menor precisão, como números inteiros de 8 bits. Esse processo diminui significativamente o tamanho do modelo e acelera a velocidade de inferência, tornando-o ideal para implantação em dispositivos com recursos limitados.

Compreender a quantização de modelos

A ideia central por trás da quantização de modelos é representar os valores numéricos num modelo com menos bits. A maioria dos modelos de aprendizagem profunda são treinados e operam usando números de ponto flutuante, que oferecem alta precisão, mas exigem poder computacional e memória significativos. A quantização reduz essa demanda mapeando o intervalo contínuo de valores de ponto flutuante para um conjunto menor de valores inteiros discretos. Isto pode ser comparado à redução da paleta de cores de uma imagem; embora alguns detalhes possam ser perdidos, a informação essencial permanece e o tamanho do ficheiro torna-se muito mais pequeno.

Existem várias técnicas de quantização de modelos. A quantização pós-treino é aplicada depois de um modelo ter sido totalmente treinado, convertendo os seus pesos e activações para uma precisão inferior sem treino adicional. Trata-se de um método simples, mas que pode por vezes conduzir a uma ligeira diminuição da precisão. Por outro lado, o treinamento sensível à quantização (QAT) incorpora o processo de quantização na própria fase de treinamento. Isto permite que o modelo aprenda e se adapte às restrições de menor precisão, resultando frequentemente numa melhor precisão em comparação com a quantização pós-treino. Técnicas como a formação de precisão mista também podem ser utilizadas para equilibrar a exatidão e a eficiência durante o processo de formação.

Vantagens da Quantização de Modelos

A quantização de modelos oferece várias vantagens importantes, especialmente para a implementação de modelos de IA em aplicações do mundo real:

  • Reduz o tamanho do modelo: A quantização reduz drasticamente o tamanho do ficheiro do modelo. Por exemplo, a conversão de um modelo de floats de 32 bits para inteiros de 8 bits pode reduzir o tamanho do modelo em até quatro vezes. Isto é especialmente benéfico para a implementação de modelos em dispositivos com armazenamento limitado, como telemóveis ou dispositivos de ponta.
  • Velocidade de inferência mais rápida: Os cálculos de menor precisão são significativamente mais rápidos, especialmente em hardware optimizado para aritmética de números inteiros. Isto leva a uma latência de inferência reduzida e a um melhor desempenho em tempo real, crucial para aplicações como a deteção de objectos em tempo real utilizando modelos Ultralytics YOLO .
  • Menor custo computacional: Efetuar cálculos com menor precisão requer menos potência computacional e energia. Isto é vital para dispositivos alimentados por bateria e reduz os recursos computacionais gerais necessários para aplicações de IA.
  • Aumenta a eficiência energética: Menores exigências computacionais traduzem-se num menor consumo de energia, tornando os modelos quantizados mais eficientes em termos energéticos. Isto é particularmente importante para sistemas móveis e incorporados.

Aplicações no mundo real

A quantização de modelos é essencial para a implementação de modelos de IA numa vasta gama de aplicações, especialmente quando os recursos são limitados ou a velocidade é crítica. Eis alguns exemplos:

  1. Dispositivos móveis: Os smartphones utilizam frequentemente modelos quantizados para funcionalidades de IA no dispositivo, como o reconhecimento de imagens e o processamento de linguagem natural. A quantização permite que esses modelos complexos sejam executados com eficiência em GPUs móveis ou em hardware especializado, como as Edge TPUs encontradas em dispositivos como o Raspberry Pi, sem esgotar a vida útil da bateria ou causar problemas de desempenho. Por exemplo, a execução de um modelo Ultralytics YOLO numa aplicação Android ou iOS beneficia muito da quantização para deteção de objectos em tempo real.
  2. Computação de ponta e dispositivos IoT: Em cenários como cidades inteligentes ou automação industrial, os modelos de IA são implantados em vários dispositivos de borda para processamento de dados em tempo real. A quantização é vital aqui para permitir a utilização eficiente de modelos nestes dispositivos, que têm frequentemente um poder de processamento e uma memória limitados. Considera uma câmara inteligente que utiliza Ultralytics YOLO para sistemas de alarme de segurança; a quantização garante uma deteção e resposta atempadas, minimizando os requisitos de hardware.

Quantização vs. poda de modelos

Embora tanto a quantização como a poda de modelos sejam técnicas de otimização de modelos destinadas a reduzir o tamanho do modelo e a melhorar a eficiência, funcionam de forma diferente. A quantização reduz a precisão das representações numéricas, enquanto a poda reduz o número de parâmetros num modelo através da remoção de ligações ou neurónios menos importantes. Ambas as técnicas podem ser utilizadas independentemente ou em combinação para obter um desempenho e tamanho óptimos do modelo. Ferramentas como TensorRT e OpenVINO frequentemente incorporam a quantização e a poda como parte de seus pipelines de otimização.

Em resumo, a quantização de modelos é uma técnica poderosa que torna a IA mais acessível e implementável numa gama mais vasta de dispositivos e aplicações, melhorando a eficiência sem perda significativa de precisão.

Lê tudo