11 points par GN⁺ 2025-09-09 | 3 commentaires | Partager sur WhatsApp
  • Explication de la manière d’exécuter des LLM locaux sur macOS et présentation des outils recommandés
  • Un LLM local est un modèle de langage IA exécutable sur un ordinateur personnel, qui permet d’explorer des technologies expérimentales tout en préservant la confidentialité des données
  • En exploitant divers modèles à poids ouverts, ils sont utiles pour le résumé de texte et les usages de prise de notes personnelle, mais ne possèdent ni créativité ni capacité de réflexion
  • Les deux principaux outils utilisables sur macOS sont llama.cpp et LM Studio, qui offrent respectivement l’open source et une interface utilisateur conviviale
  • Lors du choix d’un modèle, il faut tenir compte de la capacité mémoire, du runtime, du niveau de quantification, ainsi que des capacités de vision et de raisonnement
  • L’exécution locale de LLM contribue à la protection de la vie privée et à la satisfaction de la curiosité technique, et les petits modèles offrent une valeur expérimentale comme alternative aux grands modèles

Introduction : point de vue personnel sur les LLM et manière de les utiliser

  • Cet article porte sur l’expérience d’installer et d’expérimenter directement un LLM local (Local Large Language Model) sur macOS
  • L’auteur se montre sceptique à l’égard des LLM, mais aime tester de nouvelles technologies, et a donc essayé d’en télécharger et d’en utiliser lui-même
  • Son point de vue se situe entre l’idée que les LLM ne sont qu’une forme d’auto-complétion avancée et les discours qui les présentent comme des êtres dotés d’émotions et de droits
  • En pratique, ils reposent sur la prédiction du mot suivant, mais manifestent aussi des comportements complexes non intentionnels (capacités émergentes)
  • Ils n’ont ni créativité ni conscience de soi ; des machines plus avancées pourront peut-être apparaître à l’avenir, mais la technologie actuelle n’en est pas encore là

Principaux cas d’usage des LLM

  • Ils sont particulièrement utiles pour le résumé de texte, la fourniture d’informations trouvées sur Internet, ou encore des informations médicales simples
  • Dans le cas de l’auteur, ils servent de brain dump (vider ses pensées) et sont pratiques quand on a besoin d’un interlocuteur
  • Il ne se concentre pas sur les réponses elles-mêmes et les utilise simplement comme outil de consignation
  • Il est important de ne pas faire preuve d’un anthropomorphisme excessif envers l’IA
  • Il est possible d’ajuster le comportement des réponses du modèle à l’aide d’un system prompt, mais l’auteur préfère ne pas trop s’en préoccuper

Réflexions sur la productivité et la fiabilité

  • L’auteur n’adhère pas à l’idée que les LLM améliorent la “productivité”
  • En raison des problèmes de fiabilité des réponses (absurdités, hallucinations), un fact-checking est indispensable
  • Éviter les questions difficiles à vérifier aide à prévenir la pollution informationnelle

Pourquoi utiliser des LLM locaux

  • Il y a le plaisir de l’expérimentation technique et l’étonnement de voir un ordinateur répondre en langage naturel en local
  • Quand tout s’exécute uniquement sur sa propre machine, il y a des avantages en matière de vie privée et de protection des informations sensibles
    • Les fournisseurs de services d’IA stockent souvent les données des utilisateurs séparément et les réutilisent pour l’entraînement
  • En raison de la méfiance envers les entreprises commerciales de l’IA, des problèmes éthiques, du battage excessif, des dégâts environnementaux et des atteintes au droit d’auteur, l’auteur préfère les modèles open source locaux

