Ollama, LM Studio, llama.cpp et MLX-LM sur macOS : comparaison
Traduction automatique
Cet article a été traduit automatiquement depuis la version originale en anglais.
Utilisez Ollama pour un service local de modèles ou LM Studio pour sélectionner des modèles dans une interface de bureau. Utilisez llama.cpp pour contrôler directement le runtime. Utilisez MLX-LM pour la génération en Python ou le fine-tuning sur Apple Silicon. Ollama et LM Studio proposent tous deux des APIs et un fonctionnement sans interface graphique. Choisissez selon la façon dont vous chargez les modèles, les appelez et examinez leurs performances.
Pour une application qui a besoin d’un endpoint local, testez d’abord Ollama ou LM Studio. Passez à llama.cpp ou MLX-LM lorsque le service existant ne propose pas les réglages nécessaires à votre tâche.
Consignez le modèle, le runtime, les paramètres de génération et la configuration réseau pour pouvoir reproduire la configuration.
Tableau de recommandation
| Outil | Fonction principale | À utiliser quand | Principal compromis |
|---|---|---|---|
| Ollama | Service local géré et cycle de vie des modèles | Vous voulez rapidement un endpoint scriptable | Moins de contrôle bas niveau que llama.cpp. |
| LM Studio | Découverte de modèles, SDKs, daemon et flux de travail avec un serveur local | Vous voulez un environnement de développement unique, avec et sans interface graphique | Son abstraction masque encore certains détails du runtime. |
| llama.cpp | Inférence GGUF, quantification, options du serveur, contrôle de Metal | Vous devez contrôler le contexte, le lot, la quantification et le comportement du runtime | Davantage de configuration et d’options. |
| MLX-LM | Génération et fine-tuning natifs d’Apple Silicon | Vous voulez expérimenter au niveau Python sur des Mac équipés de puces M | Écosystème de serving plus restreint qu’avec Ollama ou llama.cpp. |
Lequel installer en premier ?
Commencez par Ollama si vous voulez gérer un modèle via un service local que votre application peut appeler. Testez l’API avec les prompts et les formats de réponse dont votre application a besoin.
Installez d’abord LM Studio si vous voulez sélectionner et comparer des modèles dans une application de bureau. Ses outils de développement comprennent des SDKs Python et TypeScript, des APIs locales, le structured output et un daemon sans interface graphique. Vérifiez la prise en charge du tool use pour le modèle choisi.
Installez d’abord llama.cpp si vous devez régler directement la longueur du contexte, la taille des lots, la quantification ou les options Metal. Sa CLI et son serveur proposent ces réglages sans service distinct de gestion des modèles.
Utilisez MLX-LM lorsque vous faites davantage que servir un modèle de chat. Il convient aux expérimentations de modèles natives sur Apple Silicon, à la conversion, au fine-tuning et aux flux de travail Python dans lesquels la mémoire unifiée fait partie de la conception.
Matrice des flux de travail
| Flux de travail | Choix par défaut | Pourquoi |
|---|---|---|
| API locale pour une application | Ollama | Ergonomie développeur stable et large prise en charge des intégrations. |
| Comparaison manuelle de modèles | LM Studio | L’interface graphique accélère la comparaison des prompts et des modèles. |
| Débogage des performances | llama.cpp | Vous pouvez observer et contrôler les paramètres du runtime. |
| Serving de modèles GGUF quantifiés | llama.cpp ou Ollama | Utilisez llama.cpp pour le contrôle, Ollama pour la simplicité. |
| Expérimentations de modèles sur Apple Silicon | MLX-LM | Outils de modèles natifs pour les Mac équipés de puces M. |
| Démonstration à un interlocuteur non technique | LM Studio | Facile à présenter et à ajuster de manière interactive. |
| Configuration d’ingénierie reproductible | CLI/API de n’importe lequel des outils avec des modèles fixés | Consignez le modèle, le runtime et les paramètres de génération afin qu’un script puisse reproduire l’exécution. |
Remarques sur le matériel
La mémoire unifiée disponible limite le modèle, le contexte et le nombre de requêtes qu’un Mac Apple Silicon peut exécuter. Un modèle qui tient sur un MacBook Pro de 64 Go peut être inutilisable sur un MacBook Air de 8 Go. La quantification réduit la mémoire des poids, tandis que les prompts plus longs augmentent la mémoire du cache d’attention. Effectuez des benchmarks avec la longueur réelle des prompts et des requêtes simultanées.
Testez un modèle plus petit qui tient en mémoire sans échanges excessifs avec le disque avant un modèle plus grand qui épuise la mémoire. Pour le code, vérifiez la gestion du contexte et l’intégration des outils sur des tâches réelles. Pour les questions sur des documents, vérifiez que la récupération fournit les éléments nécessaires avant de changer de modèle.
Garder l’inférence en local
Choisissez explicitement un modèle et un backend locaux. Une API localhost peut tout de même transmettre une requête à un modèle dans le cloud ou à une intégration externe. La FAQ d’Ollama documente le mode local uniquement (OLLAMA_NO_CLOUD=1) ainsi que sa liaison loopback par défaut. Limitez l’accessibilité du serveur à votre machine, sauf si vous sécurisez délibérément l’accès pour d’autres clients.
LM Studio peut exécuter hors ligne les modèles téléchargés ; la découverte et le téléchargement de modèles nécessitent un accès réseau. Vérifiez les fonctionnalités cloud, les plugins, la télémétrie et l’application appelante, en plus du serveur de modèles. Télécharger un modèle et envoyer un prompt privé sont deux opérations réseau différentes.
À éviter
Commencez avec Ollama ou LM Studio et testez si l’inférence locale répond aux besoins de la tâche. Utilisez llama.cpp ou MLX-LM si vous avez besoin de réglages que le service ne propose pas. Effectuez des benchmarks plus larges lorsque les performances influencent les exigences du produit.
Ne comparez pas les modèles uniquement dans une interface de chat si la charge réelle concerne l’extraction structurée, l’édition de code ou la synthèse de réponses RAG. Écrivez un petit script d’évaluation avec des prompts représentatifs.
Pour aller plus loin
- LLMs locaux sur macOS présente la configuration pratique.
- Variantes de LLMs open-weight explique GGUF, GPTQ, AWQ, les modèles de base et les modèles instruct.
- Configuration d’un MacBook pour l’ingénierie AI couvre la configuration plus générale d’un poste de travail.