Ilustración de una tarjeta gráfica cuya memoria se dibuja como una pila de bloques que se llena con los pesos del modelo y la caché

¿Qué modelos de IA caben en tu GPU? Guía de VRAM para 8, 12, 16 y 24 GB

Qué modelos de IA abiertos funcionan con 8, 12, 16 y 24 GB de VRAM: la fórmula de pesos más caché KV, lo que cuestan Q4 y Q8 en calidad y los tamaños reales de los modelos en Ollama.

Con la cuantización de 4 bits que Ollama trae por defecto, un modelo de 7B u 8B necesita una tarjeta de 8 GB, los modelos de 12B a 14B necesitan 12 GB (16 GB si quieres prompts largos) y los de 27B a 32B necesitan 24 GB. Un modelo de 70B a 4 bits ocupa 43 GB, es decir, 48 GB de VRAM o más.

La versión larga importa porque el tamaño de la descarga no es toda la factura. El contexto que usas también ocupa memoria, y un modelo que parece caber puede acabar a medias en la CPU y varias veces más lento. Abajo están la fórmula que uso, qué significan las etiquetas de cuantización y una tabla de modelos abiertos actuales con sus tamaños de descarga reales en la biblioteca de Ollama. Los tamaños y las especificaciones se revisaron en septiembre de 2026; las fuentes están al final.

Respuesta rápida según la VRAM

VRAMTarjetas típicasQué funciona entero en la GPU (4 bits)
8 GBRTX 4060, RTX 5060, RTX 3070Modelos de 7B a 8B: Llama 3.1 8B, Qwen3 8B, Mistral 7B
12 GBRTX 3060 12 GB, RTX 4070, RTX 5070Modelos de 12B a 14B con contexto corto; de 7B a 8B en Q8_0
16 GBRTX 4060 Ti 16 GB, RTX 4080, RTX 508014B con contexto largo, gpt-oss 20B
24 GBRTX 3090, RTX 4090De 24B a 32B: Mistral Small 3.2, Gemma 3 27B, Qwen3 32B
32 GBRTX 509032B con contexto largo, modelos de mezcla de expertos de 35B
De 48 a 80 GBL40S (48 GB), H100 (80 GB)70B a 4 bits, gpt-oss 120B en 80 GB

Las memorias de las tarjetas salen de las fichas técnicas de NVIDIA. Algunas tarjetas existen en dos versiones: la RTX 3060 con 12 GB y con 8 GB, y la RTX 4060 Ti y la RTX 5060 Ti con 16 GB y con 8 GB. Comprueba cuál compras o alquilas.

Cómo estimar la VRAM que necesita un modelo

Mientras un modelo te responde, en la memoria de la GPU hay tres cosas:

  1. Los pesos. Parámetros × bits por peso ÷ 8 = bytes.
  2. La caché KV. El modelo guarda las claves y los valores de cada token de la conversación para no recalcularlos. Por token son 2 × capas × cabezas KV × tamaño de cabeza × 2 bytes (con la caché de 16 bits por defecto). Multiplícalo por la longitud de contexto.
  3. La sobrecarga. El contexto CUDA, los búferes temporales y el propio motor. Yo cuento con 1 GB, más o menos. Varía según el motor y la configuración, así que tómalo como una regla práctica, no como una especificación.

El número de capas y de cabezas está en el config.json de cada modelo en Hugging Face.

Ejemplo práctico: Qwen 2.5 14B en una tarjeta de 16 GB

Qwen 2.5 14B tiene 14.700 millones de parámetros, 48 capas, 8 cabezas KV y un tamaño de cabeza de 128 (5.120 de tamaño oculto ÷ 40 cabezas de atención).

  • Pesos en Q4_K_M: llama.cpp da para Q4_K_M unos 4,89 bits por peso. 14.700 millones × 4,89 ÷ 8 = 8,99 GB. La descarga de qwen2.5:14b en Ollama ocupa 9,0 GB, así que la cuenta coincide con el archivo real.
  • Caché KV por token: 2 × 48 × 8 × 128 × 2 bytes = 196.608 bytes, unos 0,2 MB.
  • Caché KV para todo el contexto: 4.096 tokens = 0,8 GB. 16.384 tokens = 3,2 GB. 32.768 tokens = 6,4 GB.
  • Total: 9,0 + 0,8 + 1 = 10,8 GB con 4K de contexto. 9,0 + 3,2 + 1 = 13,2 GB con 16K. 9,0 + 6,4 + 1 = 16,4 GB con 32K, que ya no cabe en una tarjeta de 16 GB.
