Comparación del rendimiento de LLMs en Ollama con una GPU de 16 GB de VRAM

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

Índice

Ejecutar grandes modelos de lenguaje (LLM) localmente te ofrece privacidad, capacidad de funcionamiento sin conexión y cero costos de API. Esta benchmark revela exactamente lo que se puede esperar de 14 populares LLMs en Ollama en una RTX 4080.

Con una GPU de 16GB de VRAM, me enfrenté a un constante compromiso: 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—caudal versus latencia, límites de VRAM, solicitudes paralelas y benchmarks entre tiempos de ejecución—consulta Rendimiento de LLM: Benchmarks, Cuellos de botella y Optimización.

Este artículo se centra en Ollama. Para la misma clase de GPU de 16 GB medida con llama.cpp a contextos de 19K, 32K y 64K (VRAM, carga de GPU, tokens por segundo en puntos de control densos y MoE), consulta Benchmarks de LLM con 16 GB de VRAM usando llama.cpp (velocidad y contexto).

Una vez que el caudal y las divisiones de VRAM parecen aceptables, las cargas de trabajo de estilo agente aún necesitan configuraciones sensatas de temperatura y penalización para pilas de estilo Qwen y Gemma; consulta parámetros de inferencia agéntica para Qwen y Gemma.

Rendimiento de LLM en Ollama - reordena cucaraches

Resumen

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

Modelo RAM+VRAM Usado División CPU/GPU Tokens/seg
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 caben por completo en VRAM son drásticamente más rápidos. GPT-OSS 20B logra 139.93 tokens/seg, mientras que GPT-OSS 120B con descarga pesada a CPU avanza a paso de caracol a 12.64 tokens/seg—una diferencia de velocidad de 11x.

Configuración del Hardware de Prueba

La benchmark se realizó en el siguiente sistema:

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

Esto representa una configuración de consumo de gama alta común para inferencia de LLM local. La VRAM de 16GB es la restricción crítica: determina qué modelos se ejecutan completamente en la GPU versus los que requieren descarga a CPU.

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

Propósito de esta 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 la calidad del lenguaje, mientras que Qwen3 14B ofrece un seguimiento superior de instrucciones para mis casos de uso específicos.

Esta 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 generación.
  • Indicador: “compara el clima y el tiempo entre las capitales de australia”
  • Métrica: tasa de evaluación (tokens por segundo durante la generación)

Instalación y Versión de Ollama

Todas las pruebas usaron la versión 0.15.2 de Ollama, la última liberación al momento de las pruebas. Más tarde se reejecutó en Ollama v 0.17.7 - para añadir los modelos Qwen3.5. Para una referencia completa de los comandos de Ollama usados en esta benchmark, consulta la Hoja de referencia de Ollama.

Para recapitular rápidamente - instala Ollama en Linux:

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

Verifica la instalación:

ollama --version

Si necesitas almacenar modelos en una unidad diferente debido a restricciones de espacio, consulta cómo mover los modelos de Ollama a una unidad diferente.

Modelos Probados

Los siguientes modelos fueron evaluados, 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 razonamiento
gpt-oss:20b 20B Q4_K_M El 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 Fuerte calidad de lenguaje
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 la Descarga a 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 RAM del sistema. La salida muestra esto como una división porcentual como “18%/82% CPU/GPU”.

Esto tiene implicaciones masivas en el rendimiento. Cada generación de token requiere transferencia de datos entre la memoria de la CPU y la GPU: un cuello de botella que se complica con cada capa descargada a la CPU.

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

  • Modelos 100% GPU: 61-140 tokens/seg
  • Modelos 70-82% GPU: 19-51 tokens/seg
  • 22% GPU (mayormente CPU): 12.6 tokens/seg

Esto explica por qué un modelo de 20B parámetros puede superar a un modelo de 120B en 11x en la práctica. Si planeas servir múltiples solicitudes concurrentes, comprender cómo Ollama maneja las solicitudes paralelas se vuelve esencial para la planificación de capacidad. La división de descarga a CPU anterior es realmente un problema de presupuesto de caché KV y pesos disfrazado — Caché KV en GPUs de 16 GB recorre la matemática exacta y las configuraciones de OLLAMA_KV_CACHE_TYPE que te permiten recuperar margen sin pasar a un modelo más pequeño.

