Ver todos los artículos
VRAMHardwareCuantizaciónIA LocalOllama

¿Cuánta VRAM necesito para un LLM local? La cuenta, paso a paso

JG
Jacobo González Jaspe
|
¿Cuánta VRAM necesito para un LLM local? La cuenta, paso a paso Modelos

Al terminar este artículo sabrás calcular con lápiz y papel cuánta memoria necesita un modelo antes de descargarlo. Haremos la cuenta completa para un 8B, un 32B y un 70B. Basta con un portátil de 8 GB para empezar, y la misma cuenta te dice cuándo hace falta algo más.

Qué necesitas

  • Una calculadora o una hoja de cálculo. Nada más para hacer la cuenta.
  • El archivo config.json del modelo en Hugging Face. Lo usaremos para la caché.
  • Opcional: Ollama instalado, para comparar la cuenta con lo que mide tu máquina.

La fórmula es la misma que usa la calculadora de cada ficha en nuestro catálogo de productos. Si sigues los pasos, tus números y los de la web coinciden.

Paso 1: calcula lo que pesan los pesos

Un modelo es una lista de números. Cuántos hay lo dice el nombre (8B son 8.000 millones). Cuánto ocupa cada uno lo dice la cuantización:

texto
pesos (GB) = parámetros (miles de millones) × bits por peso ÷ 8
CuantizaciónBits por pesoQué es
Q4_K_M4,854 bits con algunas capas más precisas. La opción por defecto de Ollama
Q8_08,58 bits, prácticamente el original
FP1616los pesos originales

Los valores de Q4_K_M y Q8_0 son los de llama.cpp para esos tipos GGUF. Si quieres entender por qué 4 bits suele bastar, lo contamos en cómo elegir el archivo GGUF correcto.

Un 8B en Q4_K_M: 8,0 × 4,85 ÷ 8 = 4,85 GB. El mismo modelo en FP16 son 16 GB. La cuantización es la palanca más grande que tienes.

Paso 2: suma la caché de contexto

Mientras conversas, el modelo guarda dos vectores (K y V) por cada token, en cada capa. Esa es la caché de contexto. No depende de la cuantización del archivo. Depende de la arquitectura y de cuántos tokens permites:

texto
caché por token (bytes) = capas × cabezas KV × dimensión de cabeza × 4
caché (GB) = caché por token × tokens de contexto ÷ 1.000.000.000

El 4 sale de 2 vectores (K y V) por 2 bytes en FP16. Los tres valores están en el config.json del modelo: num_hidden_layers, num_key_value_heads y head_dim. Si falta head_dim, divide hidden_size entre num_attention_heads.

ModeloCapasCabezas KVDim. cabezaCaché por tokenFuente (consultada 06-10-2026)
Llama 3.1 8B3281280,131 MBconfig.json
Qwen 2.5 32B6485.120 ÷ 40 = 1280,262 MBconfig.json
Llama 3.3 70B8081280,328 MBconfig.json

Los dos Llama los leemos de la copia de unsloth porque el repositorio de Meta pide registro. La arquitectura es la misma.

Fíjate en las cabezas KV: 8 en los tres. Sin esa técnica (atención agrupada), un 70B con 64 cabezas guardaría ocho veces más caché.

Paso 3: suma el motor y compara con tu memoria útil

Al total le sumamos 1,5 GB de motor (búferes de cálculo y runtime). Después restamos lo que se queda el sistema:

  • VRAM dedicada (una tarjeta gráfica): memoria total menos 0,5 GB.
  • Memoria unificada o RAM del sistema: menos 3 GB hasta 16 GB, menos 4 GB hasta 32 GB, menos 6 GB por encima.

Con eso tienes la memoria útil. La regla de la calculadora: cabe con holgura si lo necesario es el 85 % de la útil o menos. Entre el 85 % y el 100 % cabe justo. Por encima, no cabe.

Tres ejemplos completos

Hicimos la cuenta ejecutando las funciones de la web (memoryNeededGb, usableMemoryGb y fitStatus, en src/lib/hardware-math.ts) con Node el 06-10-2026. Los números de esta tabla son los que devuelve el código, redondeados.

EjemploPesosCachéMotorTotal
Llama 3.1 8B, Q4_K_M, 8k tokens8,0 × 4,85 ÷ 8 = 4,85 GB0,131 × 8.192 = 1,07 GB1,5 GB7,42 GB
Qwen 2.5 32B, Q4_K_M, 8k tokens32,8 × 4,85 ÷ 8 = 19,88 GB0,262 × 8.192 = 2,15 GB1,5 GB23,53 GB
Llama 70B, Q4_K_M, 8k tokens70,6 × 4,85 ÷ 8 = 42,80 GB0,328 × 8.192 = 2,69 GB1,5 GB46,99 GB

Una nota sobre el 32B: la calculadora usa 32,8 mil millones de parámetros y la ficha de Qwen dice 32,5. La diferencia son 0,2 GB. Para el 70B usamos 70,6, la cifra de Llama 3.1 70B, que comparte arquitectura con Llama 3.3.