Comment exécuter un LLM sur macOS

  • Les deux principaux outils pouvant être utilisés sur macOS sont llama.cpp et LM Studio
  • 1. llama.cpp (open source)

    • Développé par Georgi Gerganov
    • Propose de nombreuses options de configuration détaillées, prend en charge plusieurs plateformes, et offre le téléchargement de modèles ainsi qu’une interface web simple
    • Exemple :
      • La commande llama-server -hf ggml-org/gemma-3-4b-it-qat-GGUF permet d’exécuter le modèle recommandé : Gemma 3 4B QAT
      • En accédant à http://127.0.0.1:8080 dans le navigateur, on obtient une interface minimale proche de ChatGPT, adaptée aux expérimentations
  • 2. LM Studio (closed source, simple à utiliser)

    • Offre une interface avancée et intuitive, avec des fonctions d’exploration, de téléchargement et de gestion des conversations, ainsi qu’un guidage sur la possibilité d’exécuter ou non un modèle
    • Intègre des garde-fous pour éviter qu’un modèle trop volumineux ne soit chargé et ne fasse planter le système
    • Sur macOS, il prend en charge deux runtimes : llama.cpp et le moteur MLX d’Apple
      • MLX est plus rapide, mais offre moins de réglages détaillés
    • Principaux conseils d’utilisation :
      • Possibilité de changer de modèle en cours de conversation
      • Création de branches de conversation et réalisation de diverses expérimentations
      • Modification possible à la fois des messages utilisateur et des messages assistant
      • Prise en charge de la création et de la réutilisation de préréglages de system prompt
      • Possibilité de définir la manière de gérer un dépassement de la fenêtre de contexte (avec des réglages par défaut, comme conserver les premiers et derniers messages)

Critères pour bien choisir un modèle LLM

  • Taille du modèle : la contrainte principale est la mémoire (RAM) plutôt que l’espace disque
    • Dans un environnement à 16 Go de RAM, il est recommandé de rester sur des modèles de 12 Go ou moins ; au-delà, le système peut devenir instable
    • Plus un modèle est gros, plus il devient lent, et un manque de mémoire peut rendre l’ensemble du système instable
  • Choix du runtime :
    • llama.cpp et le runtime par défaut de LM Studio nécessitent des modèles au format GGUF
    • Le runtime MLX de LM Studio nécessite des modèles dédiés à MLX
    • Les modèles GGUF sont stables sur diverses plateformes et offrent de riches options de configuration
    • Les modèles MLX offrent des performances légèrement supérieures sur Apple Silicon
  • Quantification : équilibre entre performances du modèle et efficacité mémoire
    • La plupart des LLM sont entraînés en précision 16 bits
    • Même une quantification vers des formats plus légers comme le 4 bits entraîne une perte de performances limitée jusqu’à un certain point ; en général, le Q4 convient bien
    • Il existe des notations de quantification complexes selon les kernels (Q4_K_M, etc.), mais il est conseillé aux débutants d’utiliser les valeurs par défaut
  • Modèles de vision : modèles capables de traiter des images
    • Certains modèles analysent une entrée image après tokenization (lecture de texte, reconnaissance d’objets, estimation d’émotions ou de style, etc.)
    • Ils peuvent faire de l’OCR simple, mais restent moins fiables que des outils d’OCR spécialisés
  • Capacité de raisonnement : certains modèles incluent un processus de réflexion avant de générer une réponse
    • Certains ajoutent une phase de raisonnement avant la génération de la réponse, renforçant la fonction de “réflexion” par rapport aux modèles ordinaires
    • De petits modèles spécialisés dans le raisonnement peuvent surpasser des modèles généraux de taille moyenne ou grande (comme le montrent certains benchmarks)
    • Les modèles de raisonnement mettent plus de temps à répondre et remplissent plus vite la fenêtre de contexte
  • Utilisation d’outils : possibilité d’appeler des outils externes
    • Grâce à des tokens d’appel d’outil, il est possible d’utiliser, via le system prompt, les fonctions de MCP (serveur d’outils) définies
    • Dans LM Studio, l’ajout et la gestion d’outils sont simples, mais les appels d’outils peuvent présenter des risques de sécurité (possibilité d’exfiltration de données), d’où une confirmation utilisateur requise par défaut
    • Il embarque par défaut JavaScript MCP (basé sur Deno), ce qui permet d’automatiser des calculs complexes, des analyses de données ou des générations aléatoires
    • En ajoutant un MCP de recherche web, il devient possible d’intégrer des résultats de recherche en temps réel et d’étendre un modèle limité par l’état de ses connaissances
    • Si une mémoire à long terme est nécessaire, on peut utiliser divers serveurs d’extension comme un MCP pour Obsidian
      • Cependant, l’introduction de MCP remplit rapidement le contexte, il ne faut donc l’activer qu’en cas de réelle nécessité
  • Agents
    • Un agent (Agent) désigne une structure de modèle qui utilise des outils de manière répétée
    • Les modèles combinant raisonnement et usage d’outils sont généralement classés comme agents
    • Ce n’est pas parfait, mais le concept est stimulant et intéressant

