Skip to main content
PromptQuorum
Inicio/LLM locales avanzados/mlxcel: análisis del runtime de inferencia MLX nativo en Rust
Overview & Reference

mlxcel: análisis del runtime de inferencia MLX nativo en Rust

·11 min de lectura·Por Hans Kuepper · Fundador de PromptQuorum, herramienta de despacho multi-modelo · PromptQuorum

mlxcel es una CLI y un servidor de inferencia gratuitos, de código abierto (Apache 2.0) y nativos en Rust que ejecutan LLM, modelos de visión y lenguaje, embeddings, rerankers y modelos de audio en Apple Silicon y NVIDIA CUDA, con soporte experimental de AMD ROCm en Linux. Desarrollado por Lablup —la empresa también conocida por su plataforma de infraestructura de IA Backend.AI— carga los checkpoints de MLX SafeTensors directamente mediante bindings nativos de MLX en C++, sin un intérprete de Python en la ruta de la solicitud, y se instala vía Homebrew o compilando desde el código fuente.

mlxcel (github.com/lablup/mlxcel) es una CLI y un servidor de inferencia gratuitos, de código abierto y nativos en Rust para modelos de lenguaje de gran tamaño, modelos de visión y lenguaje, embeddings, reranking y audio, desarrollados por Lablup, la empresa detrás de Backend.AI. Ejecuta los checkpoints de MLX SafeTensors directamente mediante bindings nativos de MLX en C++, sin un intérprete de Python en la ruta de la solicitud y sin un paso de conversión de checkpoint independiente. Este análisis cubre lo que realmente hace, cómo instalarlo y para quién es adecuado.

Conclusiones clave

  • mlxcel (github.com/lablup/mlxcel) es una CLI y un servidor de inferencia gratuitos y de código abierto, instalables vía Homebrew o compilando desde el código fuente
  • Desarrollado por Lablup, la empresa detrás de la plataforma de infraestructura de IA Backend.AI
  • Con licencia Apache 2.0, confirmada mediante el archivo LICENSE del repositorio de GitHub
  • Ejecución totalmente nativa: Rust más bindings de MLX en C++, sin intérprete de Python en la ruta de la solicitud, sin paso de conversión de checkpoint para los pesos de MLX SafeTensors
  • Ofrece rutas compatibles con OpenAI, Anthropic y Vertex AI, además de una superficie de rutas y flags documentada y fijada a una versión, compatible con llama-server
  • El objetivo principal es Apple Silicon (Metal); NVIDIA CUDA en Linux es un objetivo secundario; AMD ROCm en Linux es experimental y solo está disponible compilando desde el código fuente
  • Gestiona generación de texto, entrada de visión y lenguaje, embeddings, reranking y audio (transcripción y síntesis de voz) desde un solo runtime
  • Más de 467 estrellas en GitHub al momento de este análisis

📍 En una frase

mlxcel es una CLI y un servidor de inferencia gratuitos, de código abierto (Apache 2.0) y nativos en Rust para LLM, modelos de visión y lenguaje, embeddings, rerankers y audio, desarrollados por Lablup para Apple Silicon y NVIDIA CUDA, con soporte experimental de AMD ROCm.

💬 En términos simples

mlxcel es una herramienta de línea de comandos y un servidor, escritos en Rust en lugar de Python, que cargan modelos de IA directamente desde los archivos descargados y los ejecutan en tu Mac o en una máquina Linux con GPU CUDA —sin necesidad de configurar un entorno de Python aparte ni de un paso de conversión antes de que un modelo se cargue. Habla el mismo formato de solicitud que las API de OpenAI y Anthropic, así que el código de cliente existente puede apuntar a él directamente.

📌Nota: Este análisis se basa en el repositorio de GitHub de mlxcel, su README y su documentación enlazada. No trata las comparaciones de rendimiento publicadas por el propio mlxcel frente a mlx-lm y mlx-vlm como hechos verificados de forma independiente —esas cifras provienen de la metodología de benchmark del propio proyecto y deben considerarse reportadas por el proveedor, no probadas por PromptQuorum. Este análisis es el complemento en profundidad de la entrada de mlxcel en el Local LLM Software Directory.

