2129 mots · 10 min de lecture

Table of contents

Introduction

En discutant d’IA avec des collègues et des amis (comme tout le monde ces jours-ci), j’ai partagé mon intérêt pour comprendre l’architecture des modèles en profondeur, et comment, dans ce processus, les modèles locaux ont attiré mon attention. On me posait souvent la question : comment commencer à tester des modèles locaux et naviguer dans la quantité absurde d’informations sur le sujet ? Cet article vise à y répondre précisément.

Avertissement : Si vous passez beaucoup de temps sur X ou YouTube, vous serez trop exposé aux influenceurs et aux contenus sponsorisés, vous disant soit que les modèles locaux égalent désormais la profondeur de raisonnement des modèles frontier à chaque nouvelle génération (1, 2), soit au contraire, que les modèles locaux sont stupides et que les modèles frontier sont à deux doigts de l’AGI. Restez à l’écart de ces sirènes et forgez-vous votre propre opinion.

L’écosystème évolue vite, tout comme les modèles locaux. Voici mon guide simple et honnête pour débuter avec les modèles locaux en tant qu’ingénieur logiciel, en avril 2026.

Configuration du moteur d’inférence

Un moteur d’inférence est la couche logicielle responsable du chargement des poids d’un modèle en mémoire et de l’exécution des calculs nécessaires pour générer des tokens. Il prend en charge le gros du travail : gestion de la mémoire, batching, accélération matérielle (CPU, GPU, Apple Silicon, etc.), et expose une interface (généralement une API HTTP locale) pour que d’autres outils puissent communiquer avec votre modèle. Sans lui, un modèle n’est qu’un grand fichier de nombres sur votre disque.

Ollama ouvre la voie aussi bien aux LLM locaux qu’aux modèles frontier open-source avec une interface simple et conviviale pour les développeurs, c’est pourquoi ce guide se concentre dessus. Il existe de nombreux autres moteurs d’inférence comme LM Studio, Jan, GPT4All, LocalAI et llama.cpp (le moteur sous-jacent sur lequel Ollama s’appuie). Chacun a ses propres compromis en termes de contrôle, de facilité d’utilisation et de support hardware.

Installer Ollama

Suivons le guide d’installation officiel et installons avec cette commande :

curl -fsSL https://ollama.com/install.sh | sh

Lancez ensuite Ollama. Sur macOS, une icône de lama devrait apparaître dans votre barre de menu, indiquant que le service tourne. Sur Linux, le service démarre automatiquement en arrière-plan et écoute sur http://localhost:11434 par défaut. Vous pouvez vérifier que tout fonctionne en lançant :

ollama list

Cela affichera les modèles que vous avez téléchargés localement. Une liste vide est attendue après une installation fraîche.

Les bases d’Ollama

Choisir votre modèle

La taille du modèle et sa quantization sont les deux principaux paramètres qui influencent la capacité de votre matériel à le faire tourner efficacement.

  • La taille du modèle (en milliards de paramètres) détermine les besoins en mémoire de base. Un modèle 7B se chargera plus vite et fonctionnera sur du matériel plus modeste qu’un modèle 70B.
  • La quantization est une technique de compression qui réduit la précision des poids du modèle (par exemple, de flottants 32 bits à des entiers 4 bits). Cela réduit drastiquement l’utilisation de la mémoire au prix d’une légère dégradation de la qualité. Les formats courants incluent q4_K_M, q8_0 et nvfp4.

Une bonne règle empirique : votre modèle devrait tenir confortablement dans votre mémoire unifiée disponible (RAM + VRAM). Si une seule couche est déchargée sur le CPU, la vitesse d’inférence chutera significativement.

Certains outils comme llmfit peuvent vous aider à déterminer la meilleure option selon les spécifications de votre matériel.

J’utilise personnellement principalement la famille qwen3.6 (qwen3.6:27b-coding-nvfp4, qwen3.6:35b-a3b-nvfp4) sur mes ordinateurs personnels et professionnels (M1 Pro 32 Go, M5 32 Go).

Une fois votre modèle choisi, lancez simplement :

# format: ollama pull <nom_du_modèle_et_tag>
ollama pull qwen3.6:35b-a3b-nvfp4

Préparez-vous, vous allez télécharger plusieurs gigaoctets…

Premiers pas, commandes & interface graphique

Après avoir téléchargé le modèle, vous pouvez commencer à interagir avec lui via la commande suivante :

ollama run --verbose qwen3.6:35b-a3b-nvfp4

Avertissement : Le premier message sera nettement plus lent, car le modèle doit être chargé en mémoire. Envoyez un simple Hello! deux fois et vous verrez la vitesse pratiquement doubler au second essai, une fois les poids entièrement mis en cache.

L’option --verbose vous permettra de voir quelques statistiques. Voici ce que j’obtiens avec le MacBook Pro M5 :

