Glossaire / Comment il vous entend
MLX
Aussi : Apple MLX, framework MLX
Mis à jour le
Définition
MLX est un framework open source de calcul sur tableaux pour l’apprentissage automatique sur Apple silicon, créé par l’équipe de recherche en apprentissage automatique d’Apple. C’est ce que de nombreux modèles de langage et modèles vocaux utilisent pour tourner sur la puce même du Mac.
Si vous avez téléchargé un modèle pour Mac dont le nom se termine par MLX, ou qui provient d’une collection de modèles MLX, voici ce que cela signifie : les poids ont été convertis au format que lit ce framework.
MLX est un outil pour les développeurs et les chercheurs, pas quelque chose à installer pour utiliser une app. Une app qui s’en sert l’embarque. Il est publié sous licence MIT, et sa première version publique est sortie fin 2023.
Pourquoi il convient au Mac
La description d’Apple cite une différence avec les autres frameworks : le modèle de mémoire unifiée. Sur Apple silicon, le processeur et la puce graphique partagent une même réserve de mémoire. Les tableaux MLX vivent dans cette mémoire partagée, donc le travail peut passer de l’un à l’autre sans copier les données dans un sens puis dans l’autre.
Sur la plupart des autres ordinateurs, une carte graphique a sa propre mémoire, séparée, et un modèle doit y tenir. Sur un Mac, un modèle peut utiliser toute la mémoire de la machine : c’est pourquoi un portable peut faire tourner des modèles qui demanderaient sinon une carte dédiée.
Sur quoi il tourne
La documentation d’Apple indique que les opérations peuvent s’exécuter sur le CPU et le GPU. Elle ne cite pas le Neural Engine. Pour l’installer sur un Mac, il faut Apple silicon et macOS 14 ou ultérieur.
La même documentation décrit désormais aussi des versions pour Linux, dont une pour les cartes graphiques Nvidia : MLX n’est donc plus réservé au matériel Apple. Apple silicon reste ce autour de quoi il a été conçu.
La famille MLX
MLX lui-même ne gère que les tableaux et les calculs sur ces tableaux. Ce sont les paquets construits par-dessus que la plupart des gens rencontrent.
- MLX LM, de la même équipe chez Apple, pour générer du texte avec de grands modèles de langage et les affiner.
- MLX Whisper, issu des exemples d’Apple, pour la reconnaissance vocale avec Whisper.
- MLX Swift, qui permet à une app Mac ou iPhone écrite en Swift d’utiliser MLX directement.
- Des bibliothèques communautaires pour l’audio et la parole, construites sur MLX mais qui ne sont pas d’Apple.
Modèles MLX et quantification
Dans les collections MLX, les noms de modèles se terminent souvent par 4bit ou 8bit. C’est la quantification : les poids sont stockés sur moins de bits chacun, ce qui allège le téléchargement et la mémoire utilisée, au prix d’un peu de précision. Les outils MLX peuvent produire ces versions lors de la conversion d’un modèle.
MLX et Core ML
Apple a deux frameworks pour exécuter des modèles sur ses appareils, et ils ne servent pas aux mêmes tâches. Apple décrit MLX comme un framework open source de calcul sur tableaux pour expérimenter, entraîner et affiner des modèles génératifs sur Apple silicon. Elle décrit Core ML comme le moyen d’intégrer des modèles d’apprentissage automatique dans une app.
En pratique, beaucoup d’apps utilisent les deux : Core ML pour un modèle adapté au Neural Engine, et MLX pour un grand modèle de langage ou un modèle vocal qui tourne sur la puce graphique.
Les questions qu’on se pose.
Que signifie MLX ?
Apple ne donne pas de forme développée. Elle décrit MLX comme un framework de calcul sur tableaux pour l’apprentissage automatique sur Apple silicon.
MLX fonctionne-t-il sur les Mac Intel ?
Non. Sur Mac, la documentation d’Apple exige Apple silicon et macOS 14 ou ultérieur.
MLX utilise-t-il le Neural Engine ?
La documentation d’Apple indique que les opérations MLX s’exécutent sur le CPU et le GPU. Elle ne cite pas le Neural Engine.
MLX est-il gratuit ?
Oui. Il est open source, sous licence MIT.
Faut-il installer MLX pour utiliser une app qui s’en sert ?
Non. Une app qui utilise MLX l’inclut. Installer MLX vous-même sert à écrire du code ou à exécuter des modèles en ligne de commande.
Qu’est-ce qu’un modèle MLX ?
Un modèle dont les poids ont été convertis au format que lit MLX, souvent quantifiés sur 4 ou 8 bits pour tenir sans peine dans la mémoire d’un Mac.