Ver todos los artículos
OllamaApple SiliconMLXBenchmarks

Ollama con MLX en Apple Silicon: qué cambia, cómo comprobarlo y qué medir

JG
Jacobo Gonzalez Jaspe
|

Al terminar este artículo sabrás si tu Mac cumple los requisitos del backend MLX de Ollama, cómo comprobar en qué motor corre cada modelo y tendrás una medición repetible de tus propios tokens por segundo antes y después. Una aclaración honesta antes de empezar: en nuestro laboratorio no hay ningún Mac. Cada cifra de Mac que aparece abajo lleva un enlace a quien la midió, y el procedimiento está escrito para que produzcas las tuyas.

Qué necesitas

  • Cualquier Mac con Apple Silicon. La versión preliminar de MLX necesita más de 32 GB de memoria unificada; los Mac más pequeños siguen usando la ruta Metal, y el procedimiento te sirve igual para tener una referencia.
  • Ollama 0.19 o superior (ollama --version). MLX llegó como versión preliminar en la 0.19, el 30 de marzo de 2026 (blog de Ollama).
  • Entre 20 y 25 GB de disco libre para dos copias del mismo modelo.
  • Diez minutos y un terminal.

Qué cambia MLX, explicado sin rodeos

Apple Silicon tiene un único bloque de memoria compartido por la CPU y la GPU. No hay tarjeta gráfica con memoria propia ni copias a través de un bus; un modelo que cabe en ese bloque está disponible para las dos. MLX es el framework de aprendizaje automático de Apple diseñado para esa arquitectura. La ruta Metal de Ollama viene de llama.cpp y trata la GPU más como si fuera una tarjeta separada.

El anuncio de Ollama informa, para el modelo Qwen3.5-35B-A3B, de que el procesado del prompt pasa de 1.154 a 1.810 tokens por segundo y la generación de 58 a 112 tokens por segundo entre la 0.18 y la 0.19, y de 1.851 / 134 con el formato NVFP4 de 4 bits, en pruebas del 29 de marzo de 2026 sobre la familia M5 de Apple, que incorpora aceleradores neuronales en la GPU que MLX aprovecha. Una prueba independiente en un M4 Max con 64 GB da Qwen3.5 pasando de 57,8 a 111,4 tokens por segundo (dev.to, alanwest). Una reseña más larga recoge las salvedades: en el lanzamiento solo la familia Qwen3.5-35B-A3B estaba acelerada del todo, y hay hasta un 30 por ciento de sobrecoste frente a usar MLX directamente (andrew.ooo).

La aritmética de la memoria unificada es la misma en nuestra estación NVIDIA GB10, que también tiene un único bloque compartido de 128 GB. El 09-09-2026, ollama ps mostró qwen3.6:35b (archivo de 23 GB) ocupando 23 GB con un contexto de 32k y 29 GB con un contexto de 262k. El contexto cuesta memoria real; en un Mac de 36 GB esa diferencia decide si el modelo cabe.

Paso 1: averigua en qué motor estás

Los modelos MLX son etiquetas separadas en la biblioteca de Ollama, con el sufijo -mlx: qwen3.5:27b-mlx (20 GB), qwen3.5:35b-mlx (22 GB), gemma4:26b-mlx (18 GB), gemma4:12b-mlx (7,7 GB), tal y como aparecen en las páginas de qwen3.5 y gemma4. Las etiquetas sin sufijo son los archivos GGUF que corren por la ruta Metal.

ollama --version                       # 0.19 o superior
ollama show qwen3.5:27b | head -12      # arquitectura, contexto, cuantización
grep -i mlx ~/.ollama/logs/server.log | tail -5

El registro del servidor está en ~/.ollama/logs/server.log, según la documentación de macOS. Si una etiqueta -mlx falla con MLX not available: failed to load MLX dynamic library, el motor MLX no está bien instalado; ese mensaje exacto se reportó con una instalación de Homebrew en la incidencia #15433 de ollama, y allí la solución fue reinstalar Ollama.

Las guías de terceros no se ponen de acuerdo en si hace falta una variable de entorno: una habla de OLLAMA_MLX=1 ollama serve, otra dice que la 0.19 usa MLX sin ninguna opción. El artículo de Ollama no documenta ninguna variable. Fíate del registro y de la etiqueta, no de los blogs. Si necesitas fijar una variable para la aplicación de la barra de menús, el método de la FAQ es launchctl setenv NOMBRE valor y reiniciar Ollama.

Paso 2: descarga el mismo modelo en los dos formatos

Elige la pareja que quepa en tu memoria dejando sitio para macOS y tu editor:

