# Por que a quantização 2-bit degrada o modelo?

> Published 2026-10-11T20:23:21.403Z on https://www.crazystack.com.br/pt/p/por-que-a-quantizacao-2-bit-degrada-o-modelo/
> Source video: https://www.youtube.com/watch?v=YLLdtET5IDw

Arredondamento não explica todo o dano da quantização 2-bit. O erro de reconstrução entre o primeiro e o último bloco de um transformador varia mais de 10.000 vezes, e a função de perda usada no treino faz os blocos menores receberem um empurrão 100 vezes mais fraco. A troca por RMSSE nivela esse empurrão.

## O que a quantização 2-bit faz com o modelo

A quantização 2-bit comprime os pesos de um modelo de 16 bits para apenas 4 valores possíveis por peso. Cada peso perde precisão, o erro se acumula camada por camada, e o resultado depende de quão bem a compressão foi calibrada. O artigo escreve W2A16 para dois bits nos pesos com ativações de 16 bits.

A aritmética ajuda a explicar por que alguém aceita esse corte. Um modelo de 27 bilhões de parâmetros a 2 bits ocupa cerca de 6,75 GB só de pesos, o que cabe numa GPU de 8 GB. A 4 bits, os mesmos pesos passam de 13,5 GB e já não cabem. Essa é a motivação prática: quantização 2-bit existe para levar modelos grandes a placas pequenas.

