Guía de Dimensionamiento · 9 min de lectura

# Cuánta VRAM necesita realmente un modelo.

Dos cifras lo deciden: los pesos, que son fijos, y la caché KV, que crece con la cantidad de contexto que sirve. Casi todas las respuestas equivocadas vienen de estimar la segunda a partir de la primera.

La respuesta corta

- **Weights:** Parámetros en miles de millones × bytes por parámetro. 70B en 4 bits son **35 GB**.
- **Caché KV:** 2 × capas × cabezas KV × dimensión de cabeza × bytes, por token. No tiene nada que ver con el número de parámetros.
- **Overhead:** Añada alrededor de un **15 %** para las activaciones, el contexto de CUDA y la fragmentación del asignador de memoria.
- **La trampa:** Cuantizar los pesos a 4 bits **no** cuantiza la caché. Permanece en FP16 en todos los stacks habituales.

## La fórmula

Aquí no hay ninguna regla general que sobreviva al contacto con un segundo modelo. Todo el cálculo son tres líneas, y merece la pena hacerlas en lugar de confiar en un multiplicador.

VRAM total, en GB

```
# 1. Weights
weights_gb   = parameters_in_billions × bytes_per_parameter

# 2. KV cache, per token — then multiplied by the context you serve
bytes_per_tok = 2 × layers × kv_heads × head_dim × cache_bytes
cache_gb      = bytes_per_tok × context_tokens × batch / 1024³

# 3. Everything else
total_gb      = (weights_gb + cache_gb) × 1.15
```

