Comparando el rendimiento de los LLMs en Ollama en una GPU con 16 GB de VRAM

Prueba de velocidad de LLM en RTX 4080 con 16 GB de VRAM

Índice

Ejecutar modelos de lenguaje grandes localmente te brinda privacidad, capacidad para trabajar sin conexión y cero costos de API. Este benchmark revela exactamente lo que se puede esperar de 14 modelos populares LLMs en Ollama en una RTX 4080.

Con una GPU de 16 GB de VRAM, enfrenté constantemente un intercambio: modelos más grandes con potencialmente mejor calidad, o modelos más pequeños con inferencia más rápida. Para más información sobre el rendimiento de los LLM—rendimiento vs latencia, límites de VRAM, solicitudes paralelas y benchmarks a través de runtimes—ver Rendimiento de LLM: Benchmarks, Cuellos de Botella y Optimización.

Rendimiento de LLM en Ollama - reordenamiento de cucarachas

TL;DR

Aquí hay una tabla actualizada de comparación del rendimiento de LLM en una RTX 4080 de 16 GB con Ollama 0.17.7, (2026-03-09) agregados los modelos Qwen 3.5 9b, 9bq8, 27b y 35b:

Modelo RAM+VRAM Usado CPU/GPU Split Tokens/segundo
gpt-oss:20b 14 GB 100% GPU 139.93
qwen3.5:9b 9.3 GB 100% GPU 90.89
ministral-3:14b 13 GB 100% GPU 70.13
qwen3:14b 12 GB 100% GPU 61.85
qwen3.5:9b-q8_0 13 GB 100% GPU 61.22
qwen3-coder:30b 20 GB 25%/75% CPU/GPU 57.17
qwen3-vl:30b-a3b 22 GB 30%/70% CPU/GPU 50.99
glm-4.7-flash 21 GB 27%/73% CPU/GPU 33.86
nemotron-3-nano:30b 25 GB 38%/62% CPU/GPU 32.77
qwen3.5:35b 27 GB 43%/57% CPU/GPU 20.66
devstral-small-2:24b 19 GB 18%/82% CPU/GPU 18.67
mistral-small3.2:24b 19 GB 18%/82% CPU/GPU 18.51
gpt-oss:120b 66 GB 78%/22% CPU/GPU 12.64
qwen3.5:27b 24 GB 43%/57% CPU/GPU 6.48

Insight clave: Los modelos que se ajustan completamente en VRAM son mucho más rápidos. GPT-OSS 20B alcanza 139.93 tokens/segundo, mientras que GPT-OSS 120B con desalojo pesado de CPU se mueve lentamente a 12.64 tokens/segundo—una diferencia de velocidad de 11 veces.

Configuración del Hardware de Prueba

El benchmark se realizó en el siguiente sistema:

  • GPU: NVIDIA RTX 4080 con 16 GB de VRAM
  • CPU: Intel Core i7-14700 (8 núcleos P + 12 núcleos E)
  • RAM: 64 GB DDR5-6000

Esto representa una configuración común de alta gama para la inferencia local de LLM. Los 16 GB de VRAM son la restricción crítica—determinan qué modelos se ejecutan completamente en GPU versus los que requieren desalojo de CPU.

Entender cómo Ollama usa los núcleos de CPU de Intel se vuelve importante cuando los modelos exceden los límites de VRAM, ya que el rendimiento de la CPU impacta directamente la velocidad de inferencia de las capas desalojadas.

Propósito de este Benchmark

El objetivo principal fue medir la velocidad de inferencia bajo condiciones realistas. Ya sabía por experiencia que Mistral Small 3.2 24B destaca en calidad del lenguaje, mientras que Qwen3 14B ofrece un seguimiento superior de instrucciones para mis casos de uso específicos.

Este benchmark responde a la pregunta práctica: ¿Cuán rápido puede generar texto cada modelo y cuál es el penalización de velocidad por exceder los límites de VRAM?

Los parámetros de prueba fueron:

  • Tamaño de contexto: 19,000 tokens. Este es el valor promedio en mis solicitudes de Generar.
  • Prompt: “comparar clima y clima entre ciudades capitales de Australia”
  • Métrica: tasa de evaluación (tokens por segundo durante la generación)

Instalación y versión de Ollama

