11 de noviembre de 2026 · Equipo de VRAMfarm
¿Cuánta VRAM necesito? Una tabla para LLM, Flux, vídeo con Wan 2.2 y entrenamiento
Un modelo de chat de 7–8B en 4 bits cabe en una tarjeta de 12 GB, un modelo de 32B necesita 24 GB y Llama 3.3 70B necesita unos 43 GB solo para sus pesos, así que 48 GB es el mínimo realista. Los modelos de imagen van de 10 GB (SDXL) a 24 GB (Qwen-Image en fp8), y el vídeo con Wan 2.2 necesita 22–48 GB. Estas mismas estimaciones alimentan el selector de VRAM de la página de inicio, y la fórmula de la que salen sirve para cualquier modelo que quieras comprobar tú.
La fórmula: pesos, caché KV y margen
Mientras un modelo se ejecuta, la memoria de vídeo contiene tres cosas:
VRAM ≈ parámetros × bytes por parámetro + caché KV (o activaciones) + 1–2 GB de margen
La primera parte son los pesos. Mil millones de parámetros a 2 bytes cada uno son 2 GB, así que un modelo de 8B en fp16 necesita unos 16 GB antes de procesar una sola palabra. Los bytes por parámetro dependen de la precisión:
| Precisión | Bytes por parámetro | Modelo de 8B | Modelo de 32B | Modelo de 70B | Calidad |
|---|---|---|---|---|---|
| fp32 | 4 | 32 GB | 131 GB | 282 GB | Solo para entrenar, nadie sirve en fp32 |
| fp16 / bf16 | 2 | 16 GB | 66 GB | 141 GB | La referencia |
| fp8 / int8 | 1 | 8 GB | 33 GB | 71 GB | Muy cerca de fp16 |
| 4 bits (Q4_K_M, AWQ, GPTQ) | 0,55–0,6 | 5 GB | 20 GB | 43 GB | Pequeña pérdida, bien para chat |
| 2–3 bits | 0,3–0,4 | 3 GB | 12 GB | 25 GB | Claramente peor, último recurso |
La segunda parte depende de lo que haga el modelo. En un modelo de lenguaje es la caché KV: el modelo guarda claves y valores de cada token de la conversación, y eso crece con la longitud del contexto. En modelos de imagen y vídeo son las activaciones: tensores intermedios que crecen con la resolución, el número de fotogramas y el tamaño de lote.
La tercera parte es el contexto de CUDA, los búferes del framework y la fragmentación de la memoria. Reserva 1–2 GB, más con vLLM, que por defecto se queda de entrada con el 90 % de la tarjeta.
La cuantización es la forma en que casi todo el mundo mete modelos más grandes en tarjetas más pequeñas. fp8 reduce los pesos a la mitad casi sin diferencia visible, y es el formato por defecto de Flux, Qwen-Image y Wan en ComfyUI. 4 bits los vuelve a reducir a la mitad. Para chatear y resumir, un modelo de 32B en 4 bits (unos 20 GB) suele dar mejores respuestas que un modelo de 8B en fp16, que ocupa casi lo mismo. En código y matemáticas con modelos pequeños, la pérdida se nota más. Por debajo de 4 bits, la calidad cae rápido.
Un detalle de hardware: fp8 se calcula de forma nativa a partir de la generación Ada (series RTX 40 y 50, L40S, H100, B200). Las tarjetas Ampere (RTX 3090, RTX A6000, A100) pueden cargar pesos en fp8, pero calculan en fp16, así que ahorras memoria sin ganar velocidad.
Modelos de lenguaje: de 8B a 235B
Las cifras son aproximadas: pesos más búferes de trabajo con un contexto corto. El contexto largo va aparte, mira la sección de la caché KV más abajo. La columna de 4 bits coincide con lo que muestra nuestro selector, porque así es como casi todo el mundo ejecuta estos modelos en una sola tarjeta.
| Modelo | fp16 | fp8 | 4 bits | Tarjeta para 4 bits | Tarjeta para fp8 |
|---|---|---|---|---|---|
| Qwen3 8B, Llama 3.1 8B | 17 GB | 9 GB | 7 GB | 12 GB: RTX 3060 | 16 GB: RTX 4060 Ti, RTX 4080 |
| Qwen3 14B | 30 GB | 15 GB | 10 GB | 16 GB: RTX 4060 Ti, RTX 5070 Ti | 24 GB: RTX 3090, RTX 4090 |
| Qwen3 32B | 66 GB | 33 GB | 21 GB | 24 GB: RTX 3090, RTX 4090 | 48 GB: RTX A6000, L40S |
| Llama 3.3 70B | 141 GB | 71 GB | 43 GB | 48 GB: RTX A6000, L40, L40S | 80–96 GB: H100, RTX PRO 6000 |
| Qwen3 235B-A22B (MoE) | 470 GB | 235 GB | 136 GB | 192 GB: B200, o 2 × A100 / H100 | 4 × H100 o 2 × B200 |
Algunas notas para leerla:
- Con 24 GB va un modelo de 32B, con contexto corto. Un 32B en 4 bits deja 2–3 GB para la caché KV en una tarjeta de 24 GB, suficiente para unos 8000–10 000 tokens. La RTX 5090 de 32 GB le da al mismo modelo sitio para algo así como 30 000–40 000, según la cuantización y los búferes propios del motor.
- 70B en una sola tarjeta significa 48 GB o más. Con 48 GB, un 70B en 4 bits funciona con 8000–12 000 tokens de contexto, el doble más o menos con una caché de 8 bits. Para documentos largos, varios usuarios a la vez o para servirlo con vLLM, coge una A100 o H100 de 80 GB.
- La H200 de 141 GB parece perfecta para un modelo de 136 GB, pero va demasiado justa. Tras el contexto de CUDA no queda casi nada para la caché. Coge una B200 o dos tarjetas de 80 GB.
- Los modelos MoE necesitan todos sus expertos en memoria. Qwen3 235B-A22B activa 22B parámetros por token, así que genera texto más o menos tan rápido como un modelo denso de 22–30B, pero necesita la memoria de uno de 235B.
La velocidad es otra cuestión. Generar cada token implica leer el modelo entero de la memoria, así que un techo aproximado de tokens por segundo es el ancho de banda de memoria dividido entre el tamaño del modelo. Una RTX 4090 (1008 GB/s) con un modelo de 20 GB se queda en unos 50 tokens por segundo como mucho, y las cifras reales quedan algo por debajo. Por eso una H100 con 3350 GB/s parece mucho más rápida con el mismo modelo.
Modelos de imagen y vídeo
Los modelos de imagen y vídeo en ComfyUI se suelen ejecutar en fp8, y ComfyUI va metiendo y sacando de la VRAM el codificador de texto y el VAE según hace falta. La columna del mínimo significa «funciona a 1024 × 1024 (o vídeo a 720p) sin errores»; la tarjeta recomendada te da margen para LoRA, ControlNet y resoluciones más altas. Toma las cifras como estimaciones para un workflow típico: la resolución, el número de fotogramas y los ajustes de descarga a la RAM de ComfyUI pueden moverlas varios gigas arriba o abajo.
| Modelo | Precisión | VRAM | Tarjeta mínima | Tarjeta cómoda |
|---|---|---|---|---|
| SDXL | fp16 | ~10 GB | 12 GB: RTX 3060 | 16 GB: RTX 4060 Ti, RTX 4080 |
| Flux.1 dev | fp8 | ~16 GB | 16 GB: RTX 4080, RTX 5070 Ti | 24 GB: RTX 4090 (también en bf16) |
| Qwen-Image, Qwen Image Edit | fp8 | ~24 GB | 24 GB: RTX 3090, RTX 4090 | 32–48 GB: RTX 5090, L40S |
| HiDream | fp8 | ~24 GB | 24 GB: RTX 3090, RTX 4090 | 32 GB: RTX 5090 |
| Wan 2.2 5B (texto/imagen a vídeo) | bf16 | ~22 GB a 720p | 24 GB: RTX 4090 | 32 GB: RTX 5090 |
| Wan 2.2 14B (texto/imagen a vídeo) | fp8 | ~30 GB | 32 GB: RTX 5090 | 48 GB: L40S, RTX A6000 |
El vídeo es la categoría donde más se diferencian «cabe» y «cabe con holgura». Cada segundo extra de vídeo añade fotogramas, y cada fotograma añade activaciones. Wan 2.2 14B en fp8 necesita unos 30 GB a 720p para un clip de 5 segundos: una RTX 5090 de 32 GB puede con ello, pero clips más largos o más resolución te llevan a 48 GB. Por eso nuestra app de Wan 2.2 14B lista para usar pide una tarjeta de 48 GB, y la de 5B, una de 24 GB.
Existen cuantizaciones GGUF (Q4, Q5) de Flux y Qwen-Image que los encajan en tarjetas de 8–12 GB, a cambio de pasos más lentos y algo de detalle. Si solo necesitas unas cuantas imágenes, vale; para trabajo de verdad, la memoria extra se paga sola en tiempo. La guía de GPU para Flux, SDXL y ComfyUI va tarjeta por tarjeta.
Voz y entrenamiento
Los modelos de voz son pequeños. Entrenar necesita muchísima más memoria que ejecutar el mismo modelo, porque los gradientes y los estados del optimizador ocupan sitio junto a los pesos.
| Tarea | VRAM | Tarjeta |
|---|---|---|
| Whisper large-v3 (fp16) | ~10 GB (int8 con faster-whisper: unos pocos GB) | 12 GB: RTX 3060 |
| Chatterbox, Qwen3-TTS, VoxCPM | 6–8 GB | 12 GB: RTX 3060 |
| LoRA de SDXL | 12–16 GB | 16–24 GB |
| LoRA de Flux | ~24 GB | 24 GB: RTX 3090, RTX 4090 |
| QLoRA, modelo de 8B | 10–16 GB | 16–24 GB |
| QLoRA, modelo de 32B | 24–32 GB | 48 GB |
| QLoRA, modelo de 70B | ~48 GB con secuencias cortas | 80 GB: A100, H100 |
| Ajuste fino completo, modelo de 8B | ~70 GB con optimizador de 8 bits y gradient checkpointing | Tarjeta de 80 GB, o varias |
La fila del ajuste fino completo merece una explicación. Con el optimizador AdamW estándar en precisión mixta, cada parámetro cuesta unos 16 bytes: pesos en bf16 (2), gradientes (2), una copia maestra en fp32 (4) y dos estados del optimizador (8). Para 8B parámetros, eso son unos 128 GB antes de las activaciones, lo que significa dos o más tarjetas de 80 GB, una H200 o una B200. Un optimizador de 8 bits y el gradient checkpointing lo bajan a unos 70 GB, según la longitud de secuencia y el entrenador, y eso cabe en una sola A100 o H100. QLoRA se ahorra casi todo: el modelo base se queda congelado en 4 bits y solo se entrenan unas matrices adaptadoras pequeñas.
Por qué un modelo que cabe falla igualmente con contexto largo
Es la sorpresa más habitual: el modelo carga, responde a las primeras preguntas y luego falla con «CUDA out of memory» cuando pegas un documento largo. Los pesos sí cabían. La caché KV, no.
La caché por token es 2 × capas × cabezas KV × tamaño de cabeza × bytes. En fp16 sale esto:
| Modelo | Caché KV por token | 8000 tokens | 32 000 tokens | 128 000 tokens |
|---|---|---|---|---|
| Qwen3 8B | 0,15 MB | 1,2 GB | 4,8 GB | 19 GB |
| Qwen3 32B | 0,26 MB | 2,1 GB | 8,6 GB | 34 GB |
| Llama 3.3 70B | 0,33 MB | 2,7 GB | 10,7 GB | 43 GB |
Así que un 70B en 4 bits en una tarjeta de 48 GB va bien con 8000 tokens y se queda sin memoria en torno a los 10 000–12 000. Con los 128 000 tokens de contexto que anuncia, solo la caché ocupa tanto como los pesos. Servir a varios usuarios multiplica la caché por el número de conversaciones en paralelo.
Cómo arreglarlo sin una tarjeta más grande:
- Limita el contexto. En vLLM, fija
--max-model-len 16384. vLLM se niega a arrancar si el contexto que pides no cabe, lo cual es mejor que fallar más tarde. En Ollama, lo que decide la memoria es la longitud del contexto (num_ctx), así que fíjala a propósito en vez de fiarte del valor por defecto, que ha cambiado entre versiones. - Cuantiza la caché.
--kv-cache-dtype fp8en vLLM, o-ctk q8_0 -ctv q8_0en llama.cpp (con flash attention activado), reduce la caché a la mitad con poco efecto en las respuestas. - Limita las peticiones en paralelo si sirves una API: menos conversaciones simultáneas, menos caché.
Si necesitas el contexto largo a diario, la solución más barata suele ser la siguiente tarjeta: una de 80 GB para un 70B, o una RTX 5090 de 32 GB en lugar de una de 24 GB para un 32B.
Cómo elegir la tarjeta a partir de la cifra
Coge la cifra de las tablas, súmale un 10–20 % de margen y elige la tarjeta más pequeña que la supere. Las tarjetas van en escalones fijos: 10–12 GB, 16 GB, 24 GB, 32 GB, 48 GB, 80 GB, 96 GB, 141 GB y 192 GB. Dentro de un mismo escalón, la diferencia es la velocidad, no lo que puedes ejecutar: una RTX 3090 y una RTX 4090 tienen las dos 24 GB. La 4090 genera imágenes entre 1,6 y 2,5 veces más rápido, pero genera texto de LLM solo un poco más rápido, porque su ancho de banda de memoria es parecido (936 frente a 1008 GB/s). Compara sus precios por hora, desde 0,30 € y 0,59 €, en la página de precios.
Si tienes dudas, empieza un escalón por encima de lo que crees. La facturación es por minuto, así que una tarjeta demasiado grande te cuesta unos céntimos de prueba, mientras que una demasiado pequeña te cuesta una tarde entera de errores de falta de memoria.