Intermedio 11 minApple

LLM local en Mac M5: MLX supera ahora ampliamente a llama.cpp (cifras 2026)

En Mac M5, el debate entre MLX y llama.cpp está resuelto: con el mismo modelo y la misma cuantización, el framework de Apple ahora genera de 30 a 40 % más de tokens por segundo. Esta guía cuantifica la diferencia en M5 y M5 Max, explica el nuevo motor MLX de Ollama que llegó en junio de 2026, y muestra hasta dónde se puede llegar, incluso conectando dos máquinas con Thunderbolt 5 para ejecutar modelos de 120B+. Es el complemento M5 de la guía de MacBook Pro M4 Max: mismos principios, cifras actualizadas.

¿Estás eligiendo un equipo? Nuestras opciones por presupuesto →

Por Mohamed Meguedmi·Actualización 2026-08-30·Probado en macOS 14+
Hardware recomendado

Para esta configuración: Mac mini M5 Pro (24 GB / 512 GB).

¿Por qué esta elección? Nuestra ficha completa sobre Mac mini M5 Pro (24 GB / 512 GB) →

Comparar todas las opciones por presupuesto, de 800 a 3 500 € →

Cuando te desplazas: qué portátil elegir para la IA local →

Enlaces de afiliación — posible comisión sin coste adicional para ti. Como socio de Amazon, QuéLLM obtiene beneficios de las compras que cumplen las condiciones requeridas.

#¿Por qué el M5 cambia las cosas para un LLM local en Mac?

El chip M5 aporta dos cosas que realmente importan para la inferencia: núcleos GPU con unidades de multiplicación matricial (Neural Accelerators) integradas en cada núcleo y un mayor ancho de banda de memoria. Y es que la inferencia de un LLM es ante todo un problema de ancho de banda de memoria: cada token generado vuelve a leer todos los pesos del modelo. Cuanto más rápida sea la memoria unificada, más rápido se generan los tokens.

Es precisamente ahí donde el framework MLX de Apple tiene ventaja sobre llama.cpp. MLX está escrito para aprovechar directamente estas nuevas unidades matriciales de la GPU M5, mientras que la implementación de Metal en llama.cpp sigue siendo más genérica. Resultado concreto: en la misma máquina, con el mismo modelo y la misma cuantización, MLX genera claramente más tokens por segundo. La diferencia, marginal en M3, se vuelve significativa en M5.

i
Esta guía complementa, no sustituye
Si usas un MacBook Pro M4 / M4 Max, tu guía dedicada sigue siendo la referencia. Aquí nos centramos en lo que cambia el M5: las nuevas cifras, el motor MLX de Ollama y los clústeres Thunderbolt 5. Los fundamentos (memoria unificada, elección de cuantización) son iguales de una generación a otra.

#Pruebas de rendimiento de M5 y M5 Max: las cifras de 2026

El kit Mac

La IA local en tu Mac, a fondo: memoria unificada, MLX vs GGUF, el modelo adecuado para tu chip, Ollama y LM Studio configurados para Apple Silicon.

  • Espacio en línea de por vida
  • PDF + archivos
  • Actualizaciones de por vida

Aquí tienes órdenes de magnitud medidos durante la generación (decodificación) con MLX, en modelos habituales con cuantización de 4 bits. Como siempre en la inferencia local, estas velocidades varían según la longitud del contexto, la versión exacta del modelo y la temperatura de la máquina: tómalas como referencias, no como garantías exactas hasta el último token.

→
Mediciones reales en un M5 Max de 128 GB
Desde septiembre de 2026, publicamos un benchmark completo realizado en un MacBook Pro M5 Max con 40 núcleos de GPU y 128 GB: seis modelos, MLX frente a GGUF con el mismo Qwen 3.8 27B, gpt-oss 120B y un prefill medido con un documento de 11.280 palabras. Los órdenes de magnitud que aparecen a continuación siguen siendo los originales; las cifras medidas están en la guía dedicada.
M5 (GPU de 10 núcleos) — 8B Q4
~55-70 tokens/s en generación. Un modelo 8B (Qwen 3.5, Granite 4.2, Gemma 4) sigue funcionando con mucha fluidez en el chip base.
M5 Max — 8B Q4
~230 tokens/s. El mayor ancho de banda de memoria del Max marca la diferencia en los modelos pequeños, donde la GPU nunca es el cuello de botella.
M5 Max — 32B Q4
~55-65 tokens/s. Un 32B (Qwen 3.8 27B, Devstral) funciona a una velocidad cómoda para leer y se puede usar sin problemas de forma interactiva.
M5 Max — 70B Q4
~28 tokens/segundo. Un modelo de 70B en Q4 cabe en memoria desde 48-64 GB de memoria unificada y sigue siendo fluido para chat y generación de código.

