¿Qué es MLX-LM?
MLX-LM es un paquete de Python gratuito y de código abierto de Apple Machine Learning Research para generar texto y ajustar modelos de lenguaje grandes específicamente en Apple Silicon, construido sobre MLX, el framework de arrays propio de Apple. MLX en sí se lanzó por primera vez el 5 de diciembre de 2023, con mlx-lm como paquete complementario centrado específicamente en flujos de trabajo de modelos de lenguaje.
El proyecto está alojado en github.com/ml-explore/mlx-lm bajo licencia MIT. MLX, el framework más amplio, ha superado aproximadamente 27.300 estrellas en GitHub, mientras que mlx-lm específicamente tiene aproximadamente 6.900+.
- Se integra con Hugging Face Hub para el acceso a modelos, incluido soporte para cuantizar modelos y subir los resultados de vuelta al Hub
- Admite tanto fine-tuning de bajo rango (LoRA) como fine-tuning completo, incluido el ajuste de modelos ya cuantizados
- Incluye caché de prompts y una caché clave-valor rotatoria para mayor eficiencia durante la generación
- Admite inferencia y fine-tuning distribuidos en varias máquinas mediante
mx.distributed - Proporciona salida de generación en streaming y un comando
mlx_lm.serverpara servir modelos
¿Qué es la memoria unificada y por qué depende MLX de ella?
La memoria unificada significa que la CPU y la GPU en Apple Silicon comparten un único grupo físico de memoria, en lugar de tener cada una memoria dedicada separada que requiera copiar datos entre ambas. MLX está diseñado específicamente en torno a esta arquitectura, que es fundamentalmente distinta de la configuración de RAM de CPU discreta más VRAM de GPU separada que se encuentra en sistemas Windows y Linux con una GPU dedicada de NVIDIA o AMD.
- Los pesos del modelo, la caché KV y las activaciones residen todos en el mismo grupo de memoria, accesible tanto para la CPU como para la GPU sin un paso de copia
- Las operaciones pueden distribuirse entre CPU y GPU según sea necesario sin la sobrecarga de transferencia de datos que requiere un sistema con GPU discreta
- Esta es una característica a nivel de hardware de Apple Silicon (chips serie M) que MLX está diseñado específicamente para aprovechar, no un truco de software que pudiera replicarse de forma idéntica en hardware que no sea de Apple
- En enero de 2026, Apple publicó investigación evaluando específicamente los Neural Accelerators dedicados integrados en cada núcleo GPU del chip M5 al ejecutar MLX
¿Cómo se instala y usa MLX-LM?
MLX-LM se instala mediante pip o conda y ofrece tanto una interfaz de línea de comandos como una API de Python para generación, fine-tuning y servicio de modelos. Requiere macOS en Apple Silicon; algunas funciones requieren macOS 15.0 o posterior.
- 1Instalar mediante pip:
pip install mlx-lm, o mediante conda:conda install -c conda-forge mlx-lm. - 2Generar texto directamente desde un modelo de Hugging Face Hub, por ejemplo
mlx_lm.generate --model <hf-model-id> --prompt "...", que descarga y ejecuta el modelo. - 3Para hacer fine-tuning, usar los comandos de LoRA o fine-tuning completo documentados en el README de GitHub del proyecto, que admiten tanto modelos base de precisión completa como ya cuantizados.
- 4Para cuantizar un modelo y, opcionalmente, subirlo de vuelta a Hugging Face Hub, usar las herramientas de conversión y cuantización del proyecto.
- 5Para servir un modelo mediante una API, ejecutar
mlx_lm.server, que inicia un servidor local para acceso programático. - 6Para inferencia o fine-tuning distribuidos en varias máquinas, configurar
mx.distributedsegún se documenta en las guías de uso avanzado del proyecto.
¿MLX-LM funciona en Mac con Intel?
No. MLX-LM requiere Apple Silicon (un chip serie M) — los Mac basados en Intel no son compatibles.
¿MLX-LM requiere conexión a internet?
Solo para descargar modelos inicialmente, normalmente desde Hugging Face Hub. Una vez descargado un modelo, la generación y la inferencia se ejecutan completamente en local.
¿Qué hardware requiere MLX-LM?
MLX-LM requiere un Mac con Apple Silicon — no hay soporte para Mac con Intel, Windows, Linux ni GPU que no sean de Apple, de ningún tipo. Esta es la compensación central frente a motores multiplataforma como llama.cpp.
- Se requiere Apple Silicon (chip serie M) — se admite desde M1 hasta la generación actual, y los chips más nuevos se benefician de optimizaciones continuas de MLX
- Sin soporte para Mac con Intel, aunque estos también ejecuten macOS
- Ningún tipo de soporte para Windows o Linux
- Sin soporte para GPU que no sean de Apple — MLX no funciona en hardware NVIDIA o AMD
- Algunas funciones requieren específicamente macOS 15.0 o posterior, incluida una optimización documentada de memoria cableada (wired memory)
¿Quién debería usar MLX-LM?
Usa MLX-LM si la máquina de destino es confirmadamente Apple Silicon y sacar el máximo partido a la memoria unificada de ese hardware específico importa; usa un motor multiplataforma si el hardware necesita ser flexible o no ser Mac.
🧭 Quién debería usar MLX-LM
- Usuarios de Mac con Apple Silicon que quieran una herramienta construida específicamente para esa arquitectura en lugar de un motor multiplataforma adaptado a ella
- Desarrolladores que hacen fine-tuning de modelos localmente en un Mac, usando el soporte nativo de LoRA y fine-tuning completo de MLX-LM
- Cualquiera que construya un flujo de trabajo basado en Python en torno a modelos de Hugging Face Hub y quiera una integración estrecha con el framework propio de Apple
- Usuarios especialmente interesados en las características de rendimiento de la memoria unificada para inferencia de modelos grandes en una sola máquina
❌ Quién debería evitar MLX-LM
- Cualquiera con Windows, Linux o un Mac con Intel — MLX-LM simplemente no funciona en ese hardware
- Usuarios que quieran el soporte de hardware más amplio posible en una sola herramienta — llama.cpp cubre NVIDIA, AMD, Intel y Apple Silicon desde un solo proyecto
- Equipos que necesitan servicio de producción multiusuario de alto rendimiento — vLLM o SGLang están construidos para eso, no MLX-LM
- Cualquiera que quiera la configuración de chat local más sencilla posible con gestión de modelos incluida — Ollama es más sencillo para ese objetivo específico, aunque también admite hardware que no es Mac y al que MLX-LM no puede llegar
🏆 Mejor opción según el caso de uso
- Mejor para rendimiento específico de Apple Silicon mediante memoria unificada: MLX-LM
- Mejor para el soporte de hardware más amplio, incluido Apple Silicon: llama.cpp directamente
- Mejor para la configuración local multiplataforma más sencilla: Ollama
- Mejor para servicio de producción multiusuario de alto rendimiento: vLLM o SGLang
- Mejor para comparaciones directas de velocidad modelo a modelo entre Mac y hardware NVIDIA: ver la comparación MLX vs. CUDA
¿Cómo se compara MLX-LM con llama.cpp y otros motores?
La comparación más cercana para MLX-LM es el propio backend Metal de llama.cpp, ya que ambos se ejecutan en Apple Silicon — la diferencia es que MLX-LM es el framework propio de Apple, exclusivo de Mac, mientras que llama.cpp además cubre hardware NVIDIA, AMD e Intel.
Herramienta | Licencia | Mejor para |
|---|---|---|
| MLX-LM | MIT | Específico de Apple Silicon, memoria unificada |
| llama.cpp | MIT | Soporte de hardware más amplio, control directo |
| Ollama | MIT | Configuración local multiplataforma más sencilla |
| vLLM | Apache 2.0 | Servicio multiusuario de alto rendimiento |
| SGLang | Apache 2.0 | Caché de prefijos para chat/salida estructurada |
Errores comunes al evaluar MLX-LM
La mayor parte de la confusión viene de esperar que MLX-LM funcione fuera de Apple Silicon, o de malinterpretar lo que realmente cambia la memoria unificada.
Error 1: esperar que MLX-LM funcione en un Mac con Intel o en hardware que no sea Mac
MLX-LM requiere específicamente Apple Silicon — no funciona en Mac con Intel, Windows o Linux, sin importar qué GPU pueda estar presente en esos sistemas.
Error 2: asumir que la memoria unificada es una función de software que podría añadirse a otras plataformas
La memoria unificada es una característica de la arquitectura de hardware de los chips Apple Silicon, no una abstracción de software inventada por MLX — no puede replicarse en un sistema con RAM de CPU y VRAM de GPU físicamente separadas.
Error 3: tratar MLX-LM y el backend Metal de llama.cpp como idénticos
Ambos pueden ejecutar modelos en Apple Silicon, pero son proyectos distintos con mantenedores, API y expectativas de formato de modelo diferentes — llama.cpp además funciona en hardware que no es de Apple, mientras que MLX-LM es el framework propio de Apple, construido exclusivamente en torno a Apple Silicon.
Preguntas frecuentes
¿Qué es MLX-LM?
MLX-LM es un paquete de Python gratuito con licencia MIT de Apple Machine Learning Research para generar texto y ajustar modelos de lenguaje grandes en Apple Silicon, construido sobre el framework de arrays MLX de Apple.
¿MLX-LM funciona en Windows o Linux?
No. MLX-LM requiere Apple Silicon y funciona solo en macOS sobre hardware Mac de la serie M.
¿Es MLX-LM gratuito para uso comercial?
Sí. MLX-LM tiene licencia MIT, es gratuito para uso personal y comercial.
¿Qué es la memoria unificada en MLX?
La memoria unificada significa que la CPU y la GPU en Apple Silicon comparten un único grupo físico de memoria, de modo que los pesos del modelo, la caché KV y las activaciones pueden ser accedidos por ambas sin un paso de copia — una característica de hardware distinta de la configuración de RAM de CPU y VRAM de GPU separadas en la mayoría de los sistemas Windows/Linux.
¿Puede MLX-LM hacer fine-tuning de modelos?
Sí. Admite tanto fine-tuning LoRA (bajo rango) como completo, incluido el ajuste de modelos ya cuantizados.
¿MLX-LM funciona con modelos de Hugging Face?
Sí. MLX-LM se integra con Hugging Face Hub para descargar modelos y puede subir modelos cuantizados de vuelta al Hub.
¿Quién desarrolla MLX-LM?
Apple Machine Learning Research desarrolla y mantiene MLX-LM, junto con el framework MLX más amplio sobre el que está construido. MLX se lanzó por primera vez el 5 de diciembre de 2023.
¿En qué se diferencia MLX-LM de llama.cpp en un Mac?
Ambos pueden ejecutar modelos en Apple Silicon, pero MLX-LM es el framework propio de Apple, construido específicamente en torno a la memoria unificada y exclusivo de Apple Silicon, mientras que llama.cpp es un proyecto independiente y multiplataforma que también admite hardware NVIDIA, AMD e Intel mediante su backend Metal en Mac.
¿Puede MLX-LM servir modelos mediante una API?
Sí. El comando mlx_lm.server inicia un servidor local para acceso programático a un modelo cargado.
¿Es MLX-LM bueno para servicio de producción de alto rendimiento?
No es su objetivo de diseño principal. Para servicio de producción multiusuario de alto rendimiento, vLLM o SGLang son las herramientas más especializadas; MLX-LM se centra en la inferencia y el fine-tuning en una sola máquina Apple Silicon.
