Quantização de LLMs: rodar modelos gigantes em hardware modesto
Como a quantização de LLMs reduz a precisão numérica dos pesos para rodar modelos gigantes em GPUs modestas, e por que 4-bit virou o padrão prático.
Paul Gomes
Autor
Um modelo de linguagem grande é, no fundo, uma pilha enorme de números. Bilhões de pesos, cada um ocupando um espaço fixo na memória da GPU. É aí que mora o gargalo real de quem quer rodar esses modelos fora de um data center: não é a velocidade do cálculo, é a quantidade de memória necessária só para segurar os pesos parados. A quantização de LLMs ataca exatamente esse ponto. Ela não muda a arquitetura, não reduz o número de parâmetros, não retreina nada. Ela apenas guarda cada peso com menos bits. E essa mudança aparentemente contábil é o que hoje separa “preciso de um cluster” de “roda no meu notebook”.
O que estamos realmente reduzindo
Um peso treinado em ponto flutuante costuma viver em 16 bits, a chamada meia precisão: metade dos 32 bits da precisão simples usada tradicionalmente, o suficiente para representar uma faixa ampla de valores com casas decimais razoáveis. Multiplique isso por bilhões de parâmetros e você entende por que o consumo de memória escala tão rápido. A conta é brutalmente simples: quantidade de parâmetros vezes bytes por parâmetro. Reduzir os bytes por parâmetro é a alavanca mais direta que existe.
Quantizar é mapear esse número de 16 bits para uma representação mais curta, tipicamente um inteiro de 8 ou 4 bits. A ideia central é que você não precisa da faixa contínua inteira; precisa de uma boa aproximação dela. Então você pega o intervalo de valores que os pesos de uma camada ocupam, divide esse intervalo em um número limitado de degraus e mapeia cada peso original para o degrau mais próximo. Com 4 bits, você tem dezesseis degraus possíveis. Guarda-se, junto, um fator de escala que traduz de volta esses degraus inteiros para a magnitude original. Na hora de calcular, o peso é “desquantizado” para uma precisão maior, entra na multiplicação de matrizes e produz o resultado. O ganho não está no cálculo em si; está em quanto o peso ocupou enquanto esteve guardado e trafegando pela memória.
Por que memória é o gargalo, e não a matemática
Aqui está o detalhe que muita gente inverte. Gerar texto com um LLM, token a token, é uma operação limitada por banda de memória, não por poder de cálculo. A cada token novo, a GPU precisa ler todos os pesos relevantes da memória para fazer as contas. O tempo gasto lendo esses pesos domina o tempo gasto multiplicando. Se você corta pela metade o tamanho dos pesos, corta pela metade o volume de dados que precisa ser lido a cada passo. Por isso a quantização frequentemente acelera a inferência além de reduzir o consumo de memória: menos bytes para mover significa menos espera.
Esse é o motivo pelo qual quantização virou padrão e não truque de nicho. Ela ataca simultaneamente as duas restrições que impedem um modelo grande de rodar em hardware acessível: se cabe na memória disponível e quão rápido responde.
O trade-off que ninguém elimina, só administra
Reduzir bits introduz erro. Cada peso quantizado não é mais o valor exato treinado, é o degrau mais próximo dele. Esse erro de arredondamento se propaga pela rede. A questão prática nunca foi “existe perda?”, e sim “a perda é perceptível na saída?”. E a resposta depende brutalmente de quantos bits você mantém e de como distribui esses bits.
Em 8 bits, a degradação costuma ser tão pequena que fica dentro do ruído de medição para a maioria das tarefas. O modelo se comporta essencialmente como o original. O interessante aconteceu quando ficou claro que dá para ir mais fundo. A 4 bits, o espaço de representação encolhe de forma dramática, e a intuição ingênua diria que a qualidade despencaria. Não é o que se observa quando a quantização é feita direito. A perda existe, mas fica gerenciável a ponto de compensar largamente o ganho de rodar um modelo maior no mesmo hardware. É aí que aparece a troca mais poderosa da área: um modelo grande quantizado a 4 bits quase sempre entrega mais qualidade que um modelo pequeno em precisão cheia ocupando a mesma memória. Vale mais ter um modelo grande comprimido do que um modelo pequeno intacto.
Por que 4-bit virou o ponto prático
Chegar a 4 bits sem quebrar o modelo exigiu resolver um problema específico: os outliers. Em redes treinadas, alguns poucos valores de ativação ou de peso são muito maiores que a média. Se você define os degraus da quantização levando em conta esses extremos, desperdiça quase toda a resolução cobrindo uma faixa que a maioria dos valores não usa. O resultado seria uma quantização grosseira para a massa dos pesos, que é onde a informação realmente está.
As técnicas que tornaram 4 bits viável giram, de formas diferentes, em torno de tratar essa desigualdade. Uma família de abordagens quantiza em grupos pequenos de pesos, cada grupo com seu próprio fator de escala, de modo que uma região com valores grandes não contamina a resolução das regiões vizinhas. Outra linha parte da observação de que nem todo peso importa igualmente: identifica quais pesos, se mal representados, mais degradam a saída, e protege esses, aceitando erro maior nos menos críticos. Há ainda a estratégia de calibrar a quantização usando um conjunto pequeno de dados representativos, medindo como cada camada reage e ajustando os pesos para compensar o erro que a compressão vai introduzir, em vez de arredondar cegamente. O tema comum é o mesmo: não gastar bits de maneira uniforme, e sim onde eles rendem mais.
Vale separar dois momentos. Quantizar depois do treino, sobre um modelo já pronto, é o caminho que popularizou o 4 bits porque não exige o custo de retreinar. Existe também a rota de deixar o modelo aprender já considerando que vai ser quantizado, o que tende a preservar mais qualidade em precisões agressivas, ao preço de um processo de treino mais caro. Para quem quer rodar um modelo aberto no próprio hardware, a via pós-treino é a que domina, e é por isso que ela concentrou tanta engenharia.
Onde a compressão para de valer a pena
Empurrar abaixo de 4 bits não é proibido, mas a curva muda de inclinação. Em 3 bits, 2 bits, cada bit removido custa proporcionalmente mais qualidade do que custou o anterior. A relação entre bits e degradação não é linear; existe um joelho na curva, e 4 bits caiu perto dele por um bom motivo prático. Acima desse ponto, você paga memória por qualidade que talvez não precise. Abaixo, você economiza memória às custas de uma perda que começa a aparecer nas respostas. Não há um número universal, porque o ponto ideal depende do modelo, da tarefa e de quanto erro a aplicação tolera. Mas a noção de que existe uma faixa de eficiência, e não um “quanto menos, melhor”, é o que separa quem quantiza com critério de quem só encolhe até quebrar.
Vale lembrar também do que a quantização não faz. Ela comprime os pesos, mas a memória consumida durante a geração tem outro componente que cresce com o tamanho do contexto: o cache dos estados intermediários de atenção. Textos muito longos podem esbarrar nesse limite mesmo com os pesos bem comprimidos. Quantizar os pesos resolve o custo fixo de carregar o modelo; não dispensa pensar no custo que escala com o comprimento da conversa.
A posição
A quantização é, para mim, a tecnologia mais subestimada da onda atual de IA aberta. Ela não gera manchete porque não promete inteligência nova, apenas torna acessível a inteligência que já existe. Mas é justamente esse tipo de avanço que muda quem participa do jogo. Enquanto a fronteira dos modelos de ponta segue trancada atrás de infraestrutura cara, a quantização empurra na direção oposta: coloca modelos competentes na máquina de qualquer profissional disposto a entender o trade-off. Isso tem consequência estratégica concreta. Significa que rodar IA localmente, com controle sobre dados e sem custo por chamada, deixou de ser exercício acadêmico e virou opção real para muita aplicação.
Meu conselho para quem decide arquitetura é parar de tratar precisão numérica como detalhe de implementação delegável. A escolha entre 16, 8 e 4 bits é uma decisão de produto, porque define diretamente qual modelo cabe no seu orçamento de hardware e qual qualidade você entrega. Quem domina esse trade-off consegue, com o mesmo dinheiro, rodar um modelo de uma categoria acima do concorrente que ignora o assunto. Em um mercado onde todo mundo tem acesso aos mesmos modelos abertos, saber comprimi-los bem deixou de ser detalhe técnico e virou vantagem.