Lo más destacado es ejecutar un 70B a ~28 tokens/s en una máquina sin tarjeta gráfica dedicada, silenciosa y que cabe en una bolsa. Como comparación, en un PC hace falta una RTX 4090 de 24 GB (y trasladar parte del procesamiento a la CPU, ya que un 70B Q4 ocupa ~40 GB y no cabe en 24 GB de VRAM) para rivalizar, con mucho más ruido y consumo.

→
La RAM unificada es tu VRAM
En Mac, no hay VRAM separada: el modelo se carga en la memoria unificada compartida con el sistema. Referencias de memoria en Q4 según el tamaño: 8B≈5 GB, 32B≈19 GB, 70B≈40 GB. Prevé siempre un margen adicional de ~20 % para el contexto y macOS. Un modelo 70B en Q4 requiere, por tanto, al menos 48 GB, y 64 GB para funcionar cómodamente.

#MLX vs llama.cpp: dónde se amplía la brecha

La diferencia del 30 al 40 % a favor de MLX no es uniforme: depende del perfil de la carga. Comprender dónde se amplía ayuda a saber cuándo cambiar a MLX realmente vale la pena.

Generación (decodificación)
Es ahí donde MLX destaca con mayor claridad en el M5, gracias al uso directo de las unidades matriciales de la GPU. En un chat interactivo, esa es la diferencia que percibes.
Procesamiento del prompt (prefill)
MLX mantiene la ventaja, pero la diferencia es algo menor. Con contextos muy largos, ambos motores quedan limitados por la memoria.
Soporte de modelos
llama.cpp sigue siendo más universal mediante el formato GGUF; MLX requiere una versión convertida al formato MLX. En los modelos populares, la conversión existe casi siempre (hub mlx-community en Hugging Face)
Integración Python
MLX es nativo de Python, lo que lo hace la opción evidente para prototipado, fine-tuning ligero o un pipeline personal. llama.cpp pasa por bindings.
!
MLX no es mágico en cuanto a memoria
MLX acelera la inferencia, pero no reduce el tamaño del modelo en memoria. Un modelo que no cabe en tu RAM unificada no cabrá más bajo MLX. La elección de la cuantización (Q4_K_M por defecto) sigue siendo el factor número 1 para ajustarse a tu presupuesto de memoria.

#Requisitos previos y RAM recomendada por modelo

Antes de instalar, ajusta el tamaño del modelo a tu memoria unificada. Estos son los niveles realistas para M5 y M5 Max, en Q4.

16 GB (M5)
Los modelos de 3B a 8B en Q4 funcionan con holgura. Un 14B cabe, pero deja poco margen para un contexto grande.
24-32 GB (M5 / M5 Pro)
Un modelo de 14B funciona con soltura; uno de 32B en Q4 es viable en el extremo superior del rango. El punto ideal para un uso diario versátil.
48 GB (M5 Max)
Un 32B Q4 cabe con mucha holgura; un 70B Q4, muy justo: conviene optar por 64 GB para un 70B con contexto.
64-128 GB (M5 Max)
Un 70B Q4 fluido con gran contexto, o varios modelos cargados en paralelo. Territorio de usuarios avanzados.

En cuanto al software, necesitas macOS actualizado y una de las dos vías de acceso a MLX: LM Studio (que pasa automáticamente a MLX cuando existe una versión MLX del modelo) u Ollama desde su actualización de junio de 2026, detallada a continuación.

#El motor MLX de Ollama (junio de 2026)

Históricamente, Ollama se basaba en su motor propio y en llama.cpp, por lo que utilizaba Metal en Mac. Desde su actualización de junio de 2026, Ollama puede ejecutar modelos mediante MLX en Apple Silicon cuando hay una versión MLX disponible, lo que por fin permite que la herramienta más utilizada para la IA local alcance el rendimiento que LM Studio ya ofrecía mediante MLX.

En concreto, eso significa que obtienes la mejora de rendimiento de MLX sin cambiar tus hábitos: el mismo demonio de Ollama en el puerto 11434 por defecto, los mismos comandos y la misma API compatible con OpenAI. El motor elige MLX cuando corresponde y recurre al método clásico en caso contrario.

i
Comprueba tu versión de Ollama
El soporte de MLX requiere una versión de Ollama de junio de 2026 o posterior. Actualiza antes de comparar las velocidades de generación; de lo contrario, seguirás midiendo la antigua vía de ejecución con Metal y concluirás erróneamente que «MLX no cambia nada».

#Instalar y ejecutar un modelo en MLX

Dos opciones según lo cómodo que te sientas con el terminal. La más directa para probar MLX sin configuración es LM Studio; la más fácil de integrar en una pila tecnológica es Ollama.

  1. 01
    1. Actualizar la herramienta
    Instala la última versión de Ollama (de junio de 2026 o posterior) o de LM Studio. Es el requisito previo para aprovechar la vía de ejecución con MLX.
  2. 02
    2. Elegir un modelo con versión MLX
    En LM Studio, la búsqueda da prioridad a las variantes MLX en Apple Silicon. En Ollama, descarga un modelo habitual: el motor cambia a MLX cuando existe una versión convertida.
  3. 03
    3. Iniciar y comprobar la velocidad de generación
    Haz una pregunta larga y observa los tokens/s que se muestran. Si lo deseas, compara con el mismo modelo en GGUF para medir la diferencia real en tu máquina.
  4. 04
    4. Ajustar la cuantización si es necesario
    Si el modelo satura tu memoria unificada, baja un nivel (Q5 → Q4_K_M) en lugar de cambiar de herramienta: es la memoria la que limita, no el motor.