¿Qué es mlxcel?

mlxcel es un runtime de inferencia nativo —tanto una herramienta de línea de comandos como un servidor— para ejecutar modelos de IA en local sin un intérprete de Python en la ruta de la solicitud. Su propio README de GitHub lo describe como una herramienta que ofrece «inferencia de alto rendimiento de LLM, VLM, embeddings, reranking y audio para sistemas Apple Silicon y NVIDIA CUDA», ejecutada mediante «bindings nativos de MLX en C++».

  • Tipo de producto: una CLI nativa en Rust (mlxcel) y un servidor (mlxcel-server), distribuidos como binarios compilados vía Homebrew o compilados desde el código fuente —no es un paquete de Python ni una aplicación de escritorio gráfica
  • Creador: Lablup Inc., una empresa también conocida por Backend.AI, una plataforma de código abierto de infraestructura de IA y MLOps
  • Repositorio: github.com/lablup/mlxcel, el proyecto original —existen varios forks del nombre bajo otros nombres de usuario de GitHub, que listan este repositorio como su origen
  • Licencia: Apache 2.0, confirmada mediante el archivo LICENSE del repositorio
  • Producto complementario: Backend.AI Go, descrito en el propio README de mlxcel como una interfaz gráfica complementaria opcional para chat local y gestión de modelos que puede funcionar sobre mlxcel-server

Historia del proyecto

El README de mlxcel documenta su historial de versiones a través del CHANGELOG y describe la rama main actual como v0.7.0 más trabajo aún no publicado. El proyecto ha pasado por una serie de versiones etiquetadas, añadiendo objetivos de plataforma y funciones de servicio a lo largo del camino, según su propio changelog y README.

  1. 1
    Primeras versiones (hasta v0.0.28) — inferencia con prioridad en Apple Silicon
    Why it matters: El README del proyecto hace referencia a una campaña de benchmark anterior (fechada en mayo de 2026 en el propio texto del README) realizada en mlxcel 0.0.28, lo que indica que el proyecto ya contaba con benchmarking funcional de decodificación de texto y prefill en sus primeras versiones publicadas.
  2. 2
    v0.6.0 — Decodificación especulativa con una política de exactitud
    Why it matters: Según el README, esta versión introdujo una política que comprueba la exactitud greedy antes de habilitar rutas de decodificación especulativa más rápidas, en lugar de usar siempre el kernel más rápido disponible sin importar la corrección de la salida.
  3. 3
    v0.7.0 — Base de la versión actual
    Why it matters: El README describe esta como la última versión etiquetada al momento de este análisis, con soporte para la arquitectura DeepSeek-V4, compatibilidad ampliada de rutas de llama-server, y correcciones de dtype que mejoraron el rendimiento en media precisión en varias familias de modelos.
  4. 4
    Rama main no publicada — soporte experimental de AMD ROCm
    Why it matters: Al momento de este análisis, el soporte de GPU AMD vía `--features rocm` está presente en la rama `main`, pero aún no forma parte de una versión etiquetada, según la propia sección «Current main highlights» del README.

¿Qué se puede hacer con mlxcel?