total duration: 22.948880125s
load duration: 46.027042ms
prompt eval count: 89 token(s)
prompt eval duration: 641.67725ms
prompt eval rate: 138.70 tokens/s
eval count: 953 token(s)
eval duration: 22.259480584s
eval rate: 42.81 tokens/s

Si vous préférez une interface graphique au terminal, des outils comme Open WebUI ou Enchanted (natif macOS) se connectent directement à votre instance Ollama locale et vous offrent une expérience à la ChatGPT dans votre navigateur ou en application native.

Performances & Optimisations

Si l’inférence vous semble trop lente, voici les leviers à actionner dans l’ordre :

  1. Passez à un modèle plus petit ou plus agressivement quantizé. C’est le changement le plus impactant. Un modèle 14B quantizé en q4 surpassera souvent un modèle 27B en q8 sur du matériel contraint. Vous perdrez en précision mais gagnerez en rapidité d’inférence.

  2. Activez Flash Attention. Flash Attention est un algorithme d’attention optimisé qui réduit l’utilisation de la bande passante mémoire et accélère significativement le calcul d’attention, surtout pour les contextes longs. Dans Ollama, activez-le en définissant la variable d’environnement suivante avant le lancement :

    OLLAMA_FLASH_ATTENTION=1 ollama serve

    Sur macOS, vous pouvez le rendre permanent avec : launchctl setenv OLLAMA_FLASH_ATTENTION 1

    Redémarrez ensuite Ollama. L’accélération est surtout visible sur les prompts longs ou avec des fenêtres de contexte étendues.

  3. Limitez la taille du contexte. Travailler avec une très grande fenêtre de contexte (par exemple 128k tokens) est coûteux. Sauf besoin spécifique, maintenez le contexte à une taille raisonnable (8k–32k) pour préserver la vitesse.

Bonus : modèles frontier dans Ollama

Créer un compte gratuit sur ollama.com donne accès aux modèles cloud : de grands modèles de niveau frontier (jusqu’à 480B paramètres) tournant sur le matériel des datacenters d’Ollama, sans toucher à votre machine locale. L’expérience est transparente, les modèles cloud se comportent exactement comme les modèles locaux et utilisent les mêmes commandes CLI. Ollama ne conserve pas vos données.

Les modèles cloud disponibles au moment de la rédaction incluent qwen3-coder:480b-cloud, gpt-oss:120b-cloud, gpt-oss:20b-cloud et deepseek-v3.1:671b-cloud.

De la création de compte au premier lancement en 3 étapes :

1. Créez un compte sur ollama.com, puis connectez-vous depuis votre terminal :

ollama signin

2. Téléchargez un modèle cloud (pas de gigaoctets à télécharger, juste une référence) :

ollama pull gpt-oss:120b-cloud

3. Lancez-le exactement comme un modèle local :

ollama run gpt-oss:120b-cloud

C’est tout. Le suffixe -cloud dans le nom du tag est la seule différence avec un modèle local. Vos outils existants, appels API et configurations agentiques fonctionnent sans aucune modification.

Note Le niveau gratuit couvre les modèles cloud plus petits. Les plus grands (par exemple qwen3-coder:480b-cloud) peuvent nécessiter un abonnement payant. Consultez ollama.com/pricing pour les limites actuelles.

2. Codage agentique

Discuter avec un modèle est idéal pour l’exploration, mais le vrai gain de productivité pour les ingénieurs réside dans le codage agentique : laisser un modèle lire votre codebase de manière autonome, planifier des modifications, écrire du code, exécuter des tests et itérer. C’est là que les modèles locaux commencent à devenir vraiment utiles au quotidien.

Ollama expose une API compatible OpenAI, ce qui signifie que la plupart des outils de codage agentique supportant des endpoints personnalisés fonctionneront directement. Pour l’utiliser avec Claude Code (l’agent CLI d’Anthropic), utilisez la commande suivante :

ollama launch claude --model qwen3.6:35b-a3b-nvfp4

Cela indique à Claude Code d’utiliser l’API Ollama au lieu des serveurs d’Anthropic, avec votre modèle local comme backend.

Vous pouvez maintenant exécuter vos workflows avec ce LLM local 😎

Avertissement : Le premier prompt sera lent, comme pour la session précédente. Donnez-lui une vraie chance sur un petit codebase pour commencer.

J’en profite pour suggérer d’utiliser un agent plus léger, plus sûr et plus simple que claude-code, comme Pi, Crush, OpenCode. J’utilise personnellement crush car :

  • Il est basé sur Go (et avec la quantité de vulns JS et d’attaques supply-chain ces jours-ci…)
  • Il est agréable esthétiquement
  • Il ne cache pas le processus de réflexion du LLM
  • Il permet de passer rapidement d’un modèle à un autre (frontiers, locaux, multi-providers, etc)

Workflow recommandé

Un modèle local ne remplace pas un modèle frontier dans un setup agentique ; c’est un exécuteur économique pour des tâches bien définies et granulaires. La clé est de structurer votre workflow pour que chaque outil soit utilisé là où il excelle.

Voici l’approche que je trouve la plus efficace :