Modèles recommandés et conseils d’usage

  • L’interface intégrée de LM Studio permet de comparer et d’explorer facilement le runtime, la quantification, les caractéristiques et la taille des modèles
  • Dans le cas de llama.cpp, on peut utiliser la section modèles GGUF sur Hugging Face
  • Comme il existe peu de modèles qui cochent toutes les cases, il est recommandé d’en télécharger plusieurs et d’expérimenter
  • Liste de modèles recommandés :
    • Gemma 3 12B QAT : excellent en vision, rapide et bon en génération de texte
    • Qwen3 4B 2507 Thinking : compact, excellent en vitesse et en qualité, disponible en version raisonnement et en version générale
    • GPT-OSS 20B : meilleures performances actuelles, prise en charge d’un raisonnement en 3 étapes, lent mais extrêmement capable
    • Phi-4 (14B) : autrefois favori, toujours disponible en versions raisonnement et générale

Conclusion et conseils pratiques

  • Même si les petits modèles ne remplacent pas totalement les grands modèles récents, l’intérêt de l’exécution locale est évident
  • Les tests en local aident à comprendre le fonctionnement des algorithmes et à améliorer sa capacité à compenser leurs faiblesses
  • LM Studio affiche en temps réel l’utilisation de la fenêtre de contexte
    • Faire résumer la conversation juste avant que le contexte soit saturé est efficace pour conserver les informations importantes
  • Il faut considérer les LLM locaux comme une sorte de génie numérique dans l’ordinateur, et profiter du plaisir de l’expérimentation

3 commentaires

 
tensun 2025-09-11

C’est bien d’utiliser qwen3:4b avec ollama.

 
yolatengo 2025-09-11

