Quantização

A Quantização (ou Quantization) é uma das técnicas fundamentais de otimização no campo do Aprendizado de Máquina. Ela permite compactar Grandes Modelos de Linguagem (LLMs), reduzindo drasticamente o consumo de memória (VRAM/RAM) e acelerando o tempo de resposta, com uma perda mínima na capacidade de raciocínio.

Em termos simples, quantizar é reduzir a precisão numérica dos pesos da rede neural.

O que significa Reduzir a Precisão?

Durante o treinamento, as LLMs calculam e armazenam seus bilhões de parâmetros (pesos) usando números de ponto flutuante de alta precisão de 32 bits (FP32) ou 16 bits (FP16 / BF16).

  • Ponto Flutuante de 16 bits (FP16): Guarda números com casas decimais extremamente detalhadas (ex: 0.0048293712). Cada peso ocupa 2 bytes de memória.
  • Inteiro de 4 bits (INT4): Arredonda e mapeia essa gama contínua de valores decimais para um conjunto discreto e limitado de inteiros (ex: inteiros de -8 a 7). Cada peso passa a ocupar apenas 0,5 byte (4 bits).

A analogia da paleta de cores

Imagine uma imagem que utiliza uma paleta de 16,7 milhões de cores reais (16-bits). Se você converter essa imagem para usar apenas 256 cores selecionadas (8-bits), o tamanho do arquivo vai despencar, mas a olho nu o conteúdo da imagem continuará sendo reconhecível. A quantização faz exatamente isso com os pesos matemáticos da IA.

A Matemática do Mapeamento

O processo de quantização converte um valor contínuo de ponto flutuante x[min,max]x \in [\text{min}, \text{max}] em um valor inteiro discreto q, utilizando dois parâmetros matemáticos: uma Escala (S) e um Ponto Zero (Z).

A fórmula de quantização mais comum (Quantização Uniforme) é:

q=round(xS)+Zq = \text{round}\left( \frac{x}{S} \right) + Z

E para desquantizar o valor durante a execução das operações matemáticas:

x=S(qZ)x’ = S \cdot (q – Z)
  • S (Scale): Define o tamanho dos degraus entre os números.
  • Z (Zero-Point): Ajusta o deslocamento para que o valor zero real da precisão original corresponda exatamente ao zero discreto do inteiro.

Formas de Aplicação: PTQ vs. QAT

Existem duas abordagens principais para quantizar uma LLM:

A. PTQ (Post-Training Quantization – Quantização Pós-Treino)

É a técnica mais popular no ecossistema open-source (usada para criar modelos GGUF, GPTQ ou AWQ).

  • O modelo é totalmente treinado em alta precisão (FP16).
  • Após o treino, um algoritmo analisa a distribuição dos pesos e aplica as fórmulas de arredondamento para convertê-los em INT8, INT4 ou até INT2.
  • Vantagem: É extremamente rápida e barata, levando poucos minutos para converter um modelo sem precisar retreinar.

B. QAT (Quantization-Aware Training – Treino Ciente de Quantização)

  • A quantização é simulada durante a fase de treinamento ou de ajuste fino (fine-tuning).
  • O modelo aprende a compensar os erros de arredondamento à medida que ajusta seus parâmetros.
  • Vantagem: Mantém um desempenho superior em precisões muito baixas (como 2 ou 3 bits), mas exige mais tempo e poder computacional.

Métodos Populares de Quantização para LLMs

Para evitar que a redução de bits destrua a inteligência do modelo, diferentes métodos avançados foram criados:

  • GPTQ (GPU-focused): Foca em quantizar o modelo de forma altamente eficiente para execução direta em placas de vídeo.
  • AWQ (Activation-aware Weight Quantization): Observa a frequência com que determinados pesos são ativados. O algoritmo protege os 1% dos pesos mais importantes (mantendo-os com mais precisão) e quantiza de forma agressiva apenas os pesos secundários.
  • K-Quants (usado no GGUF): Utiliza blocos heterogêneos de quantização. Por exemplo, em uma versão Q4_K_M, camadas vitais da rede mantêm precisão de 6 bits, enquanto o restante é quantizado em 4 bits.

Os Benefícios Práticos

Precisão Original (FP16)Quantização (INT4)Impacto Prático
Modelo Llama-3 de 8B: ~16 GB de VRAMModelo Llama-3 de 8B: ~5.5 GB de VRAMPermite rodar localmente na placa de vídeo de um notebook comum.
Banda de Memória: Gargalo na transferência de dados gigantescos na GPU.Banda de Memória: Transferência de dados 4x menor por segundo.Aumento na velocidade de geração de tokens por segundo.

A quantização é, portanto, o grande pilar que democratizou o acesso às LLMs, permitindo que modelos que antes exigiam servidores com múltiplas GPUs rodem em hardware de consumo, smartphones e dispositivos de borda (edge computing).