Todos los 6 centros de datos operativos

Pagado en cripto · Sin verificación de identidad · Acceso root en en menos de 5 minutos

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.

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 / FP16FP84-bit (AWQ, GPTQ)
Llama 3.1 8B8B de parámetros 16.0 GB 8.0 GB 4.0 GB
Qwen 3 32B32B de parámetros 64.0 GB 32.0 GB 16.0 GB
Llama 3.3 70B70B de parámetros 140.0 GB 70.0 GB 35.0 GB
Llama 3.1 405B405B 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 contexto8k de contexto32k de contexto128k 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.

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.

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 / FP16FP84-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 $125/mes · en una tarjeta · ~34 tok/s
Mistral Small 24B 24B de parámetros 57 GB 28 GB 15 GB 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 $125/mes · en una tarjeta · ~10 tok/s
Qwen 3 32B 32B de parámetros 76 GB 38 GB 21 GB 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 $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 $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 $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 $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 $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 contexto8k de contexto32k 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 trata exactamente de cuándo merece la pena pagar esa diferencia.

El configurador 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.

Iniciar sesión

Consola, facturas y acceso fuera de banda.

¿Aún no tiene cuenta?

No hay un registro aparte. Su cuenta se crea mientras realiza su primer pedido — elige el correo electrónico y la contraseña en el paso de pago, y la consola está abierta para cuando lo está la máquina.

Configurar un servidor

Language