
Durante semanas he leído guías sobre modelos de lenguaje locales: cuáles son los mejores, cuánta memoria necesitan, qué velocidad alcanzan. Casi todas repiten los mismos benchmarks de laboratorio, medidos en condiciones que nadie reproduce en casa. Así que decidí hacer lo contrario: montar un banco de pruebas propio, en mi equipo, con las herramientas que cualquier usuario puede instalar, y medir 44 modelos con los mismos cinco tests. Este artículo no es una review teórica: son los números reales que obtuve, con el método, las condiciones y los fallos incluidos.
En este artículo:
- Cómo se hizo el test
- Los cinco tests
- La configuración de los motores
- Resultados: los más rápidos
- Resultados: los más lentos
- La degradación con el contexto
- Gemma 4 26B: el mismo modelo, cinco sabores
- Tooling, visión y contexto disponible
- Qué significa para elegir modelo
- Preguntas frecuentes
- La tabla completa: los 44 resultados
- Resumen práctico
- Referencias externas:
El equipo de pruebas es un Mac Studio con chip M1 Max y 32 GB de memoria unificada. No es una máquina de gama alta de 2026: es un equipo de hace tres generaciones que sigue siendo el caballo de batalla de muchos desarrolladores.
Cómo se hizo el test
Para que los resultados fueran comparables y reproducibles, construí una aplicación propia de ejecución local en el navegador, de desarrollo personal y uso privado, que incorpora un chat con selección de proveedores y modelos. Desde esa interfaz se lanzan las peticiones a los cuatro motores instalados en la máquina: Ollama, oMLX, LM Studio y llama.cpp. Todos los modelos reciben exactamente las mismas preguntas, en el mismo orden y con la misma configuración de chat.

