Skip to content

MLX

Le framework de tableaux d'Apple pour l'apprentissage automatique sur Apple silicon, désormais avec un build CUDA ; le moteur derrière mlx-lm et de nombreuses applis LLM Mac.

Avis de Sheela · Mis à jour

Voir sur GitHub Open source

Notre note

4.4/5

MLX transforme un Mac à grande mémoire en une machine crédible pour l'inférence locale et le réglage LoRA ; hors d'Apple silicon, c'est un portage, pas une raison de changer.

Qu’est-ce que MLX ?

MLX est un framework de tableaux du groupe de recherche en apprentissage automatique d'Apple, conçu pour la mémoire unifiée d'Apple silicon, où le CPU et le GPU partagent un seul pool de RAM. Son API Python suit NumPy, ses paquets nn et optimizers suivent PyTorch, et les API C++, C et Swift la reflètent. Le calcul est paresseux et les graphes sont construits dynamiquement, si bien que changer les formes d'entrée ne déclenche pas de recompilation.

Il n'est plus réservé au Mac. `pip install mlx[cuda12]` (ou `mlx[cuda13]`) le fait tourner sur Linux avec des GPU Nvidia de SM 7.5 ou plus récent, et `mlx[cpu]` donne un build Linux CPU uniquement. La plupart des gens le rencontrent via mlx-lm, le paquet compagnon pour faire tourner, quantiser et fine-tuner en LoRA des LLM depuis le Hugging Face Hub, où l'organisation mlx-community héberge environ 5 800 modèles convertis.

La version 0.32.4 a été publiée le 14 octobre 2026 sous la licence MIT.

MLX vaut-il le coup ?

MLX compte à cause d'un fait matériel : sur Apple silicon, le GPU peut adresser toute la mémoire système. Un Mac avec beaucoup de RAM peut contenir un modèle quantisé qui aurait besoin d'un GPU de centre de données ailleurs, et MLX est écrit autour de cela, avec des tableaux qui vivent en mémoire partagée et tournent sur CPU ou GPU sans copies. Le dépôt a environ 28 900 étoiles GitHub et a publié 0.32.4 le 14 octobre 2026.

L'essentiel de la valeur pratique se trouve dans mlx-lm (environ 7 400 étoiles) plutôt que dans la bibliothèque du cœur. Il charge les modèles directement depuis le Hugging Face Hub, les quantise et les téléverse, les sert via HTTP avec mlx_lm.server, et fait tourner le fine-tuning LoRA et QLoRA. Sa propre documentation donne un chiffre concret : LoRA sur Mistral 7B avec une taille de lot de 1 et quatre couches réglées tourne à environ 250 tokens par seconde sur un M1 Max de 32 Go.

Les limites sont celles du Mac. Les modèles proches de la taille de la RAM tournent lentement sauf si vous relevez la limite de mémoire câblée du GPU avec un sysctl, ce qui a besoin de macOS 15 ; le paquet de base a besoin de macOS 14. Les issues ouvertes incluent le watchdog GPU de Metal qui tue l'entraînement LoRA pendant qu'un écran est actif et une panique de kernel sur un M4 Max pendant un prefill de 173K tokens. Deux CVE de faible sévérité dans les chargeurs de poids, un débordement de tas dans load() et un pointeur sauvage dans load_gguf(), ont été publiés en novembre 2025.

Le backend CUDA élargit l'audience moins qu'il n'y paraît. Il a besoin de Linux avec glibc 2.35 ou plus récent et d'une carte Nvidia de SM 7.5 ou plus récent, et son vrai usage est de laisser une équipe écrire du code MLX sur des Mac et faire tourner le même code sur un serveur GPU. Il n'apporte pas la pile d'entraînement vLLM et Hugging Face que PyTorch a sur ce matériel, et la prise en charge ROCm pour AMD est encore une expérience ouverte. Pour l'inférence seule, llama.cpp tourne sur tout et Ollama cache la configuration ; MLX gagne sa place quand vous voulez un contrôle au niveau Python sur le Mac lui-même.

Là où il fait la différence

  • Un ingénieur ML dans une start-up de logiciels de support avec un MacBook Pro série M de 32 Go

    Fine-tuner un modèle 7B sur des transcriptions de support sans louer de GPU

    Lancez mlx_lm.lora avec une taille de lot de 1, quelques couches réglées et le gradient checkpointing ; la documentation rapporte environ 250 tokens par seconde pour Mistral 7B sur un M1 Max de 32 Go, si bien qu'un jeu de données modeste s'entraîne sur le portable. Le coût est le temps sur une machine déjà possédée ; le risque est le bug ouvert où le watchdog Metal tue l'entraînement pendant qu'un écran est actif.

  • Un chercheur universitaire qui prototype de nouvelles architectures de modèles

    Itérer sur des couches personnalisées sans attendre la recompilation

    Écrivez les modèles avec les modules façon PyTorch de mlx.nn ; les graphes sont dynamiques, si bien que les changements de forme ne recompilent pas, et les transformations composables donnent l'autodiff et la vectorisation. Le même code peut plus tard tourner sur une machine GPU Linux avec mlx[cuda12], même si l'entraînement à grande échelle pointe encore vers PyTorch.

  • Un responsable informatique dans un cabinet d'avocats de 20 personnes avec des règles de confidentialité strictes

    Faire tourner un modèle de chat privé sur les Mac du bureau au lieu d'envoyer les documents à une API cloud

    Tirez un modèle 4 bits de mlx-community et servez-le avec mlx_lm.server sur un Mac à grande mémoire, ou via une appli desktop qui utilise MLX comme moteur. Rien ne quitte la machine et la licence MIT ne coûte rien ; la dépense est le matériel et quelqu'un pour le maintenir.