Qué llena la VRAM con Qwen 2.5 14B en Q4_K_M en una tarjeta de 16 GB: pesos, caché KV con tres longitudes de contexto y sobrecarga Pesos 9,0 GB Caché KV Sobrecarga ~1 GB Tarjeta de 16 GB Contexto 4K pesos 10,8 GB Contexto 16K pesos 3,2 13,2 GB Contexto 32K pesos 6,4 16,4 GB 0 4 8 12 16 20 GB de VRAM
Qwen 2.5 14B en Q4_K_M en una tarjeta de 16 GB. Los pesos se quedan en 9,0 GB; la caché KV crece con el contexto hasta que, con 32K tokens, el total pasa de 16 GB. La sobrecarga es una regla práctica de 1 GB.

De aquí salen dos cosas. La primera: el contexto que configuras puede costar tanta memoria como el modelo. Llama 3.1 8B (32 capas, 8 cabezas KV, tamaño de cabeza 128) necesita 131.072 bytes de caché KV por token, así que su contexto completo de 128K necesitaría 17,2 GB solo de caché, unas tres veces y media su descarga de 4,9 GB. La segunda: el tamaño de la caché KV por token cambia mucho de un modelo a otro. Qwen 2.5 7B tiene solo 4 cabezas KV y 28 capas, así que necesita 57.344 bytes por token, menos de la mitad que Llama 3.1 8B. Mira la configuración antes de dar nada por hecho.

Qué hace Ollama con el contexto por defecto

Ollama elige una longitud de contexto por defecto según la VRAM que encuentra: 4K tokens por debajo de 24 GiB, 32K tokens de 24 a 48 GiB y 256K a partir de 48 GiB. Puedes cambiarla con la variable de entorno OLLAMA_CONTEXT_LENGTH, y ollama ps muestra en su columna CONTEXT el contexto realmente reservado. Hay dos ajustes más que cambian la cuenta:

  • OLLAMA_NUM_PARALLEL (por defecto 1): la documentación de Ollama dice que las peticiones en paralelo multiplican el tamaño del contexto por el número de peticiones en paralelo. Cuatro huecos en paralelo son cuatro veces la caché KV.
  • OLLAMA_KV_CACHE_TYPE: q8_0 usa más o menos la mitad de memoria que la caché f16 por defecto, y q4_0 una cuarta parte. Requiere tener activada la flash attention.

Qué significan los niveles de cuantización

Los modelos abiertos se publican con precisión de 16 bits (las configuraciones enlazadas abajo indican bfloat16): dos bytes por parámetro. La cuantización guarda los pesos en menos bits. En los archivos GGUF, el formato que usan Ollama y llama.cpp, las etiquetas significan más o menos esto:

EtiquetaBits por pesoTamaño de Llama 3.1 8BPerplejidad en Llama 3 8B (menos es mejor)
F1616,014,96 GiB6,233
Q8_08,507,95 GiB6,234
Q6_K6,566,14 GiB6,253
Q5_K_M5,705,33 GiB6,289
Q4_K_M4,894,58 GiB6,407
Q3_K_M4,003,74 GiB6,888
Q2_K_S / Q2_K2,972,78 GiB9,752 (Q2_K)

Los bits por peso y los tamaños salen del README de quantize de llama.cpp (Llama 3.1 8B). La perplejidad sale del README de perplexity de llama.cpp (Llama 3 8B, Wikitext). Los tipos «K» son las k-quants de llama.cpp, que mezclan precisiones a lo largo del modelo; _S, _M y _L son mezclas pequeña, mediana y grande.

