Blog de Ludovic Baillet

Astronomie, informatique et science

Le potentiel énorme des modèles locaux d’IA

Utiliser des modèles d’IA locaux : une solution simple, efficace et confidentielle

Vous êtes à court de tokens, ou vous souhaitez poser une question à une IA sans exposer vos données à un service en ligne ? Il existe une solution très efficace : faire tourner un modèle d’IA en local, directement sur votre machine. Bonne nouvelle : aujourd’hui, c’est devenu extrêmement simple.

Ollama : l’outil qui simplifie tout

Il suffit d’installer Ollama, un petit logiciel qui permet de télécharger et d’exécuter des modèles localement, sans configuration compliquée. Une fois installé, vous chargez un modèle et vous pouvez immédiatement commencer à interagir avec lui.

Quels modèles utiliser ?

Voici ceux que je recommande, selon votre matériel :

  • Qwen 3.5 – 4B Léger, fonctionne très bien uniquement sur CPU. Idéal pour tester ou pour les machines sans GPU.
  • Qwen 3.5 – 9B Très bon modèle, mais nécessite une carte graphique avec au moins 16 Go de VRAM.
  • Gemma 4 – 12B Excellent également, même contrainte : 16 Go de VRAM minimum.

Une carte graphique haut de gamme (type Nvidia 5080) n’est pas obligatoire. On peut tout à fait utiliser un modèle local uniquement avec le CPU, à condition qu’il soit suffisamment puissant.

Que peut-on espérer d’un modèle local ?

1. Pas un chatbot… mais on peut en faire un

Un modèle local ne gère pas automatiquement une conversation comme ChatGPT. Il répond à la dernière requête, point. Mais rien n’empêche de lui renvoyer un résumé des échanges précédents pour simuler un vrai chatbot. Ce résumé peut d’ailleurs être généré… par le même modèle.

2. Qualité des réponses

Sur les modèles cités, on obtient un niveau que je situerais autour de ChatGPT‑4 / ChatGPT‑5, ce qui est largement suffisant pour une grande variété de questions. En revanche, on n’atteint pas le niveau des modèles cloud haut de gamme comme Gemini 3.x Pro ou Claude 4.x Sonnet/Opus.

3. Performances : CPU vs GPU

  • Sur CPU uniquement Avec un processeur 20 threads (10 cœurs multithreadés) à 3.5 GHz et Qwen 3.5:4B, on obtient environ 5 tokens par seconde. Ce n’est pas fulgurant, mais c’est parfaitement utilisable.
  • Avec une carte graphique Nvidia 5080 Sur des modèles comme Qwen 3.5:9B ou Gemma 4:12B, on change complètement d’échelle : 50 à 100 tokens par seconde. Là, on obtient une expérience très fluide, proche des modèles cloud.

Exemples

Je me suis fait une petite application de type WPF en langage C# afin de pouvoir écrire mon prompt et de voir en temps réel la réponse du modèle choisi.

1/ Une demande en anglais pour faire du code golf en langage python. Le modèle applique des astuces classiques, comme transforme le while True en while 1, et il essaye de toute mettre sur une ligne pour économiser des espaces. Le résultat final fonctionne. Ce n’est pas la solution optimale, mais le travail est quand même fait.

Code golf en python via une IA locale : Gemma4:12B

2/ Un test de raisonnement astucieux : un lave-auto est situé à 100 mètres : faut-il y aller à pied ou en voiture ?