El conjunto de funciones de mlxcel se centra en ejecutar de forma nativa una amplia gama de tipos de modelos, con controles de servicio orientados a producción. Esto es lo que hace realmente cada parte, según el propio README del proyecto.

  • Carga directa de checkpoints — carga checkpoints de MLX SafeTensors directamente desde Hugging Face, incluida la organización mlx-community, y muchos checkpoints de embeddings en SafeTensors estándar también se cargan sin un paso de conversión
  • Compatibilidad de API multiformato — ofrece rutas compatibles con OpenAI (Chat Completions, Completions, Responses, Embeddings, Reranking, Audio), Anthropic Messages y Vertex AI, junto con una superficie de rutas y flags nativa, documentada y compatible con llama-server, fijada a una versión concreta del proyecto original
  • Amplia cobertura de arquitecturas — transformers densos, modelos Mixture-of-Experts dispersos, modelos híbridos de espacio de estados, modelos de visión y lenguaje/OCR, embeddings, rerankers, speech-to-text y text-to-speech, consultables mediante el comando mlxcel arch
  • Enrutamiento multi-modelo — el modo router descubre checkpoints desde un almacén de modelos o directorio, los carga bajo demanda y limita el conjunto residente mediante desalojo por uso menos reciente
  • Adaptadores LoRA en vivo — según el README, varios adaptadores LoRA pueden permanecer sin fusionar para cambiar por solicitud, o fusionarse para un sobrecoste de decodificación nulo
  • Decodificación especulativa — decodificación especulativa medida y verificada en exactitud para varias familias de modelos (incluidas las rutas MTP de Gemma, Qwen y GLM-4.7-Flash), expuesta en un endpoint /v1/internal/mtp-policy
  • Controles operativos — configuración de claves API y CORS/TLS, suspensión/reactivación de modelos inactivos, gramáticas GBNF, controles de sampling ampliados, y observabilidad de prompts y caché
  • Modificación reproducible de modelos — ediciones de pesos en tiempo de carga definidas en YAML (scale, add, prune, replace, interpolate) mediante un flag --surgery, para modificar checkpoints de forma reproducible sin editar los pesos a mano

Ejemplos de uso: tres formas de usar mlxcel

Estos son flujos de trabajo concretos construidos a partir de las funciones documentadas de mlxcel anteriores, usando comandos del propio README del proyecto.

Precios de mlxcel: ¿es mlxcel realmente gratis?

Sí — mlxcel no tiene ningún plan de pago. Se distribuye como un proyecto de código abierto gratuito, con licencia Apache 2.0, sin cuenta, clave de licencia ni límite de uso. El repositorio de GitHub no tiene página de precios.

  • No hay coste por instalar o ejecutar mlxcel en sí — tanto la fórmula de Homebrew como la compilación desde el código fuente son gratuitas
  • La licencia Apache 2.0 permite el uso comercial, la modificación y la redistribución, sujeto a los términos estándar de la licencia (atribución y conservación del aviso de licencia)
  • El único coste real es el hardware necesario para ejecutarlo (un Mac con Apple Silicon o una GPU compatible con CUDA) y el espacio en disco para los modelos que descargues por separado
  • Lablup, la empresa detrás de mlxcel, también vende Backend.AI como producto comercial de infraestructura de IA, pero este análisis no encontró evidencia de que ninguna función de mlxcel esté restringida a una compra de Backend.AI — la aplicación complementaria opcional Backend.AI Go se describe en el README de mlxcel como una GUI separada y opcional, no como un requisito

mlxcel vs. llama.cpp

mlxcel y llama.cpp son ambos runtimes de inferencia nativos (no Python), pero difieren en el lenguaje, el enfoque de plataforma principal y el formato de checkpoint. llama.cpp es un proyecto en C/C++ que admite la gama más amplia de hardware y modelos cuantizados en formato GGUF; mlxcel es un proyecto en Rust centrado en checkpoints de MLX SafeTensors, con Apple Silicon como objetivo principal y compatibilidad documentada con las rutas de llama-server para facilitar la sustitución directa.

Lenguaje

mlxcel:
Rust
llama.cpp:
C/C++

Formato de checkpoint principal

mlxcel:
MLX SafeTensors
llama.cpp:
GGUF

Plataforma principal

mlxcel:
Apple Silicon (Metal), CUDA secundario
llama.cpp:
Soporte de hardware más amplio: CPU, CUDA, Metal, Vulkan y más

Mantenedor

mlxcel:
Lablup (empresa de Backend.AI)
llama.cpp:
Mantenido por la comunidad, creado originalmente por Georgi Gerganov

Compatibilidad de API

mlxcel:
OpenAI, Anthropic, Vertex, además de rutas compatibles con llama-server
llama.cpp:
Su propio llama-server es la implementación de referencia con la que mlxcel busca compatibilidad

Esta es una comparación factual de funciones basada en la documentación propia de cada proyecto, no un benchmark realizado por PromptQuorum de ninguna de las dos herramientas. mlxcel busca explícitamente la compatibilidad con la superficie de rutas llama-server de llama.cpp, según su propio manifiesto de compatibilidad b10621 documentado, en lugar de posicionarse como una alternativa independiente.

