📖

O que é Quantização?

A quantização em IA é uma técnica de compressão de modelos que reduz a precisão numérica dos pesos e das ativações, para que as redes neurais sejam mais rápidas e utilizem menos memória, frequentemente com perdas mínimas de precisão.

A quantização em IA é uma técnica de compressão de modelos que reduz a precisão numérica dos pesos e das ativações de uma rede neural. Em vez de armazenar cada parâmetro como um número de vírgula flutuante de 32 bits, os modelos quantizados utilizam formatos de 8 bits, 4 bits ou ainda mais baixos. Uma vez que a memória e o cálculo escalam com o número de bits, esta única alteração pode reduzir um modelo em 2–8x e acelerar a inferência, tornando prático executar modelos grandes em telemóveis, portáteis, browsers e dispositivos embutidos.

Como funciona a quantização

Cada peso é, originalmente, um número real preciso, mas a maior parte dessa precisão raramente é necessária. A quantização mapeia o intervalo original de valores para um conjunto mais pequeno de níveis representáveis. Na quantização pós-treino (PTQ), um modelo totalmente treinado é convertido uma única vez, normalmente escalando os pesos em vírgula flutuante para que caibam num intervalo inteiro mais estreito. Um mapeamento linear simples da forma quantizado = round(peso / escala) + ponto_zero faz a maior parte do trabalho, e a mesma escala e ponto_zero são utilizados para desquantizar as saídas de volta para vírgula flutuante durante a inferência.

Por exemplo, um inteiro de 8 bits só consegue representar 256 valores distintos, pelo que uma camada cujos pesos originalmente cobrem [-1.0, 1.0] em float32 tem de os agrupar em 256 passos uniformemente espaçados. Quanto mais ajustados estiverem esses passos à distribuição real dos pesos, menor será a perda de precisão. Para melhores resultados, o treino com consciência de quantização (QAT) simula erros de arredondamento durante o ajuste fino, para que o modelo se adapte ao ruído, recuperando frequentemente quase toda a precisão original.

Porque é importante

A quantização é o que permite que um modelo com milhares de milhões de parâmetros caiba em alguns gigabytes de RAM e responda em menos de um segundo num CPU de portátil. Reduz o consumo de energia, baixa os custos de servidor e desbloqueia a IA no dispositivo para casos de uso sensíveis à privacidade ou offline. Também interage com o hardware: GPUs, NPUs e CPUs modernos trazem unidades de matriz INT8 e INT4 dedicadas, pelo que um modelo quantizado pode correr várias vezes mais rápido do que o mesmo modelo em float32.

Tipos principais

  • Quantização pós-treino (PTQ): Converte um modelo já treinado. É a opção mais económica, com uma pequena perda de precisão.
  • Treino com consciência de quantização (QAT): Simula a quantização durante o treino para que os pesos se adaptem. Melhor precisão, requer cálculo extra.
  • Quantização dinâmica: Mantém os pesos em baixa precisão, mas calcula as ativações dinamicamente. Útil para modelos de PLN com comprimentos de sequência variáveis.
  • Quantização apenas dos pesos: Armazena os pesos em 4 bits ou menos, desquantizando dinamicamente. Comum na disponibilização de grandes modelos de linguagem.
  • GPTQ, AWQ, GGUF: Algoritmos e formatos de ficheiro populares para quantização de LLMs a 4 bits que aplicam diferentes esquemas para preservar a precisão.

A quantização tornou-se um passo padrão no pipeline de implementação de IA. Ferramentas como o torch.quantization do PyTorch, o NVIDIA TensorRT e o ONNX Runtime incorporam estas técnicas em stacks de produção, permitindo às equipas trocar uma pequena quantidade de precisão por ganhos substanciais em velocidade, memória e custo.

Perguntas Frequentes

Does quantization reduce AI accuracy?
It can, but usually only slightly. Aggressive quantization to 4-bit can cause noticeable drops on harder tasks, while 8-bit quantization typically preserves accuracy within about 1% of the original model. Quantization-aware training helps recover most of any lost accuracy.
What is the difference between quantization and pruning?
Quantization reduces the precision of each individual number, while pruning removes entire weights or neurons that contribute little. They are complementary compression techniques, and combining them can yield even smaller, faster models.
Why is 4-bit quantization popular for LLMs?
Large language models have billions of parameters, so halving the bit width roughly halves memory use and often lets a model that needs an 80GB GPU run on a single 24GB consumer GPU. Methods like GPTQ, AWQ, and GGUF tune the quantization to preserve quality at 4 bits.
Can quantization be undone?
No. Quantization is a lossy mapping, so original full-precision weights cannot be perfectly recovered. However, the dequantized values used at inference time are close enough that downstream outputs are usually indistinguishable from the original model.