A regra popular entre quem usa arquivos [GGUF](https://github.com/ggml-org/llama.cpp), o formato comum para modelos locais, é evitar o tipo Q2_K, nominalmente 2 bits, porque a degradação é clara. A instrução usual é usar esse tipo só quando nada maior cabe. O artigo de 2026 não contradiz a regra para métodos simples; ele explica por que ela existe e mostra que parte do dano é corrigível.

## O desequilíbrio de 10.000x entre blocos

Durante a calibração sequencial, o erro de reconstrução varia mais de 10.000 vezes entre o primeiro bloco e os últimos blocos do modelo. Um bloco é uma camada repetida do transformador, quantizado um de cada vez. Os autores observam em Llama 2 7B, Llama 3.1 8B e três modelos Qwen que a magnitude das saídas cresce com a profundidade e que erros de blocos anteriores se acumulam nos posteriores.

Esse número muda a intuição. O erro de 2 bits não é um ruído pequeno e parecido espalhado pelo modelo. É um espectro: alguns blocos ficam quase intactos e outros ficam muito longe da saída original em precisão total. Qualquer método de calibração que trate esses blocos igualmente está deixando trabalho acumulado nos blocos com perda grande.

## Como o MSE enfraquece o ajuste dos blocos fáceis

O MSE, erro quadrático médio, é a função de perda padrão na calibração de métodos como o [OmniQuant](https://arxiv.org/abs/2308.13137), que treina um limiar de corte e uma transformação de ativações por bloco. O problema está no gradiente. No MSE, a magnitude do gradiente cresce com a raiz quadrada da perda, então um bloco com perda 10.000 vezes maior recebe um empurrão cerca de 100 vezes mais forte no otimizador.

Parece justo dar mais força ao bloco pior, mas o bloco com perda pequena também pode precisar de ajuste. A tese dos autores é que a força do afinamento não deveria depender da escala da perda. Tirando a raiz quadrada da própria perda, obtém-se o RMSSE, raiz do erro quadrático médio. O gradiente passa a ter tamanho 1 sobre a raiz de N, onde N é o número de valores na saída do bloco, e o termo da perda desaparece. O artigo chama isso de normalização implícita de gradiente.

## RMSSE no Qwen3.5-27B: os números do artigo

No Qwen3.5-27B com pesos de 2 bits, os autores relatam os seguintes saltos ao trocar MSE por RMSSE. Todos os números vêm do próprio artigo ([arXiv:2610.00983](https://arxiv.org/abs/2610.00983)), não foram reproduzidos de forma independente. A Perplexity mede quão surpreendido o modelo fica com texto real; quanto menor, melhor.

| Configuração (Qwen3.5-27B) | Perplexity | Precisão média | |
| --- | --- | --- | --- |
| Precisão total | 6,90 | 77,10% | referência |
| W2A16 com MSE | 37,51 | 60,45% | gap de 16,65 pontos |
| W2A16 com RMSSE | 22,20 | 70,96% | recupera ~63% do gap |
| W4A16 com RMSSE | 7,09 | ~78% | quase igual à referência |

A leitura honesta: a precisão fecha cerca de dois terços do gap, mas a Perplexity de 22,20 ainda é cerca de três vezes a da precisão total. Nem tudo se resolve com uma troca de função de perda. A média de precisão cobre seis testes, incluindo [PIQA e ARC](https://huggingface.co/Qwen), e os ganhos encolhem conforme a precisão sobe, como os autores mesmos afirmam.

Há um detalhe que a troca esconde. O RMSSE testado tem quatro variantes, conforme o eixo de normalização: amostras, canais, tokens ou elementos. No Qwen3.5-9B, a variante por canais vence com 54,78%, contra 45,44% do MSE, mas a melhor variante muda por família de modelo e o artigo não explica por quê. A variante por elementos equivale à perda L1, um caso antigo com nome novo.

## Custo, limites e o que o artigo não resolve

O custo da troca é praticamente nulo na criação do arquivo. A Tabela 4 do artigo relata tempo de quantização entre 1,19% menor e 2,82% maior, com 0,00% de memória GPU extra no pico. O ganho aparece também em métodos mais fortes, por menor margem: o [FlatQuant](https://arxiv.org/abs/2410.01253) em W4A4 no 9B vai de Perplexity 9,36 para 9,15 e de 72,23% para 74,19% de precisão, segundo o artigo.

Os limites são explícitos. Sob W2A16G128, uma configuração 2 bits com grupos de 128 pesos, os autores afirmam que o RMSSE sozinho não recupera desempenho severamente degradado. O resultado principal do 27B usa W2A16 simples. Em raciocínio e código no 9B a 4 bits, GSM8K sobe de 95,15 para 95,98, MATH 500 de 94,20 para 94,80 e MBPP de 57,14 para 62,96, mas o HumanEval cai de 75,61 para 75,00, o único teste que votou contra.

Um ponto prático importante: o repositório dos autores no GitHub dizia, na data de análise, que código e checkpoints viriam em breve, sem link de download. Hoje você pode ler os resultados, mas não reproduzi-los. E um arquivo 2 bits baixado agora pode não usar essa perda. A [Unsloth](https://github.com/unslothai/unsloth), projeto de quantizações dinâmicas, segue outra linha: dá precisão maior a camadas sensíveis e menor às tolerantes, ideia distinta da troca de perda.

## Vale rodar um modelo 2-bit de 27B numa GPU de 8 GB?

Para a maioria dos usos, não: escolha um modelo de 9B a 4 bits. Os pesos a 2 bits já consomem 6,75 GB da sua placa, restando no máximo 1,25 GB para as escalas, o contexto e as partes mantidas em precisão maior. Arquivos reais ficam um pouco maiores que o mínimo teórico. A 4 bits, um 9B ocupa cerca de 4,5 GB antes dos extras.

A recomendação de 9B a 4 bits é julgamento editorial, não medida do artigo, porque nenhum score compara diretamente o 9B em 4 bits com o 27B em 2 bits. O que o artigo mostra é que no 9B a 4 bits o RMSSE entrega pontuações de raciocínio altas, como GSM8K de 95,98. Se você precisa das habilidades do 27B e aceita o gap de 6 pontos de precisão, espere os checkpoints e teste no seu próprio caso de uso.

Fique atento ao que os números não cobrem. Testes de Perplexity e de múltipla escolha não mostram se um modelo 2 bits preserva raciocínio longo, codificação ou habilidades de agente. E nenhuma pontuação do artigo vem de uma GPU de 8 GB.

## Perguntas frequentes

- **Quantização 2-bit é lossless?** Não. No Qwen3.5-27B, a Perplexity a 2 bits com RMSSE fica em 22,20, cerca de três vezes a da precisão total (6,90). O RMSSE recupera cerca de 63% do gap de precisão, mas sobram cerca de 6 pontos percentuais.

- **Qual é a diferença entre MSE e RMSSE na quantização?** No MSE, a magnitude do gradiente cresce com a raiz quadrada da perda, então blocos com perda pequena recebem um empurrão até 100 vezes mais fraco. O RMSSE divide o gradiente do MSE por duas vezes a raiz da perda, cancelando essa dependência e dando a cada bloco o mesmo empurrão.

- **Posso reproduzir os resultados do artigo hoje?** Ainda não, se o repositório dos autores continuar sem código e checkpoints publicados. Os números disponíveis são os relatados pelos próprios autores no artigo de outubro de 2026.

- **Qual o melhor tipo de quantização para uma GPU de 8 GB?** Para a maioria dos casos, um modelo de 9B a 4 bits, com cerca de 4,5 GB de pesos. Um 27B a 2 bits ocupa 6,75 GB só de pesos e deixa pouca margem para contexto e metadados.

[Source video](https://www.youtube.com/watch?v=YLLdtET5IDw)