¿Quién debería usar mlxcel?

mlxcel es adecuado para desarrolladores que quieren un runtime de inferencia nativo y orientado a producción sin una dependencia de Python en la ruta de servicio.

Errores comunes al evaluar mlxcel

La mayor parte de la confusión sobre mlxcel proviene de asumir que su soporte de plataforma o su formato de checkpoint son más amplios de lo documentado.

Competidores y alternativas

mlxcel se sitúa en el mismo segmento de servidores de inferencia de Apple Silicon y runtime nativo que vllm-mlx, oMLX y Rapid-MLX —proyectos independientes que ejecutan modelos locales con una superficie de API compatible con OpenAI o similar, y que se diferencian principalmente en el lenguaje (Rust frente a Python), la amplitud de plataforma y el énfasis en funciones.

Herramienta
Conocida por
Enlace
vllm-mlxBatching continuo estilo vLLM para Apple Silicon, basado en Pythonvllm-mlx Review
oMLXServidor de inferencia para Apple Silicon con caché de prompts respaldada por SSDoMLX Review
Rapid-MLXServidor de inferencia MLX nativo centrado en la velocidad de servicioRapid-MLX Review
LoRAXServir miles de adaptadores LoRA desde un único modelo base en una GPULoRAX Review

Esta lista refleja herramientas comúnmente comparadas en el espacio de motores de inferencia nativos y de Apple Silicon, no una clasificación independiente de PromptQuorum — verifica el conjunto de funciones actual de cada herramienta antes de elegir.

Preguntas frecuentes

¿Qué es mlxcel?

mlxcel (github.com/lablup/mlxcel) es una CLI y un servidor de inferencia gratuitos, de código abierto (Apache 2.0) y nativos en Rust para LLM, modelos de visión y lenguaje, embeddings, rerankers y audio, desarrollados por Lablup.

¿Quién crea mlxcel?

Lablup Inc., la empresa también conocida por la plataforma de infraestructura de IA y MLOps Backend.AI.

¿mlxcel es gratis?

Sí. Se instala gratis vía Homebrew o compilando desde el código fuente, tiene licencia Apache 2.0, y no tiene ningún plan de pago, cuenta ni límite de uso.

¿Cómo instalo mlxcel?

Ejecuta brew tap lablup/tap && brew install mlxcel en macOS o Linux, o compílalo desde el código fuente con Cargo usando el flag de función adecuado (metal, cuda, o el rocm experimental), según el README del proyecto.

¿Qué hardware admite mlxcel?

Apple Silicon (Metal) es el objetivo principal. NVIDIA CUDA en Linux es un objetivo secundario compatible. AMD ROCm en Linux es experimental y solo está disponible compilando desde el código fuente. Una compilación simple solo para CPU en Linux funciona, pero no es un objetivo de versión validado.

¿mlxcel necesita Python?

No. mlxcel está escrito en Rust y ejecuta los checkpoints de MLX mediante bindings nativos de MLX en C++, sin intérprete de Python en la ruta de la solicitud.

¿Qué formato de checkpoint usa mlxcel?

Checkpoints de MLX SafeTensors, incluidos los publicados bajo la organización de Hugging Face mlx-community — no el formato GGUF que usa llama.cpp.

¿mlxcel es compatible con la API de llama.cpp?

Sí, parcialmente y de forma intencionada: mlxcel documenta un manifiesto de compatibilidad de rutas y flags de llama-server congelado y fijado a una versión, junto a sus propios endpoints compatibles con OpenAI, Anthropic y Vertex.

¿mlxcel admite modelos de audio y visión?

Sí. Gestiona entrada de visión y lenguaje, transcripción de voz a texto y síntesis de texto a voz (mediante modelos de la familia Kokoro), además de generación de texto, embeddings y reranking.

¿PromptQuorum ha probado de forma independiente las afirmaciones de benchmark de mlxcel?

No. Este análisis se basa en el propio repositorio de GitHub y README de mlxcel, en lugar de en benchmarking práctico realizado por PromptQuorum. Las comparaciones de rendimiento en el README del proyecto son medidas por el propio proyecto.

Fuentes

← Volver a LLM locales avanzados