Skip to content

MLX

El framework de arrays de Apple para machine learning en Apple silicon, ahora con una versión para CUDA; el motor detrás de mlx-lm y de muchas apps de LLM para Mac.

Reseña de Sheela · Actualizado

Ver en GitHub Código abierto

Nuestra nota

4.4/5

MLX convierte un Mac con mucha memoria en una máquina creíble para inferencia local y ajuste con LoRA; fuera de Apple silicon es un port, no un motivo para cambiar.

¿Qué es MLX?

MLX es un framework de arrays del grupo de investigación en machine learning de Apple, construido para la memoria unificada de Apple silicon, donde la CPU y la GPU comparten un mismo bloque de RAM. Su API de Python sigue a NumPy, sus paquetes nn y optimizers siguen a PyTorch, y tiene API equivalentes en C++, C y Swift. El cálculo es diferido y los grafos se construyen de forma dinámica, así que cambiar la forma de las entradas no provoca recompilaciones.

Ya no es exclusivo de Mac. `pip install mlx[cuda12]` (o `mlx[cuda13]`) lo ejecuta en Linux con GPU de Nvidia de SM 7.5 o posterior, y `mlx[cpu]` da una versión de Linux solo para CPU. La mayoría lo conoce a través de mlx-lm, el paquete complementario para ejecutar, cuantizar y hacer fine-tuning con LoRA de LLM del Hugging Face Hub, donde la organización mlx-community aloja unos 5.800 modelos convertidos.

La versión 0.32.4 se publicó el 14 de octubre de 2026 bajo licencia MIT.

¿Merece la pena MLX?

MLX importa por un hecho de hardware: en Apple silicon la GPU puede direccionar toda la memoria del sistema. Un Mac con mucha RAM puede alojar un modelo cuantizado que en otro sitio necesitaría una GPU de centro de datos, y MLX está escrito en torno a eso, con arrays que viven en memoria compartida y se ejecutan en CPU o GPU sin copias. El repositorio tiene unas 28.900 estrellas en GitHub y publicó la 0.32.4 el 14 de octubre de 2026.

La mayor parte del valor práctico está en mlx-lm (unas 7.400 estrellas) más que en la biblioteca principal. Carga modelos directamente desde el Hugging Face Hub, los cuantiza y los sube, los sirve por HTTP con mlx_lm.server y hace fine-tuning con LoRA y QLoRA. Su propia documentación da una cifra concreta: LoRA sobre Mistral 7B con tamaño de lote 1 y cuatro capas ajustadas va a unos 250 tokens por segundo en un M1 Max con 32 GB.

Los límites son los del Mac. Los modelos cercanos al tamaño de la RAM van lentos salvo que subas el límite de memoria fija de la GPU con un sysctl, lo que requiere macOS 15; el paquete base requiere macOS 14. Entre las incidencias abiertas están el watchdog de GPU de Metal matando el entrenamiento LoRA mientras hay una pantalla activa y un kernel panic en un M4 Max durante un prefill de 173K tokens. En noviembre de 2025 se publicaron dos CVE de gravedad baja en los cargadores de pesos, un desbordamiento de heap en load() y un puntero salvaje en load_gguf().

El backend de CUDA amplía el público menos de lo que parece. Necesita Linux con glibc 2.35 o posterior y una tarjeta de Nvidia de SM 7.5 o posterior, y su uso real es que un equipo escriba código MLX en Mac y ejecute el mismo código en un servidor con GPU. No trae el ecosistema de vLLM y de entrenamiento de Hugging Face que PyTorch tiene en ese hardware, y el soporte de ROCm para AMD sigue siendo un experimento abierto. Solo para inferencia, llama.cpp funciona en todo y Ollama oculta la configuración; MLX se gana su sitio cuando quieres control a nivel de Python en el propio Mac.

Dónde se gana su sitio

  • Un ingeniero de ML de una start-up de software de soporte con un MacBook Pro de la serie M y 32 GB

    Hacer fine-tuning de un modelo de 7B con transcripciones de soporte sin alquilar una GPU

    Ejecutar mlx_lm.lora con tamaño de lote 1, unas pocas capas ajustadas y gradient checkpointing; la documentación indica unos 250 tokens por segundo para Mistral 7B en un M1 Max de 32 GB, así que un conjunto de datos modesto se entrena en el portátil. El coste es tiempo en una máquina que ya tienes; el riesgo es el fallo abierto por el que el watchdog de Metal mata el entrenamiento mientras hay una pantalla activa.

  • Una investigadora universitaria que prototipa nuevas arquitecturas de modelos

    Iterar sobre capas propias sin esperar recompilaciones

    Escribir los modelos con los módulos de mlx.nn, parecidos a los de PyTorch; los grafos son dinámicos, así que los cambios de forma no recompilan, y las transformaciones combinables dan diferenciación automática y vectorización. El mismo código puede ejecutarse después en una máquina Linux con GPU con mlx[cuda12], aunque el entrenamiento a gran escala sigue apuntando a PyTorch.

  • Un responsable de TI de un despacho de abogados de 20 personas con normas estrictas de confidencialidad

    Ejecutar un modelo de chat privado en los Mac de la oficina en lugar de enviar documentos a una API en la nube

    Descargar un modelo de 4 bits de mlx-community y servirlo con mlx_lm.server en un Mac con mucha memoria, o a través de una app de escritorio que use MLX como motor. Nada sale de la máquina y la licencia MIT no cuesta nada; el gasto es el hardware y alguien que lo mantenga.