Todos los tests usaron la versión 0.15.2 de Ollama, la última versión disponible en el momento del test. Luego se volvió a ejecutar en Ollama v 0.17.7 - para agregar modelos Qwen3.5. Para una referencia completa de los comandos de Ollama utilizados en este benchmark, ver Hoja de trucos de Ollama.

Para instalar Ollama rápidamente en Linux:

curl -fsSL https://ollama.com/install.sh | sh

Verificar instalación:

ollama --version

Si necesitas almacenar modelos en un disco diferente debido a restricciones de espacio, echa un vistazo a cómo mover modelos de Ollama a un disco diferente.

Modelos probados

Los siguientes modelos se probaron, en orden alfabético:

Modelo Parámetros Cuantización Notas
devstral-small-2:24b 24B Q4_K_M Enfocado en código
glm-4.7-flash 30B Q4_K_M Modelo de pensamiento
gpt-oss:20b 20B Q4_K_M Más rápido en general
gpt-oss:120b 120B Q4_K_M El más grande probado
ministral-3:14b 14B Q4_K_M Modelo eficiente de Mistral
mistral-small3.2:24b 24B Q4_K_M Calidad del lenguaje fuerte
nemotron-3-nano:30b 30B Q4_K_M Oferta de NVIDIA
qwen3:14b 14B Q4_K_M Mejor seguimiento de instrucciones
qwen3.5:9b 9B Q4_K_M Rápido, totalmente en GPU
qwen3.5:9b-q8_0 9B Q8_0 Mayor calidad, totalmente en GPU
qwen3.5:27b 27B Q4_K_M Excelente calidad, lento en Ollama
qwen3-vl:30b-a3b 30B Q4_K_M Capaz de visión
qwen3-coder:30b 30B Q4_K_M Enfocado en código
qwen3.5:35b 35B Q4_K_M Buenas capacidades de codificación

Para descargar cualquier modelo:

ollama pull gpt-oss:20b
ollama pull qwen3:14b

Entendiendo el desalojo de CPU

Cuando los requisitos de memoria de un modelo exceden la VRAM disponible, Ollama distribuye automáticamente las capas del modelo entre la GPU y la memoria de RAM del sistema. El resultado lo muestra como una división porcentual como “18%/82% CPU/GPU”.

Esto tiene implicaciones de rendimiento masivas. Cada generación de token requiere transferencia de datos entre la memoria de CPU y GPU—un cuello de botella que se compone con cada capa desalojada a CPU.

El patrón es claro a partir de nuestros resultados:

  • Modelos del 100% en GPU: 61-140 tokens/segundo
  • Modelos del 70-82% en GPU: 19-51 tokens/segundo
  • Modelos del 22% en GPU (casi todos en CPU): 12.6 tokens/segundo

Esto explica por qué un modelo de 20B parámetros puede superar en un factor de 11 a un modelo de 120B en la práctica. Si planeas servir múltiples solicitudes concurrentes, entender cómo Ollama maneja solicitudes paralelas se vuelve esencial para la planificación de capacidad.

Resultados del Benchmark Detallados

Modelos que corren al 100% en GPU

GPT-OSS 20B — El Campeón de Velocidad

ollama run gpt-oss:20b --verbose
/set parameter num_ctx 19000

NAME           SIZE     PROCESSOR    CONTEXT
gpt-oss:20b    14 GB    100% GPU     19000

eval count:           2856 token(s)
eval duration:        20.410517947s
eval rate:            139.93 tokens/s

A 139.93 tokens/segundo, GPT-OSS 20B es claramente el ganador para aplicaciones críticas de velocidad. Usa solo 14 GB de VRAM, dejando espacio para ventanas de contexto más grandes u otros cargas de trabajo en la GPU.

Qwen3 14B — Equilibrio Excelente

ollama run qwen3:14b --verbose
/set parameter num_ctx 19000

NAME         SIZE     PROCESSOR    CONTEXT
qwen3:14b    12 GB    100% GPU     19000

eval count:           3094 token(s)
eval duration:        50.020594575s
eval rate:            61.85 tokens/s

Qwen3 14B ofrece el mejor seguimiento de instrucciones en mi experiencia, con un tamaño cómodo de 12 GB de memoria. A 61.85 tokens/segundo, es lo suficientemente rápido para uso interactivo.

Para desarrolladores integrando Qwen3 en aplicaciones, ver Salida estructurada de LLM con Ollama y Qwen3 para extraer respuestas JSON estructuradas.

Ministral 3 14B — Rápido y Compacto