1. Ancrez l’agent dans votre codebase. Avant de commencer toute tâche, faites analyser la codebase par l’agent et produire un fichier AGENTS.md. Ce document résume la structure du projet, les modules clés, les conventions utilisées et les points d’entrée qu’un agent doit connaître pour naviguer dans le code de manière autonome. C’est un investissement unique par projet qui rapporte à chaque session agentique.

2. Planifiez avec un modèle frontier. Pour toute fonctionnalité ou refactoring non trivial, utilisez un modèle frontier (Opus 4.x, Kimi 2.6, GLM5.1, Qwen3.6 Plus) pour produire le plan de haut niveau. Les modèles frontier sont meilleurs pour raisonner sur les compromis architecturaux, comprendre les exigences ambiguës et produire des stratégies multi-étapes cohérentes. Cette étape est peu coûteuse (un seul prompt) et fixe la direction.

3. Décomposez le plan en étapes détaillées et atomiques. Prenez le plan de haut niveau et décomposez-le en sous-tâches petites et bien délimitées. Chaque étape doit être réalisable en un seul passage agentique avec un contexte limité. Cette décomposition peut elle-même être effectuée par un modèle, soit le frontier de l’étape précédente, soit un modèle local de niveau intermédiaire.

4. Exécutez les étapes avec votre modèle local. Confiez maintenant chaque étape atomique à votre modèle local via l’interface de codage agentique. Parce que la tâche est bien définie et autonome, un modèle local capable (27B–35B, bien quantizé) peut l’exécuter de manière fiable sans la capacité de raisonnement étendue d’un modèle frontier. Vous gardez le contrôle total, rien ne quitte votre machine et le coût est nul.

Ce pattern — planifier en grand à distance et exécuter en petit localement — vous donne le meilleur des deux mondes.

Bonus : accéder à votre machine puissante depuis n’importe où

Vous avez une machine puissante chez vous et souhaitez l’exploiter depuis votre poste de travail, votre téléphone ou un ordinateur portable léger ? Un VPN mesh personnel est la solution la plus propre.

Installez Netbird (🇪🇺) ou Tailscale (🇺🇸) sur tous vos appareils et connectez-vous avec le même compte. Voici le processus d’installation de Netbird sur macOS :

brew install --cask netbirdio/tap/netbird-ui sudo netbird service install sudo netbird service start

Ouvrez l’interface graphique de Netbird et cliquez sur Connect (macOS : clic droit sur l’icône de la barre de menu). Assurez-vous d’autoriser l’envoi et la réception de connexions.

Répétez cette configuration sur toutes les machines à connecter, puis visitez https://app.netbird.io/peers. Vous devriez voir tous vos appareils connectés listés avec leurs adresses IP privées attribuées.

Ensuite, configurez Ollama pour écouter sur toutes les interfaces réseau afin d’être accessible à distance. Sur macOS :

launchctl setenv OLLAMA_HOST "0.0.0.0:11434"

Redémarrez Ollama. Vous pouvez maintenant pointer n’importe quelle interface de codage agentique sur votre ordinateur portable ou téléphone vers http://<ip-machine-maison>:11434 et faire tourner votre stack de modèles locaux à distance, sans aucun fournisseur cloud dans la boucle.

Pour conclure

Les modèles locaux sont un outil vraiment passionnant pour les ingénieurs, mais les aborder avec les bonnes attentes est primordial.

N’attendez pas les performances d’un modèle frontier. Les modèles locaux se sont considérablement améliorés, mais un modèle 30B quantizé n’est pas Claude Sonnet. Pour le raisonnement complexe, les décisions d’architecture ou le débogage subtil, les modèles frontier ont toujours une longueur d’avance. L’objectif n’est pas de les remplacer, mais de réduire votre dépendance à leur égard pour la bonne catégorie de tâches.

Combinez plutôt que remplacez. Les configurations les plus productives utilisent les modèles locaux comme exécuteurs à haut débit et coût nul pour les sous-tâches bien définies, tout en réservant les appels aux modèles frontier pour la planification, l’évaluation et tout ce qui requiert un jugement nuancé. Pensez-y comme déléguer à un développeur junior rapide qui exécute de manière fiable quand on lui donne des instructions précises.

Restez à la page. L’écosystème des modèles locaux évolue rapidement. De nouvelles familles de modèles apparaissent chaque mois, les techniques de quantization s’améliorent et les moteurs d’inférence sont toujours plus rapides. Restez curieux : tirez régulièrement un nouveau modèle, essayez une interface agentique alternative et revisitez votre workflow. Ce qui semblait lent il y a six mois tourne peut-être maintenant parfaitement sur votre matériel actuel.

Dans cet esprit, je partage l’opinion de Julien Chaumond : certains modèles comme Qwen3.6 27B semblent très proches d’atteindre les performances de Sonnet ou Opus pour le codage agentique déterministe.

La barrière à l’entrée n’a jamais été aussi basse. Commencez petit, itérez et forgez-vous votre propre opinion.