Calculadora de tamanho de quantização de LLM
Tamanho do arquivo GGUF = parâmetros × bits por peso ÷ 8. Com os 4,89 bits por peso medidos pelo llama.cpp, o Llama 3.1 8B em Q4_K_M tem 4,58 GiB, contra 7,95 GiB em Q8_0 e 14,96 GiB em F16 (README de quantize do llama.cpp, conferido em 16 de outubro de 2026).
Como usar
- Escolha um modelo para preencher parâmetros, camadas, cabeças KV e dimensão da cabeça, ou digite seus próprios valores do config.json.
- Defina o comprimento do contexto, a precisão do cache KV e uma porcentagem de sobrecarga.
- Leia a tabela: bits por peso, tamanho do arquivo e memória total de cada quantização. A porcentagem ao lado do nome é o tamanho em relação ao F16.
Como é calculado
Tamanho do arquivo = parâmetros × bits por peso ÷ 8. A ferramenta usa os bits efetivos por peso que o llama.cpp mediu no Llama 3.1 8B: F16 16,00, Q8_0 8,50, Q6_K 6,56, Q5_K_M 5,70, Q4_K_M 4,89, Q3_K_M 4,00, Q2_K 3,16. Fonte: tools/quantize/README.md do repositório ggml-org/llama.cpp, conferido em 16 de outubro de 2026.
Eles são maiores que o número do nome porque as K-quants guardam uma escala e um mínimo para cada bloco de pesos, e alguns tensores, como embeddings e a camada de saída, ficam com mais precisão. Com 8,03 bilhões de parâmetros a fórmula dá 4,58 GiB para Q4_K_M, igual ao README.
Memória = tamanho do arquivo + cache KV + sobrecarga. Cache KV = 2 × camadas × cabeças KV × dimensão da cabeça × contexto × bytes por valor, a mesma fórmula da calculadora de VRAM de GPU. A sobrecarga é uma porcentagem que você define para buffers e o runtime.
Os resultados estão em GiB (2^30 bytes). Outros modelos têm outra mistura de tensores, então os arquivos reais podem variar alguns por cento.
Tamanho do arquivo por modelo
| Quantização | Llama 3.1 8B | Qwen2.5 32B | Llama 3.1 70B |
|---|---|---|---|
| F16 | 14,96 GiB | 61,02 GiB | 131,41 GiB |
| Q8_0 | 7,95 GiB | 32,42 GiB | 69,82 GiB |
| Q6_K | 6,14 GiB | 25,03 GiB | 53,91 GiB |
| Q5_K_M | 5,33 GiB | 21,75 GiB | 46,84 GiB |
| Q4_K_M | 4,58 GiB | 18,67 GiB | 40,20 GiB |
| Q3_K_M | 3,74 GiB | 15,24 GiB | 32,82 GiB |
| Q2_K | 2,95 GiB | 12,05 GiB | 25,95 GiB |
Qual escolher
- Q4_K_M é o padrão mais comum: cerca de 31% do tamanho do F16.
- Q5_K_M e Q6_K usam 16% e 34% mais memória que o Q4_K_M e ficam mais perto do modelo original.
- Q8_0 tem cerca de metade do F16 e é o mais próximo dele em qualidade.
- Q3_K_M e Q2_K colocam modelos grandes em placas pequenas, com mais perda de qualidade. O README do llama.cpp lista a perplexidade de cada tipo.
Perguntas frequentes
Qual o tamanho de um modelo de 7B em Q4_K_M?
Cerca de 0,57 GiB por bilhão de parâmetros, então 7 bilhões dão cerca de 3,99 GiB. O Mistral 7B v0.3, com 7,25 bilhões, fica em cerca de 4,13 GiB.
Por que o Q4_K_M tem mais de 4 bits?
Cada bloco de pesos guarda seus próprios valores de escala, e alguns tensores mantêm mais precisão. O llama.cpp mediu 4,89 bits por peso no Llama 3.1 8B.
Um modelo de 70B cabe em 48 GB com Q4_K_M?
O arquivo tem cerca de 40,2 GiB. Com 8.192 tokens de contexto o cache KV soma 2,5 GiB e, com 10% de sobrecarga, o total fica perto de 47 GiB, bem no limite.
Qual a diferença para a calculadora de VRAM de GPU?
Ela usa a mesma fórmula de memória, mas coloca todos os tipos GGUF numa só tabela com os bits por peso medidos, para comparar de relance.