ollama run ministral-3:14b --verbose
/set parameter num_ctx 19000

NAME               SIZE     PROCESSOR    CONTEXT
ministral-3:14b    13 GB    100% GPU     19000

eval count:           1481 token(s)
eval duration:        21.11734277s
eval rate:            70.13 tokens/s

El modelo más pequeño de Mistral entrega 70.13 tokens/segundo mientras se ajusta completamente en VRAM. Una opción sólida cuando necesitas calidad de familia Mistral a máxima velocidad.

qwen3.5:9b - rápido y nuevo

ollama run  qwen3.5:9b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia

NAME          ID              SIZE      PROCESSOR    CONTEXT
qwen3.5:9b    6488c96fa5fa    9.3 GB    100% GPU     19000

eval count:           3802 token(s)
eval duration:        41.830174597s
eval rate:            90.89 tokens/s

qwen3.5:9b-q8_0 - cuantización q8

Esta cuantización reduce el rendimiento de qwen3.5:9b en un 30% en comparación con q4.

ollama run  qwen3.5:9b-q8_0 --verbose
/set parameter num_ctx 19000

compare weather and climate between capital cities of australia
NAME               ID              SIZE     PROCESSOR    CONTEXT
qwen3.5:9b-q8_0    441ec31e4d2a    13 GB    100% GPU     19000

eval count:           3526 token(s)
eval duration:        57.595540159s
eval rate:            61.22 tokens/s

Modelos que requieren desalojo de CPU

qwen3-coder:30b - más rápido del conjunto de LLM de 30b debido a ser solo texto

ollama run qwen3-coder:30b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia

NAME               ID              SIZE     PROCESSOR          CONTEXT
qwen3-coder:30b    06c1097efce0    20 GB    25%/75% CPU/GPU    19000
22%/605%

eval count:           559 token(s)
eval duration:        9.77768875s
eval rate:            57.17 tokens/s

Qwen3-VL 30B — Mejor Rendimiento Parcialmente Desalojado

ollama run qwen3-vl:30b-a3b-instruct --verbose
/set parameter num_ctx 19000

NAME                         SIZE     PROCESSOR          CONTEXT
qwen3-vl:30b-a3b-instruct    22 GB    30%/70% CPU/GPU    19000

eval count:           1450 token(s)
eval duration:        28.439319709s
eval rate:            50.99 tokens/s

A pesar de que el 30% de las capas están en CPU, Qwen3-VL mantiene 50.99 tokens/segundo—más rápido que algunos modelos del 100% en GPU. La capacidad de visión agrega versatilidad para tareas multimodales.

Mistral Small 3.2 24B — Compromiso entre Calidad y Velocidad

ollama run mistral-small3.2:24b --verbose
/set parameter num_ctx 19000

NAME                    SIZE     PROCESSOR          CONTEXT
mistral-small3.2:24b    19 GB    18%/82% CPU/GPU    19000

eval count:           831 token(s)
eval duration:        44.899859038s
eval rate:            18.51 tokens/s

Mistral Small 3.2 ofrece una calidad superior del lenguaje pero paga un alto costo de velocidad. A 18.51 tokens/segundo, se siente claramente más lento para chats interactivos. Vale la pena para tareas donde la calidad importa más que la latencia.

GLM 4.7 Flash — Modelo de Expertos Mixture

ollama run glm-4.7-flash --verbose
/set parameter num_ctx 19000

NAME                 SIZE     PROCESSOR          CONTEXT
glm-4.7-flash        21 GB    27%/73% CPU/GPU    19000

eval count:           2446 token(s)
eval duration:        1m12.239164004s
eval rate:            33.86 tokens/s

GLM 4.7 Flash es un modelo de Expertos Mixture de 30B-A3B—30B de parámetros totales con solo 3B activos por token. Como un modelo de “pensamiento”, genera razonamiento interno antes de las respuestas. La tasa de 33.86 tokens/segundo incluye tanto tokens de pensamiento como de salida. A pesar del desalojo de CPU, la arquitectura MoE mantiene un rendimiento razonablemente rápido.

qwen3.5:35b - Nuevo modelo con buen rendimiento autogestionado

ollama run qwen3.5:35b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia

NAME           ID              SIZE     PROCESSOR          CONTEXT
qwen3.5:35b    4af949f8bdf0    27 GB    43%/57% CPU/GPU    19000

