oMLX, el servidor de modelos de lenguaje para Mac construido sobre mlx-lm, no es más rápido que la herramienta de referencia de Apple cuando el servidor sigue encendido, pero sí cuando se reinicia: recupera de disco el contexto ya procesado y responde en 7,2 segundos donde mlx-lm tarda unos 10 segundos más. Es la conclusión de las pruebas que Michael Hannecke, especialista en infraestructura de IA, publicó en Medium con un Mac Studio M4 Max de 64 GB, y que desmontaron la tesis con la que empezó.
Las claves de la comparativa entre mlx-lm y oMLX en 20 segundos
- Con el contexto en memoria, ambos tardan unos 3,5 segundos en dar el primer token.
- La velocidad de generación es prácticamente igual, porque oMLX usa el motor de mlx-lm.
- Tras un reinicio, la caché en SSD de oMLX evita repetir un preprocesado de más de un minuto.
Hannecke partía de una idea sencilla: mlx-lm, el entorno de ejecución de referencia de Apple para modelos de lenguaje en Apple Silicon, volvería a procesar el prompt completo en cada petición, mientras que oMLX, con su caché de claves y valores (KV) por niveles, lo recordaría. Para un agente de programación que envía una y otra vez el mismo contexto gigante, oMLX debería ganar con claridad en el tiempo hasta el primer token (TTFT). La primera medición tumbó esa tesis: el servidor de mlx-lm ya guarda en caché los prompts recientes.
Qué es cada herramienta
mlx-lm es la librería en Python que carga modelos, genera texto, permite ajustes finos y ofrece un pequeño servidor compatible con la API de OpenAI. oMLX, con licencia Apache 2.0, es una capa de servicio que se apoya en ella: añade procesamiento por lotes continuo, una caché KV con un nivel caliente en RAM y otro frío en SSD, varios modelos cargados con expulsión automática, una app en la barra de menús de macOS y un panel de administración. Según su repositorio, necesita macOS 15 o posterior y un Mac con chip M1 a M5. La generación de tokens la sigue haciendo mlx-lm, por eso Hannecke insiste en que preguntar cuál es más rápido es plantear mal la comparación.
Las pruebas se hicieron con el modelo gemma-4-31b-it en 4 bits, mlx-lm 0.31.3 y oMLX 0.4.4, y el autor advierte de cuatro trampas que le dieron datos falsos antes de corregirlas: la caché de prompts de mlx-lm, que su servidor no emite los tokens uno a uno sino en bloque (lo que obliga a medir el rendimiento por tiempo total), la carga diferida de modelos en oMLX y que la caché en SSD de oMLX sobrevive entre pruebas, de modo que hay que vaciar ~/.omlx/cache para medir un arranque en frío real.
Empate en lo habitual, ventaja tras un reinicio
Con un prefijo de 8.000 tokens, mlx-lm pasó de 31 segundos en frío a 3,4 segundos en la siguiente petición idéntica, y oMLX se quedó en 3,6. La generación también empató, con 22 y 25 tokens por segundo, dentro del margen de error. En concurrencia, con cuatro peticiones simultáneas, el servidor de mlx-lm escaló mejor (2,12 veces) que oMLX (1,23 veces) en esa ejecución, lo contrario de lo que esperaba el autor, que evita sacar conclusiones de una sola prueba.
La diferencia apareció al reiniciar el servidor. La caché de mlx-lm vive en la memoria del proceso y desaparece con él, así que el primer prompt tras el reinicio fue cinco veces más lento que con la caché caliente. oMLX volvió en 7,2 segundos porque restauró el prefijo desde el SSD. El precio está en el arranque en frío de verdad: oMLX tardó 64 segundos frente a los 32 de mlx-lm, porque en la primera petición paga la carga del modelo y la preparación de la caché.
La recomendación de Hannecke es usar mlx-lm para una sola persona, scripts, ajustes finos o mediciones de referencia, y oMLX cuando pesan las operaciones: reinicios frecuentes, cachés que deben sobrevivir a una expulsión o varios modelos en la misma máquina. Revista Cloud ya analizó el salto de Ollama a MLX en los Mac y el Mac Studio M5 Ultra como estación de IA local. El autor recuerda que sus cifras salen de una sola máquina y una sola ejecución, con versiones que cambian rápido.
Preguntas frecuentes
¿Qué diferencia hay entre mlx-lm y oMLX?
mlx-lm es el entorno de referencia para ejecutar modelos en Apple Silicon; oMLX es una capa de servicio sobre él que añade lotes continuos, caché en SSD, varios modelos y una app de barra de menús.
¿Es oMLX más rápido que mlx-lm?
No con el servidor encendido: en la prueba de Michael Hannecke empataron en primer token y en generación. oMLX gana tras un reinicio gracias a su caché en SSD.
¿Qué Mac se usó en la prueba?
Un Mac Studio con M4 Max y 64 GB de memoria unificada, con el modelo gemma-4-31b-it en 4 bits.
Fuentes:
- Michael Hannecke en Medium: «mlx-lm vs oMLX: I Was Wrong About the Winner» (23/06/2026)
- GitHub: jundot/omlx
- GitHub: ml-explore/mlx-lm