Antes de decidirte

Puesta en marcha
`pip install mlx mlx-lm` en un Python 3.10+ nativo arm64 con macOS 14+; un primer mlx_lm.generate con un modelo del Hub es casi todo tiempo de descarga. En Linux se usa mlx[cuda12], mlx[cuda13] o mlx[cpu]; un Python no nativo (Rosetta) es el error de instalación documentado.
Integraciones
Hugging Face Hub para cargar, convertir, cuantizar y subir; carga de safetensors y GGUF; mx.distributed para inferencia y fine-tuning en varias máquinas; bindings de Swift para apps; varias apps de chat para Mac lo usan como backend.
Datos y privacidad
Se ejecuta en local; el README no describe telemetría y una búsqueda de código de GitHub en el repositorio no encuentra ninguna, y el acceso a la red es para descargas del Hub. Licencia MIT, así que el uso comercial no tiene restricciones, aunque siguen aplicándose las licencias de los modelos. CVE-2025-62608 y CVE-2025-62609, ambos de gravedad baja, afectaban a los cargadores de pesos.
Coste a escala
El software es gratuito; la factura es el hardware de Apple, y es el tamaño de la RAM, no la clase de GPU, lo que decide qué modelos caben. Ir más allá de un Mac significa mx.distributed entre varias máquinas, y una incidencia abierta informa de fallos por falta de memoria cuando esas máquinas tienen cantidades distintas de RAM.
Límites
La versión para CUDA necesita SM 7.5+ y glibc 2.35+; AMD es experimental. Los modelos cercanos al tamaño de la RAM van lentos sin subir iogpu.wired_limit_mb. Entre las incidencias abiertas están el watchdog de Metal que detiene ejecuciones de LoRA y un kernel panic en prefills muy largos.

Lo bueno

  • La GPU puede usar toda la memoria unificada del Mac
  • API de Python al estilo de NumPy más C++, C y Swift
  • LoRA y QLoRA con mlx-lm, unos 250 tok/s en un M1 Max según la documentación
  • Unos 5.800 modelos convertidos en mlx-community

Lo malo

  • La versión para CUDA carece del ecosistema que rodea a PyTorch
  • Es una biblioteca, no una app: escribes Python o usas un front end
  • Los modelos grandes necesitan macOS 15 y un ajuste de sysctl
  • Fallos abiertos de watchdog de Metal y kernel panic en trabajos largos

Ideal para

Desarrolladores e investigadores que trabajan en Mac y quieren velocidad nativa y control desde Python en Apple silicon.

Alternativas a MLX

MLX: preguntas frecuentes

¿Merece la pena MLX?
MLX convierte un Mac con mucha memoria en una máquina creíble para inferencia local y ajuste con LoRA; fuera de Apple silicon es un port, no un motivo para cambiar. Le damos un 4.4 sobre 5.
¿Cuánto cuesta MLX?
Gratuito y de código abierto bajo licencia MIT.
¿Qué inconvenientes tiene MLX?
La versión para CUDA carece del ecosistema que rodea a PyTorch; es una biblioteca, no una app: escribes Python o usas un front end; los modelos grandes necesitan macOS 15 y un ajuste de sysctl; fallos abiertos de watchdog de Metal y kernel panic en trabajos largos.
¿Para quién es MLX?
Desarrolladores e investigadores que trabajan en Mac y quieren velocidad nativa y control desde Python en Apple silicon.
¿Cuánto cuesta MLX para un equipo o en producción?
El software es gratuito; la factura es el hardware de Apple, y es el tamaño de la RAM, no la clase de GPU, lo que decide qué modelos caben. Ir más allá de un Mac significa mx.distributed entre varias máquinas, y una incidencia abierta informa de fallos por falta de memoria cuando esas máquinas tienen cantidades distintas de RAM.
¿Es MLX seguro para los datos de la empresa?
Se ejecuta en local; el README no describe telemetría y una búsqueda de código de GitHub en el repositorio no encuentra ninguna, y el acceso a la red es para descargas del Hub. Licencia MIT, así que el uso comercial no tiene restricciones, aunque siguen aplicándose las licencias de los modelos. CVE-2025-62608 y CVE-2025-62609, ambos de gravedad baja, afectaban a los cargadores de pesos.
¿Cuáles son las mejores alternativas a MLX?
Las alternativas más cercanas que hemos analizado son llama.cpp y Ollama.

Respuestas comprobadas el 26 oct 2026.