eval count:           3418 token(s)
eval duration:        2m45.458926548s
eval rate:            20.66 tokens/s

GPT-OSS 120B — El Poderoso

ollama run gpt-oss:120b --verbose
/set parameter num_ctx 19000

NAME            SIZE     PROCESSOR          CONTEXT
gpt-oss:120b    66 GB    78%/22% CPU/GPU    19000

eval count:           5008 token(s)
eval duration:        6m36.168233066s
eval rate:            12.64 tokens/s

Ejecutar un modelo de 120B en 16 GB de VRAM es técnicamente posible pero doloroso. Con el 78% en CPU, los 12.64 tokens/segundo hacen el uso interactivo frustrante. Mejor adaptado para procesamiento en lotes donde la latencia no importa.

qwen3.5:27b - Inteligente pero lento en Ollama

ollama run qwen3.5:27b --verbose
/set parameter num_ctx 19000
compare weather and climate between capital cities of australia

NAME           ID              SIZE     PROCESSOR          CONTEXT
qwen3.5:27b    193ec05b1e80    24 GB    43%/57% CPU/GPU    19000

eval count:           3370 token(s)
eval duration:        8m40.087510281s
eval rate:            6.48 tokens/s

He probado qwen3.5:27b y he tenido una opinión extremadamente buena sobre el rendimiento de este modelo con OpenCode. Es muy capaz, conocible, una herramienta de llamada excelente, aunque es lento en mi máquina en Ollama. He probado otras plataformas de autohosting de LLM y he obtenido velocidades mucho más altas. Creo que es hora de dejar ir a Ollama. Escribiré sobre ello un poco más tarde.

Recomendaciones Prácticas

Para Chat Interactivo

Usar modelos que se ajusten del 100% en VRAM:

  1. GPT-OSS 20B — Velocidad máxima (139.93 t/s)
  2. Ministral 3 14B — Buena velocidad con calidad de Mistral (70.13 t/s)
  3. Qwen3 14B — Mejor seguimiento de instrucciones (61.85 t/s)

Para una mejor experiencia de chat, considera Interfaz de Chat de código abierto para Ollama local.

Para Procesamiento en Lotes

Nuevamente, esto es en mi equipo - 14 GB de VRAM.

Cuando la velocidad es menos crítica:

  • Mistral Small 3.2 24B — Calidad superior del lenguaje
  • Qwen3-VL 30B — Capacidad de visión + texto

Cuando la velocidad no es crítica en absoluto:

  • Qwen3.5:35b - Buenas capacidades de codificación
  • Qwen3.5:27b - Muy bueno, pero lento en Ollama. He tenido bastante éxito alojando este modelo en llama.cpp, sin embargo.

Para Desarrollo y Codificación

Si estás construyendo aplicaciones con Ollama:

Opciones Alternativas de Alojamiento

Si las limitaciones de Ollama te preocupan (ver Preocupaciones sobre la degradación de Ollama), explora otras opciones en la Guía de Alojamiento de LLM Local o compara Runner de Modelos en Docker vs Ollama.

Conclusión

Con 16 GB de VRAM, puedes ejecutar LLMs capaces a velocidades impresionantes—si elijes sabiamente. Los hallazgos clave:

  1. Mantén dentro de los límites de VRAM para uso interactivo. Un modelo de 20B a 140 tokens/segundo supera a un modelo de 120B a 12 tokens/segundo para la mayoría de los propósitos prácticos.

  2. GPT-OSS 20B gana en pureza de velocidad, pero Qwen3 14B ofrece el mejor equilibrio de velocidad y capacidad para tareas de seguimiento de instrucciones.

  3. El desalojo de CPU funciona, pero espera retrasos de 3 a 10 veces. Aceptable para procesamiento en lotes, frustrante para chats.

  4. El tamaño del contexto importa. El tamaño de contexto de 19K utilizado aquí aumenta significativamente el uso de VRAM. Reduzca el contexto para una mejor utilización de la GPU.

Para búsqueda impulsada por IA combinando LLMs locales con resultados de la web, ver autohosting de Perplexica con Ollama.

Para explorar más benchmarks, intercambios entre VRAM y throughput y ajustes de rendimiento en Ollama y otros runtimes, revise nuestro Rendimiento de LLM: Benchmarks, Cuellos de Botella y Optimización.

Enlaces Útiles

Recursos Internos

Referencias Externas