Ahora, contra máquinas reales:

MemoriaÚtilUmbral 85 %8B32B70B
GPU de 8 GB7,5 GB6,38 GBcabe justono cabeno cabe
GPU de 12 GB11,5 GB9,78 GBholgadono cabeno cabe
GPU de 24 GB23,5 GB19,98 GBholgadono cabe (por 0,03 GB)no cabe
Unificada de 32 GB28 GB23,8 GBholgadoholgadono cabe
Unificada de 64 GB58 GB49,3 GBholgadoholgadoholgado

El 32B en una tarjeta de 24 GB es el caso que más enseña. Con 8k de contexto se pasa por 30 MB. Baja a 4k y la caché cae a 1,07 GB: total 22,46 GB, cabe justo. El contexto decide.

Por qué el contexto pesa tanto

La caché crece en línea recta con los tokens. Para el 8B de arriba:

ContextoCachéTotal en Q4_K_M
4k0,54 GB6,89 GB
8k1,07 GB7,42 GB
32k4,29 GB10,64 GB
128k17,17 GB23,52 GB

Que un modelo admita 128k tokens no significa que debas reservarlos. Pide el contexto que usa tu tarea. Un resumen de un correo cabe en 4k; un contrato de 60 páginas, no.

Memoria unificada frente a VRAM dedicada

Una tarjeta gráfica tiene su propia memoria (VRAM). El modelo tiene que caber ahí, y lo que no cabe se ejecuta en la CPU, mucho más despacio.

Los Mac con chip Apple, la DGX Spark (GB10, 128 GB) y los equipos con AMD Strix Halo usan memoria unificada. CPU y GPU comparten la misma memoria, así que un equipo de 64 GB puede dar casi todo ese espacio al modelo. Por eso la reserva es mayor: el sistema operativo vive en la misma memoria.

Lo que no te dice la ficha técnica: caber no es correr rápido. La velocidad depende del ancho de banda de memoria, y ahí una GPU dedicada suele ganar. Para eso está el catálogo de hardware por presupuesto.

Comprueba el consumo real

La cuenta es una estimación. Tu máquina tiene la última palabra:

bash
ollama ps
# NAME           SIZE      PROCESSOR    CONTEXT
# llama3.1:8b    9.2 GB    100% GPU     32768

SIZE es la memoria que ocupa el modelo cargado. Si PROCESSOR dice algo distinto de 100% GPU, parte del modelo está en la CPU. Baja la cuantización o el contexto.

En una tarjeta NVIDIA dedicada, nvidia-smi lo confirma:

bash
nvidia-smi --query-gpu=memory.used,memory.total --format=csv

En la GB10 esa consulta devuelve [N/A], porque la memoria es unificada. Ahí usa ollama ps.

Así se compara la cuenta con lo que medimos en nuestra GB10, siempre con llama3.1:8b en Q4_K_M:

ContextoCuenta de la webMedido (ollama ps)Fecha
4.0966,89 GB5,3 GB09-09-2026
32.76810,64 GB9,2 GB06-10-2026
131.07223,52 GB22 GB09-09-2026

La cuenta sale siempre por encima: entre 1,4 y 1,6 GB de más. Los 1,5 GB de motor son generosos. Preferimos que te sobre memoria a que te falte.

Cuándo no hacer caso a la cuenta

  • Modelos de mezcla de expertos (MoE). Cuentan todos los parámetros para la memoria, aunque solo trabajen unos pocos por token. Usa el total.
  • Caché cuantizada. Algunos motores guardan la caché en 8 bits. Entonces ocupa la mitad y la fórmula te sobrestima.
  • Otros servicios en la misma máquina. Si ya hay un modelo cargado, réstalo de tu memoria útil.
  • Imágenes y visión. Los modelos multimodales añaden un codificador. Cuenta un margen extra.

Siguientes pasos

Hablemos 15 minutos

Hacemos esta cuenta con los documentos y el contexto reales de tu equipo, y la medimos en hardware antes de recomendar nada. Si la quieres para tu empresa, pide una llamada de 15 minutos o mira cómo trabajamos en consultoría.

Diagrama
Compartir: LinkedIn X
Veredicto semanal

Recibe las guías nuevas antes que nadie

Suscríbete y te avisamos cuando publiquemos guías, plantillas y workflows nuevos. Un correo a la semana, sin spam.

Ya publicados: 67 guías y 25 plantillas. Todo gratis y sin registro.

Bonus: el kit de inicio de IA local en PDF al suscribirte
1x por semana Sin spam Cancela cuando quieras

Ver qué recibes

La Ley de IA de la UE ya aplica: una lista que puedes completar

Cuéntanos qué quieres ejecutar

Dinos qué quieres ejecutar y con qué presupuesto. Te decimos qué hardware necesitas, qué modelo encaja y qué puedes esperar de él, antes de que gastes nada.

Primera llamada gratis, 15 min Local-first: tus datos no salen de tu red Herramientas y guías abiertas

67 guías gratuitas · 17 plantillas de cumplimiento