Avant de vous engager

Mise en route
`pip install mlx mlx-lm` sur un Python arm64 natif 3.10+ avec macOS 14+ ; un premier mlx_lm.generate d'un modèle du Hub est surtout du temps de téléchargement. Linux utilise mlx[cuda12], mlx[cuda13] ou mlx[cpu] ; un Python non natif (Rosetta) est le piège d'installation documenté.
Intégrations
Hugging Face Hub pour le chargement, la conversion, la quantisation et le téléversement ; chargement safetensors et GGUF ; mx.distributed pour l'inférence et le fine-tuning multi-machines ; bindings Swift pour les applis ; utilisé comme backend par plusieurs applis de chat Mac.
Données et confidentialité
Tourne localement ; le README ne décrit aucune télémétrie et une recherche de code GitHub du dépôt n'en trouve aucune, et l'accès réseau sert aux téléchargements du Hub. Licence MIT, si bien que l'usage commercial est sans restriction, même si les licences des modèles s'appliquent toujours. CVE-2025-62608 et CVE-2025-62609, toutes deux de faible sévérité, ont touché les chargeurs de poids.
Coût à grande échelle
Le logiciel est gratuit ; la facture est le matériel Apple, et la taille de la RAM plutôt que la classe du GPU décide quels modèles tiennent. Aller au-delà d'un Mac signifie mx.distributed sur plusieurs machines, et une issue ouverte rapporte des échecs de mémoire quand ces machines ont des quantités de RAM différentes.
Limites
Le build CUDA a besoin de SM 7.5+ et glibc 2.35+ ; AMD est expérimental. Les modèles proches de la taille de la RAM sont lents sans relever iogpu.wired_limit_mb. Les issues ouvertes incluent le watchdog Metal qui arrête les exécutions LoRA et une panique de kernel sur les très longs prefills.

Les points forts

  • Le GPU peut utiliser toute la mémoire unifiée d'un Mac
  • API Python façon NumPy plus C++, C et Swift
  • LoRA et QLoRA via mlx-lm, environ 250 tok/s sur un M1 Max selon la documentation
  • Environ 5 800 modèles convertis sur mlx-community

Les points faibles

  • Le build CUDA manque de l'écosystème qui entoure PyTorch
  • Une bibliothèque, pas une appli : vous écrivez du Python ou utilisez un front end
  • Les grands modèles ont besoin de macOS 15 et d'un ajustement sysctl
  • Bugs ouverts de watchdog Metal et de panique de kernel sur les longs travaux

Idéal pour

Les développeurs et chercheurs sur Mac qui veulent une vitesse native et un contrôle Python sur Apple silicon.

Alternatives à MLX

MLX : questions fréquentes

MLX vaut-il le coup ?
MLX transforme un Mac à grande mémoire en une machine crédible pour l'inférence locale et le réglage LoRA ; hors d'Apple silicon, c'est un portage, pas une raison de changer. Nous lui donnons 4.4 sur 5.
Combien coûte MLX ?
Gratuit et open source sous la licence MIT.
Quels sont les inconvénients de MLX ?
Le build CUDA manque de l'écosystème qui entoure PyTorch; une bibliothèque, pas une appli : vous écrivez du Python ou utilisez un front end; les grands modèles ont besoin de macOS 15 et d'un ajustement sysctl; bugs ouverts de watchdog Metal et de panique de kernel sur les longs travaux.
À qui s’adresse MLX ?
Les développeurs et chercheurs sur Mac qui veulent une vitesse native et un contrôle Python sur Apple silicon.
Combien coûte MLX pour une équipe ou en production ?
Le logiciel est gratuit ; la facture est le matériel Apple, et la taille de la RAM plutôt que la classe du GPU décide quels modèles tiennent. Aller au-delà d'un Mac signifie mx.distributed sur plusieurs machines, et une issue ouverte rapporte des échecs de mémoire quand ces machines ont des quantités de RAM différentes.
MLX est-il sûr pour les données de l’entreprise ?
Tourne localement ; le README ne décrit aucune télémétrie et une recherche de code GitHub du dépôt n'en trouve aucune, et l'accès réseau sert aux téléchargements du Hub. Licence MIT, si bien que l'usage commercial est sans restriction, même si les licences des modèles s'appliquent toujours. CVE-2025-62608 et CVE-2025-62609, toutes deux de faible sévérité, ont touché les chargeurs de poids.
Quelles sont les meilleures alternatives à MLX ?
Les alternatives les plus proches que nous avons testées sont llama.cpp et Ollama.

Réponses vérifiées le 26 oct. 2026.