El `2` se debe a que hay dos tensores por token, K y V. `bytes_per_parameter` es 2 para BF16, 1 para FP8, 0.5 para 4 bits. `cache_bytes` es un número *independiente*, y esa separación es la fuente más común de una respuesta equivocada — vea [más abajo](https://gpuserver.io/es/guides/vram-sizing#wrong).

## Pesos

La mitad fácil. Es exactamente lineal en el número de parámetros, y la única decisión es la precisión.

**Memoria de pesos por precisión, para una selección de tamaños de modelo**

| Modelo | BF16 / FP16 | FP8 | 4-bit (AWQ, GPTQ) |
|---|---|---|---|
| Llama 3.1 8B 8B de parámetros | 16.0 GB | 8.0 GB | 4.0 GB |
| Qwen 3 32B 32B de parámetros | 64.0 GB | 32.0 GB | 16.0 GB |
| Llama 3.3 70B 70B de parámetros | 140.0 GB | 70.0 GB | 35.0 GB |
| Llama 3.1 405B 405B de parámetros | 810.0 GB | 405.0 GB | 202.5 GB |

La cuantización en 4 bits cuesta calidad, y cuánto depende mucho más del modelo que del método. Es el intercambio correcto cuando supone la diferencia entre una tarjeta y cuatro; es un mal intercambio cuando ya tiene margen de sobra.

## La caché KV

La mitad difícil, y la que decide si una máquina es adecuada a 4k e inútil a 128k. Depende de las capas y las cabezas KV — *no* de lo grande que sea el modelo.

**Dos modelos de tamaños muy distintos, uno junto al otro.** Llama 3.3 70B tiene 80 capas y 8 cabezas KV, así que 320 KB por token. Gemma 3 27B — un tercio de los parámetros — tiene 62 capas y 16 cabezas KV, así que 496 KB por token, lo que es 1.6× *más*. Cualquier estimación calculada a partir del número de parámetros lo tiene al revés.

**Tamaño de la caché KV por modelo y longitud de contexto, con precisión de caché FP16, una solicitud**

| Modelo | Por token | 4k de contexto | 8k de contexto | 32k de contexto | 128k de contexto |
|---|---|---|---|---|---|
| Llama 3.1 8B 32 capas · 8 cabezas KV | 128 KB | 0.5 GB | 1.0 GB | 4.0 GB | 16.0 GB |
| Gemma 3 27B 62 capas · 16 cabezas KV | 496 KB | 1.9 GB | 3.9 GB | 15.5 GB | 62.0 GB |
| Llama 3.3 70B 80 capas · 8 cabezas KV | 320 KB | 1.3 GB | 2.5 GB | 10.0 GB | 40.0 GB |
| DeepSeek V3 671B-A37B (MoE) Atención latente | 70 KB | 0.3 GB | 0.5 GB | 2.2 GB | 8.8 GB |
| Llama 3.1 405B 126 capas · 8 cabezas KV | 504 KB | 2.0 GB | 3.9 GB | 15.8 GB | 63.0 GB |

Lea la última columna antes que la primera. Con un contexto de 4k, la caché es un error de redondeo en todos los modelos de aquí; a 128k es mayor que los pesos de un modelo de 70B en 4 bits. DeepSeek V3 es la excepción porque su atención latente comprime la caché por diseño — por eso resulta utilizable con contexto largo pese a ser el modelo más grande de la lista.

## Dónde fallan las estimaciones

**Escalar la caché a partir del número de parámetros.** El error más común, y el que se muestra arriba. Un modelo de 27B puede necesitar más caché que uno de 70B.

**Suponer que unos pesos en 4 bits implican una caché en 4 bits.** No es así. AWQ y GPTQ solo cuantizan los pesos; la caché permanece en FP16 a menos que active explícitamente FP8 KV. Un modelo de 70B en 4 bits y contexto de 128k son 35 GB de pesos y 40 GB de caché.

**Dimensionar para una sola solicitud.** La caché es por secuencia concurrente. Servir a ocho usuarios a la vez necesita ocho veces la caché — vea [más abajo](https://gpuserver.io/es/guides/vram-sizing#batch).

**Olvidar la sobrecarga.** Las activaciones, el contexto de CUDA y la fragmentación del asignador de memoria son reales. El 15 % es un margen deliberadamente prudente; ignorarlo por completo es la forma en que un modelo que «cabe» no llega a cargar.

**Sumar la VRAM total entre tarjetas.** Cuatro tarjetas de 24 GB no son una tarjeta de 96 GB. El paralelismo tensorial puede dividir un modelo entre ellas, pero entonces cada capa se sincroniza a través del enlace — consulte la [guía de NVLink](https://gpuserver.io/es/guides/nvlink-vs-pcie).

**Dimensionar un MoE por sus parámetros activos.** DeepSeek V3 activa 37B por token, pero debe mantener los 671B completos en memoria. Los parámetros activos predicen la *velocidad*; los parámetros totales deciden si llega a cargar.

## Ejemplos resueltos

Memoria total necesaria, pesos más caché más sobrecarga, con contexto de 8k y una solicitud. Es el mismo cálculo que el configurador ejecuta sobre cada configuración del catálogo.

**VRAM total necesaria con contexto de 8k, por modelo y precisión**

| Modelo | BF16 / FP16 | FP8 | 4-bit (AWQ, GPTQ) | Nodo más pequeño que cabe |
|---|---|---|---|---|
| Llama 3.1 8B 8B de parámetros | 20 GB | 10 GB | 6 GB | [NVIDIA L4](https://gpuserver.io/es/gpu/nvidia-l4) $125/mes · en una tarjeta · ~34 tok/s |
| Mistral Small 24B 24B de parámetros | 57 GB | 28 GB | 15 GB | [NVIDIA L4](https://gpuserver.io/es/gpu/nvidia-l4) $125/mes · en una tarjeta · ~11 tok/s |
| Gemma 3 27B 27B de parámetros | 67 GB | 33 GB | 20 GB | [NVIDIA L4](https://gpuserver.io/es/gpu/nvidia-l4) $125/mes · en una tarjeta · ~10 tok/s |
| Qwen 3 32B 32B de parámetros | 76 GB | 38 GB | 21 GB | [NVIDIA L4](https://gpuserver.io/es/gpu/nvidia-l4) $125/mes · en una tarjeta · ~8 tok/s |
| Llama 3.3 70B 70B de parámetros | 164 GB | 82 GB | 43 GB | [2 × NVIDIA L4](https://gpuserver.io/es/gpu/nvidia-l4) $285/mes · repartido entre el nodo · ~7 tok/s |
| Mixtral 8×22B (MoE) 39B activos de 141B | 326 GB | 163 GB | 83 GB | [4 × NVIDIA L4](https://gpuserver.io/es/gpu/nvidia-l4) $564/mes · repartido entre el nodo · ~4 tok/s |
| Qwen 3 235B-A22B (MoE) 22B activos de 235B | 542 GB | 271 GB | 137 GB | [8 × NVIDIA L4](https://gpuserver.io/es/gpu/nvidia-l4) $1,106/mes · repartido entre el nodo · ~10 tok/s |
| DeepSeek V3 671B-A37B (MoE) 37B activos de 671B | 1,544 GB | 772 GB | 386 GB | [8 × NVIDIA A100 PCIe](https://gpuserver.io/es/gpu/a100-80gb) $7,906/mes · repartido entre el nodo · ~37 tok/s |
| Llama 3.1 405B 405B de parámetros | 936 GB | 468 GB | 237 GB | [10 × NVIDIA L4](https://gpuserver.io/es/gpu/nvidia-l4) $1,371/mes · repartido entre el nodo · ~3 tok/s |

La última columna es el nodo más barato de nuestro catálogo que aloja el modelo en 4 bits y contexto de 8k, con la velocidad de generación de flujo único que permite el ancho de banda de memoria. Las cifras de rendimiento son deliberadamente conservadoras y están calibradas frente a mediciones publicadas — trátelas como un mínimo garantizado, no como una promesa.

## Servir más de una solicitud

Aquí es donde una máquina dimensionada para una demo se convierte en una máquina que no puede servir un producto. Los pesos se pagan una vez; la caché se paga por secuencia concurrente.

**VRAM total para Llama 3.3 70B en 4 bits, por solicitudes concurrentes y contexto**

| Solicitudes concurrentes | 4k de contexto | 8k de contexto | 32k de contexto |
|---|---|---|---|
| 1 solicitud | 42 GB una tarjeta de 80 GB | 43 GB una tarjeta de 80 GB | 52 GB una tarjeta de 80 GB |
| 4 solicitudes | 46 GB una tarjeta de 80 GB | 52 GB una tarjeta de 80 GB | 86 GB una H200 |
| 16 solicitudes | 63 GB una tarjeta de 80 GB | 86 GB una H200 | 224 GB nodo multi-GPU |
| 64 solicitudes | 132 GB una H200 | 224 GB nodo multi-GPU | 776 GB nodo multi-GPU |

Llama 3.3 70B en 4 bits son 35 GB de pesos, haga lo que haga. Todo lo que supere los 35 GB en esa tabla es caché. Por eso «funcionaba bien en mi portátil» y «se cayó en producción» son el mismo modelo en la misma tarjeta.

**Dos formas de recuperar memoria de caché.** Active la caché KV en FP8 si su stack lo permite — eso reduce a la mitad las cifras anteriores a un coste de calidad que normalmente es invisible. Y limite `--max-model-len` al contexto que realmente sirve: vLLM reserva caché para el máximo declarado, así que declarar 128k cuando sirve 8k desperdicia dieciséis veces la memoria que necesita.

## Qué máquina implica eso

Tres reglas prácticas que se derivan de todo lo anterior, en el orden en que importan.

1. **Una sola tarjeta gana a varias, siempre que sea posible.** Sin sharding, sin sincronización entre capas, sin interconexión en la que pensar. Si su modelo, con su contexto, cabe en una sola tarjeta, compre esa tarjeta.
2. **Dimensione para su contexto real y su concurrencia real**, no para el máximo anunciado del modelo. El máximo anunciado es una capacidad, no un requisito.
3. **Cuando tenga que aplicar sharding, prefiera NVLink.** Dividir entre cuatro tarjetas PCIe funciona; dividir entre cuatro tarjetas NVLink funciona y es notablemente más rápido. La [siguiente guía](https://gpuserver.io/es/guides/nvlink-vs-pcie) trata exactamente de cuándo merece la pena pagar esa diferencia.

El [configurador](https://gpuserver.io/es/configure) ejecuta este cálculo en tiempo real sobre las 41 configuraciones: elija un modelo, una precisión y una longitud de contexto, y le indica qué nodos lo alojan, cuáles lo alojan en una sola tarjeta, y cuánto cuesta cada uno al mes. Usa la fórmula de esta página, así que si no está de acuerdo con nuestra aritmética ahora puede decir exactamente dónde.

## Compruebe su propio modelo con cada máquina que alquilamos.

El configurador hace la aritmética anterior para las 41 configuraciones, antes de que pague nada.

[Abrir el configurador](https://gpuserver.io/es/configure) [Leer las guías](https://gpuserver.io/es/guides)

## Otras guías

- [Dimensionamiento · 7 min NVLink o PCIe: cuál necesita su carga de trabajo Cuándo el enlace entre tarjetas decide su rendimiento, cuándo no cambia nada, y cómo saber en qué caso está antes de pagar por el nodo equivocado. Leer la guía](https://gpuserver.io/es/guides/nvlink-vs-pcie)
- [Dimensionamiento · 9 min Elegir una tarjeta para modelos de imagen y vídeo Cuánta VRAM necesitan FLUX, SDXL, SD 3.5 y Wan 2.1, qué tarjeta de nuestro catálogo aloja cada uno, y por qué la más barata que cabe rara vez es la más indicada. Leer la guía](https://gpuserver.io/es/guides/gpu-for-flux-sdxl)
- [Dimensionamiento · 10 min Elegir un formato de cuantización Lo que cuestan AWQ, GPTQ, GGUF y FP8 en memoria, velocidad y calidad — y por qué el formato con los pesos más pequeños rara vez da el modelo más pequeño. Leer la guía](https://gpuserver.io/es/guides/awq-vs-gptq-vs-fp8)

---

Fuente: https://gpuserver.io/es/guides/vram-sizing/. Este archivo se genera a partir de los mismos datos que el sitio web; si una cifra aquí difiere de la de una página, prevalece la página y este archivo está desactualizado: la fuente canónica es https://gpuserver.io/.