Terminal
# Vérifier la version d'Ollama (le support MLX date de juin 2026)
ollama --version

# Lancer un modèle : Ollama emprunte MLX quand une version MLX existe
ollama run qwen3:8b

# Le daemon expose l'API compatible OpenAI sur le port par défaut
curl http://localhost:11434/api/tags

En Python, MLX se presta directamente al uso de scripts, lo que resulta útil para realizar benchmarks o integrar la inferencia en un pipeline propio:

Terminal
# Installer les outils MLX pour LLM (framework Apple, natif Python)
pip install mlx-lm

# Générer avec un modèle converti au format MLX (hub mlx-community)
mlx_lm.generate --model mlx-community/Qwen3-8B-4bit \
  --prompt "Explique la mémoire unifiée du M5 en trois phrases"

#Clusters Thunderbolt 5 para los modelos 120B+

Un solo Mac, incluso un M5 Max bien equipado, está limitado por su memoria unificada. Para superar ese límite —ejecutar un modelo de 120B+ o un MoE grande—, el enfoque de 2026 consiste en conectar varias máquinas Apple Silicon mediante Thunderbolt 5 y distribuir el modelo entre ellas. Thunderbolt 5 ofrece un ancho de banda considerablemente mayor que Thunderbolt 4, lo que hace que el intercambio de activaciones entre nodos sea por fin viable para la inferencia.

El principio: el modelo se divide en bloques de capas, cada máquina aloja una parte de los pesos en memoria y las activaciones pasan de un nodo al siguiente con cada token. Así se suma la memoria unificada de varios Mac para cargar un modelo que no cabría en ninguno de ellos por sí solo.

Lo que desbloquea
Modelos de 120B+ en Q4, o incluso modelos MoE muy grandes, combinando, por ejemplo, dos M5 Max de 128 GB para acercarse a 256 GB de memoria direccionable.
El equilibrio
La latencia entre nodos reduce los tokens/s: un clúster es más lento que una sola máquina en la que cupiera el mismo modelo. Se recurre a él porque ninguna máquina por sí sola basta, no para ganar velocidad.
El cableado
Thunderbolt 5 es la clave: su ancho de banda hace que la transferencia de activaciones sea aceptable. Con Thunderbolt 4 o Ethernet, la interconexión vuelve a ser el cuello de botella.
!
El uso de clústeres sigue siendo una opción de nicho
Conectar equipos Mac para un 120B+ es impresionante, pero está reservado para una necesidad real: la complejidad, el costo de dos máquinas y la pérdida de velocidad solo se justifican si no puedes optar simplemente por un modelo más pequeño o un Mac Studio Ultra con mucha memoria. Para la mayoría de los usos, un solo M5 Max basta de sobra.

#Consejos y solución de problemas

« MLX no va más rápido »
Comprueba primero que realmente estás utilizando MLX (versión actualizada de la herramienta y variante MLX del modelo efectivamente cargada). Un GGUF cargado mediante Metal no se beneficia de MLX.
La velocidad cae en picado después de unos minutos
Es una limitación térmica del rendimiento, especialmente en MacBook Air (sin ventilador). Con cargas prolongadas, un MacBook Pro o un Mac mini/Studio mantiene una velocidad de generación más estable.
Modelo que no se carga
La memoria unificada está saturada. Pasa a un modelo de un tamaño inferior o baja un nivel de cuantización; cierra las aplicaciones que consumen mucha RAM.
Lentitud con un contexto largo
El prefill de un prompt muy largo consume mucha memoria. Reduce la ventana de contexto si no la necesitas, o acepta que el primer token tarde más en llegar.

#Para ir más allá

Estas guías amplían de forma natural lo que acabas de leer, desde la comparativa de fondo hasta la puesta en práctica:

MLX vs llama.cpp en detalle
«MLX vs llama.cpp en Mac de la serie M: ¿quién gana en 2026?» profundiza en la comparación (compatibilidad con modelos, cuantización, integración con Python) más allá de las cifras del M5.
Instalar Ollama en macOS
« Instalar Ollama en macOS (Apple Silicon) » cubre paso a paso la instalación y el uso de la memoria unificada, base esencial antes de abordar MLX.
Elegir tu cuantización
«Elegir la cuantización (Q4, Q5, Q8, FP16)» explica el equilibrio entre calidad y memoria: la clave para que un modelo quepa en tu RAM unificada.
¿Esta guía te ha ayudado?

¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.