Lo que dicen los números: Q8_0 es prácticamente sin pérdidas (perplejidad de 6,234 frente a 6,233). Q4_K_M cuesta alrededor de un 3 % de perplejidad, y el mismo README indica que su token siguiente más probable coincide con el del modelo a precisión completa el 91,9 % de las veces. Q3 es claramente peor, y Q2 se desmorona.

La perplejidad no es lo mismo que la utilidad, así que viene bien que un estudio de Uygar Kurt de enero de 2026 pasara Llama 3.1 8B Instruct por benchmarks de razonamiento, conocimiento, seguimiento de instrucciones y veracidad en cada nivel de llama.cpp. La media sin ponderar fue 69,47 en F16, 69,41 en Q8_0, 69,36 en Q5_K_M y 69,15 en Q4_K_M. Por eso casi todo el mundo, Ollama incluido, usa Q4_K_M por defecto: el archivo ocupa menos de un tercio que en FP16 a cambio de una pérdida que rara vez notarás. En Ollama, la etiqueta sin más es esa versión de 4 bits: qwen3:8b y qwen3:8b-q4_K_M ocupan 5,2 GB los dos, y phi4:14b y phi4:14b-q4_K_M, 9,1 GB los dos.

Mi regla: coge el modelo más grande que quepa en Q4_K_M antes que un modelo más pequeño en Q8_0. Un 14B en Q4 suele ganar a un 7B en Q8, y los archivos ocupan más o menos lo mismo. Sube a Q5 o Q8 cuando te sobre memoria y la tarea sea sensible a errores pequeños, como el código o la extracción exacta de datos.

Las etiquetas más recientes de Ollama también incluyen formatos como qat (las versiones de Gemma entrenadas con cuantización), nvfp4 y mxfp8. gpt-oss lo publica la propia OpenAI en MXFP4, con 4,25 bits por parámetro para los pesos de mezcla de expertos.

Qué modelos caben: tamaños y niveles de VRAM

La tabla recoge modelos abiertos actuales de la biblioteca de Ollama en septiembre de 2026 con sus tamaños de descarga. La columna «4 bits» es el tamaño de la etiqueta por defecto. En la mayoría de modelos es el mismo archivo que la etiqueta q4_K_M; cuando la versión por defecto es otra, la tabla da los dos tamaños (la de Mistral Nemo ocupa 7,1 GB y su q4_K_M, 7,5 GB). «Tarjeta mínima» significa que el modelo, más 1 GB de sobrecarga y un contexto de 4K a 8K, cabe entero en la GPU. ¿Quieres contexto largo? Sube un nivel.

