Points clés
- mlxcel (github.com/lablup/mlxcel) est une CLI et un serveur d'inférence gratuits et open source, installables via Homebrew ou une compilation depuis les sources
- Développé par Lablup, l'entreprise derrière la plateforme d'infrastructure IA Backend.AI
- Sous licence Apache 2.0, confirmé via le fichier LICENSE du dépôt GitHub
- Exécution entièrement native : Rust plus bindings MLX C++, aucun interpréteur Python dans le chemin de la requête, aucune étape de conversion de checkpoint pour les poids MLX SafeTensors
- Expose des routes compatibles OpenAI, Anthropic et Vertex AI, ainsi qu'une surface de routes et de flags compatible
llama-server, documentée et liée à une version précise - Cible principale : Apple Silicon (Metal) ; NVIDIA CUDA sous Linux est une cible secondaire ; AMD ROCm sous Linux est expérimental et disponible uniquement via compilation depuis les sources
- Gère la génération de texte, les entrées vision-langage, les embeddings, le reranking et l'audio (transcription et synthèse vocale) depuis un seul runtime
- Plus de 467 étoiles GitHub au moment de ce test
📍 En une phrase
mlxcel est une CLI et un serveur d'inférence gratuits, open source (Apache 2.0) et natifs en Rust pour LLM, modèles vision-langage, embeddings, rerankers et audio, développés par Lablup pour Apple Silicon et NVIDIA CUDA, avec un support expérimental d'AMD ROCm.
💬 En termes simples
mlxcel est un outil en ligne de commande et un serveur, écrit en Rust plutôt qu'en Python, qui charge les modèles d'IA directement depuis leurs fichiers téléchargés et les exécute sur un Mac ou une machine Linux équipée d'un GPU CUDA — sans environnement Python séparé à configurer, ni étape de conversion avant qu'un modèle ne se charge. Il utilise le même format de requête que les API d'OpenAI et d'Anthropic, ce qui permet à du code client existant de le cibler directement.
📌Remarque: Ce test s'appuie sur le dépôt GitHub de mlxcel, son README et sa documentation liée. Il ne reprend pas les comparaisons de performance publiées par mlxcel lui-même face à mlx-lm et mlx-vlm comme des faits vérifiés indépendamment — ces chiffres proviennent de la méthodologie de benchmark propre au projet et doivent être considérés comme rapportés par l'éditeur, non testés par PromptQuorum. Ce test est le complément approfondi de la fiche de mlxcel dans le Local LLM Software Directory.
Qu'est-ce que mlxcel ?
mlxcel est un runtime d'inférence natif — à la fois un outil en ligne de commande et un serveur — pour exécuter des modèles d'IA en local sans interpréteur Python dans le chemin de la requête. Son propre README GitHub le décrit comme fournissant « une inférence LLM, VLM, embedding, reranking et audio hautement performante pour les systèmes Apple Silicon et NVIDIA CUDA », exécutée via des « bindings MLX C++ natifs ».
- Type de produit : une CLI native en Rust (
mlxcel) et un serveur (mlxcel-server), distribués sous forme de binaires compilés via Homebrew ou compilés depuis les sources — pas un paquet Python, pas une application de bureau graphique - Créateur : Lablup Inc., une entreprise également connue pour Backend.AI, une plateforme open source d'infrastructure IA et de MLOps
- Dépôt : github.com/lablup/mlxcel, le projet d'origine — plusieurs forks du nom existent sous d'autres identifiants GitHub, qui listent ce dépôt comme parent
- Licence : Apache 2.0, confirmée via le fichier LICENSE du dépôt
- Produit complémentaire : Backend.AI Go, décrit dans le propre README de mlxcel comme une interface graphique complémentaire optionnelle pour le chat local et la gestion de modèles, pouvant s'installer au-dessus de
mlxcel-server
Historique du projet
Le README de mlxcel documente son historique de versions via le CHANGELOG et décrit la branche main actuelle comme la v0.7.0 plus des travaux non publiés. Le projet a traversé une série de versions taguées, ajoutant progressivement des cibles de plateforme et des fonctionnalités de serving, selon son propre changelog et README.
- 1Premières versions (jusqu'à v0.0.28) — inférence Apple Silicon en priorité
Why it matters: Le README du projet fait référence à une campagne de benchmark antérieure (datée de mai 2026 dans le texte même du README) menée sur mlxcel 0.0.28, indiquant que le projet disposait déjà d'un benchmarking fonctionnel du décodage de texte et du prefill dans ses premières versions publiées. - 2v0.6.0 — Décodage spéculatif avec une politique d'exactitude
Why it matters: Selon le README, cette version a introduit une politique qui vérifie l'exactitude gloutonne avant d'activer des chemins de décodage spéculatif plus rapides, plutôt que d'utiliser toujours le noyau le plus rapide disponible sans égard à la correction du résultat. - 3v0.7.0 — Base de la version actuelle
Why it matters: Le README décrit cette version comme la dernière version taguée au moment de ce test, avec la prise en charge de l'architecture DeepSeek-V4, une compatibilité étendue des routes llama-server, et des corrections de dtype qui ont amélioré la performance en demi-précision sur plusieurs familles de modèles. - 4Branche
mainnon publiée — support AMD ROCm expérimental
Why it matters: Au moment de ce test, le support des GPU AMD via `--features rocm` est présent sur la branche `main` mais ne fait pas encore partie d'une version taguée, selon la section « Current main highlights » du README.
Que peut-on faire avec mlxcel ?
L'ensemble des fonctionnalités de mlxcel se concentre sur l'exécution native d'un large éventail de types de modèles, avec des contrôles de serving orientés production. Voici ce que fait réellement chaque partie, selon le propre README du projet.
- Chargement direct de checkpoints — charge directement les checkpoints MLX SafeTensors depuis Hugging Face, y compris l'organisation
mlx-community, de nombreux checkpoints d'embedding SafeTensors standards se chargeant également sans étape de conversion - Compatibilité API multi-format — expose des routes compatibles OpenAI (Chat Completions, Completions, Responses, Embeddings, Reranking, Audio), Anthropic Messages et Vertex AI, ainsi qu'une surface de routes et de flags native compatible
llama-server, documentée et liée à une version amont précise - Large couverture d'architectures — transformeurs denses, modèles Mixture-of-Experts épars, modèles hybrides à espace d'état, modèles vision-langage/OCR, embeddings, rerankers, speech-to-text et text-to-speech, interrogeables via la commande
mlxcel arch - Routage multi-modèles — le mode routeur découvre les checkpoints depuis un stockage de modèles ou un répertoire, les charge à la demande et limite l'ensemble résident par éviction du moins récemment utilisé
- Adaptateurs LoRA en direct — plusieurs adaptateurs LoRA peuvent rester non fusionnés pour basculer par requête, ou être fusionnés pour un surcoût de décodage nul, selon le README
- Décodage spéculatif — décodage spéculatif mesuré et vérifié pour son exactitude, pour plusieurs familles de modèles (dont les chemins MTP Gemma, Qwen et GLM-4.7-Flash), exposé via un point de terminaison
/v1/internal/mtp-policy - Contrôles opérationnels — configuration de clé API et CORS/TLS, mise en veille/réveil des modèles inactifs, grammaires GBNF, contrôles de sampling étendus, observabilité des prompts et du cache
- Modification reproductible de modèles — modifications de poids au chargement définies en YAML (
scale,add,prune,replace,interpolate) via un flag--surgery, pour une modification reproductible des checkpoints sans édition manuelle des poids
Exemples d'utilisation : trois façons d'utiliser mlxcel
Voici des workflows concrets construits à partir des fonctionnalités documentées ci-dessus de mlxcel, avec des commandes issues du propre README du projet.
Installer mlxcel
mlxcel s'installe gratuitement via Homebrew sous macOS et Linux, et son code source est disponible sur GitHub pour une compilation depuis les sources. En tant qu'outil CLI et serveur destiné aux développeurs, il n'existe pas d'installateur graphique.
Source | Link |
|---|---|
| Dépôt GitHub (code source, Apache 2.0) | github.com/lablup/mlxcel |
| Installation Homebrew | brew tap lablup/tap && brew install mlxcel |
| Compilation depuis les sources (Apple Silicon) | cargo build --release --features metal,accelerate |
| Compilation depuis les sources (NVIDIA CUDA) | cargo build --release --features cuda |
| Documentation | docs/installation.md |
La formule Homebrew installe la dernière version taguée. La compilation depuis les sources est nécessaire pour les toutes dernières fonctionnalités non publiées (comme le support AMD ROCm expérimental) ainsi que pour les cibles CUDA ou ROCm, selon le README du projet. Les compilations Apple Silicon depuis les sources nécessitent Rust, les Xcode Command Line Tools, CMake et le composant de toolchain Metal.
Tarifs de mlxcel : mlxcel est-il vraiment gratuit ?
Oui — mlxcel n'a aucune offre payante. Il est distribué comme un projet open source gratuit, sous licence Apache 2.0, sans compte, clé de licence ni plafond d'utilisation. Le dépôt GitHub n'a pas de page de tarification.
- Aucun coût pour installer ou exécuter mlxcel lui-même — la formule Homebrew et la compilation depuis les sources sont toutes deux gratuites
- La licence Apache 2.0 autorise l'usage commercial, la modification et la redistribution, sous réserve des conditions standard de la licence (attribution et conservation de l'avis de licence)
- Le seul coût réel est le matériel nécessaire pour l'exécuter (un Mac Apple Silicon ou un GPU équipé CUDA) et l'espace disque pour les modèles téléchargés séparément
- Lablup, l'entreprise derrière mlxcel, vend également Backend.AI comme produit commercial d'infrastructure IA, mais ce test n'a trouvé aucune preuve qu'une fonctionnalité de mlxcel soit conditionnée à un achat de Backend.AI — l'application complémentaire optionnelle Backend.AI Go est décrite dans le README de mlxcel comme une interface graphique séparée et optionnelle, non comme un prérequis
mlxcel vs. llama.cpp
mlxcel et llama.cpp sont tous deux des runtimes d'inférence natifs (non-Python), mais diffèrent par le langage, la plateforme cible principale et le format de checkpoint. llama.cpp est un projet C/C++ prenant en charge le plus large éventail de matériels et de modèles quantifiés au format GGUF ; mlxcel est un projet Rust axé sur les checkpoints MLX SafeTensors, avec Apple Silicon comme cible principale et une compatibilité documentée avec les routes llama-server pour un remplacement plus simple.
Langage
- mlxcel:
- Rust
- llama.cpp:
- C/C++
Format de checkpoint principal
- mlxcel:
- MLX SafeTensors
- llama.cpp:
- GGUF
Plateforme principale
- mlxcel:
- Apple Silicon (Metal), CUDA secondaire
- llama.cpp:
- Support matériel le plus large : CPU, CUDA, Metal, Vulkan et plus
Mainteneur
- mlxcel:
- Lablup (entreprise Backend.AI)
- llama.cpp:
- Maintenu par la communauté, initié par Georgi Gerganov
Compatibilité API
- mlxcel:
- OpenAI, Anthropic, Vertex, plus routes compatibles llama-server
- llama.cpp:
- Son propre
llama-serverest l'implémentation de référence avec laquelle mlxcel vise la compatibilité
Il s'agit d'une comparaison factuelle des fonctionnalités basée sur la documentation propre de chaque projet, pas d'un benchmark réalisé par PromptQuorum sur l'un ou l'autre outil. mlxcel vise explicitement la compatibilité avec la surface de routes llama-server de llama.cpp, selon son propre manifeste de compatibilité b10621 documenté, plutôt que de se positionner comme une alternative indépendante.
À qui s'adresse mlxcel ?
mlxcel convient aux développeurs qui souhaitent un runtime d'inférence natif, orienté production, sans dépendance Python dans le chemin de serving.
Erreurs courantes lors de l'évaluation de mlxcel
La plupart des confusions autour de mlxcel viennent de l'hypothèse que son support de plateforme ou son format de checkpoint sont plus larges que ce qui est documenté.
Concurrents et alternatives
mlxcel se situe dans le même segment de serveurs d'inférence Apple Silicon et runtime natif que vllm-mlx, oMLX et Rapid-MLX — des projets indépendants qui exécutent des modèles locaux avec une surface API compatible OpenAI ou similaire, différant principalement par le langage (Rust vs. Python), l'étendue de plateforme et l'accent mis sur les fonctionnalités.
Tool | Réputé pour | Link |
|---|---|---|
| vllm-mlx | Batching continu façon vLLM pour Apple Silicon, basé sur Python | vllm-mlx Review |
| oMLX | Serveur d'inférence Apple Silicon avec cache de prompts sur SSD | oMLX Review |
| Rapid-MLX | Serveur d'inférence MLX natif axé sur la vitesse de serving | Rapid-MLX Review |
| LoRAX | Servir des milliers d'adaptateurs LoRA depuis un modèle de base sur un GPU | LoRAX Review |
Cette liste reflète des outils couramment comparés dans l'espace des moteurs d'inférence Apple Silicon et natifs, pas un classement indépendant de PromptQuorum — vérifier l'ensemble de fonctionnalités actuel de chaque outil avant de faire un choix.
Questions fréquemment posées
Qu'est-ce que mlxcel ?
mlxcel (github.com/lablup/mlxcel) est une CLI et un serveur d'inférence gratuits, open source (Apache 2.0) et natifs en Rust pour LLM, modèles vision-langage, embeddings, rerankers et audio, développés par Lablup.
Qui développe mlxcel ?
Lablup Inc., l'entreprise également connue pour la plateforme d'infrastructure IA et de MLOps Backend.AI.
mlxcel est-il gratuit ?
Oui. Il s'installe gratuitement via Homebrew ou une compilation depuis les sources, est sous licence Apache 2.0, et n'a ni offre payante, ni compte, ni plafond d'utilisation.
Comment installer mlxcel ?
Exécuter brew tap lablup/tap && brew install mlxcel sous macOS ou Linux, ou compiler depuis les sources avec Cargo en utilisant le flag de fonctionnalité approprié (metal, cuda, ou le rocm expérimental), selon le README du projet.
Quel matériel mlxcel prend-il en charge ?
Apple Silicon (Metal) est la cible principale. NVIDIA CUDA sous Linux est une cible secondaire prise en charge. AMD ROCm sous Linux est expérimental et disponible uniquement via compilation depuis les sources. Une compilation Linux CPU uniquement fonctionne mais n'est pas une cible de version validée.
mlxcel nécessite-t-il Python ?
Non. mlxcel est écrit en Rust et exécute les checkpoints MLX via des bindings MLX C++ natifs, sans interpréteur Python dans le chemin de la requête.
Quel format de checkpoint mlxcel utilise-t-il ?
Les checkpoints MLX SafeTensors, y compris ceux publiés sous l'organisation Hugging Face mlx-community — pas le format GGUF utilisé par llama.cpp.
mlxcel est-il compatible avec l'API de llama.cpp ?
Oui, partiellement et par conception : mlxcel documente un manifeste de compatibilité figé et lié à une version pour les routes et flags llama-server, aux côtés de ses propres points de terminaison compatibles OpenAI, Anthropic et Vertex.
mlxcel prend-il en charge les modèles audio et vision ?
Oui. Il gère les entrées vision-langage, la transcription speech-to-text et la synthèse text-to-speech (via des modèles de la famille Kokoro), en plus de la génération de texte, des embeddings et du reranking.
PromptQuorum a-t-il testé indépendamment les affirmations de benchmark de mlxcel ?
Non. Ce test s'appuie sur le propre dépôt GitHub et README de mlxcel, plutôt que sur un benchmarking pratique réalisé par PromptQuorum. Les comparaisons de performance dans le README du projet sont auto-mesurées.