Local LLM
MLX — Apple’s Machine Learning Framework for Apple Silicon logo

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 quantize

Caracterí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

 HardwarePeak SpeedEcosystemBest For
MLXestaApple Silicon onlyFastest on Apple SiliconSmall but activeMac users, Apple-only teams
llama.cpp MetalApple Silicon + Intel Mac + CPUFastHugeMac + cross-platform
OllamaCross-platformGood (llama.cpp backend)Very largeDeveloper ergonomics
PyTorch MPSApple SiliconMediumHuge (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.

Comparar alternativas