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

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 quantize

Fonctionnalité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

 HardwarePeak SpeedEcosystemBest For
MLXcelui-ciApple 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

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.

Comparer les alternatives