Memoria del MacEtiqueta MetalEtiqueta MLXDescarga
16 o 24 GBqwen3.5:9bno aplica (por debajo del umbral de 32 GB)6,6 GB
36 o 48 GBqwen3.5:27bqwen3.5:27b-mlx17 + 20 GB
64 GB o másqwen3.5:35bqwen3.5:35b-mlx24 + 22 GB
ollama pull qwen3.5:27b
ollama pull qwen3.5:27b-mlx

Paso 3: ejecuta el antes y el después

Mismo prompt, tres ejecuciones por etiqueta, y lee las estadísticas que --verbose imprime por stderr.

#!/bin/bash
# mlx-bench.sh — prompt idéntico, las dos etiquetas, tres ejecuciones cada una
PROMPT="Explica en 300 palabras cómo cambia la memoria unificada la ejecución de un modelo de lenguaje."
for tag in qwen3.5:27b qwen3.5:27b-mlx; do
  echo "== $tag"
  for i in 1 2 3; do
    ollama run "$tag" --verbose "$PROMPT" 2>&1 >/dev/null \
      | grep -E "load duration|prompt eval rate|eval rate"
  done
  ollama ps        # la columna SIZE es la memoria realmente ocupada
done

Ejecútalo con bash mlx-bench.sh. Descarta la primera ejecución de cada etiqueta (es la carga en frío) y promedia las otras dos. Pega la salida en tu asistente y pídele: “Construye una tabla con tiempo de carga, tokens por segundo de prompt y tokens por segundo de generación para cada etiqueta, y la proporción entre ambas.”

Si prefieres cifras desde la API, el temporizador de doce líneas en Python de nuestro artículo nube o local lee eval_count y eval_duration de /api/generate y funciona sin cambios en un Mac.

Qué medimos y qué debes anotar tú

Ejecutamos el procedimiento en nuestra máquina para comprobar el script, no para producir cifras de Mac. La tabla es la plantilla que debes rellenar; las dos últimas filas son nuestras.

MáquinaModeloMotorGeneración tokens/sMemoria residenteFecha
tu Macqwen3.5:27bMetal (GGUF)rellenarrellenar
tu Macqwen3.5:27b-mlxMLXrellenarrellenar
NVIDIA GB10, 128 GBqwen3.6:35bCUDA51,423 GB con contexto 32k09-09-2026
NVIDIA GB10, 128 GBgemma4:26bCUDA51,217 GB con contexto 32k09-09-2026

Qué esperar, según las cifras publicadas arriba: aproximadamente el doble de velocidad de generación en un Mac que cumpla el requisito para la familia Qwen3.5, una mejora menor en el procesado del prompt y ningún cambio en una máquina de 16 o 24 GB.

Dónde encaja y cuáles son los límites

Si tu equipo ya trabaja con un Mac Studio o un MacBook Pro de 36 GB o más, MLX es una mejora de velocidad gratuita para el asistente local, el agente de programación y los resúmenes por lotes. El artículo de Ollama lo combina con ollama launch claude --model qwen3.5:35b-a3b-coding-nvfp4 para programar.

Límites que conviene tener en cuenta. El Mac mini M4 de 24 GB, unos 920 EUR (Compute Market), está por debajo del umbral, así que hoy no gana nada con MLX; sigue siendo una buena máquina para modelos de 7B a 14B a unos 35 tokens por segundo por la ruta Metal. La versión preliminar acelera una lista corta de familias de modelos, así que busca la etiqueta -mlx en la biblioteca antes de dar por hecha la mejora. Y duplicar la generación no hace que un modelo de 27B razone como uno de primera línea; hace que las mismas respuestas lleguen antes.

Siguientes pasos

Trabaja con nosotros

Dimensionamos máquinas a partir de tokens por segundo medidos, no de páginas de marketing, y cuando no tenemos el hardware lo decimos y te entregamos el procedimiento. Si quieres una segunda opinión sobre la compra de un Mac o sobre una flota que ya tienes, escríbenos o mira cómo trabajamos en consultoría.

Compartir: LinkedIn X
Newsletter

Acceda a recursos exclusivos

Suscríbase para desbloquear 230+ workflows, 43 agentes y 26 plantillas profesionales. Insights semanales sin spam.

Bonus: Checklist EU AI Act gratis al suscribirte
1x por semana Sin spam Cancela cuando quieras
EU AI Act en vigor — ¿Está su organización en cumplimiento?

Cuéntanos qué quieres ejecutar

Dinos qué quieres ejecutar y con qué presupuesto. Te decimos qué hardware necesitas, qué modelo encaja y qué puedes esperar de él — antes de que gastes nada.

Autoservicio Local-first Toolkits open-source

136 páginas de recursos gratuitos · 26 plantillas de compliance · 22 dispositivos certificados