El protocolo es estricto en dos puntos. Primero, las cinco preguntas se lanzan de manera consecutiva, sin limpiar el contexto de la conversación: cada modelo arrastra el historial completo de los tests anteriores, igual que en un uso real de chat. Segundo, antes de empezar con cada modelo se limpia la RAM y se libera el sistema, de modo que ningún modelo parte con memoria residual de la prueba anterior. Se miden dos métricas por test: el tiempo total de generación en segundos y la velocidad media en tokens por segundo.
Los cinco tests
Las preguntas cubren los usos más habituales de un asistente local: consulta técnica, generación de código, desarrollo sobre WordPress, maquetación de correo electrónico y explicación de conceptos. En concreto:
- Test 1: explicación del selector CSS
:has(). - Test 2: hoja de estilos CSS responsive con clases para grids personalizados, usando h1, h2, h3, p, header, main y footer.
- Test 3: esqueleto de un plugin de WordPress que cree un custom post type con campos personalizados, sin plugins de terceros.
- Test 4: plantilla HTML para correo electrónico con texto, imágenes y columnas, compatible con Gmail, Outlook, webmail, smartphones y tablets.
- Test 5: glosario detallado de conceptos de inteligencia artificial: tokens, contexto, MCP y otros.
El test 5 es el más largo y el que más tokens genera, por lo que domina los tiempos totales. Es deliberado: un chat real acumula respuestas largas, y el contexto creciente es precisamente lo que quería medir.
La configuración de los motores
Los cuatro motores están instalados y configurados en la máquina con sus versiones actuales. Si quieres montar tu propio entorno de IA local paso a paso, en Ejecuta tu propio ChatGPT en casa: guía de LLMs locales tienes el proceso completo:
- Ollama: versión 0.32.14, el motor principal con el que se ejecutaron 29 de los 44 modelos. En el equipo convive con una versión congelada 0.32.5 reservada para generación de imágenes.
- oMLX: el servidor de MLX de Apple, con la librería mlx-lm 0.31.3. Ejecutó 10 modelos en formato MLX, optimizados para los chips M.
- LM Studio: versión 0.4.18+1, con 4 modelos en formato MLX de la comunidad.
- llama.cpp: build 9000 (compilación del 2 de mayo de 2026), con backend BLAS y Metal, ejecutando un modelo GGUF de Llama 3.1 8B.
Los modelos se probaron en el formato nativo de cada motor: GGUF cuantizado en Ollama y llama.cpp, MLX en oMLX y LM Studio. Las cuantizaciones van de Q4_K_M a Q8 y NVFP4, y los tamaños en disco de 2 GB a 22 GB.
Resultados: los más rápidos
La velocidad media de los cinco tests separa claramente a los modelos pequeños y eficientes del resto. Estos son los diez más rápidos:
| Modelo | Motor | Velocidad media | Tiempo total (5 tests) |
|---|---|---|---|
| lfm2.5 | Ollama | 88,7 tok/s | 73 s |
| deepseek-coder-v2:16b | Ollama | 74,0 tok/s | 71 s |
| llama3.2:3b | Ollama | 73,3 tok/s | 60 s |
| gemma4:e2b | Ollama | 62,7 tok/s | 175 s |
| Hermes-3-Llama-3.1-8B | oMLX | 53,5 tok/s | 69 s |
| gpt-oss:20b | Ollama | 45,5 tok/s | 435 s |
| gpt-oss-20b-MXFP4-Q8 | oMLX | 45,2 tok/s | 344 s |
| Qwen3-Coder-30B-A3B | oMLX | 43,7 tok/s | 276 s |
| qwen3-coder:30b | Ollama | 43,5 tok/s | 241 s |
| gemma4:26b (uncensored) | oMLX | 43,0 tok/s | 309 s |
El dato más llamativo es que un modelo de 30B con arquitectura MoE activa (Qwen3-Coder-30B-A3B) genera a más de 43 tokens por segundo: la cuantización y la activación selectiva de parámetros hacen que un modelo grande se comporte como uno pequeño en velocidad. Y llama3.2:3b, con solo 2 GB en disco, completa los cinco tests en un minuto exacto.
Resultados: los más lentos
En el extremo opuesto, los modelos grandes de activación densa pagan la factura de su tamaño:
| Modelo | Motor | Velocidad media | Tiempo total (5 tests) |
|---|---|---|---|
| qwen3.6:27b-mlx | Ollama | 11,3 tok/s | 1.910 s |
| Qwen3.5-27B-Claude-4.6-Opus-Distilled | oMLX | 12,6 tok/s | 2.696 s |
| gemma4:31b-mlx | Ollama | 8,4 tok/s | 1.291 s |
| qwen3.6:35b-a3b-coding-nvfp4 | Ollama | 26,7 tok/s | 1.274 s |
| gemma3:27b | Ollama | 10,5 tok/s | 821 s |
| deepseek-r1:14b | Ollama | 19,1 tok/s | 798 s |
| qwen3-vl:8b | Ollama | 33,5 tok/s | 681 s |
| qwen3:4b | Ollama | 40,9 tok/s | 643 s |
| qwen3.5:9b-mlx | Ollama | 32,8 tok/s | 642 s |
| qwen2.5-coder-mlx 7B | oMLX | 18,6 tok/s | 629 s |
Un modelo de 27B denso en un Mac Studio M1 Max tarda más de media hora en completar los cinco tests. No es un fallo: es la física de la memoria unificada de 32 GB compartida entre CPU y GPU. La diferencia entre un modelo MoE y uno denso del mismo tamaño es la lección más clara de toda la prueba.
La degradación con el contexto
El protocolo sin limpiar contexto revela el comportamiento real de cada modelo cuando la conversación crece. Casi todos pierden velocidad entre el test 1 y el test 5, pero la caída varía mucho:
- Caída moderada (8-20%): llama3.2:3b pasa de 77,8 a 69,9 tok/s; deepseek-coder-v2:16b de 83,8 a 67,4; llama3.1:8b de 39,1 a 34,7; deepseek-r1:14b de 21,9 a 18,0.
- Caída fuerte (25-36%): qwen3-coder:30b cae de 51,6 a 33,0; Qwen3.5-27B-Claude-4.6-Opus-Distilled de 14,6 a 10,2; gemma4:31b-mlx de 9,9 a 7,3; qwen3.6:27b-mlx de 13,0 a 9,8.
- Contraintuitivos: lfm2.5 sube de 55,5 a 109,7 tok/s: tras el primer test se mantiene por encima de 108 en los tests 2 y 3, cae a 59,1 en el test 4 y recupera 109,7 en el test 5; qwen3.5:9b también mejora ligeramente. Los modelos con gestión de contexto eficiente no solo aguantan: rinden mejor con el historial cargado.
Hay dos anomalías que merecen mención. qwen3:4b registró un test 4 de 233 segundos a 4,5 tok/s cuando el resto de sus tests rondan los 45-56 tok/s: un outlier claro, probablemente un bloqueo puntual del motor. Y qwen3.6:35b-a3b-coding-nvfp4 alterna velocidades de 6,7 y 40 tok/s entre tests consecutivos, un patrón bimodal que sugiere que el modelo cambia de ruta de ejecución según la carga.
Gemma 4 26B: el mismo modelo, cinco sabores
De los 44 modelos de la prueba, ninguno ilustra mejor la diferencia entre "tener un modelo" y "tener el modelo bien servido" que Gemma 4 26B. Lo probé en cinco variantes distintas: dos en oMLX, una en LM Studio y dos en Ollama, con cuantizaciones que van del 4bit QAT al nvfp4. Misma arquitectura (25,2B con 4B activos, MoE), misma máquina, mismos prompts, mismo orden de tests. Los resultados no podían ser más distintos: la variante más rápida terminó los cinco tests en 221 segundos y la más lenta tardó 358. Un 62% de diferencia por cambiar de formato y de motor.
| Modelo | Plataforma | T1 (s) | T/S1 | T2 (s) | T/S2 | T3 (s) | T/S3 | T4 (s) | T/S4 | T5 (s) | T/S5 | Tools | Visión | Contexto | Familia | Parámetros | Tamaño (GB) | Cuantización | Formato |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| gemma4-26B-A4B-it-QAT-MLX-4bit | oMLX | 21.61 | 44.80 | 36.69 | 41.90 | 47.42 | 40.20 | 71.15 | 38.80 | 44.09 | 31.80 | Sí | Sí | — | gemma4 | 25.2B (26B A4B MoE) | 14.92 GB | 4bit (QAT) | mlx |
| gemma4:26b-a4b-qat | LMS | 36.90 | 45.00 | 59.30 | 41.70 | 65.82 | 39.30 | 92.47 | 38.50 | 69.64 | 34.50 | Sí | Sí | 262144 | gemma4 | 25.2B (26B A4B MoE) | 15.64 GB | 4bit | gguf |
| gemma4:26b supergemma4-26b-uncensored-mlx-4bit-v2 | oMLX | 37.11 | 47.70 | 49.64 | 44.90 | 59.78 | 43.30 | 101.81 | 41.80 | 60.67 | 37.20 | Sí | Sí | — | gemma4 | 25.2B (26B A4B MoE) | 14.2 | 4bit | mlx |
| gemma4:26b-mlx | Ollama | 37.21 | 42.20 | 68.34 | 40.90 | 73.60 | 39.10 | 82.94 | 37.30 | 80.50 | 26.70 | Sí | Sí | 262144 | gemma4 | 25.2B (26B A4B MoE) | 18 | nvfp4 | mlx |
| gemma4:26b | Ollama | 40.66 | 42.10 | 68.69 | 36.90 | 69.97 | 39.20 | 89.34 | 38.60 | 89.34 | 38.60 | Sí | Sí | 262144 | gemma4 | 25.8B | 17 GB | Q4_K_M | gguf |
La cuantización manda, y no como esperaba. La variante QAT 4bit en oMLX es la más rápida de las cinco con diferencia: 221 segundos totales, un 35% menos que el nvfp4 (343 s) y un 38% menos que la Q4_K_M en Ollama (358 s). Lo curioso es que el nvfp4, el formato nativo de Apple para sus chips, es el peor de los MLX pese a ser el archivo más pesado (18 GB). En esta máquina, el 4bit QAT le saca medio minuto por test.
El motor importa tanto como la cuantización. Los mismos pesos QAT corren a 221 s en oMLX y a 324 s en LM Studio: un 32% más rápido en un motor que en el otro. De hecho, la variante uncensored 4bit en oMLX (309 s) gana a la QAT en LM Studio (324 s) aunque sobre el papel debería ser peor. La diferencia no es solo técnica, es de formato: el mismo modelo cambia de personalidad según quién lo sirva.
La degradación con contexto rompe otro mito. La Q4_K_M en Ollama apenas pierde velocidad entre el test 1 y el test 5 (−8,3%, de 42,1 a 38,6 tok/s), mientras que el nvfp4 se hunde un 36,7% (de 42,2 a 26,7 tok/s). El formato "óptimo" para Apple Silicon es el que peor aguanta el historial creciente. Para un chat real, la estabilidad de la gguf pesa más que su velocidad punta.
Y la verbosidad lo cambia todo. El mismo prompt, la misma pregunta, y la QAT en oMLX generó 8.574 tokens totales frente a los 13.886 de la Q4_K_M: un 38% menos de escritura. Por eso la uncensored tiene la mayor velocidad media (43,0 tok/s) pero tarda 309 s: escribe más. La QAT es la más concisa y gana en tiempo total con menos tokens por segundo. El test 4, la plantilla de email HTML, es el más caro para las cinco variantes: la uncensored llega a generar 4.256 tokens solo en esa respuesta.
En la práctica, la elección es clara: si quieres Gemma 4 26B en un Mac Studio de 32 GB, la QAT 4bit en oMLX es la única variante que merece la pena. El nvfp4 queda descartado pese a ser el formato de Apple, y la Q4_K_M solo tiene sentido si priorizas la estabilidad con historial largo por encima de la velocidad.
Tooling, visión y contexto disponible
La tabla de los tests incluye tres columnas que explican mucho del comportamiento: soporte de tooling (llamadas a funciones), visión y ventana de contexto.
De los 44 modelos, 32 declaran soporte de tooling. Es la norma en los modelos modernos de Ollama y en las versiones MLX recientes, pero llama la atención que dos de los modelos de código más especializados de la prueba (deepseek-coder-v2:16b y codestral:22b) no lo ofrecen: son modelos de generación pura, no de agente. En cambio, qwen2.5-coder:14b sí declara soporte de tooling.
La ventana de contexto es el otro gran divisor. Las ventanas más habituales son 128K y 256K: la familia Qwen3.5 y las variantes grandes de gemma4 llegan a 256K, qwen2.5 se queda en 32K, phi4 en 16K y north-mini-code-1.0 también llega a 256K. En la práctica, con los cinco tests acumulados, ningún modelo llegó a rozar su límite: la degradación de velocidad no viene de agotar la ventana, sino del coste de atender a un historial cada vez mayor.
El límite de conocimiento declarado también varía: la mayoría se queda en 2023-2024, los modelos Qwen3.5 llegan a abril de 2026 y gemma4 a enero de 2025. Es un recordatorio de que la IA local, por rápida que sea, tiene un límite claro: los modelos locales no siempre llegan a la información más reciente.
Qué significa para elegir modelo
Con estos datos, la elección deja de ser teórica. Para un uso diario de chat y código en un equipo de 32 GB, el punto dulce está en los modelos de 8B a 30B con arquitectura MoE: deepseek-coder-v2:16b y qwen3-coder:30b ofrecen la mejor relación entre velocidad y capacidad. Para tareas ligeras o equipos con menos memoria, llama3.2:3b es imbatible en tiempo de respuesta. Y si la prioridad es privacidad con calidad de razonamiento, los modelos de 14B cuantizados a Q4 son el techo práctico de esta máquina.
Preguntas frecuentes
¿Qué hardware se utilizó para probar los 44 modelos?
El equipo de pruebas fue un Mac Studio con chip M1 Max y 32 GB de memoria unificada. No es una máquina de gama alta de 2026, sino un equipo de hace tres generaciones que sigue siendo común entre desarrolladores.
¿Cuáles fueron los tres modelos más rápidos en velocidad media?
Los tres más rápidos fueron lfm2.5 con 88,7 tok/s, deepseek-coder-v2:16b con 74,0 tok/s y llama3.2:3b con 73,3 tok/s, todos ejecutados con Ollama. Estos modelos pequeños y eficientes completaron los cinco tests en menos de 75 segundos.
¿Cómo se diseñó el protocolo de prueba para medir la degradación con el contexto?
Las cinco preguntas se lanzaron de manera consecutiva sin limpiar el contexto de la conversación, de modo que cada modelo arrastraba el historial completo de los tests anteriores. Antes de cada modelo se limpiaba la RAM para evitar memoria residual, y se midieron tiempo total y velocidad media en tokens por segundo.
¿Qué diferencia clave se observó entre los modelos MoE y los densos?
Los modelos MoE de 30B, como Qwen3-Coder-30B-A3B, rindieron a más de 43 tok/s, comportándose como modelos pequeños gracias a la activación selectiva de parámetros. En cambio, los modelos densos de 27B tardaron más de 30 minutos en completar los cinco tests, siendo impracticables en esta máquina.
¿Qué recomendación práctica se desprende para elegir un modelo local en un equipo de 32 GB?
Para uso diario de chat y código, el punto dulce está en modelos de 8B a 30B con arquitectura MoE, como deepseek-coder-v2:16b y qwen3-coder:30b. Para tareas ligeras, llama3.2:3b es imbatible en tiempo de respuesta, y si se prioriza privacidad con razonamiento, los modelos de 14B cuantizados a Q4 son el techo práctico.
La tabla completa: los 44 resultados
Todos los modelos probados con sus cinco tests: T1-T5 son los tiempos en segundos de cada test consecutivo y T/S1-T/S5 la velocidad en tokens por segundo de cada uno. La columna Tools indica soporte de llamadas a funciones, Visión indica entrada de imágenes, Contexto es la ventana declarada y Límite de conocimiento la fecha de corte del modelo. Los tests se lanzaron sin limpiar contexto entre preguntas y con la RAM liberada antes de cada modelo.
| Modelo | Plataforma | T1 (s) | T/S1 | T2 (s) | T/S2 | T3 (s) | T/S3 | T4 (s) | T/S4 | T5 (s) | T/S5 | Tools | Visión | Contexto | Límite conocimiento | Familia | Parámetros | Tamaño (GB) | Cuantización | Formato |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Hermes-3-Llama-3.1-8B-4bit oMLX | oMLX | 5.05 | 54.60 | 8.55 | 54.50 | 20.79 | 56.00 | 14.30 | 52.80 | 20.64 | 49.80 | No | No | 131072 | Mediados 2021 | llama3.1 | 8B | 4.2 GB | 4bit | mlx |
| llama3.2:3b | Ollama | 5.41 | 77.80 | 9.15 | 77.60 | 17.32 | 75.90 | 12.03 | 65.30 | 16.22 | 69.90 | Sí | No | 131072 | diciembre 2023 | llama | 3.2B | 2 GB | Q4_K_M | gguf |
| deepseek-coder-v2:16b | Ollama | 6.16 | 83.80 | 9.64 | 78.10 | 19.75 | 76.80 | 15.56 | 63.90 | 20.09 | 67.40 | No | No | 160K | 4 de abril de 2023 | deepseek2 | 15.7B | 8.29 GB | Q4_0 | gguf |
| Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf (llama.cpp) | llama.cpp | 8.53 | 39.40 | 34.66 | 39.10 | 31.90 | 37.70 | 24.03 | 36.90 | 34.28 | 35.50 | No | No | — | diciembre 2023 | llama3.1 | 8B | 4.9 | Q4_K_M | gguf |
| llama3.1:8b | Ollama | 8.89 | 39.10 | 18.44 | 38.90 | 66.53 | 38.50 | 20.84 | 35.60 | 26.98 | 34.70 | Sí | No | 131072 | 2021 | llama | 8.0B | 4.58 GB | Q4_K_M | gguf |
| hermes-2-pro-mistral-7b LMS | LMS | 9.58 | 39.10 | 17.84 | 38.60 | 27.38 | 37.80 | 43.59 | 36.40 | 54.48 | 22.90 | No | No | — | Principios 2023 | mistral | 7B | 7.82 GB | 8bit | Mlx |
| qwen2.5:14b | Ollama | 15.87 | 20.70 | 44.89 | 20.70 | 63.28 | 20.20 | 50.38 | 19.50 | 89.25 | 19.00 | Sí | No | 32K | septiembre de 2023 | qwen2.5 | 14.8B | 9.0 GB | Q4_K_M | gguf |
| lfm2.5:latest | Ollama | 16.23 | 55.50 | 7.97 | 108.60 | 7.20 | 110.70 | 28.70 | 59.10 | 12.97 | 109.70 | Sí | No | 131072 | septiembre 2024 | lfm2moe | 8.5B | 5.2 | Q4_K_M | gguf |
| Qwen3-Coder-30B-A3B-Instruct-MLX-4bit oMLX | oMLX | 16.97 | 51.50 | 32.73 | 47.50 | 49.23 | 44.20 | 62.63 | 40.00 | 114.61 | 35.50 | No | No | — | junio 2024 | qwen3 | 30.5B | 17.2 GB | 4bit | mlx |
| Laguna-XS-2.1-NVFP4-mlx oMLX | oMLX | 17.03 | 39.30 | 24.61 | 37.80 | 52.38 | 35.30 | 57.64 | 32.70 | 72.81 | 33.00 | No | No | — | octubre 2023 | laguna | 33B | 20.27 GB | NVFP4 | mlx |
| qwen3-coder:30b | Ollama | 17.89 | 51.60 | 34.20 | 47.90 | 53.08 | 44.90 | 54.50 | 39.90 | 81.57 | 33.00 | Sí | No | 262144 | 2024 | qwen3moe | 30.5B | 17.28 GB | Q4_K_M | gguf |
| qwen2.5-coder-mlx-community—Qwen2.5-Coder-7B-Instruct-MLX oMLX | oMLX | 19.04 | 13.90 | 74.45 | 20.60 | 74.46 | 19.90 | 57.99 | 19.30 | 403.06 | 19.10 | No | No | — | septiembre de 2023 | qwen2.5 | 7.6B | 15.2 GB | BF16 | mlx |
| gemma4-26B-A4B-it-QAT-MLX-4bit oMLX | oMLX | 21.61 | 44.80 | 36.69 | 41.90 | 47.42 | 40.20 | 71.15 | 38.80 | 44.09 | 31.80 | Sí | Sí | — | enero 2025 | gemma4 | 25.2B (26B A4B MoE) | 14.92 GB | 4bit (QAT) | mlx |
| qwen2.5-coder:7b | Ollama | 22.82 | 33.20 | 26.91 | 32.40 | 43.03 | 38.00 | 28.54 | 37.60 | 55.85 | 36.60 | Sí | No | 32K | final de 2023 | qwen2 | 7.6B | 4.36 GB | Q4_K_M | gguf |
| qwen3.5:9b-mlx | Ollama | 24.90 | 35.80 | 95.33 | 35.10 | 79.68 | 29.20 | 165.98 | 33.00 | 276.52 | 31.00 | Sí | Sí | 262144 | 2026 | Qwen35 | 9.4B | 8.9 GB | nvfp4 | mlx |
| gemma4:e2b | Ollama | 24.94 | 68.30 | 31.85 | 65.60 | 46.64 | 62.80 | 42.73 | 59.10 | 28.67 | 57.60 | Sí | Sí | 131072 | enero 2025 | gemma4 | 2.3B (5.1B total) | 7.2GB | Q4_K_M | gguf |
| codestral:22b-v0.1-q5_K_M | Ollama | 26.67 | 10.70 | 56.49 | 10.60 | 80.59 | 10.30 | 58.32 | 10.00 | 66.60 | 10.20 | No | No | 32K | early 2023 | llama | 22.2B | 14.64 GB | Q5_K_M | gguf |
| phi4:14b | Ollama | 28.85 | 21.10 | 37.40 | 20.90 | 54.75 | 20.50 | 58.40 | 19.90 | 51.27 | 19.10 | No | No | 16K | octubre de 2023 | phi3 | 14.7B | 8.43 GB | Q4_K_M | gguf |
| deepseek-r1:14b | Ollama | 29.91 | 21.90 | 89.78 | 21.00 | 98.54 | 17.50 | 134.06 | 16.90 | 445.73 | 18.00 | Sí | No | 131072 | 2023 | qwen2 | 14.8B | 8.37 GB | Q4_K_M | gguf |
| north-mini-code-1.0:mlx-nvfp4 | Ollama | 31.68 | 50.70 | 47.30 | 43.00 | 137.38 | 40.90 | 132.10 | 32.70 | 132.29 | 34.60 | Sí | No | 256K | junio 2024 | north | 30B (3B activos) | 20 | nvfp4 | mlx |
| qwen2.5-coder:14b-instruct-q5_K_M | Ollama | 34.13 | 17.40 | 64.35 | 17.30 | 45.24 | 16.80 | 63.63 | 16.60 | 58.47 | 16.00 | Sí | No | 32K | enero 2023 | qwen2 | 14.8B | 9.79 GB | Q5_K_M | gguf |
| mistral-small3.2:latest | Ollama | 34.24 | 12.50 | 84.30 | 12.50 | 126.39 | 12.50 | 136.68 | 11.70 | 152.00 | 12.00 | Sí | Sí | 131072 | octubre de 2023 | mistral3 | 24.0B | 14.14 GB | Q4_K_M | gguf |
| Qwen3-14B-4bit oMLX | oMLX | 36.00 | 26.20 | 66.73 | 24.20 | 84.87 | 22.10 | 117.36 | 20.90 | 227.05 | 20.80 | Sí | No | — | octubre 2024 | qwen3 | 14.8B | 8.31 GB | 4bit | mlx |
| gemma4:26b-a4b-qat LMS | LMS | 36.90 | 45.00 | 59.30 | 41.70 | 65.82 | 39.30 | 92.47 | 38.50 | 69.64 | 34.50 | Sí | Sí | 262144 | — | gemma4 | 25.2B (26B A4B MoE) | 15.64 GB | 4bit | gguf |
| gemma4:26b supergemma4-26b-uncensored-mlx-4bit-v2 oMLX | oMLX | 37.11 | 47.70 | 49.64 | 44.90 | 59.78 | 43.30 | 101.81 | 41.80 | 60.67 | 37.20 | Sí | Sí | — | enero 2025 | gemma4 | 25.2B (26B A4B MoE) | 14.2 | 4bit | mlx |
| gemma4:26b-mlx | Ollama | 37.21 | 42.20 | 68.34 | 40.90 | 73.60 | 39.10 | 82.94 | 37.30 | 80.50 | 26.70 | Sí | Sí | 262144 | octubre 2023 | gemma4 | 25.2B (26B A4B MoE) | 18 | nvfp4 | mlx |
| gemma4:26b | Ollama | 40.66 | 42.10 | 68.69 | 36.90 | 69.97 | 39.20 | 89.34 | 38.60 | 89.34 | 38.60 | Sí | Sí | 262144 | enero 2025 | gemma4 | 25.8B | 17 GB | Q4_K_M | gguf |
| gemma4-e4b LMS | LMS | 43.09 | 44.40 | 71.33 | 41.00 | 88.45 | 32.20 | 78.45 | 38.20 | 81.44 | 37.10 | Sí | Sí | 131072 | enero 2025 | gemma4 | 4.5B (8B total) | 8.8 | 4bit | mlx |
| gpt-oss-20b-MXFP4-Q8 oMLX | oMLX | 43.14 | 55.70 | 82.17 | 49.20 | 70.68 | 41.80 | 62.82 | 39.40 | 85.08 | 39.80 | No | No | — | junio 2024 | gptoss | 20.9B | 11.35 GB | mxfp4 | mlx |
| gemma4:e4b | Ollama | 45.79 | 40.20 | 70.76 | 37.80 | 96.46 | 33.70 | 112.14 | 32.30 | 82.07 | 27.20 | Sí | Sí | 131072 | enero 2025 | gemma4 | 3.2B | 9.6GB | Q4_K_M | gguf |
| qwen3-vl:8b | Ollama | 46.16 | 37.00 | 194.90 | 33.50 | 175.48 | 31.70 | 264.43 | 31.80 | — | — | Sí | Sí | 262144 | octubre 2024 | qwen3-vl | 8.3B | 6.1 GB | Q4_K_M | gguf |
| qwen3:14b | Ollama | 50.53 | 21.30 | 83.30 | 20.10 | 114.41 | 18.10 | 122.58 | 17.80 | 197.92 | 17.70 | Sí | No | 40960 | octubre 2023 | qwen3 | 14.8B | 9.3 GB | Q4_K_M | gguf |
| gpt-oss:20b | Ollama | 55.45 | 52.70 | 73.43 | 48.40 | 60.97 | 44.90 | 53.21 | 44.30 | 192.00 | 37.00 | Sí | No | 131072 | septiembre de 2023 | gptoss | 20.9B | 12.85 GB | mxfp4 | gguf |
| qwen3:4b | Ollama | 58.47 | 43.90 | 84.04 | 56.40 | 80.39 | 54.20 | 233.66 | 4.51 | 186.70 | 45.70 | Sí | No | 262144 | octubre 2024 | qwen3 | 3.9B | 2.5 GB | Q4_K_M | gguf |
| gemma4:12b-mlx | Ollama | 58.90 | 22.10 | 94.55 | 21.00 | 107.48 | 20.50 | 128.88 | 20.40 | 92.93 | 22.60 | Sí | Sí | 262144 | Principios 2024 | gemma4 | 12B | 7.7 | nvfp4 | mlx |
| qwen3.5:35b-a3b-coding-nvfp4 | Ollama | 59.89 | 45.60 | 79.54 | 37.70 | 70.16 | 41.40 | 96.57 | 42.90 | 107.62 | 37.20 | Sí | Sí | 262144 | abril 2026 | qwen3_5_moe | 35.1B | 21GB | nvfp4 | gguf |
| Qwen3.5-9B-8bit oMLX | oMLX | 65.17 | 28.90 | 69.25 | 34.50 | 145.87 | 31.10 | 132.30 | 30.60 | 170.35 | 28.20 | Sí | No | — | 2026 | qwen3.5 | 9B | 9.97 GB | 8bit | mlx |
| qwen3-14b-mlx LMS | LMS | 69.42 | 19.00 | 85.13 | 17.40 | 111.91 | 16.60 | 123.23 | 15.30 | 202.43 | 15.20 | Sí | No | — | octubre 2024 | qwen3 | 14.8B | 8.31 GB | 4bit | mlx |
| Qwen3.5-27B-Claude-4.6-Opus-Distilled-MLX-4bit oMLX | oMLX | 83.02 | 14.60 | 258.38 | 14.00 | 665.21 | 12.80 | 1 041.74 | 11.20 | 647.75 | 10.20 | Sí | No | — | octubre 2024 | qwen3.5 | 27B | 15.1 GB | 4bit | mlx |
| qwen3.5:9b | Ollama | 109.79 | 17.80 | 204.33 | 19.80 | 188.04 | 18.40 | 222.23 | 20.00 | 144.06 | 20.70 | Sí | Sí | 262144 | abril 2026 | Qwen35 | 9.7B | 6.6 GB | Q4_K_M | gguf |
| gemma4:31b-mlx | Ollama | 119.95 | 9.90 | 240.42 | 8.70 | 292.84 | 7.90 | 375.90 | 8.10 | 261.72 | 7.30 | Sí | Sí | 262144 | Principios 2024 | gemma4 | 30.7B (31B) | 19 | nvfp4 | mlx |
| gemma3:27b | Ollama | 120.51 | 11.20 | 142.90 | 11.00 | 239.25 | 9.10 | 164.33 | 10.50 | 154.42 | 10.50 | No | Sí | 131072 | septiembre de 2021 | gemma3 | 27.4B | 16.20 GB | Q4_K_M | gguf |
| qwen3.6:27b-mlx | Ollama | 148.30 | 13.00 | 294.22 | 12.00 | 324.84 | 11.10 | 570.57 | 10.80 | 572.21 | 9.80 | Sí | Sí | 262144 | octubre 2024 | qwen3.6 | 27B | 20 GB | — | mlx |
| qwen3.6:35b-a3b-coding-nvfp4 | Ollama | 291.57 | 6.70 | 122.60 | 40.10 | 508.70 | 7.00 | 191.40 | 38.90 | 159.81 | 40.60 | No | No | — | abril 2026 | qwen3.6 | 35.5B | 22 GB | nvfp4 | gguf |
Resumen práctico
- 44 modelos probados en un Mac Studio M1 Max de 32 GB con 4 motores: Ollama, oMLX, LM Studio y llama.cpp.
- Protocolo realista: 5 tests consecutivos sin limpiar contexto, con limpieza de RAM antes de cada modelo.
- Los más rápidos: lfm2.5 (88,7 tok/s), deepseek-coder-v2:16b (74,0) y llama3.2:3b (73,3).
- Los modelos MoE de 30B rinden como modelos pequeños: Qwen3-Coder-30B-A3B supera los 43 tok/s.
- Los modelos densos de 27B son impracticables en esta máquina: más de 30 minutos para los cinco tests.
- La degradación con contexto es real (8-36%), pero algunos modelos como lfm2.5 mejoran con el historial cargado.
- 32 de 44 modelos ofrecen tooling; la ventana de contexto va de 16K a 256K según la familia.
- La IA local tiene un límite claro: los límites de conocimiento se quedan en 2023-2026 según el modelo.
5 comentarios
Enhorabuena por la metodología, es justo lo que falta en el mundillo: mediciones reproducibles en hardware real. Los 44 modelos con cinco tests homogéneos son un trabajo digno de publicación académica.
¡Gracias, Jorge! Si algo aprendí es que los benchmarks de laboratorio engañan más de lo que ayudan. Cualquier hardware da sorpresas.
me he leido el post entero y el tema del m1 max con 32gb es exactamente mi caso jaja. al final te quedaste con el de 14b en 4 bits, ¿no? ¿que tal para programar?
al fin alguien que prueba los modelos de verdad y no copia benchmarks de otros. lo de los 32gb me toca de cerca xq estoy pensando en pillarme un mac mini. ¿con cual te quedaste para el dia a dia? el de 14b ese que dices que va fino es el qwen o cual?
Para el día a día me quedo con el de 14B cuantizado a 4 bits, el mejor equilibrio en 32 GB. Te valdrá también en el Mac mini. Y sí, es un Qwen 😉