MLX — le framework de machine learning d’Apple pour Apple Silicon
MLX est le framework de machine learning open source d’Apple, conçu spécifiquement pour l’architecture à mémoire unifiée d’Apple Silicon. MLX-LM vous offre l’inférence LLM la plus rapide disponible sur les Mac de la série M.
Why MLX
MLX est la réponse d’Apple à PyTorch et JAX, construite à partir de zéro pour Apple Silicon. Là où d’autres frameworks considèrent les GPU Apple comme des cibles secondaires, MLX est conçu autour de la mémoire unifiée — le CPU et le GPU partagent la même mémoire physique, sans surcoût de copie entre eux. Pour l’inférence, c’est un vrai gain de performance.
Conséquence pratique : sur M3 Max ou M4 Pro, MLX-LM fait tourner Llama 3.3 70B à 25-35 tokens/sec là où llama.cpp Metal plafonne autour de 20-25 tokens/sec sur le même matériel. Pour les utilisateurs avec un Apple Silicon sérieux (en particulier M3/M4 Max ou Ultra avec 64 Go+ de mémoire unifiée), MLX fait la différence entre « utilisable » et « agréable » pour l’inférence locale de gros modèles.
Le coût : l’écosystème est plus petit que celui de llama.cpp. Moins de modèles pré-quantifiés, moins d’intégrations, et limité à Apple. L’organisation HuggingFace mlx-community publie la plupart des modèles populaires au format MLX ; si un modèle que vous voulez n’y est pas, vous pouvez convertir en une commande. Pour les équipes 100 % Apple qui tiennent à la vitesse, MLX vaut le compromis d’écosystème.
Quick Start — MLX-LM Chat and Server
mlx_lm.server expose des endpoints chat/completions/embeddings compatibles OpenAI. mlx_lm.convert récupère n’importe quel modèle HF et écrit une version MLX (quantifiée si vous le souhaitez). L’organisation mlx-community publie déjà les modèles populaires pré-convertis — commencez par là.
# 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 quantizeFonctionnalités clés
Mémoire unifiée native
Les tenseurs vivent dans une mémoire partagée entre CPU et GPU. Aucune copie entre hôte et device. Réduit l’utilisation mémoire et la latence pour l’inférence.
Évaluation paresseuse + JIT
Les opérations sont paresseuses ; MLX construit un graphe et compile au moment de l’évaluation. Permet au framework de fusionner les ops pour de meilleures performances sans optimisation manuelle.
API façon PyTorch
mlx.core et mlx.nn reflètent étroitement les APIs tensor et module de PyTorch. Porter un modèle PyTorch se résume généralement à quelques opérations find/replace.
Package MLX-LM
Bibliothèque dédiée à l’inférence LLM, l’entraînement, le fine-tuning (LoRA/QLoRA) et un serveur compatible OpenAI. Couvre les workflows courants de bout en bout sur Apple Silicon.
Support de la quantification
Quantification 4-bit et 8-bit avec perte de qualité minimale. mlx_lm.convert -q gère automatiquement la conversion de safetensors vers le format MLX quantifié.
Modèles multimodaux
La bibliothèque MLX-VLM étend MLX-LM aux modèles vision-langage (LLaVA, Qwen-VL, Gemma vision). Même ergonomie, mêmes performances Apple Silicon.
Comparaison
| Hardware | Peak Speed | Ecosystem | Best For | |
|---|---|---|---|---|
| MLXcelui-ci | 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 |
Cas d'usage
01. Inférence Mac à performance maximale
Les utilisateurs M3 Max / M4 Max / M Ultra qui font tourner localement des modèles 30-70B. MLX obtient 20-40 % de tokens/sec en plus que llama.cpp sur le même matériel — perceptible en usage interactif.
02. Fine-tuning LoRA sur MacBook
mlx-lm.lora vous permet de fine-tuner de petits LoRA sur des Mac 32 Go+. Moins rapide qu’un rig GPU dédié, mais accessible — pas de facture cloud, pas de machine Linux.
03. Recherche AI Apple-first
Les chercheurs qui vivent sur Mac et veulent un framework natif à faible overhead. L’API façon PyTorch de MLX facilite la transition.
Tarification et licence
MLX / MLX-LM : open source sous licence MIT, maintenu par l’équipe ML d’Apple. Gratuit.
Matériel : utile uniquement sur Apple Silicon (M1, M2, M3, M4). Plus il y a de mémoire unifiée, plus les modèles que vous pouvez faire tourner sont gros — un MacBook 64 Go gère confortablement des quants 70B 4-bit.
Écosystème : plus petit que celui de llama.cpp. Modèles publiés via mlx-community sur HuggingFace ; convertissez vos propres poids PyTorch avec mlx_lm.convert.
Assets associés sur TokRepo
Questions fréquentes
MLX vs llama.cpp sur Mac ?+
MLX est généralement 20-40 % plus rapide sur Apple Silicon pour le même modèle, surtout les gros. llama.cpp a un écosystème plus large et la portabilité multi-plateforme. Si vous vivez sur Mac et tenez à la vitesse, MLX gagne ; s’il vous faut le même outillage sur Mac/Linux/Windows, llama.cpp gagne.
MLX fonctionne-t-il sur les Mac Intel ?+
Non — Apple Silicon uniquement (M1 et plus récent). Pour Mac Intel, utilisez llama.cpp avec les backends Metal ou CPU.
Puis-je utiliser des modèles MLX avec Ollama ou LM Studio ?+
LM Studio a un support MLX expérimental (v0.3+). Ollama ne livre pas MLX nativement en 2026 — il reste basé sur llama.cpp. Pour exposer MLX via une API compatible Ollama, lancez mlx_lm.server et pointez vos clients dessus directement.
Comment MLX se compare-t-il à Core ML d’Apple ?+
Core ML est le runtime d’inférence ML de production d’Apple (livré avec les apps iOS/macOS). MLX est plus expérimental et orienté chercheurs — façon PyTorch, flexible, avec un support d’entraînement complet. Pour déployer un LLM dans une app Mac de production, Core ML + Apple Intelligence est plus classique ; pour l’inférence interactive et le fine-tuning, MLX est l’outil.
MLX est-il prêt pour la production ?+
Pour l’inférence : oui, largement utilisé. Pour l’entraînement/fine-tuning : utilisable mais moins mature que PyTorch. L’API est stable ; attendez-vous à une itération plus rapide que PyTorch puisque Apple contrôle la roadmap et livre fréquemment.
Où trouver des modèles MLX ?+
huggingface.co/mlx-community — conversions MLX maintenues par la communauté des LLM ouverts populaires. La plupart des modèles majeurs (Llama 3.x, Qwen 2.5, Mistral, Gemma, DeepSeek, Phi) ont des versions MLX dans les jours qui suivent leur sortie.