MLX — el framework de machine learning de Apple para Apple Silicon
MLX es el framework de machine learning open source de Apple, diseñado específicamente para la arquitectura de memoria unificada de Apple Silicon. MLX-LM te da la inferencia de LLM más rápida disponible en los Mac de la serie M.
Why MLX
MLX es la respuesta de Apple a PyTorch y JAX, construida desde cero para Apple Silicon. Donde otros frameworks tratan las GPU de Apple como objetivos secundarios, MLX está diseñado en torno a la memoria unificada — la CPU y la GPU comparten la misma memoria física, así que no hay sobrecoste de copia entre ellas. Para inferencia eso es una ganancia real de rendimiento.
Consecuencia práctica: en M3 Max o M4 Pro, MLX-LM ejecuta Llama 3.3 70B a 25-35 tokens/seg donde llama.cpp Metal se queda en torno a 20-25 tokens/seg en el mismo hardware. Para usuarios con Apple Silicon serio (especialmente M3/M4 Max o Ultra con 64 GB+ de memoria unificada), MLX es la diferencia entre «usable» y «agradable» para inferencia local de modelos grandes.
El coste: el ecosistema es más pequeño que el de llama.cpp. Menos modelos pre-cuantizados, menos integraciones y solo en Apple. La organización HuggingFace mlx-community publica la mayoría de modelos populares en formato MLX; si el que quieres no está, puedes convertirlo con un solo comando. Para equipos 100 % Apple a los que les importa la velocidad, MLX merece el compromiso de ecosistema.
Quick Start — MLX-LM Chat and Server
mlx_lm.server expone endpoints chat/completions/embeddings compatibles con OpenAI. mlx_lm.convert descarga cualquier modelo HF y escribe una versión MLX (opcionalmente cuantizada). La organización mlx-community ya publica modelos populares preconvertidos — empieza por ahí.
# 1. Install MLX-LM (Python 3.9+, Apple Silicon only)
pip install mlx-lm
# 2. Run a chat completion from the CLI
# Models pulled from mlx-community HuggingFace org on first use.
mlx_lm.generate \
--model mlx-community/Llama-3.2-3B-Instruct-4bit \
--prompt "Name the three M-series chip families." \
--max-tokens 200
# 3. Start an OpenAI-compatible server
mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit \
--host 0.0.0.0 --port 8080
# 4. Call the server with any OpenAI SDK
python - <<'PY'
from openai import OpenAI
c = OpenAI(base_url="http://localhost:8080/v1", api_key="mlx")
r = c.chat.completions.create(
model="default",
messages=[{"role":"user","content":"What is unified memory?"}],
)
print(r.choices[0].message.content)
PY
# 5. Convert any HuggingFace model to MLX format with one command
mlx_lm.convert --hf-path Qwen/Qwen2.5-7B-Instruct -q # -q = 4-bit quantizeCaracterísticas clave
Memoria unificada nativa
Los tensores viven en memoria compartida entre CPU y GPU. Sin copias entre host y dispositivo. Reduce el uso de memoria y la latencia en inferencia.
Evaluación perezosa + JIT
Las operaciones son perezosas; MLX construye un grafo y compila en tiempo de evaluación. Permite al framework fusionar ops para un mejor rendimiento sin optimización manual.
API tipo PyTorch
mlx.core y mlx.nn reflejan de cerca las APIs tensor y module de PyTorch. Portar un modelo PyTorch suele reducirse a unas pocas operaciones de find/replace.
Paquete MLX-LM
Biblioteca dedicada a inferencia LLM, entrenamiento, fine-tuning (LoRA/QLoRA) y un servidor compatible con OpenAI. Cubre los flujos comunes de extremo a extremo en Apple Silicon.
Soporte de cuantización
Cuantización 4-bit y 8-bit con pérdida de calidad mínima. mlx_lm.convert -q gestiona automáticamente la conversión de safetensors al formato MLX cuantizado.
Modelos multimodales
La biblioteca MLX-VLM extiende MLX-LM a modelos visión-lenguaje (LLaVA, Qwen-VL, Gemma vision). Misma ergonomía, mismo rendimiento en Apple Silicon.
Comparación
| Hardware | Peak Speed | Ecosystem | Best For | |
|---|---|---|---|---|
| MLXesta | Apple Silicon only | Fastest on Apple Silicon | Small but active | Mac users, Apple-only teams |
| llama.cpp Metal | Apple Silicon + Intel Mac + CPU | Fast | Huge | Mac + cross-platform |
| Ollama | Cross-platform | Good (llama.cpp backend) | Very large | Developer ergonomics |
| PyTorch MPS | Apple Silicon | Medium | Huge (via PyTorch) | Research / training |
Casos de uso
01. Inferencia Mac de máximo rendimiento
Usuarios M3 Max / M4 Max / M Ultra que ejecutan localmente modelos 30-70B. MLX obtiene 20-40 % más tokens/seg que llama.cpp en el mismo hardware — perceptible en uso interactivo.
02. Fine-tuning LoRA en un MacBook
mlx-lm.lora te permite hacer fine-tuning de pequeños LoRA en Macs de 32 GB+. No tan rápido como un rig de GPU dedicado, pero accesible — sin factura de la nube, sin máquina Linux.
03. Investigación AI Apple-first
Investigadores que viven en Mac y quieren un framework nativo de bajo overhead. La API tipo PyTorch de MLX facilita la transición.
Precios y licencia
MLX / MLX-LM: open source con licencia MIT, mantenido por el equipo de ML de Apple. Gratis.
Hardware: útil solo en Apple Silicon (M1, M2, M3, M4). Cuanta más memoria unificada, mayores los modelos que puedes ejecutar — un MacBook de 64 GB maneja cómodamente cuants 70B 4-bit.
Ecosistema: más pequeño que el de llama.cpp. Los modelos se publican vía mlx-community en HuggingFace; convierte los tuyos desde pesos PyTorch con mlx_lm.convert.
Activos relacionados en TokRepo
Preguntas frecuentes
¿MLX vs llama.cpp en Mac?+
MLX suele ser 20-40 % más rápido en Apple Silicon para el mismo modelo, sobre todo los grandes. llama.cpp tiene un ecosistema más amplio y portabilidad multiplataforma. Si vives en Mac y te importa la velocidad, gana MLX; si necesitas el mismo tooling en Mac/Linux/Windows, gana llama.cpp.
¿MLX funciona en Macs Intel?+
No — solo Apple Silicon (M1 y más reciente). Para Mac Intel, usa llama.cpp con los backends Metal o CPU.
¿Puedo usar modelos MLX con Ollama o LM Studio?+
LM Studio tiene soporte experimental de MLX (v0.3+). Ollama no incluye MLX de forma nativa a partir de 2026 — sigue basado en llama.cpp. Para exponer MLX vía API compatible con Ollama, ejecuta mlx_lm.server y apunta los clientes directamente ahí.
¿Cómo se compara MLX con Core ML de Apple?+
Core ML es el runtime de inferencia ML de producción de Apple (incluido con apps iOS/macOS). MLX es más experimental y orientado a investigadores — tipo PyTorch, flexible, con soporte completo de entrenamiento. Para desplegar un LLM en una app Mac de producción, Core ML + Apple Intelligence es lo más típico; para inferencia interactiva y fine-tuning, MLX es la herramienta.
¿MLX está listo para producción?+
Para inferencia: sí, ampliamente usado. Para entrenamiento/fine-tuning: usable pero menos maduro que PyTorch. La API es estable; espera una iteración más rápida que PyTorch ya que Apple controla la hoja de ruta y entrega con frecuencia.
¿Dónde encuentro modelos MLX?+
huggingface.co/mlx-community — conversiones MLX mantenidas por la comunidad de los LLM abiertos populares. La mayoría de los modelos importantes (Llama 3.x, Qwen 2.5, Mistral, Gemma, DeepSeek, Phi) tienen versiones MLX en los días siguientes a su lanzamiento.