LLM VRAM Calculator: Dimensione a GPU antes de baixar o modelo.
Roda no seu navegador — nada do que você cola sai desta página. Como comprovamos isso
Ambiente de testes da LLM VRAM Calculator
KV cache is counted at FP16. Overhead is a fixed 1.5 GiB estimate for the runtime and compute buffers. A custom size borrows the architecture of the nearest preset.
Results update as you type — press Enter to run now.
GPU tiers
- 8 GiBfitsRTX 4060, RTX 3070, RX 7600
- 12 GiBfitsRTX 4070, RTX 3060 12GB, RTX 5070
- 16 GiBfitsRTX 4060 Ti 16GB, RTX 4080, RTX 5080
- 24 GiBfitsRTX 4090, RTX 3090, RX 7900 XTX
- 32 GiBfitsRTX 5090, V100 32GB
- 48 GiBfitsRTX A6000, RTX 6000 Ada, L40S
- 80 GiBfitsA100 80GB, H100 80GB
Escolha um preset de modelo como Llama 3.1 8B ou informe um número de parâmetros, selecione uma quantização GGUF como Q4_K_M e um tamanho de contexto, e obtenha a VRAM que um LLM local precisa — pesos, cache KV e sobrecarga de execução em GiB, com um veredito contra os tamanhos de GPU comuns — tudo calculado no seu navegador, sem cadastro.
A lacuna
Os pesos cabem. Depois a janela de contexto não cabe.
A memória de GPU de um LLM local são três contas, não uma. Os pesos são a parte que todo mundo dimensiona: parâmetros vezes bits por peso, e por isso a quantização de 4 bits de um modelo de 8B é um arquivo de 4,5 GiB. O cache KV é a parte que todo mundo esquece — dois tensores por camada que crescem linearmente com o tamanho do contexto, então o mesmo modelo de 8B pede 1 GiB de cache em 8k tokens e 16 GiB em 128k. A sobrecarga de execução é o resto: buffers de computação, contexto CUDA ou Metal e o próprio framework, um custo fixo de cerca de 1,5 GiB.
Dois sistemas de unidades pioram os casos-limite. Uma GPU vendida como “24 GB” expõe 24 GiB (2³⁰ bytes cada), enquanto as fichas de modelo e os tamanhos de arquivo costumam citar GB (10⁹ bytes) — uma diferença de 7,4 %. Esta calculadora trabalha em GiB do início ao fim, então o encaixe é julgado contra o que o driver realmente informa, e a referência abaixo mostra os dois números para o exemplo resolvido. No Apple silicon a memória unificada é compartilhada com o sistema; conte com cerca de 75 % da RAM do Mac disponível para o modelo.
Perguntar a uma IA quanta VRAM um modelo precisa é o atalho arriscado: um modelo de linguagem lembra números plausíveis de fóruns sobre outras quantizações e tamanhos de contexto. Esta calculadora calcula o cache KV real por camada a partir da forma do config.json de cada modelo e dos bits por peso medidos pelo llama.cpp — números com os quais você pode verificar a resposta de uma IA, e não mais texto plausível.
Convertendo entre GiB e GB? O Data Size Converter mostra as contagens exatas de bytes.
O processo
Como funciona.
Quatro passos determinísticos rodam a cada mudança — todos dentro da aba do seu navegador, com as formas de modelo conferidas contra cada config.json.
-
Escolhe a forma.
Um preset fornece o número de camadas, as cabeças KV e a dimensão de cabeça do modelo a partir do seu config.json; um número de parâmetros personalizado toma emprestada a forma do preset mais próximo e é marcado como estimado.
-
Pesa os pesos.
Parâmetros × bits efetivos por peso da quantização escolhida, ÷ 8, ÷ 2³⁰. Os bits por peso vêm da tabela medida do llama.cpp, não dos 4 ou 8 nominais.
-
Dimensiona o cache KV.
Dois tensores por camada (K e V) × cabeças KV × head-dim × tokens de contexto × 2 bytes em FP16 — a parte da conta que cresce com a sua janela de contexto.
-
Soma a sobrecarga e dá o veredito.
1,5 GiB fixos para o runtime e os buffers de computação; depois o total é comparado com os tamanhos de placa comuns e a menor em que cabe é nomeada.
Referência de fórmulas
As duas fórmulas, resolvidas.
Tudo o que o painel mostra vem destas duas linhas mais uma sobrecarga fixa. Aqui estão elas com formas de modelo reais, para você conferir o resultado à mão.
O cache KV cresce com o contexto
A atenção por grupos de consultas mantém o cache pequeno: o Llama 3.1 tem 32 cabeças de atenção, mas só 8 cabeças KV por camada, e é esse o número que conta aqui.
KV cache (FP16) = 2 × layers × kv_heads × head_dim × context × 2 bytes
Llama 3.1 8B at 128k context
layers 32 · kv_heads 8 · head_dim 128 · context 131,072
= 2 × 32 × 8 × 128 × 131,072 × 2 B
= 17,179,869,184 B
= 16.0 GiB (17.2 GB — the KV cache alone outgrows a 16 GiB card)
Same model at 8k context
= 1.0 GiB Pesos por quantização
Um GGUF “de 4 bits” não tem 4 bits por peso: o Q4_K_M fica em média em 4,89 depois de contadas as escalas e os tensores de maior precisão, e o Q8_0 em média em 8,5.
Weights = params × bits_per_weight ÷ 8 ÷ 2^30
Llama 3.1 70B, Q4_K_M (4.89 bpw measured)
weights 70e9 × 4.89 ÷ 8 ÷ 2^30 = 39.85 GiB
KV @ 8k 2 × 80 × 8 × 128 × 8,192 × 2 B = 2.50 GiB
overhead = 1.50 GiB
total = 43.85 GiB → fits a 48 GiB card, not 24 or 32
Llama 3.1 8B, Q4_K_M
weights 8e9 × 4.89 ÷ 8 ÷ 2^30 = 4.55 GiB
KV @ 8k = 1.00 GiB
total (with overhead) = 7.05 GiB → fits an 8 GiB card Próximo passo
Vai servir o modelo em um cluster? Dimensione o pod também.
Escolhida a placa, a Kubernetes Resource Calculator transforma o seu número de réplicas e as requisições de CPU, memória e GPU por pod em totais por nó e folga — útil antes de escrever o Deployment que monta o modelo.
Llama 3.1 8B Q4_K_M 8k → 7.05 GiB fits 8 GiB
Llama 3.1 8B FP16 128k → 32.4 GiB fits 48 GiB
Llama 3.1 70B Q4_K_M 8k → 43.8 GiB fits 48 GiB FAQ
Suas perguntas, respondidas.
Toque em uma pergunta para expandir a resposta.
Quanta VRAM um modelo precisa?
Some três partes. Os pesos são o número de parâmetros multiplicado pelos bits por peso da quantização escolhida, dividido por 8 para obter bytes e por 2^30 para obter GiB — um modelo de 8B ocupa cerca de 15 GiB em FP16, 8 GiB em Q8_0 e 4,6 GiB em Q4_K_M. O cache KV cresce com o tamanho do contexto (próxima pergunta), e o runtime acrescenta um buffer fixo, que esta calculadora fixa em 1,5 GiB. O total precisa caber na memória da placa com alguma folga; se não couber, escolha uma quantização menor ou um contexto mais curto antes de partir para uma GPU maior.
O que a quantização faz, e qual é a diferença entre Q4_K_M, Q8_0 e FP16?
A quantização guarda cada peso em menos bits do que os 16 com que ele foi treinado. FP16 mantém 16 bits por peso (bpw); Q8_0 usa cerca de 8,5 bpw e é praticamente sem perdas; Q4_K_M usa cerca de 4,89 bpw — mais ou menos um terço do tamanho FP16 — com um pequeno custo de qualidade que a maioria não percebe num chat. Os valores fracionários vêm dos layouts mistos do llama.cpp, que mantêm alguns tensores sensíveis em precisão maior e guardam um fator de escala por bloco; por isso um arquivo «de 4 bits» não é exatamente metade de um de 8 bits.
Como o tamanho do contexto afeta a VRAM?
Cada token do contexto guarda um vetor chave e um vetor valor em cada camada, então o cache KV é 2 × camadas × cabeças KV × dimensão da cabeça × tokens × 2 bytes em FP16. Para o Llama 3.1 8B (32 camadas, 8 cabeças KV, dimensão da cabeça 128) são 128 KiB por token: 1 GiB com 8.192 tokens e 16 GiB com os 131.072 completos — mais do que os próprios pesos em Q4_K_M. A atenção de consulta agrupada (8 cabeças KV em vez de 32) divide o cache por quatro, e é por isso que o Llama 3 aguenta contextos longos onde o Llama 2 não aguentava. O controle deslizante de contexto desenha o cache como um segmento próprio da barra para você ver para onde a memória vai.
Por que a calculadora informa GiB em vez de GB?
Memória de GPU é vendida em gigabytes binários: uma RTX 4090 «de 24 GB» tem 24 GiB, que são 25,77 GB. Um GB são 10^9 bytes e um GiB são 2^30 = 1.073.741.824 bytes, 7,37% a mais, então dividir por 10^9 faria cada modelo parecer 7,4% maior do que é e erraria os veredictos bem no limite. A calculadora divide por 2^30 em todo lugar, para que um veredicto compare coisas iguais.
O que é o overhead de 1,5 GiB?
Pesos e cache KV não são tudo: o runtime (llama.cpp, Ollama, vLLM) aloca buffers de computação para as ativações, o contexto CUDA ou Metal ocupa algumas centenas de MiB e o driver reserva um pouco de memória própria. 1,5 GiB é uma estimativa redonda que cobre isso para a maioria dos modelos em uma única placa; o valor real varia com o runtime, o tamanho do lote e a GPU. Trate como margem, não como medida — se um veredicto cair a menos de meio GiB de um degrau, espere problemas.
Um modelo de 70B roda em uma GPU de 24 GB?
Não inteiramente na GPU. O Llama 3.1 70B em Q4_K_M precisa de cerca de 40 GiB só para os pesos, antes do cache KV e do overhead do runtime, então uma única placa de 24 GiB não consegue guardá-lo. Ele cabe em uma placa de 48 GiB (RTX 6000 Ada, A6000) ou dividido entre duas placas de 24 GiB com divisão por camadas; Q2_K, com cerca de 3,16 bpw, baixa os pesos para uns 26 GiB, ainda demais para uma placa e com custo de qualidade visível. Os runtimes podem descarregar as camadas restantes para a RAM do sistema, mas a velocidade de tokens cai então para o que a largura de banda de memória da CPU permite, normalmente poucos tokens por segundo.
Como a memória unificada da Apple se compara?
O Apple Silicon compartilha um único pool de memória entre CPU e GPU, então um Mac com 64 GB carrega modelos que nenhuma placa de 24 GiB aceita. Por padrão o macOS deixa a GPU usar cerca de 75% da memória unificada (uns 48 GiB numa máquina de 64 GB) e guarda o resto para o sistema; o sysctl iogpu.wired_limit_mb pode elevar o limite por sua conta e risco. Informe como orçamento cerca de três quartos da memória do Mac, e lembre que a largura de banda, não a capacidade, define a velocidade de tokens: um M-series Max move cerca de 400 GB/s, uma RTX 4090 perto de 1 TB/s.
Minha seleção sai do navegador em algum momento?
Não. A calculadora roda 100% no cliente: os presets de arquitetura e a aritmética chegam junto com a página, e cada número é calculado na aba do seu navegador. Nada é enviado a um servidor, não há conta nem cadastro, e o link de compartilhamento codifica sua seleção no fragmento da URL, que os navegadores nunca enviam a um servidor.
Quanta VRAM eu preciso para um modelo de 7B, 14B ou 70B?
Só para os pesos: um modelo de 8B precisa de cerca de 4,6 GiB em Q4_K_M, 7,9 GiB em Q8_0 e 14,9 GiB em FP16 (um de 7B, cerca de 4,0, 6,9 e 13,0 GiB); um de 14B, cerca de 8,0, 13,9 e 26,1 GiB; um de 70B, cerca de 39,9, 69,3 e 130,4 GiB. Some o cache KV do seu contexto — com 8.192 tokens é 1 GiB para o Llama 3.1 8B e 2,5 GiB para o Llama 3.1 70B — mais o overhead de 1,5 GiB do runtime, de modo que um 8B em Q4_K_M com 8k de contexto fica perto de 7,1 GiB no total. Cada modelo popular tem sua própria página com o número real de camadas e de cabeças KV, para você ler direto o veredicto daquele modelo.
Por que o cache KV às vezes é maior que os pesos?
Os pesos têm tamanho fixo, mas o cache KV cresce a cada token: custa 2 × camadas × cabeças KV × dimensão da cabeça × 2 bytes por token em FP16. Para o Llama 3.1 8B são 2 × 32 × 8 × 128 × 2 = 128 KiB por token, então o contexto completo de 131.072 tokens precisa de 16 GiB de cache contra cerca de 4,6 GiB de pesos em Q4_K_M. É a atenção de consulta agrupada que o mantém pequeno assim — 8 cabeças KV em vez de 32 reduzem o cache a um quarto —, enquanto modelos antigos com atenção multicabeça, com uma cabeça KV por cabeça de consulta, estouram a memória em contextos bem mais curtos.
More free, private DevOps tools.
A LLM VRAM Calculator é uma das ferramentas do OpsCanopy — um dossel crescente de validadores, conversores e testadores baseados no navegador que nunca tocam um servidor.
Ferramentas relacionadas
Começando com AI & local LLMs? Leia o guia de AI & local LLMs →
42 ferramentas gratuitas, todas capazes de funcionar offline — o opscanopy.com não exige cadastro e não envia nada.
Mais dimensionamento: a Kubernetes Resource Calculator e o Data Size Converter, ou navegue pelo diretório completo de ferramentas.
Apenas estimativas; o cache KV é dimensionado em FP16 e a sobrecarga é uma margem fixa, então confirme sempre contra o relatório do seu próprio runtime antes de comprar hardware. OpsCanopy é gratuito e aberto.