ModeloEtiqueta de OllamaTamaño a 4 bitsTamaño en Q8_0Tarjeta mínima (4 bits / Q8_0)
Mistral 7B v0.3mistral:7b4,4 GB7,7 GB8 GB / 12 GB
Qwen 2.5 7Bqwen2.5:7b4,7 GB8,1 GB8 GB / 12 GB
DeepSeek-R1 destilado 7B (Qwen 2.5)deepseek-r1:7b4,7 GBno comprobado8 GB
Llama 3.1 8Bllama3.1:8b4,9 GB8,5 GB8 GB / 12 GB
Qwen3 8Bqwen3:8b5,2 GB8,9 GB8 GB / 12 GB
DeepSeek-R1-0528 (Qwen3 8B)deepseek-r1:8b5,2 GBno comprobado8 GB
Qwen3.5 9Bqwen3.5:9b6,6 GB11 GB8 GB, solo con contexto corto / 16 GB
Mistral Nemo 12Bmistral-nemo:12b7,1 GB (q4_K_M: 7,5 GB)13 GB12 GB / 16 GB
Gemma 4 12Bgemma4:12b7,6 GB13 GB12 GB / 16 GB
Gemma 3 12Bgemma3:12b8,1 GB13 GB12 GB / 16 GB
Qwen 2.5 14Bqwen2.5:14b9,0 GB16 GB12 GB / 24 GB
DeepSeek-R1 destilado 14B (Qwen 2.5)deepseek-r1:14b9,0 GBno comprobado12 GB
Phi-4 14Bphi4:14b9,1 GB16 GB12 GB / 24 GB
Qwen3 14Bqwen3:14b9,3 GB16 GB12 GB / 24 GB
gpt-oss 20B (MoE)gpt-oss:20b14 GB (MXFP4)n/d16 GB
Mistral Small 3.2 24Bmistral-small3.2:24b15 GB26 GB24 GB / 32 GB
Gemma 3 27Bgemma3:27b17 GB30 GB24 GB / 48 GB
Qwen3.5 27Bqwen3.5:27b17 GB30 GB24 GB / 48 GB
Qwen3.6 27Bqwen3.6:27b18 GB (q4_K_M: 17 GB)30 GB24 GB / 48 GB
Gemma 4 26B (MoE, 3,8B activos)gemma4:26b19 GB (q4_K_M: 18 GB)28 GB24 GB / 32 GB
Qwen3 30B-A3B (MoE)qwen3:30b19 GBno comprobado24 GB
Gemma 4 31Bgemma4:31b20 GB34 GB24 GB / 48 GB
Qwen3 32Bqwen3:32b20 GB35 GB24 GB / 48 GB
Qwen 2.5 32Bqwen2.5:32b20 GB35 GB24 GB / 48 GB
DeepSeek-R1 destilado 32B (Qwen 2.5)deepseek-r1:32b20 GBno comprobado24 GB
Qwen3.6 35B-A3B (MoE)qwen3.6:35b23 GB (q4_K_M: 24 GB)39 GB32 GB / 48 GB
Qwen3.5 35B-A3B (MoE)qwen3.5:35b24 GB39 GB32 GB / 48 GB
Llama 3.3 70Bllama3.3:70b43 GB75 GB48 GB, justo / 80 GB, justo
Qwen 2.5 72Bqwen2.5:72b47 GBno comprobado80 GB
gpt-oss 120B (MoE)gpt-oss:120b65 GB (MXFP4)n/d80 GB

Para el nivel he usado el tamaño de la etiqueta por defecto, porque es lo que descarga ollama pull con el nombre corto.

Los niveles de 24 GB y 32 GB tienen trampa. El contexto por defecto de Ollama salta de 4K a 32K a partir de 24 GiB, así que a un modelo de 20 GB en una RTX 4090 le puede tocar una caché de 32K que no cabe a su lado. Si ollama ps muestra una parte en CPU, pon un contexto más pequeño. Y no juzgues un modelo por el número de su nombre: el modelo para dispositivos de Gemma 4, gemma4:e4b (4.500 millones de parámetros efectivos), es una descarga de 9,6 GB, más grande que gemma4:12b con 7,6 GB. Mira el tamaño.

Tamaño de descarga de modelos populares de Ollama con su cuantización de 4 bits por defecto, comparado con 8, 12, 16, 24 y 32 GB de VRAM 8 GB 12 GB 16 GB 24 GB 32 GB Niveles de VRAM mistral:7b 4,4 qwen2.5:7b 4,7 llama3.1:8b 4,9 qwen3:8b 5,2 qwen3.5:9b 6,6 gemma4:12b 7,6 gemma3:12b 8,1 qwen2.5:14b 9,0 qwen3:14b 9,3 gpt-oss:20b 14 mistral-small3.2:24b 15 gemma3:27b 17 qwen3.5:27b 17 gemma4:31b 20 qwen3:32b 20 qwen3.6:35b 23 0 4 8 12 16 20 24 28 32 Tamaño de descarga en GB (etiqueta por defecto de Ollama, 4 bits)
Tamaños de descarga de las etiquetas de 4 bits por defecto de Ollama, a escala frente a las memorias de VRAM habituales. Para caber, una barra tiene que acabar bastante a la izquierda de la línea: deja 1 GB para la sobrecarga y sitio para la caché KV.

Los modelos de mezcla de expertos cambian un poco las cosas