Resultados Detallados de la Benchmark

Modelos Ejecutándose 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/seg, GPT-OSS 20B es el claro ganador para aplicaciones críticas de velocidad. Usa solo 14GB de VRAM, dejando margen para ventanas de contexto más grandes u otras cargas de trabajo de la GPU.

Qwen3 14B — Excelente Equilibrio

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 a mi experiencia, con una huella de memoria cómoda de 12GB. A 61.85 tokens/seg, es lo suficientemente receptivo para uso interactivo.

Para desarrolladores que integran Qwen3 en aplicaciones, consulta 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/seg mientras cabe por completo en la VRAM. Una elección sólida cuando necesitas la calidad de la familia Mistral a la velocidad máxima.

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 Descarga a CPU

qwen3-coder:30b - el más rápido del conjunto de LLM de 30b por 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 con Descarga Parcial

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 tener el 30% de las capas en la CPU, Qwen3-VL mantiene 50.99 tokens/seg—más rápido que algunos modelos 100% en GPU. La capacidad de visión añade 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 de lenguaje superior pero paga una penalización de velocidad considerable. A 18.51 tokens/seg, se siente notablemente más lento para chat interactivo. Vale la pena para tareas donde la calidad importa más que la latencia.

GLM 4.7 Flash — Modelo de Razonamiento MoE

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 Mixture of Experts de 30B-A3B: 30B de parámetros totales con solo 3B activos por token. Como modelo de “razonamiento”, genera razonamiento interno antes de las respuestas. Los 33.86 tokens/seg incluyen tanto tokens de razonamiento como de salida. A pesar de la descarga a CPU, la arquitectura MoE lo mantiene razonablemente rápido.

qwen3.5:35b - Nuevo modelo con un rendimiento auto-hospedado decente

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 Peso Pesado

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 16GB de VRAM es técnicamente posible pero doloroso. Con el 78% en la CPU, los 12.64 tokens/seg hacen que el uso interactivo sea frustrante. Mejor apto para procesamiento por 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 obtuve una opinión extremadamente buena sobre el rendimiento de este modelo con OpenCode. Es muy capaz, conocedor, realmente bueno en el llamado de herramientas, aunque es lento en mi máquina con Ollama. He probado otras plataformas de auto-hospedaje de LLM y obtuve velocidades mucho más altas. Creo que es hora de dejar de usar Ollama. Escribiré al respecto un poco más tarde.

Recomendaciones Prácticas

Para Chat Interactivo

Usa modelos que caben 100% en la 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 Interfaces de Chat de Código Abierto para Ollama local.

Para Procesamiento por Lotes

Esto es de nuevo, en mi equipo - 14GB de VRAM.

Cuando la velocidad es menos crítica:

  • Mistral Small 3.2 24B — Calidad de lenguaje superior
  • 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 - Extremadamente bueno, pero lento en Ollama. He tenido bastante éxito hospedando este modelo en llama.cpp sin embargo.

Para Desarrollo y Codificación

Si estás construyendo aplicaciones con Ollama:

Opciones de Hospedaje Alternativas

Si las limitaciones de Ollama te preocupan (consulta preocupaciones sobre la desmejora de Ollama), explora otras opciones en la Guía de Hospedaje Local de LLMs o compara Docker Model Runner vs Ollama.

Conclusión

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

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

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

  3. La descarga a CPU funciona pero espera reducciones de velocidad de 3-10x. Aceptable para procesamiento por lotes, frustrante para chat.

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

Para búsqueda impulsada por IA que combina LLMs locales con resultados web, consulta auto-hospedaje de Perplexica con Ollama.

Para explorar más benchmarks, compromisos entre VRAM y caudal, y ajuste de rendimiento entre Ollama y otros tiempos de ejecución, revisa nuestro hub de Rendimiento de LLM: Benchmarks, Cuellos de botella y Optimización.

Enlaces Útiles

Recursos Internos

Referencias Externas

Suscribirse

Recibe nuevas publicaciones sobre sistemas, infraestructura e ingeniería de IA.