Un Mac et MLX suffisent pour adapter une intelligence artificielle à vos données. Voici comment faire, étape par étape, sans dépenser un centime.
Il y a encore quelques années, former un modèle de langage signifiait louer des GPU dans le cloud et regarder la facture monter. Aujourd’hui, si vous possédez un Mac avec une puce Apple Silicon, vous pouvez adapter une intelligence artificielle directement sur votre machine, sans envoyer un seul byte de vos données sur Internet, et sans payer le moindre centime.
Cette révolution est rendue possible par MLX, une bibliothèque open source développée par l’équipe de Recherche en intelligence artificielle d’Apple. Associée à son outil dédié MLX LM, elle permet de générer du texte et d’adapter des milliers de modèles open source avec une poignée de commandes. Ce tutoriel vous guide pas à pas : installation des outils, préparation des données, entraînement d’un adaptateur LoRA, optimisation mémoire, test et mise en service. À la fin, vous aurez un modèle personnalisé qui tourne sur votre Mac, prêt à être utilisé à tout moment.
POURQUOI MLX CHANGE TOUT POUR LES UTILISATEURS DE MAC
La plupart des outils d’inférence locale ont d’abord été créés pour du matériel NVIDIA, puis adaptés aux Mac. MLX a pris le chemin inverse : conçu dès le départ pour l’architecture Apple Silicon, où le processeur et le GPU partagent la même mémoire. Cette particularité élimine l’étape coûteuse qui consiste à copier les données entre la mémoire système et la mémoire dédiée du GPU.
Sur un Mac de 16 Go de RAM, les poids du modèle, l’état de l’optimiseur et le lot d’entraînement coexistent dans le même espace. C’est ce qui rend l’entraînement local réalisable en pratique, et non plus seulement théorique. L’API de MLX ressemble beaucoup à celle de NumPy, mais ajoute la différentiation automatique pour l’entraînement, et utilise Metal pour accélérer les calculs GPU tout en gardant cette vision unifiée de la mémoire.
Avant de commencer, vérifiez que votre configuration est compatible : un Mac avec puce Apple Silicon (M1 ou plus récent), macOS Ventura 13.5 ou ultérieur, et Python 3.10 ou supérieur. Les Mac Intel ne sont pas supportés et déclencheront une erreur « no matching distribution » lors de l’installation.
INSTALLER MLX LM : LA PREMIÈRE ÉTAPE VERS L’IA LOCALE
Commencez par installer le package MLX LM avec ses dépendances d’entraînement. Cette commande installe tout ce dont vous avez besoin pour adapter un modèle.
pip install "mlx-lm[train]"
Pour vérifier que l’installation fonctionne, lancez une génération de texte avec un petit modèle. Cette commande télécharge un modèle Mistral-7B en version 4 bits depuis l’organisation MLX Community sur Hugging Face, le stocke en local, puis produit une réponse.
mlx_lm.generate \
--model mlx-community/Mistral-7B-Instruct-v0.3-4bit \
--prompt "Explain LoRA in two sentences." \
--max-tokens 120
Le premier lancement peut prendre quelques minutes selon votre connexion Internet. Une fois le modèle téléchargé, les exécutions suivantes seront bien plus rapides grâce au cache local. L’organisation MLX Community héberge des milliers de modèles pré-convertis, ce qui évite généralement de convertir soi-même les poids.
Un point important à noter : MLX LM nécessite que les modèles soient au format safetensors de Hugging Face. Les fichiers GGUF, souvent utilisés par d’autres outils locaux, fonctionnent pour l’inférence mais pas pour l’entraînement. Les architectures supportées incluent Llama, Mistral, Qwen2, Phi, Gemma et Mixtral, ce qui couvre la plupart des modèles open source populaires.
PRÉPARER VOTRE DONNÉES : LE FORMAT QUI FAIT LA DIFFÉRENCE
MLX LM lit les données d’entraînement depuis un dossier contenant trois fichiers : train.jsonl, valid.jsonl et optionnellement test.jsonl. Chaque ligne représente un exemple au format JSON. Le fichier d’entraînement est obligatoire, le fichier de validation permet de suivre la perte de validation pendant l’entraînement, et le fichier de test évalue le modèle après l’entraînement.
Trois formats sont pris en charge : chat, completions et text. Le format chat est le plus robuste par défaut. Il stocke des messages tagués par rôle et permet à MLX LM d’appliquer le template de chat du modèle, ce qui garantit que vos données correspondent au format utilisé pendant l’entraînement du modèle.
{- KDnuggets
L'indépendance de CLODCO est votre garantie.
Pour que l'actualité de l'IA reste sans filtre et sans concession, votre soutien est indispensable. Votre contribution est le seul moteur de notre liberté éditoriale.
Soutenir CLODCO

