GPTQ é uma técnica de quantização pós-treinamento projetada para comprimir grandes modelos de linguagem (LLMs) ao reduzir a precisão numérica de seus pesos. Desenvolvida em 2022 por pesquisadores como Elias Frantar, Saleh Ashkboos, Torsten Hoefler e Dan Alistarh, ela permite que modelos com bilhões de parâmetros sejam executados em hardware de consumo com memória limitada. O método é amplamente adotado em ecossistemas de IA de código aberto para implantar modelos como LLaMA e Mistral em dispositivos locais.
Diferentemente do treinamento com consciência de quantização, o GPTQ não requer retreinamento nem acesso ao conjunto de dados de treinamento original. Ele opera pós-treinamento, usando um pequeno conjunto de dados de calibração para ajustar os pesos e minimizar o erro introduzido pela representação de menor precisão. Isso o torna prático para modelos grandes, onde o retreinamento completo é computacionalmente proibitivo. O GPTQ normalmente comprime os pesos para inteiros de 4 bits, alcançando uma redução de quatro vezes no uso de memória, mantendo a maior parte do desempenho preditivo original do modelo.
Abordagem Técnica
O GPTQ baseia-se em informações aproximadas de segunda ordem, especificamente a matriz Hessiana da função de perda, para determinar quais perturbações de peso causam o menor impacto na saída. Ele processa camadas sequencialmente, quantizando colunas da matriz de pesos enquanto atualiza os pesos restantes para compensar o erro de quantização. Essa abordagem iterativa, derivada da estrutura de Quantização Ótima do Cérebro, usa uma seleção gulosa de pesos para quantizar e aplica uma atualização de forma fechada para reduzir o erro acumulado.
O método suporta várias larguras de bits, incluindo 3 bits e 2 bits, embora 4 bits seja o mais comum devido ao equilíbrio entre compressão e precisão. O GPTQ também incorpora quantização em grupo, onde os pesos são divididos em grupos e cada grupo tem seu próprio fator de escala, melhorando a precisão para distribuições com muitos valores discrepantes. A implementação é otimizada para aceleração por GPU, aproveitando kernels CUDA para operações eficientes de matriz durante a inferência.
Desempenho e Precisão
Avaliações empíricas mostram que o GPTQ pode comprimir modelos como o OPT-175B para precisão de 4 bits com degradação de precisão desprezível em benchmarks padrão, como perplexidade de modelagem de linguagem e tarefas downstream. Por exemplo, um modelo de 175 bilhões de parâmetros comprimido para 4 bits requer aproximadamente 87,5 GB de memória, em comparação com 350 GB em float de 32 bits, permitindo implantação em GPUs de ponta únicas. Em alguns casos, a quantização de 3 bits introduz erros ligeiramente maiores, mas ainda permanece utilizável para muitas aplicações.
A perda de precisão varia conforme a arquitetura do modelo e o tamanho dos dados de calibração. Usar algumas centenas de amostras da distribuição de treinamento é tipicamente suficiente. O método é particularmente eficaz para modelos baseados em transformadores, que dominam os grandes modelos de linguagem modernos. Em comparação com técnicas anteriores, como quantização por arredondamento ao mais próximo, o GPTQ consistentemente reduz o erro, especialmente para modelos com distribuições de pesos extremas.
Adoção e Ecossistema
O GPTQ tornou-se uma ferramenta padrão na comunidade de aprendizado de máquina de código aberto. Ele está integrado a bibliotecas populares, como Hugging Face Transformers e o pacote AutoGPTQ, que fornece uma interface amigável para quantizar e carregar modelos. Muitos checkpoints de modelos pré-quantizados estão disponíveis em plataformas como o Hugging Face Hub, permitindo que usuários baixem versões de 4 bits de modelos populares sem realizar a quantização eles mesmos.
O método complementa outras técnicas de compressão, como poda e destilação de conhecimento, e é frequentemente combinado com otimizações de tempo de execução, como as do projeto llama.cpp para inferência em CPU. Sua popularidade decorre de sua simplicidade e eficácia, tornando grandes modelos acessíveis a entusiastas e pesquisadores com recursos computacionais limitados. Empresas que oferecem serviços em nuvem, incluindo AWS e Google Cloud, também integraram modelos quantizados com GPTQ em suas ofertas de IA generativa.
Limitações e Alternativas
O GPTQ tem algumas limitações. O processo de calibração requer um conjunto de dados representativo, e uma calibração ruim pode levar à perda de precisão. Ele visa principalmente a quantização de pesos, deixando as ativações em maior precisão, o que limita a economia de memória para sequências muito longas. Além disso, o método é menos eficaz para larguras de bits extremamente baixas, como 1 bit, onde técnicas mais agressivas são necessárias.
Métodos alternativos de quantização pós-treinamento incluem AWQ (Quantização de Pesos Sensível a Ativações), que protege pesos salientes com base nas magnitudes das ativações, e a quantização GGUF usada no llama.cpp, que oferece várias opções de largura de bits. Esses métodos frequentemente produzem resultados comparáveis, e a escolha depende do hardware alvo e do cenário de implantação. A pesquisa continua a melhorar a eficiência da quantização, com abordagens mais recentes explorando esquemas de precisão mista e adaptativos.
Impacto e Direções Futuras
O GPTQ reduziu significativamente a barreira para implantar grandes modelos de linguagem em dispositivos de borda e computadores pessoais. Ele influenciou trabalhos subsequentes em compressão de modelos e é frequentemente citado na literatura acadêmica. Desenvolvimentos futuros podem focar na quantização conjunta de pesos e ativações, otimizações específicas de hardware para processadores AMD e Intel, e integração com arquiteturas emergentes de redes neurais além do design padrão de Transformador.