Zubnet AIAprenderWiki › VRAM
Infraestrutura

VRAM

Também conhecido como: Memória de vídeo, memória GPU
A memória em uma GPU, separada da RAM do sistema. Modelos de IA precisam caber na VRAM para rodar em uma GPU. Um modelo de 7B parâmetros em precisão de 16 bits precisa de ~14GB de VRAM. GPUs de consumo têm 8-24GB; GPUs de data center (A100, H100) têm 40-80GB. VRAM é quase sempre o gargalo para IA local.

Por que isso importa

VRAM determina quais modelos você pode rodar. É por isso que quantização existe (para encolher modelos para caber), por que modelos MoE são complicados (todos os especialistas precisam caber na VRAM), e por que preços de GPU escalam tão acentuadamente com memória. "Cabe na VRAM?" é a primeira pergunta de hospedar IA por conta própria.

Em profundidade

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.

Dimensionando o Orçamento

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 vs. Inferência

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 Hardware

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.

O Imposto Oculto

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.

Conceitos relacionados

← Todos os termos
← Upstage Banco de dados vetorial →
ESC