VRAM (Video RAM) são chips de memória fisicamente separados soldados na placa da GPU, distintos da RAM principal do seu sistema. A razão de existir separadamente é largura de banda — a conexão entre uma GPU e sua VRAM é massivamente mais larga que a conexão entre uma CPU e a RAM do sistema. Uma NVIDIA H100 alcança mais de 3,3 TB/s de largura de banda de memória para seu stack HBM3 (High Bandwidth Memory), enquanto um sistema DDR5 típico pode alcançar 50-80 GB/s. Para inferência de IA, onde o gargalo é ler bilhões de parâmetros de peso da memória para cada token gerado, essa diferença de largura de banda é por que rodar um modelo em uma GPU é dramaticamente mais rápido do que rodá-lo em uma CPU — mesmo quando a CPU tem bastante RAM de sistema.
Calcular requisitos de VRAM para um modelo é aritmética direta com algumas pegadinhas. A fórmula base: multiplique o número de parâmetros pelos bytes por parâmetro para seu formato de precisão. Um modelo 7B em FP16 (2 bytes por parâmetro) precisa de 14GB só para os pesos. Mas pesos não são tudo que mora na VRAM. Durante inferência, você também precisa de espaço para o KV cache — os pares key-value armazenados das computações de atenção que crescem com o comprimento do contexto. Para um modelo 7B rodando em contexto de 4.096 tokens, o KV cache pode adicionar 1-2GB. Estenda para 128K tokens e o KV cache sozinho pode consumir 20-40GB. É por isso que modelos de contexto longo precisam de significativamente mais VRAM do que seu número de parâmetros sugere.
Treinamento é muito mais faminto de VRAM que inferência. Além de armazenar os pesos do modelo, treinamento requer armazenar estados do otimizador (Adam mantém duas cópias extras de cada parâmetro — são 3x o tamanho dos pesos só aí), gradientes (outro 1x), e ativações (os valores intermediários necessários para backpropagation, que escalam com batch size e comprimento de sequência). Uma regra prática: treinamento em BF16 com o otimizador Adam requer aproximadamente 18-20 bytes por parâmetro. Um modelo 7B precisa de ~140GB só para estado de treinamento — mais do que qualquer GPU de consumo individual tem. É por isso que técnicas como FSDP (Fully Sharded Data Parallelism), gradient checkpointing e treinamento de precisão mista existem.
O panorama de VRAM de consumo define o que é praticamente alcançável para IA local. A RTX 4090 da NVIDIA com 24GB é o topo — suficiente para rodar confortavelmente modelos quantizados até cerca de 14B parâmetros. A RTX 4070 Ti Super com 16GB lida bem com modelos de 7B-13B. A RTX 4060 com 8GB é o mínimo para inferência de LLM local utilizável. No lado de data center, a NVIDIA H100 vem com 80GB, a H200 com 141GB e a MI300X da AMD oferece 192GB de HBM3. Para modelos grandes demais para qualquer GPU única, paralelismo de tensores divide o modelo entre múltiplas GPUs — mas isso requer interconnects rápidos (NVLink, InfiniBand) entre GPUs, ou o overhead de comunicação mata a performance.
Uma nuance que praticantes aprendem da pior forma: sua VRAM total não está totalmente disponível. O driver da GPU, processos de display (se também está alimentando um monitor) e overhead de contexto CUDA cada um consome alguma memória. Em uma placa de 24GB, você pode na verdade ter 22-23GB utilizáveis. E fragmentação de VRAM pode impedir alocar um único bloco contíguo grande mesmo quando a memória livre total parece suficiente. Ferramentas como nvidia-smi mostram uso atual de VRAM, mas o número que importa é o maior bloco contíguo livre, não apenas o total livre. É por isso que engines de inferência às vezes falham ao carregar um modelo que teoricamente deveria caber — a memória está lá mas dispersa.