[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-settings":3,"article-slm-on-device-2026":15},{"email":4,"phone":5,"bio":6,"addressCity":7,"addressCountry":8,"socialGithub":9,"socialLinkedin":10,"socialMedium":11,"availabilityStatus":12,"availabilityMessage":13,"isAvailable":14},"contact@aitaddajuba.fr","+33 6 95 21 71 97","Développeur fullstack chez DeviProp, j'accompagne les produits SaaS de la conception à la production. Passionné par l'architecture backend, je conçois des solutions robustes et évolutives en travaillant main dans la main avec les équipes produit et design.","Paris","France","https://github.com/jubskan3ki","https://www.linkedin.com/in/juba-aitadda/","","available","Ouvert aux opportunités CDI & missions freelance",true,{"id":16,"title":17,"slug":18,"seoTitle":19,"metaDescription":20,"excerpt":21,"content":22,"image":216,"category":217,"tags":218,"date":225,"updatedAt":226,"readTime":227,"views":228,"isPublished":14},22,"SLM on-device en 2026 : l'IA quitte le cloud pour votre machine","slm-on-device-2026","SLM on-device 2026 : IA locale avec Ollama et WebGPU","Les Small Language Models tournent en local : laptop, mobile ou navigateur via WebGPU. Ollama, quantification et IA embarquée, privée et hors-ligne.","Les Small Language Models tournent désormais en local : sur un laptop, un téléphone ou dans un onglet de navigateur via WebGPU. Tour d'horizon d'Ollama, de la quantification et de l'IA embarquée, privée et hors-ligne.",[23,26,28,31,35,44,46,48,81,83,86,88,110,112,114,116,120,122,125,127,129,135,137,139,141,145,147,149,155,157,159,193,195,199,201,203,210,212,214],{"type":24,"content":25},"paragraph","# SLM on-device en 2026 : l'IA quitte le cloud pour votre machine",{"type":24,"content":27},"Pendant trois ans, le réflexe a été le même : pour faire de l'IA, on appelle une API distante - OpenAI, Anthropic, Mistral. Mais en 2026, une contre-tendance s'installe. Les **SLM** (*Small Language Models*), des modèles de 1 à 8 milliards de paramètres, tournent désormais directement sur un laptop, un téléphone, voire dans un onglet de navigateur via **WebGPU**. Moins puissants que les géants, mais **locaux, privés, gratuits à l'usage et hors-ligne**, ils redéfinissent ce qu'on peut embarquer dans une application.",{"type":29,"content":30},"blockquote","**En une phrase** : tout n'a pas besoin de GPT-5. Une bonne partie des tâches IA réelles tient dans un modèle de 3 Go qui tourne sur la machine de l'utilisateur.",{"type":32,"level":33,"content":34},"heading",2,"TL;DR",{"type":36,"items":37,"ordered":43},"list",[38,39,40,41,42],"Un **SLM** (~1 à 8 B paramètres) tient en mémoire sur du matériel grand public grâce à la **quantification**.","**Ollama**, **llama.cpp** et **LM Studio** rendent l'exécution locale triviale, avec une API compatible OpenAI.","**WebGPU** + WebLLM / Transformers.js permettent de faire tourner un modèle **dans le navigateur**, sans serveur.","Avantages : **vie privée**, **coût zéro à l'inférence**, **latence faible**, **hors-ligne**.","Limites : capacités de raisonnement plus faibles, fenêtre de contexte réduite, dépendance au matériel client.",false,{"type":32,"level":33,"content":45},"C'est quoi un « Small » Language Model ?",{"type":24,"content":47},"Il n'y a pas de seuil officiel, mais la convention en 2026 situe les SLM entre **~1 et ~8 milliards de paramètres** - contre des centaines de milliards pour les modèles *frontier*. Les familles les plus utilisées :",{"rows":49,"type":75,"headers":76},[50,55,60,65,70],[51,52,53,54],"**Llama 3.x**","1B / 3B / 8B","Meta","Polyvalence, écosystème",[56,57,58,59],"**Qwen 2.5/3**","0.5B à 7B","Alibaba","Multilingue, code",[61,62,63,64],"**Gemma 2/3**","2B / 9B","Google","Qualité/taille excellente",[66,67,68,69],"**Phi-3/4**","3.8B (mini)","Microsoft","Raisonnement « petit mais costaud »",[71,72,73,74],"**Mistral / Ministral**","3B / 7B / 8B","Mistral","Performances européennes, licences claires","table",[77,78,79,80],"Famille","Tailles typiques","Éditeur","Point fort",{"type":24,"content":82},"Le vrai déclic n'est pas seulement la taille des modèles : c'est la **quantification**.",{"type":32,"level":84,"content":85},3,"La quantification, clé de l'embarqué",{"type":24,"content":87},"Un modèle est entraîné en 16 bits par poids (`FP16`). Pour le faire tenir en mémoire, on **réduit la précision** des poids à 8, 4, voire 2 bits. Un modèle 7B passe ainsi de ~14 Go à **~4 Go** en `Q4`, avec une perte de qualité souvent minime.",{"rows":89,"type":75,"headers":106},[90,94,98,102],[91,92,93],"`FP16`","~14 Go","Référence, GPU costaud",[95,96,97],"`Q8_0`","~7,5 Go","Qualité quasi intacte",[99,100,101],"`Q4_K_M`","~4,4 Go","**Le bon compromis grand public**",[103,104,105],"`Q2_K`","~2,8 Go","Matériel très contraint, qualité dégradée",[107,108,109],"Format","Taille (modèle 7B)","Usage",{"type":29,"content":111},"**Règle de poche** : pour un confort correct, prévoyez de la RAM (ou VRAM) au moins égale à la taille du fichier quantifié + ~1 à 2 Go pour le contexte. Un `Q4` de 7B est confortable dès 8 Go de RAM.",{"type":32,"level":33,"content":113},"Ollama : l'outil qui a tout démocratisé",{"type":24,"content":115},"**Ollama** a fait pour les LLM locaux ce que Docker a fait pour les conteneurs : une commande, et ça tourne. Il enveloppe `llama.cpp`, gère le téléchargement, la quantification et expose une **API HTTP compatible OpenAI**.",{"type":117,"content":118,"language":119},"code","# Installer et lancer un modèle (téléchargement auto)\nollama run llama3.2:3b\n\n# Servir une API locale sur http://localhost:11434\nollama serve","bash",{"type":24,"content":121},"Côté code, on consomme ça comme l'API OpenAI - il suffit de changer l'URL de base :",{"type":117,"content":123,"language":124},"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  baseURL: \"http://localhost:11434/v1\",\n  apiKey: \"ollama\", // ignoré, mais requis par le SDK\n});\n\nconst res = await client.chat.completions.create({\n  model: \"llama3.2:3b\",\n  messages: [{ role: \"user\", content: \"Résume ce texte en 3 points.\" }],\n});\n\nconsole.log(res.choices[0].message.content);","js",{"type":24,"content":126},"L'intérêt : **votre code applicatif ne change pas** entre un SLM local et un modèle cloud. On peut basculer de l'un à l'autre selon le contexte (offline, données sensibles, coût).",{"type":32,"level":84,"content":128},"Le reste de la boîte à outils",{"type":36,"items":130,"ordered":43},[131,132,133,134],"**llama.cpp** - le moteur d'inférence C/C++ sous-jacent, portable jusque sur Raspberry Pi","**LM Studio** - une interface graphique pour explorer, télécharger et tester des modèles","**vLLM / TGI** - plutôt côté serveur, pour servir des SLM à plus grande échelle","**GGUF** - le format de fichier standard pour les modèles quantifiés",{"type":32,"level":33,"content":136},"L'IA dans le navigateur grâce à WebGPU",{"type":24,"content":138},"C'est la frontière la plus spectaculaire. **WebGPU** - désormais disponible dans les navigateurs modernes - donne au JavaScript un accès direct au GPU. Conséquence : on peut faire tourner un modèle **entièrement côté client**, sans le moindre serveur d'inférence.",{"type":24,"content":140},"Deux briques principales :",{"type":36,"items":142,"ordered":43},[143,144],"**WebLLM** - exécute des modèles de chat (Llama, Phi, Qwen) dans le navigateur via WebGPU, avec une API *compatible OpenAI*","**Transformers.js** (Hugging Face) - fait tourner des modèles ONNX (embeddings, classification, petits LLM) en WebGPU ou WASM",{"type":117,"content":146,"language":124},"import { CreateMLCEngine } from \"@mlc-ai/web-llm\";\n\n// Le modèle est téléchargé puis mis en cache dans le navigateur\nconst engine = await CreateMLCEngine(\"Llama-3.2-3B-Instruct-q4f16_1-MLC\");\n\nconst reply = await engine.chat.completions.create({\n  messages: [{ role: \"user\", content: \"Bonjour !\" }],\n});\n\nconsole.log(reply.choices[0].message.content);",{"type":24,"content":148},"Ce qui devient possible :",{"type":36,"items":150,"ordered":43},[151,152,153,154],"**Confidentialité totale** - les données ne quittent jamais l'appareil (santé, juridique, RH)","**Coût d'inférence nul** - c'est le GPU de l'utilisateur qui travaille, pas votre facture cloud","**Hors-ligne** - une PWA peut embarquer de l'IA sans connexion","**Pas de cold start serveur** - une fois le modèle en cache, tout est instantané",{"type":29,"content":156},"**Le revers** : le premier téléchargement du modèle (1 à 4 Go) est lourd, et les performances dépendent entièrement du GPU du client. WebGPU n'est pas encore uniformément disponible sur tous les navigateurs mobiles.",{"type":32,"level":33,"content":158},"Quand choisir un SLM local plutôt que le cloud ?",{"rows":160,"type":75,"headers":189},[161,165,169,173,177,181,185],[162,163,164],"**Vie privée**","Oui, données sur l'appareil","Non, transitent par un tiers",[166,167,168],"**Coût à l'usage**","Nul après téléchargement","Facturé au token",[170,171,172],"**Hors-ligne**","Oui","Non",[174,175,176],"**Latence**","Faible (local)","Dépend du réseau",[178,179,180],"**Qualité / raisonnement**","Correcte sur tâches ciblées","Supérieure",[182,183,184],"**Contexte long**","Limité","Très large",[186,187,188],"**Matériel requis**","À la charge du client","Aucun côté client",[190,191,192],"Critère","SLM local","LLM cloud",{"type":24,"content":194},"La bonne grille de lecture n'est pas « *local OU cloud* » mais **le bon modèle pour la bonne tâche** :",{"type":36,"items":196,"ordered":43},[197,198],"**SLM local** - classification, extraction, reformulation, résumé court, autocomplétion, assistants offline, traitement de données sensibles","**LLM cloud** - raisonnement complexe, agents multi-étapes, très long contexte, génération de code ambitieuse",{"type":29,"content":200},"**Pattern gagnant en 2026** : l'architecture *hybride*. Le SLM local gère le flux rapide et privé (90 % des requêtes), et on **escalade** vers le cloud uniquement pour les cas difficiles. Comme un cache, mais pour l'intelligence.",{"type":32,"level":33,"content":202},"Limites à garder en tête",{"type":36,"items":204,"ordered":43},[205,206,207,208,209],"**Raisonnement plafonné** - un 3B ne remplacera pas un modèle *frontier* sur les tâches complexes","**Fenêtre de contexte réduite** - souvent 4K à 32K tokens en pratique sur du matériel grand public","**Hétérogénéité matérielle** - l'expérience varie énormément entre un MacBook M-series et un PC d'entrée de gamme","**Poids de distribution** - embarquer un modèle dans une app, c'est plusieurs Go à télécharger et à mettre à jour","**Maintenance** - gérer les versions de modèles, les formats (`GGUF`, `MLC`, `ONNX`) et la compatibilité WebGPU ajoute de la complexité",{"type":32,"level":33,"content":211},"Conclusion",{"type":24,"content":213},"Les SLM on-device incarnent une bascule discrète mais profonde : après la course au plus gros modèle, voici venu **le temps du plus petit modèle qui suffit**. Grâce à la quantification, à Ollama et à WebGPU, l'IA devient une fonctionnalité **locale, privée et gratuite à l'usage** - exactement ce qui manquait pour l'intégrer partout, jusque dans une simple PWA.",{"type":24,"content":215},"Le cloud ne disparaît pas : il reste indispensable pour le raisonnement de pointe. Mais en 2026, concevoir une application IA sans se demander « *est-ce que ça peut tourner en local ?* » devient une occasion manquée - en coût, en confidentialité et en expérience utilisateur.","https://media.aitaddajuba.fr/article/slm-on-device-en-2026-lia-quitte-le-cloud-pour-votre-machine/article-3.webp","Intelligence Artificielle",[219,220,221,222,223,224],"LLM local","Ollama","PWA","SLM","WebGPU","edge AI","2026-06-14T17:03:36.044255+02:00","2026-06-14T17:03:36.211125+02:00",5,8]