Teste de logique avec une IA locale : Qwen3.5:9B

    Qwen 3.5 9B se plante en répondant qu’il faut y aller à pied.

    3/ Le même test soumis à Gemma 4:12B

    Teste de logique avec une IA locale : Gemma4:12B

    Gemma 4:12B fait un sans faute en ayant remarqué qu’il y avait une astuce. Il a probablement été entraîné pour détecter ces questions piège.

    Testés sur bien d’autres petites questions variées, les 2 modèles ont répondu correctement.

    • Que vaut la racine cubique de 27 ?
    • Quel est le mot le plus long de la langue française ?
    • Quel était le Président de la France en 1800 ?
    • Qu’est-ce qu’un nombre complexe déployé (split-complexe number en anglais) ?
    • Quel algorithme de tri est le plus efficace pour trier une liste en programmation logicielle ?
    • Pourquoi Paris s’appelle la ville lumière ?
    • Quelle est la longueur maximale d’un câble ethernet ?
    • Quelle est la plus grande étoile connue ?
    • L’orge possède combien de chromosomes ?

    En revanche, Qwen 3.5:9B a échoué sur une question pourtant triviale : « Combien y a‑t‑il de caractères dans le mot chat ? »

    Le modèle s’est enlisé dans une boucle de réflexion inutile, se demandant s’il existait un e muet ou une variante orthographique, et a fini par consommer les 32 000 tokens de sortie sans jamais donner la réponse. À l’inverse, Gemma 4:12B a répondu immédiatement et correctement.

    Ce genre de comportement montre que même les bons modèles locaux peuvent parfois “sur‑analyser” une question simple, surtout lorsqu’ils sont configurés avec une température basse ou une fenêtre de contexte large.

    Malgré ces rares ratés, il faut reconnaître que la quantité de connaissances que l’on peut extraire de modèles de seulement quelques milliards de paramètres est impressionnante. Ils sont capables de fournir des réponses pertinentes sur une grande variété de sujets – mathématiques, histoire, astronomie, biologie, informatique, linguistique – avec une aisance qui, il y a encore quelques années, aurait nécessité des modèles cloud beaucoup plus lourds.

    En résumé : L’IA locale est la solution idéale pour ceux qui cherchent de l’autonomie, de la confidentialité et une alternative gratuite aux abonnements mensuels.

    🎉 Dix ans sur CodinGame : un investissement qui a tout changé

    Il y a dix ans exactement, en pleine transition professionnelle, je m’inscrivais sur CodinGame.

    Je ne le savais pas encore, mais je venais de prendre l’une des meilleures décisions de ma carrière.

    À l’époque, je cherchais un moyen de progresser réellement : pas seulement apprendre un nouveau framework, mais renforcer mes fondations, ma capacité à réfléchir, à modéliser, à optimiser. CodinGame cochait toutes les cases. Alors j’ai commencé à enchaîner les exercices, les puzzles d’algorithmique, les défis de performance, les compétitions annuelles… et j’ai tenu le rythme.

    Avec le recul, cet investissement a été colossal.
    Des centaines d’exercices, des centaines de milliers de lignes de code, des journées à traquer un bug ou à grappiller quelques millisecondes ou de simples octets, à ne rien lâcher. Mais surtout, une progression continue :
    – j’ai amélioré ma vitesse d’exécution,
    – j’ai appris à travailler efficacement dans plusieurs langages,
    – j’ai gagné en autonomie,
    – et, surtout, j’ai renforcé ma capacité de résolution de problèmes, ce qui reste à mes yeux le gain le plus précieux.

    Aujourd’hui, je suis classé 14e au classement général, 2e en optimisation, et 3e en taille de code.
    Pour les curieux, mon profil est ici :
    👉 https://www.codingame.com/profile/5314bd6220edf7561724c1e00140257a2839931

    Entre-temps, l’IA est arrivée et a changé ma manière de travailler.
    Je code toujours, mais différemment. Les IA ne codent pas à ma place : je les pilote. Elles m’assistent, vérifient, complètent, m’aident à accélérer. Elles sont redoutablement efficaces sur les tâches où je suis moins à l’aise ou moins performant. Résultat  : ma productivité a augmenté, et mes résultats aussi.

    Dix ans plus tard, je regarde le chemin parcouru avec gratitude.
    CodinGame m’a offert un terrain d’entraînement unique, exigeant, stimulant. Un espace où j’ai pu progresser à mon rythme, me dépasser, et découvrir une communauté passionnée.

    codingame - 14e - gourou

    Et ce n’est pas fini.

    Que penser de Claude Code Security ?

    Claude Code Security vient d’être annoncé. Présenté comme un module de cybersécurité automatisée alliée à la génération de code. Anthropic n’est pas avare d’éloges : « our team found over 500 vulnerabilities in production open-source codebases – bugs that had gone undetected for decades, despite years of expert review ».

    Wow. Dans la foulée, les actions des entreprises de cybersécurité dévissent, comme si le match était plié.

    Et pourtant. Quelle entreprise devant garantir que ses logiciels sont exempts de défaut de sécurité ferait confiance à une IA, maintenant ou même dans 10 ou 20 ans ?

    Dans le célèbre film 2001, l’odyssée de l’espace, le super-ordinateur de bord CARL 500 (HAL 9000 en version d’origine) explique qu’il n’y a jamais eu jusqu’à aujourd’hui un ordinateur de génération CARL ayant fait une erreur. Mais c’est un film.

    De nos jours les IA génératives sont très utiles pour produire beaucoup de contenus. Mais font de grossières erreurs, hallucinent, etc. Et même pire : du fait même de leur fonctionnement probabiliste, elles peuvent passer à côté d’un unique problème. Contrairement à un logiciel de recherche de vulnérabilité dédié qui lui peut garantir qu’il a étudié toutes les cas possibles d’un code source donné pour une liste de vulnérabilités recherchées explicitement. La différence entre une recherche statistique et une recherche exhaustive. Mais en manière de sécurité on ne peut pas compter sur la chance.

    Pour autant, tout n’est pas à jeter.

    1/ Déjà si les IA pouvaient produire du code moins risqué, ce serait un premier pas dans le bon sens.

    2/ Allier les résultats des logiciels de recherche de vulnérabilités avec des serveurs MCP, ce serait une belle avancée. En effet, l’IA peut alors être utilisée intelligemment pour par exemple déterminer quel(s) composant(s) remplacer, ce qu’il faudrait corriger en priorité, etc. Bref, que les logiciels de sécurité fournissent de la donnée utilisable par les IA, et que les IA en profitent pour fournir davantage de valeur.

    Trouver 500 vulnérabilités dans des dépôts publics n’est pas un exploit. Les logiciels spécialisés sur lesquels je travaille en voient passer des quantités autrement plus élevées.

    Comme on le voit, les Nostradamus des temps modernes prédisent que l’IA va tout remplacer. Le discours est lancinant. En réalité, tous les domaines vont s’imprégner de l’IA pour accroître la valeur ajoutée.

    Copilot-ChatGPT – La bataille perdue ?

    ChatGPT 5.1 est sorti en novembre 2025. Il est maintenant utilisé en tant que modèle « Smart » de Copilot sous Windows 11. Beaucoup de voix se sont élevées sur le fait que le modèle serait peu différent des versions précédentes. Alors que les modèles récents de Claude et Gemini seraient largement meilleurs.

    Et pendant ce temps, Microsoft se demanderait pourquoi les gens n’utilisent presque pas Copilot. Alors que l’usage de Claude et Gemini progresse quand ChatGPT stagne, voire régresse.

    Or, la détestation de Copilot est carrément devenu un mème sur Internet:

    Évolution de l'icône de la corbeille sous Windows, Copilot finaliste

    Il faut dire que Microsoft met le paquet pour se faire détester : fin de vie anticipée de Windows 10, mises à jour défaillantes en pagaille, publicité à outrance de ses propres produits, « intelligence » artificielle poussée dans tous les recoins et générant des tas de crashs (l’explorateur de fichier est ainsi devenu un monstre de lenteur qui crashe à tout bout de champ).

    Alors, le ChatGPT 5.1 de Copilot, vraiment nul ? Plutôt oui. Les bonnes réponses de Copilot sont très rares (du moins en dehors des questions simples).

    Prenons le cas du Code Golf en mode débutant et demandons à Copilot comment réduire le code java verbeux de base (mais sans renommer le nom du type, ni utiliser la JEP 512 « Compact Source Files and Instance Main Methods » de java 25 ou autres previews) :

    class Solution{public static void main(String[] a){}}

    C’est avec un culot et un aplomb jamais vu que Copilot répond :

    Copilot (ChatGpt 5.1) raconte n'importe quoi avec aplomb

    Voilà : class Solution{publicstaticvoidmain(String[]a){}} au motif que java accepterait publicstaticvoidmain sans espaces avec pour preuve : Les mots-clés sont reconnus sans séparateurs tant qu’ils ne forment pas un identifiant valide.

    Heureusement, Copilot mentionne en bas de l’écran et en petits caractères qu’il peut faire des erreurs. Il ne croit pas si bien dire. On se demande plutôt quand est-ce qu’il n’en fait pas ?

    Au gré des réponses, Copilot peut tenter une autre approche tout alliant la mauvaise foi, le mensonge et le tout sans savoir compter :

    Copilot ne sait pas compter

    Voilà, il suffisait d’y penser :

    class Solution{public static void main(String…a){}}

    Donc produire un code éventuellement plus long et s’arrêter de compter à la longueur voulue. L’alliance du mensonge et de la mauvaise foi.

    Même Deepseek se débrouille mieux, c’est pour dire, en répondant instantanément correctement. Et de lui-même il explique comment il est parfois possible de descendre à 48 caractères.

    Bien sûr Gemini 3 Pro et Claude Sonnet 4.5 répondent rapidement parfaitement.

    Grok répond aussi correctement, mais avec un bon délai de réflexion.

    Mistral est du même niveau que Copilot/ChatGPT en alliant lui aussi mensonge et mauvaise foi, mais à la décharge de Mistral, l’entreprise n’est pas valorisée en centaines de milliards de dollars.

    Mistral qui allie mensonge et mauvaise foi dans ses réponses

    Perplexity est plus honnête : il ne trouve pas la solution, affirme avoir étudié le cas de la variante avec des arguments variables, mais reconnaît que ça prend plus de place.

    Bref, la situation de ChatGPT et de Copilot est fort délicate. Si cette IA ne se met pas rapidement au niveau de Claude et Gemini, la prophétie d’une bulle de l’IA pourrait devenir réalité puisque les investissement colossaux pourraient ne jamais être rentabilisés.

    Logiciel Éphéméridium, nouvelle version majeure

    Le logiciel Éphéméridium est un logiciel de production d’éphémérides astronomiques de haute précision. Jusque là écrit en C++ 98, avec une interface à base de MFC, et une architecture 32 bits, il vient d’être modernisé. La nouvelle version 0.2 est en effet achevée. Le logiciel a été intégralement réécrit en C++ 23 et doté d’une interface moderne de type C++/WinUI 3 et même responsive design. Il cible bien sûr le 64 bits. De plus, il est intégralement compilé en UTF-8 (avec toutefois le cœur de l’interface WinUI qui est en UTF-16, {la vie n’est pas simple}) ce qui représente un saut qualitatif intéressant.

    Voici la nouvelle interface, similaire à la version d’origine, mais plus épurée et moderne :

    Capture d'écran du logiciel Éphéméridium - Écran général

    Et l’incontournable boîte de dialogue À propos de :

    Capture d'écran du logiciel Éphéméridium - À propos de.

    Cette boîte montre l’usage de caractères unicode. Il faut dire que ça se fait sans difficulté avec cette nouvelle interface C++ / WinUI.

    Pour plus de détail sur cette transformation intégrale, consulter la page : nouvelle version 0.2 du logiciel Éphéméridium.

    Compétition d’IA en C++

    L’intelligence artificielle (IA) se fait toujours plus présente, 3 ans après la révélation ChatGPT 3.5. Les promesses autour de l’IA sont aujourd’hui démesurées. Beaucoup d’articles de presse prédisent la disparition de nombreux emplois grâce à ces IAs magiques. Les investissements dans les IAs sont absolument considérables. On assiste même à une pénurie de composants (mémoire RAM et disques SSD notamment) dont les prix ont flambé du fait des capacités de production acquises pour former à marche forcée et à tout prix les prochaines générations d’IAs.

    De mon côté je suis un utilisateur assidu de ces IAs. Car elles ont parfois des facultés extraordinaires. Mais elles sont encore très loin d’être infaillibles. Elles continuent d’affirmer énormément de choses fausses avec un aplomb incroyable. Bref, le remplacement des humains par des IAs ou par des agents n’est certainement pas pour demain (ni après-demain manifestement). Les IAs devraient encore rester pour un bon moment de simples outils au services des humains sachant s’en servir intelligemment.

    Pour un logiciel écrit en C++, j’avais besoin d’une fonction permettant de formater un nombre à virgule flottante sous forme de chaîne de caractères dans le style français, c’est-à-dire qui utilise la virgule plutôt que le point et qui sépare les groupes de 3 chiffres par des espaces insécables. J’ai proposé cette tâche à différentes IAs afin de les comparer.

    J’ai précisé pour ce défi : je compile avec Visual Studio 2026, en mode C++ 23 dans un projet C++/WinUI et en ayant activé l’option de compilation /utf-8.

    Ce dernier point s’avère être un sérieux piège. De plus on pourrait penser à un problème simple. C’est au contraire un problème compliqué. Car la STL ne fournit pas ce genre de fonctionnalité en standard. Par ailleurs la gestion des espaces insécables pose problème avec du code C++ compilé avec l’option /utf-8.

    Quelques informations sur les comportements.

    Gemini 3 Pro a tenté 3 fois avec du code qui ne compilait pas, puis avec un code qui plantait à l’exécution. Et enfin s’est fait piéger par le coup des espaces insécables et du flag /utf-8.

    Mauvais encodage des espaces insécables

    Bref, Gemini 3 Pro a réussi au 6e coup, mais au final avec un code élégant.

    Claude Sonnet 4.5 a réussi au 2e coup mais avec un code verbeux. Beau joueur, il reconnaît que la solution de Gemini est nettement meilleure.

    Copilot a longuement échoué avant de pondre une solution assez verbeuse.

    ChatGPT (5.1 ou 5.2) a commencé par échouer comme les autres avec ce problème d’espace insécable en conflit avec le flag /utf-8. Puis a fourni une solution qui ne compilait pas à cause d’un code déprécié depuis C++ 17. Il a finalement réussi au 3e essai. Mais avec un code verbeux.

    Deepseek a commencé par échouer comme les autres, puis a proposé du code qui ne compilait pas avant de sombrer et de promettre en permanence que ses nouvelles solutions allaient fonctionner. Au bout du 6e essai, il a rendu les armes. Un vrai naufrage.

    Grok (mode automatique) a dû flairer la difficulté mieux que les autres. Il a mis environ 2 minutes avant de répondre. Non seulement il a répondu correctement (et donc du premier coup), mais il a fourni une réponse bien plus correcte que les autres. Voici sa propre explication claire et nette :

    Le fait que je sois le premier à avoir correctement géré les groupes de 3 après la virgule, c’est précisément parce que j’ai bien lu ta contrainte typographique française : en France, on regroupe par trois des deux côtés de la virgule, avec des espaces insécables. La plupart des IA (même les bonnes) se contentent de gérer l’entier et oublient la partie décimale, ou font l’inverse (groupes à gauche seulement).

    Donc Grok est bien la surprise.

    J’ai redemandé aux IAs (sauf Deepseek) une version respectant toutes les contraintes et ont réussi rapidement.

    Au final le code de Gemini apparaît concis et limpide. Contrairement à tous les autres. Grok, lui-aussi beau joueur, reconnaît que Gemini mérite pour ça une première place ex æquo ou très légère avance.

    Voici donc le classement:

    1/🥇 Gemini (solution claire, efficace, mais laborieux)
    1/🥇 Grok (fonctionnel du premier coup, mais solution ultra verbeuse)
    3/🥉 Claude (plusieurs itérations nécessaires)
    4/🏅 Copilot & ChatGPT (nombreuses itérations nécessaires)
    5/💥 Deepseek (naufrage et abandon)

    Résultat de la compétition entre IAs
    Image générée par Nano Banana

    Nouveau logiciel : Astrosynium

    Je présentais jusque là 2 logiciels d’astronomie : Héclium (un simulateur d’éclipses solaire) et Éphéméridium (un logiciel produisant des éphémérides astronomiques de haute précision).

    Voici mon 3e logiciel d’astronomie : Astrosynium. C’est un planétarium ou logiciel de cartographie stellaire.

    Logiciel Astrosynium - interface principale

    Intégralement écrit en C++ 23 pour des performances optimales, il est doté d’une interface moderne grâce au framework C++/WinUI et possède une performance de dessin élevée grâce à l’utilisation de Direct2D.

    Voici un exemple montrant l’interface moderne du logiciel :

    Logiciel Astrosynium - Boîte de dialogue 'à propos'

    Prochaine étape : créer un ambitieux catalogue unifié d’étoiles à partir des catalogues les plus récents (BSC, Hipparcos, Tycho et Gaia). Ce travail est dévolu à de petits programmes en C# et C++.

    L’advent of code 2025 est déjà terminé

    Le traditionnel Advent of Code se termine déjà en ce 12 décembre 2025.

    Advent of code 2025 complété

    Mais on aura quand même eu droit à des exercices intéressants par exemple celui sur les tachyons ou celui concernant la recherche conditionnelle dans l’exploration de graphes basés sur des dictionnaires.

    Fuite de mémoire cachée

    Votre PC qui marchait très bien jusque là vient de passer sa limite de garantie et se met tout à coup à ramer ?

    Vous regardez alors le gestionnaire de tâches et vous voyez qu’effectivement la mémoire est saturée, il y a énormément d’applications actives, mais aucune ne semble vraiment fautive. Et donc impossible de comprendre le problème.

    Il est temps d’utiliser un outil plus efficace : process explorer. Voici ce que ça donne sur un cas récent :

    Fuite de mémoire dans un service de Dell (ServiceHell.exe)

    ServiceShell.exe est un service créé par l’entreprise Dell. Il est utilisé pour les mises à jour automatiques, les diagnostics et le dépannage des ordinateurs Dell. Mais il est surtout connu sur Internet pour ses fuites de mémoire.

    Ici, la particularité est que l’on ne peut pas diagnostiquer cette fuite de mémoire avec le gestionnaire de tâches de Windows. Dans mon exemple, on ne voit la fuite de 37 Go qu’en utilisant le process explorer.

    On pourrait donc blâmer Windows qui a un gestionnaire de tâches incomplet. Mais au moins il existe des outils permettant de détecter quels logiciels font n’importe quoi.

    Après m’être occupé de ce ServiceShell, mon PC a retrouvé sa performance d’origine.

    Situation des IAs génératives

    13 mois après mon article Les erreurs de ChatGPT et autres IAs il est temps de faire un point sur la situation car dans le domaine des Intelligences Artificielles génératives, car ça bouge vite.

    D’abord je vais donner ma propre classification sur les IAs :

    1/ Gemini 2.5 Pro
    2/ Claude 4.5
    3/ ChatGPT 5

    Derrière, DeepSeek, Grok et même Perplexity (notamment pour le navigateur Comet) ne sont pas inintéressants.

    Il est hélas encore commun de devoir reprendre une IAs sur des fautes basiques. Y compris pour Gemini. Exemple quand il n’arrive pas à compter jusque 7 :

    Gemini pris en faute

    Et ça arrive régulièrement, ici pour un minuscule test permettant de séparer 2 groupes de nombres composés de moins de 10 éléments :

    Gemini encore en faute

    On peut aussi noter le fort caractère de Gemini qui a tendance à ne rien lâcher même devant un monceau d’arguments en sa défaveur. Ce comportement est assez loin de la flagornerie que l’on retrouve chez d’autres IAs :

    Le caractère trempé de Gemini

    Malgré tout, que des IAs commettent des erreurs, après tout, ce n’est pas si éloigné du comportement humain.

    Le plus intéressant, c’est qu’il me semble que la nouvelle génération commette moins d’erreurs. Tout en étant capable de véritables prouesses dans un grand nombre de domaines. Par exemple, à partir d’une longue description, Claude est parfaitement capable de créer un outil de visualisation ou d’édition d’environ 800 lignes de HTML/CSS/javascript en moins de 20 secondes. Et ça fonctionne du premier coup, ou avec des retouches mineures au 2e/3e coup. C’est vraiment remarquable. Pour des problèmes très complexes, Gemini est souvent d’un grand secours.

    Alors, l’humain a t-il perdu la bataille contre la machine ? Revivons-nous une nouvelle histoire comme celle de John Henry ? Est-il futile pour les humains de continuer à programmer ou faut-il laisser les claviers aux IAs ?

    La réponse est clairement NON pour le moment. En fait les IAs sont déjà devenues de vrais assistants dans l’industrie logicielle pour améliorer la productivité. Comme je l’ai mentionné avant, coder une interface de quelques centaines de lignes est devenu trivial pour IA. Tout comme créer ou compléter des tests unitaires, aider à la transformation logicielle, etc.

    Mais il reste encore des secteurs réservés aux humains : ceux de la pure créativité. En compétition de programmation, les humains restent encore devant, que ce soit sur des exercices d’optimisation ou encore par exemple de Code Golf.

    Page 1 of 5

    Fièrement propulsé par WordPress & Thème par Anders Norén