MLX : LLM optimisés pour Apple Silicon (M1-M4)

Faire tourner un MLX Apple Silicon LLM sur un Mac récent, c'est tirer parti de la mémoire unifiée des puces M1 à M4 pour exécuter des modèles open-weights de 7 à 235 milliards de paramètres en local. Le framework MLX, publié par Apple Research fin 2023, exploite directement le Neural Engine et le GPU intégré via Metal, sans passer par CUDA. Ce guide détaille le fonctionnement de MLX, les modèles compatibles, les VRAM réalistes par quantification, les vitesses observées sur M3 Max et M4 Pro, les benchmarks de référence, ainsi que les cas d'usage les plus solides pour un déploiement self-hosted sur macOS.

Pourquoi MLX change la donne sur Mac

MLX est une bibliothèque d'array computing inspirée de NumPy et PyTorch, conçue spécifiquement pour la mémoire unifiée d'Apple Silicon. Contrairement à llama.cpp qui passe par Metal en backend optionnel, MLX traite la mémoire CPU et GPU comme un espace unique : aucune copie n'est nécessaire entre les deux. Le dépôt officiel ml-explore/mlx sur GitHub publie les sources sous licence MIT, et le projet associé mlx-examples fournit des implémentations prêtes à l'emploi pour Llama, Mistral, Phi et Qwen.

Points clés à retenir :

Pour comparer les approches Mac et Linux, voir llama.cpp et GGUF ainsi que notre comparatif MLX vs llama.cpp.

VRAM requise et quantifications supportées

MLX expose plusieurs niveaux de quantification. Voici les ordres de grandeur, en partant des chiffres FP16 puis en appliquant les ratios usuels (Q8 ≈ 50 %, Q4 ≈ 25 %, Q3 ≈ 20 %).

Modèles confortables sur un MacBook Pro M3 Max 128 Go ou M4 Max 128 Go :

Modèles plus larges réservés au Mac Studio M3 Ultra 192 Go ou 512 Go :

À très grande échelle, DeepSeek V3 671B (VRAM Q4 ~400 GB, ctx 128k) reste hors de portée même d'un Mac Studio 512 Go en Q4, mais devient envisageable en Q2/Q3 avec un peu d'offload disque. Fiche complète sur DeepSeek V3 671B.

Performances mesurées : tokens par seconde

Les chiffres ci-dessous proviennent de la documentation officielle mlx-lm et d'observations communautaires reproductibles sur Hugging Face. Toutes les vitesses sont des estimations et dépendent du prompt, du contexte et du niveau de quantification.

Les modèles MoE comme Qwen3-Coder-Next 80B-A3B (VRAM Q4 ~48 GB) bénéficient particulièrement de la mémoire unifiée : seuls 3B de paramètres actifs traversent les unités de calcul à chaque token, ce qui pousse la vitesse au-delà de 25 tokens/sec sur M4 Max selon les retours utilisateurs (à confirmer). Voir Qwen3-Coder-Next 80B-A3B.

Licences et compatibilité avec MLX

MLX n'impose aucune restriction au-delà de la licence du modèle d'origine. Quelques cas types :

Pour un usage en production, privilégiez Apache 2.0 ou MIT. Voir notre guide licences LLM open-weights pour le détail des clauses.

Benchmarks de référence sur modèles MLX-compatibles

Les scores reportés ici sont issus des fiches techniques officielles publiées sur Hugging Face et des cartes de modèle des éditeurs.

Pour explorer en détail les modèles les plus performants en code, voir meilleur LLM pour le code et pour le raisonnement meilleur LLM raisonnement.

Installation et workflow concret

L'installation tient en trois commandes après avoir préparé un environnement Python 3.10+ :

pip install mlx mlx-lm
python -m mlx_lm.convert --hf-path meta-llama/Llama-3.3-70B-Instruct -q
python -m mlx_lm.generate --model ./mlx_model --prompt "Bonjour"

La conversion -q applique une quantification 4-bit par défaut. Les checkpoints convertis sont publiés directement sur Hugging Face mlx-community, ce qui évite l'étape de conversion locale pour les modèles populaires.

Les cas d'usage où MLX brille particulièrement :

Pour comparer MacBook Pro et Mac Studio selon le modèle visé, consultez LLM pour MacBook Pro.

FAQ

Q : Quel Mac choisir pour faire tourner Llama 3.3 70B en local ?

Un MacBook Pro M3 Max ou M4 Max 64 Go permet d'exécuter Llama 3.3 70B Instruct en quantification 4-bit (VRAM ~40 GB). Avec 48 Go, c'est tendu mais possible en Q3. Pour du contexte long ou des batchs, visez 128 Go. Le Mac Studio M3 Ultra 192 Go reste la cible la plus confortable pour ce modèle.

Q : MLX est-il plus rapide que llama.cpp sur Mac ?

MLX gagne généralement 10 à 30 % sur la génération longue grâce à la mémoire unifiée native et au compilateur de graphe. llama.cpp reste compétitif sur le prefill et offre un écosystème plus large (serveur OpenAI-compatible intégré, quantifications GGUF plus variées). Les deux peuvent cohabiter : MLX pour le développement, llama.cpp pour le déploiement headless.

Q : Peut-on faire du fine-tuning LoRA avec MLX ?

Oui. Le sous-projet mlx-examples/lora permet d'entraîner des adaptateurs LoRA et QLoRA sur Llama, Mistral et Qwen. Sur un M3 Max 64 Go, un fine-tuning LoRA de Mistral Small 4 en 4-bit reste hors de portée, mais des modèles 7B à 13B s'entraînent en quelques heures.

Q : MLX gère-t-il les modèles MoE comme Mixtral ou Qwen 3 235B ?

Oui. Mixtral 8x22B Instruct et Qwen 3 235B-A22B sont supportés via mlx-lm. L'architecture MoE est particulièrement adaptée à la mémoire unifiée : les experts inactifs résident en RAM sans pénaliser la latence. Sur Mac Studio M3 Ultra 192 Go, Qwen 3 235B-A22B en 4-bit reste utilisable avec un contexte raisonnable.

Q : Quels modèles ne sont pas viables sur Apple Silicon ?

Les modèles >500B en pleine précision restent hors de portée même du Mac Studio 512 Go : DeepSeek V4 Pro 1.6T (VRAM Q4 ~960 GB), MiMo V2.5 Pro (VRAM Q4 ~595 GB), Kimi K2.6 (VRAM Q4 ~600 GB). En Q2 ou Q3 agressifs avec offload disque, certains deviennent expérimentablement testables, mais la vitesse chute drastiquement.

Q : MLX supporte-t-il les modèles vision-langage ?

Oui, partiellement. Qwen 2.5 VL 72B et LLaVA-OneVision 72B disposent de portages MLX communautaires sur Hugging Face. La couverture est plus restreinte que pour les LLM texte purs, mais le projet mlx-vlm maintenu par la communauté comble l'écart sur les architectures multimodales courantes.

Conclusion

Un MLX Apple Silicon LLM transforme un Mac récent en station d'inférence sérieuse : Llama 3.3 70B, Qwen 2.5 72B ou gpt-oss 120B tournent en 4-bit sur un MacBook Pro 64-128 Go, et les MoE comme Qwen 3 235B-A22B deviennent accessibles sur Mac Studio 192 Go. Pour choisir le modèle adapté à votre configuration matérielle exacte, utilisez notre configurateur ou parcourez le catalogue complet des 249 modèles indexés.

Article publié le par Mohamed Meguedmi · Source de données : /api/models.json · Licence contenu : CC BY 4.0.

Une erreur ou une mise à jour à signaler ? Contribuer.