gpt-oss, Gemma 4 26B y los modelos «A3B» de Qwen son modelos de mezcla de expertos (MoE). Para cada token solo se ejecutan unos pocos expertos: Gemma 4 26B tiene 25.200 millones de parámetros, pero solo 3.800 millones activos. La regla de memoria no cambia, porque todos los pesos tienen que estar cargados en algún sitio. Lo que cambia es la velocidad cuando no caben todos. Como cada token solo toca una fracción de los pesos, un modelo MoE que se desborda a la RAM del sistema se ralentiza mucho menos que uno denso del mismo tamaño. Las mediciones de la sección siguiente muestran lo grande que es esa diferencia.

Qué pasa cuando un modelo no cabe

Ollama no se niega a cargar un modelo demasiado grande. Pone en la GPU todas las capas que caben y ejecuta el resto en la CPU desde la RAM del sistema. ollama ps te dice en qué caso estás: 100% GPU significa que todo cabe, 100% CPU que no cabe nada, y una mezcla como 48%/52% CPU/GPU significa un reparto.

Un reparto sale caro, porque generar cada token obliga a leer todos los pesos activos, y la RAM del sistema es mucho más lenta que la VRAM. Una serie de pruebas con llama.cpp en una RTX 4080 de 16 GB, publicada por Rost en DEV Community en abril de 2026, lo muestra con claridad:

Modelo (cuantización, tamaño de archivo)ContextoCarga GPU / CPUTokens por segundo
Qwen3.5 27B denso (IQ3_XXS, 11,5 GB)32K98 % / 100 %45,1
Qwen3.5 27B denso64K45 % / 410 %22,7
Qwen3.5 27B denso128K16 % / 625 %9,6
Qwen3.5 35B-A3B MoE (IQ3_S, 13,6 GB)64K88 % / 115 %136,8
Qwen3.5 122B-A10B MoE (IQ3_XXS, 44,7 GB)32K30 % / 480 %21,8

Una cifra de CPU alta con una de GPU baja significa que la mayor parte del trabajo ha pasado a la CPU; el autor interpreta los números igual.

El mismo modelo denso perdió la mitad de su velocidad al pasar de 32K a 64K de contexto, solo porque la caché KV más grande sacó capas de la GPU, y perdió casi un 80 % con 128K. El modelo MoE de 122B, un archivo de 44,7 GB en una tarjeta de 16 GB, siguió funcionando a unos 22 tokens por segundo porque por cada token solo hay 10.000 millones de parámetros activos. En modelos densos, «en parte en CPU» equivale a «varias veces más lento». En modelos MoE puede ser un intercambio aceptable.

Si te encuentras con un reparto, estas son las soluciones, de menos a más cara: baja el contexto, cuantiza la caché KV a q8_0, elige una cuantización más pequeña del mismo modelo (Q4_K_M en lugar de Q5), elige un modelo más pequeño o pasa a una tarjeta con más memoria.

Tarjetas de 32 GB y de centro de datos

La RTX 5090 tiene 32 GB. Eso te da un modelo de 32B a 4 bits con contexto largo, o los modelos MoE 35B-A3B de 23 a 24 GB con sitio para la caché. No te llega para 70B: llama3.3:70b ocupa 43 GB incluso a 4 bits.

Para 70B necesitas 48 GB o más. Una L40S tiene 48 GB, que alojan el archivo de 43 GB con poco margen para contexto. Una H100 SXM tiene 80 GB (la H100 NVL tiene 94 GB), donde caben Llama 3.3 70B a 4 bits con contexto largo, gpt-oss 120B (65 GB; la página de Ollama dice que cabe en una sola GPU de 80 GB) o Llama 3.3 70B en Q8_0 (75 GB) con contexto corto. Qwen3.5 122B, con 81 GB, ya se pasa de una sola tarjeta de 80 GB.

Alquilar en lugar de comprar: cómo revisar un anuncio de GPUFlow

Si alquilas una GPU en GPUFlow, el proveedor sirve los modelos desde su propia máquina (con Ollama, que el instalador de GPUFlow configura por defecto) y decide qué modelos están instalados. Tú no descargas modelos: recibes una clave API compatible con OpenAI para esa GPU, no una shell. El instalador de GPUFlow usa qwen2.5:7b por defecto, y las etiquetas que aparecen en el instalador y en la documentación son qwen2.5:0.5b, deepseek-r1:1.5b, qwen2.5:7b, deepseek-r1:7b, llama3.1:8b y qwen2.5:14b. Los proveedores pueden instalar otros.