On ne parle pas d’Ollama ici.

 
GN⁺ 2025-09-09
Avis Hacker News
  • Je trouve toujours ça fascinant qu’il suffise de télécharger une dizaine de Go de fichiers pour pouvoir faire du résumé de texte, des réponses à des questions, voire un peu de raisonnement, directement sur un portable. L’important, c’est l’équilibre entre la taille du modèle et la RAM. Sur une machine avec 16 Go, la limite se situe à peu près entre 12B et 20B. Mais ces modèles n’utilisent pas réellement l’Apple Neural Engine (ANE) et tournent plutôt sur le GPU via Metal. Core ML n’est pas encore très bon pour les runtimes personnalisés, et Apple ne fournit pas non plus d’accès développeur bas niveau à l’ANE. Il y a aussi des problèmes liés à la bande passante mémoire et à la SRAM. J’espère qu’un jour Apple arrivera à bien mapper les charges transformer sur l’ANE grâce aux optimisations de Core ML

    • J’ai souvent pensé qu’Apple avait besoin d’un nouveau CEO. Si je dirigeais Apple, j’adopterais agressivement les LLM locaux et je construirais un moteur d’inférence capable d’optimiser aussi les modèles conçus pour Nvidia. Je vendrais des processeurs Apple Silicon de classe serveur et j’ouvrirais davantage les spécifications GPU pour que tout le monde puisse les exploiter directement. Apple me semble trop prudente. Tim Cook est excellent comme COO, mais il continue à diriger l’entreprise avec cette même logique. Aujourd’hui, il faut un innovateur, pas un COO

    • D’après les informations issues du reverse engineering, notamment les cas d’accès direct à l’ANE dans Asahi Linux, l’Apple Neural Engine des M1/M2 semble optimisé uniquement pour des MADD à ordonnancement statique en INT8 ou FP16. Les modèles locaux récents étant davantage quantifiés, la bande passante mémoire est gaspillée quand les valeurs du modèle sont paddées en FP16/INT8. À l’inverse, le GPU peut déquantifier rapidement les entrées et les padder dans les registres avant de les envoyer aux unités matricielles, ce qui utilise bien mieux la bande passante mémoire. Cela dit, le NPU/ANE peut quand même être utile pour le prétraitement des prompts, par exemple. Sur ce point, il est davantage limité par le débit de calcul que par la génération de tokens, ce qui peut réduire la consommation électrique et éviter les contraintes de refroidissement. Infos supplémentaires : Whisper.cpp Pull Request, anciennes infos sur l’ANE, analyse détaillée de tinygrad. Les M3/M4 ne sont pas encore pris en charge par Asahi, donc la suite reste inconnue. La série M3 ne semble pas non plus très différente du M2 en performances

    • Si vous voulez que des charges transformer tournent correctement sur l’ANE, il existe déjà des outils pour convertir les modèles.<br>Comment convertir des modèles créés avec TensorFlow, PyTorch, etc. vers Core ML : CoreML Tools Docs

    • J’ai moi aussi trouvé intéressant que l’Apple Neural Engine ne s’intègre pas aux LLM locaux. Apple, AMD et Intel semblent tous incapables d’assurer correctement le support NPU dans llama.cpp. Je me demande pourquoi

    • Je fais tourner GLM 4.5 Air et gpt-oss-120b de manière tout à fait exploitable. La latence de GPT OSS est particulièrement correcte. Référence : un MacBook M4 avec 128 Go. C’est extrêmement puissant aujourd’hui, mais ça deviendra banal assez vite. Ces modèles commencent déjà à se rapprocher des modèles de pointe

  • Jusqu’ici, les LLM locaux m’ont semblé trop limités, un peu comme ChatGPT à ses débuts en 2022, donc je n’ai jamais vraiment trouvé de cas d’usage convaincant. Je me demande quels usages utiles la communauté a pu trouver. J’ai vu par exemple qu’un LLM local avait inventé une interview de Sun Tzu, et ce genre de limite me gêne. Donc je me demande vraiment à quoi ça peut servir concrètement

    • J’ai testé plusieurs LLM, mais sur un MacBook avec au moins 48 Go, Gemma3:27b est excellent pour analyser un journal personnel ou des données sensibles. Les modèles chinois donnent des conseils de vie presque comiques. Par exemple, j’ai demandé conseil à Deepseek sur un problème personnel et il m’a sorti une planification de vie de style confucéen. Gemma est beaucoup plus occidental

    • J’utilise surtout les LLM locaux pour de l’automatisation non factuelle. Par exemple : classification, résumé, recherche, correction orthographique, etc. Il suffit qu’ils comprennent la langue ou les concepts du quotidien que je vise, sans avoir besoin de maîtriser toute l’histoire humaine, les langages de programmation ou la santé. On n’est même pas obligé de prompter directement le LLM : l’OS ou les apps peuvent l’appeler automatiquement quand c’est nécessaire

    • Je consigne tout dans Obsidian : mes émotions, mes pensées, ce que j’ai fait, etc. Je ne veux pas envoyer ce type de notes intimes dans le cloud, donc je les gère avec chromeDB et je discute avec elles via un LLM. En ce moment, j’utilise aussi des modèles abliterated dont les refus ont été supprimés (suppression des refus avec transformers). Je m’en sers aussi au travail. J’ai créé un mcp pour automatiser des tâches liées aux données financières, et comme le modèle tourne en local, je n’ai pas à m’inquiéter des fuites d’informations

    • C’est aussi utile dans des environnements où Internet fonctionne mal ou se coupe souvent. Même un LLM qui n’est pas state of the art vaut largement mieux que rien. Par exemple, si Internet tombe à cause d’une tempête, on peut obtenir immédiatement des consignes de sécurité avec un LLM local

    • J’utilise les modèles locaux pour prototyper des apps ou dans les premières phases de développement.<br>Premièrement, ça réduit clairement les coûts de développement. Deuxièmement, comme leurs limites de performance obligent à composer les choses plus soigneusement, ça aide aussi. Si on conçoit son workflow avec un modèle local déjà à peu près utilisable (gpt-oss, qwen3, etc.), on peut ensuite le remplacer par un modèle cloud (gpt-5-mini, par exemple) et gagner immédiatement en performances. Bien sûr, si on peut simplement mettre tous les documents dans la fenêtre de contexte d’un modèle cloud et obtenir un bon résultat, il n’y a pas vraiment de raison d’accepter les contraintes d’un modèle local. Mais à long terme, découper les tâches et les exécuter localement peut revenir moins cher et être plus rapide

  • J’ai essayé de faire tourner Hermes Mistral, mais il hallucinait énormément dès le départ. En ce moment, je stocke à titre personnel un journal audio de mes rêves dans un dossier Obsidian. Je récupère des fichiers .wav avec Whisper pour les transcrire, puis j’essaie de n’utiliser le LLM local que pour corriger la ponctuation et les paragraphes. Je lui ai demandé de ne rien ajouter et de simplement améliorer la lisibilité, et Hermes s’est mis à inventer de nulle part une interview de Sun Tzu à propos de L’Art de la guerre. Quand j’ai interrompu le processus, il s’est excusé sans même pouvoir expliquer pourquoi Sun Tzu était apparu dans la conversation. Si je dois traquer ce genre d’hallucinations absurdes en permanence, autant éditer moi-même. Cette logique s’applique à presque tous les domaines où j’aimerais utiliser un LLM local. J’espère que ça s’améliorera un jour

    • J’avais tendance à penser qu’en informatique, l’exactitude ou la “bonne réponse” serait facile dès lors que la logique est correcte. J’imaginais au contraire que l’originalité ou la créativité seraient difficiles parce que moins logiques, mais je suis plutôt déconcerté de voir à quel point les IA excellent à inventer des choses absurdes. Au fond, c’est peut-être normal, puisqu’on leur a appris la communication humaine. Ce n’était probablement pas une si bonne idée de les entraîner sur des données comme Reddit. Si on leur donne Reddit, on obtient Reddit en sortie
  • Je pense qu’on est encore loin du moment où des LLM de pointe tourneront directement sur un téléphone ou un portable. À court terme, ce qui me paraît réaliste, c’est plutôt une boîte serveur IA à la maison qui fait tourner les LLM. Les clients légers, comme les portables, s’y connecteraient, avec éventuellement un petit modèle en local pour certaines tâches. Ce serait assez naturel si Apple poursuivait cette stratégie avec le Mac Pro. Une boîte LLM domestique à 10 000 ou 20 000 dollars me semblerait tout à fait acceptable

    • Aujourd’hui, il est possible de faire tourner les derniers modèles open source sur un Mac Studio avec 512 Go de mémoire (environ 10 000 dollars). Exemples : vidéo montrant Qwen3-Coder-480B-A35B-Instruct à 24 tokens/s en 4 bits, Deep Seek V3 0324 à 20 tokens/s en 4 bits. On peut aussi relier deux Mac Studio avec MLX pour exécuter des modèles encore plus gros. Exemple avec DeepSeek R1 671B en 8 bits

    • Le Mac Pro est à mon avis trop cher pour ce qu’il apporte en plus en termes de boîtier, donc peu pratique. Le Studio est plus rationnel. Nvidia et AMD devraient bientôt proposer eux aussi de grandes quantités de mémoire GPU à haute bande passante dans des formats desktop. Pouvoir se connecter depuis un portable ou un autre appareil au serveur LLM de la maison, et l’utiliser sans se soucier de la batterie en local, ce serait parfait

    • De mon côté, j’utilise un AMD 395+ pour faire tourner plusieurs conteneurs docker et diverses apps. J’utilise surtout Qwen Code et le modèle GPT OSS 120b. Quand la prochaine génération sortira bientôt, je prévois de faire la mise à niveau même si ce sera cher. Ça en vaut la peine

    • Un prix de 10 000 à 20 000 dollars est totalement irréaliste pour la plupart des gens. Avec un salaire de la Silicon Valley, peut-être, mais même l’Apple Vision Pro, pourtant bien moins cher, s’est mal vendu

    • Est-ce que gpt-oss-120b n’offre pas déjà de meilleures performances avec beaucoup moins de mémoire ? Un Mac Studio à 4 000 dollars avec 128 Go de mémoire suffit déjà pour le faire tourner, non ?

  • Rien à voir avec le sujet, mais j’ai trouvé l’effet de vague sur le texte du premier paragraphe “opinions” très marquant

    • Merci. C’était justement l’idée centrale de tout le billet
  • Je pense que les LLM locaux sont l’avenir. Ils vont continuer à progresser avec le temps. Si même des modèles du niveau de l’an dernier deviennent distribués, il n’y aura plus vraiment de raison d’utiliser ChatGPT, Anthropic ou d’autres services cloud. On n’a pas non plus besoin d’un gros modèle unique qui fasse tout. L’idée d’appeler plusieurs petits modèles selon la tâche devient réelle. Il n’y a plus de moat

    • Les performances des LLM locaux vont sans doute encore s’améliorer, mais je ne suis pas certain du moment où cela deviendra vraiment pratique pour le grand public. Le raisonnement et le code des modèles locaux ont énormément progressé, mais cela vient surtout de l’amélioration des données d’entraînement et des techniques comme RLHF, DPO, CoT, etc. Malgré tout, ce qui compte vraiment, c’est de minimiser les hallucinations grâce à la sortie purement statistique d’un énorme ensemble de paramètres full precision, et il existe un fossé matériel immense entre ce type de modèle et le consommateur moyen. À mon avis, il faudra au moins encore dix ans

    • Pour moi, l’avenir, c’est surtout un cloud computing sûr et privé

  • Les blogs ou articles sur l’usage des LLM locaux devraient toujours préciser sur quel matériel les tests ont été faits

    • Bonne remarque, je vais ajouter une note rapidement
  • Je vote pour LM Studio. Il propose une grande variété de configurations prêtes à l’emploi, ce qui permet de comprendre intuitivement ce que mon MacBook peut faire, comment le configurer, etc. Une ou deux heures très enrichissantes

    • L’outil en ligne de commande et le serveur compatible OpenAI sont aussi inclus par défaut. On peut charger un modèle, ouvrir un endpoint et l’utiliser dans des scripts locaux. On peut d’abord se faire une idée via l’interface de chat, puis étendre l’usage de manière programmatique
  • J’ai comme hobby de télécharger au hasard des modèles pour les faire tourner sur un Mac Mini 16 Go, et la liste de recommandations de modèles de l’auteur m’aide énormément. Je n’en garde que 4 ou 5 par taille pour les tester, et c’est de loin le plus efficace

  • Mozilla-Ocho/llamafile peut aussi être utile