Una tarjeta del mercado de GPUFlow para una RTX 4090 que sirve qwen2.5 7B, con 24 GB de VRAM, 0,35 $ por hora y un botón Alquilar Ahora

En el mercado, cada tarjeta muestra la GPU, su VRAM y el precio por hora, y la descripción del proveedor indica los modelos que sirve. La documentación de GPUFlow da una versión algo más prudente de la misma regla: un modelo de 7B funciona bien con 8 GB o más, y uno de 14B con 16 GB o más. Cuando tengas la clave, GET /v1/models devuelve un nombre de modelo; si la descripción menciona más modelos, también puedes usar esos nombres en el campo model.

Dos cosas que conviene saber. GPUFlow no fija ningún límite de contexto propio, así que se aplican los valores por defecto de Ollama en la máquina del proveedor, salvo que él los haya cambiado. Y un modelo que el proveedor no tiene instalado no está disponible para ti, así que elige el anuncio primero por el modelo que necesitas y después por la GPU. Conectar la clave a Open WebUI, Continue o LangChain funciona igual que con cualquier API de estilo OpenAI.

Artículos relacionados

Fuentes

Todas revisadas en septiembre de 2026.

Preguntas frecuentes

¿Cuánta VRAM necesito para un modelo de 7B?

Unos 6 GB con la cuantización de 4 bits que Ollama usa por defecto. La descarga de qwen2.5:7b ocupa 4,7 GB y encima necesitas sitio para la caché KV y la sobrecarga del motor, así que una tarjeta de 8 GB lo mueve bien con longitudes de contexto normales. En Q8_0 el mismo modelo ocupa 8,1 GB y necesita una tarjeta de 12 GB.

¿Puede un modelo de 14B funcionar en una GPU de 12 GB?

Sí, con contexto corto. Las versiones de 4 bits de Qwen 2.5 14B, Qwen3 14B y Phi-4 en Ollama ocupan entre 9,0 y 9,3 GB, lo que deja de 2 a 3 GB para la caché KV y la sobrecarga. Con prompts largos la caché KV crece y parte del modelo pasa a la CPU, así que el tamaño cómodo son 16 GB.

¿Cuál es el modelo más grande que cabe en una GPU de 24 GB como la RTX 4090 o la RTX 3090?

Modelos densos de unos 27B a 32B parámetros a 4 bits. Gemma 3 27B ocupa 17 GB, y Qwen3 32B y Gemma 4 31B ocupan 20 GB en Ollama. Un modelo de 70B a 4 bits ocupa 43 GB y necesita dos tarjetas o una GPU de centro de datos de 48 GB.

¿Es Q4_K_M mucho peor que FP16?

Solo un poco en la mayoría de tareas. En Llama 3 8B, las mediciones del propio llama.cpp muestran que la perplejidad sube de 6,233 en F16 a 6,407 en Q4_K_M, y un estudio de benchmarks de 2026 sobre Llama 3.1 8B Instruct obtuvo una puntuación media de 69,15 en Q4_K_M frente a 69,47 en F16. Por debajo de 4 bits la pérdida crece rápido.

¿Qué pasa si un modelo no cabe en la VRAM?

Ollama lo carga igualmente, pero deja algunas capas en la RAM del sistema y las ejecuta en la CPU. El modelo funciona, solo que mucho más lento. Ejecuta ollama ps y mira la columna PROCESSOR: 100% GPU significa que cabe; un reparto como 48%/52% CPU/GPU significa que no.

¿Cómo calculo la VRAM que necesita un modelo?

Los parámetros por los bits por peso, divididos entre 8, dan los pesos en bytes. Suma la caché KV (2 × capas × cabezas KV × tamaño de cabeza × 2 bytes por token, multiplicado por la longitud de contexto) y aproximadamente 1 GB para el motor. Para Qwen 2.5 14B en Q4_K_M con 16K de contexto salen unos 9,0 + 3,2 + 1 = 13,2 GB.