De Claude à Qwen
Dossiers
2025-06-11
Contexte
Les IA sont disponibles gratuitement et publiquement depuis fin 2022. Pour ma part, j'ai commencé à m'y intéresser en 2024 et de manière plus détaillée fin 2024 autour des fêtes de Noël en me mettant à utiliser Cursor et Perplexity, puis en mettant en place Claude dans nos workflow dans mon entreprise HaiSoft, notamment pour faciliter l'intégration des factures fournisseurs et aider les techniciens à proposer des réponses plus claires pour répondre aux demandes clients.
Jusqu'à maintenant, je m'étais intéressé aux LLM utilisables par des API comme Perplexity, Claude ou Mistral. Malheureusement, avec ces API, nos prompts et parfois les données qui sont transmises (certains textes et les factures fournisseurs) sont transmises à ces fournisseurs par l'API, ce qui n'est pas une bonne idée pour la confidentialité des données et nous empêche d'utiliser certains types de données, notamment les données des clients, coordonnées ou liste de services.
Aussi, pour aller plus loin, depuis plusieurs semaines, je teste des LLM en local. Cela nous permettrait de pouvoir utiliser tous types de données sans risque de fuite. Au niveau du coût, ça reste plus facilement maîtrisable même si l'utilisation des API reste très peu coûteux, et cela permet surtout de tester de nombreux scénarios de manière différente.
Phi4
En mars 2025, j'ai commencé par tester Phi4-mini, un modèle de 3.8B (3.8 milliards de paramètres) proposé avec une licence MIT, qui permet d'utiliser des outils. Sur le papier, c'est un bon modèle, mais la réalité est un peu différente. Ce modèle répond vite mais souvent mal, et pour ce qui est de l'utilisation des outils, ça reste très aléatoire.
J'ai aussi testé son grand frère, Phi4, c'est un peu mieux, mais ça reste compliqué de faire quelque chose de fiable avec, et surtout, la taille de Phi4 m'empêche de l'utiliser sur le matériel que j'avais à disposition. Pour référence, voici la page Microsoft dédiée à la gamme Phi4 (en anglais).
Gemma3
En avril, j'ai décidé de faire un pas de plus, et j'ai acheté une carte graphique AMD RX7600 XT. Avec 16Go de VRAM, elle permet de faire tourner des LLM jusqu'à 20B, ce qui convient tout à fait pour le modèle Phi4.
Quand j'ai reçu cette carte, un nouveau modèle est sorti : Gemma3. J'ai beaucoup apprécié ce nouveau modèle, car il se décline en 4 modèles de 1B, 4B, 12B et 27B, et surtout, il inclue la vision, ce qui lui permet de prendre en compte les images.
J'ai donc pu le faire tourner en local, et tester ses capacités, et j'ai été très agréablement surpris : fiabilité, rapidité et il est même capable de décrire des images. Seul bémol : c'est un peu compliqué de lui faire lire des chiffres sur des images, et la taille des images n'est pas illimité (896x896).
Bien qu'officiellement, ça ne soit pas un modèle qui soit fait pour l'utilisation d'outils, Gemma3 est capable d'utiliser des outils facilement, et ça fonctionne plutôt bien.
Gemma3 est fait par Google et la documentation est déjà plus étoffée que celle de Phi4. On trouve une fiche modèle de Gemma3, ainsi qu'une page complète dédiée aux modèles Gemma, en open source en licence libre (rédigée par Google).
Pour moi, Gemma3 semblait tout à fait appropriée, et j'ai pu tester le modèle 12B. Je pensais pouvoir acheter une carte graphique de 24Go voire 32Go, quand je me suis heurté à une réalité : ma carte devait se retrouver dans un serveur, et les cartes AMD RX ne sont pas faites pour ça, car elle prennent plus de 3 slots, et sont trop longues pour rentrer dans un serveur Dell R740.
Carte graphique NVIDIA
Donc au moment d'acheter une carte graphique, pour mettre en place cet outil IA pour l'entreprise, j'ai du faire un choix, qui devait faire en sorte d'avoir une carte graphique utilisable correctement pour le modèle 12B voire 27B, sans avoir à débourser trop. Ma limite était autour de 1000€ pour la carte graphique (alors que la carte 24Go que je voulais initialement coûtait à peine 700€).
J'ai donc opté pour une carte NVIDIA RTX 4000 Ada Generation avec 20Go de VRAM et un form factor compatible avec un serveur : un seul slot et 130W.
Avec cette carte, et une autre carte NVIDIA Quadro P1000 avec 4Go de VRAM que j'avais en stock, je me suis dit que 20+4 = 24. Or, ça ne fonctionne pas comme ça tout le temps, et pour faire fonctionner Gemma 27B, ollama s'est amusé à utiliser 15Go de la VRAM, puis 40Mo sur l'autre carte, et pour les 7Go qui restent, le CPU. Pour ce qui est du processeur, c'est indiqué 91% pour le GPU et 9% pour le CPU. Ca reste raisonnable, mais je voulais que ça utilise que tu GPU, mais ça n'est pas possible.
Qwen3
Au moment où j'ai installé cette carte dans le serveur, une nouvelle version de Qwen est arrivée. Au début, je suis resté prudent car je ne connaissais pas ces modèles, et ils sont faits par Alibaba, sur une base similaire à Deepseek, alors je n'étais pas sûr que ça corresponde à ce que je recherchais, d'autant que Qwen3 ne permet pas le multimodal, uniquement les outils. Aussi, le mode réflexion (thinking mode) utilisé par Qwen ne me semble pas forcément utile, mais après lecture de la fiche de ce LLM, il est possible assez facilement de désactiver ce mode.
Aussi, la liste des modèles Qwen3 me semblait assez énigmatique. Il y a en effet 2 listes. Une est similaire à celle de Gemma3, déclinée en un énigmatique 0.6B, puis 1.7B, 4B, 8B, 14B et 32B. Une deuxième liste contient seulement 2 modèles : 30B et 235B.
En m'intéressant de plus près à Qwen3, j'ai trouvé ce modèle des plus intéressants :
- d'abord, il inclut les modes thinking et non-thinking dans le même modèle avec un seul paramètre à indiquer à tout moment : no_think pour switcher facilement
- ce modèle est entraîné sur des données de plus de 119 langues, dont les 3 qui m'intéressent : français, anglais et allemand.
- le modèle est entraîné spécifiquement pour créer des agents, ce qui est mon objectif et donc permet un usage très fluide des outils.
Ensuite, pour mieux comprendre ces 2 listes, il faut voir que le modèle fait appel à des MoE (Mixture of Expert) : ce sont des modules à l'intérieur du LLM, qui peuvent traiter des données suivant le type de données. Dans la première liste, il n'y a pas de petits modules, c'est un LLM dense qui utilise la totalité des paramètres cités. Dans la deuxième liste, le modèle dispose de plus petits modèles qui sont appelés des Experts, et il doit activer une partie de ces experts à chaque requête, au lieu de la totalité, en essayant de trouver les experts les plus appropriés pour le prompt reçu. Avec cela, sur un modèle de 235B, on va utiliser uniquement 22B, et sur le modèle de 30B, on va utiliser uniquement 3B. La taille du modèle reste 235B ou 30B, mais l'utilisation (GPU) sera réduite à 22B ou 3B, ce qui est très bon en terme de vitesse.
Pour le côté VRAM, j'ai réussi à faire tourner le modèle 30B, avec 3B actifs, uniquement sur la carte principale de 20Go, puisque le modèle fait 18Go, et ça fonctionne très bien, l'inférence est très rapide.
Sur le site de Github, on trouve la page qui décrit Qwen3 ici. Ce qui est très intéressant, c'est la manière dont ce modèle est fabriqué. Sans rentrer dans les détails techniques, une partie des données utilisées pour entraîner le modèle proviennent de sites internet ou de données provenant de documents en PDF, et une autre partie provient de données générées par les modèles précédents, notamment Qwen2.5-Coder et Qwen2.5-Math.Avec ces données, ils ont entraîné le modèle de base dense de 235B, puis une fois ce modèle obtenu, il y a un post-traitement qui permet de distiller ce modèle en de plus petits modèles que sont tous les autres (30B, 14B, 8B, 4B, ...). C'est très bien expliqué sur leur page.
Use case
Une fois le système en place, que faire avec, vous me direz ! Le but n'est pas uniquement de s'amuser ou d'en apprendre plus sur les LLM, mais de voir, en vrai, ce qu'il est possible de faire avec. Voici ce que j'ai pu mettre en place avec Qwen3 et qui fonctionne :
- tout d'abord, j'ai retiré les options pour les demandes des clients, car lorsqu'un client fait une demande au service technique, il devait préciser une catégorie, un sujet, et rédiger un texte. Parfois, certains clients choisissent des catégories inadaptées ou indique des sujets qui ne résument pas la demande, quand ce n'est pas laissé vide. Donc la première application de Qwen3 chez HaiSoft est de simplifier notre système de ticket en ligne et de créer un système de tickets par email en utilisant ce LLM pour choisir pour nous la catégorie, et pour faire un court résumé de la demande dans la partie sujet.
Les résultats sont très prometteurs puisque la partie résumée dans le sujet est toujours très explicite, et avec quelques ajustements, la catégorie est la bonne dans 95% des cas, ce qui est supérieur à ce que nous avions avant. Seuls quelques confusions de langage restent, mais c'est aussi le cas quand c'est un client ou même parfois un technicien qui choisit la catégorie. J'en parlerai sûrement dans un autre article. - la deuxième utilisation est de faire en sorte que notre LLM réponde automatiquement à certaines demandes, par exemple, une demande de résiliation, que le client peut directement faire en cochant une case, mais que certains préfèrent envoyer par email, peut être faite par notre LLM en utilisant des outils mis à disposition, et dans nos tests, effectués manuellement pour obtenir le bon prompt, il y arrive dans 100% des cas testés. A voir ce que cela donne en conditions réelles.
J'ai mis en place un garde-fou qui consiste à toujours prévenir un technicien ou le support client, quand le LLM répond à une demande pour que quelqu'un puisse vérifier ce qui a été répondu, et corriger si besoin. Aussi, lorsque la demande d'un client reçoit une réponse automatique pour nous faire gagner du temps, s'il répond à la réponse, alors c'est une personne qui traite la réponse, et non pas le LLM. Comme ça, pour toute précision, le LLM ne pourra pas tourner en boucle, mais un humain prend la relève dès la réponse suivante.
Pour l'instant, c'est le début, la mise en production de la partie réponse aux demandes devrait être faite courant juin, uniquement pour les demandes de résiliation, mais ensuite cela pourrait être étendu à toutes les demandes qui pourraient être traitées automatiquement en une seule réponse, ou pour toute demande incomplète, où le LLM pourrait alors simplement demander au client un complément d'information.
Point d'étape
Pour le moment, on n'en est qu'au début de ces petits LLM qui peuvent tourner en local. Mais comme je l'ai déjà dit dans les autres articles sur le même sujet : l'avenir n'est pas dans les gros LLM comme Claude ou ChatGPT qui vendent un accès payant tout en hébergeant le LLM dans le cloud et où le traitement des données peut être sujet à doutes. L'avenir est dans ces petits LLM (ou SLM) qui peuvent tourner en local, et permettent alors de traiter toutes les données clients sans fuite.
Qwen3 apporte une preuve de concept qui me permet de mettre cela en place à moindre frais. Toutefois, comme on peut le voir, en 3 mois, il y a eu 3 modèles différents et meilleurs les uns par rapport aux autres. On peut même rajouter Llama4, que je n'ai pas eu le temps de tester car ils ont été pris de court par Qwen3 qui a apporté un modèle plus petit que Llama4 au moment de la sortie de Llama4, alors que Llama3 était déjà prometteur. Mais en 3 mois, on a vu Phi4 (Microsoft), Gemma3 (Google) et Qwen3 (Alibaba), il en sort de nouveaux tous les mois. Il est tout à fait possible que dès juillet, ou peut-être plutôt septembre ou octobre, à la rentrée, de nouveaux modèles apparaissent car les modèles semblent être mis à jour tous les 6 mois. Nous verrons bien, d'ici-là, quelle surprise ils nous réservent.
Benchmarks
Pour mesurer les modèles, un des benchmarks les plus adaptés à la compréhension de textes est le modèle MMLU. Apparemment, si on répond au hasard, on peut avoir un score de 25%, et un humain moyen aura une note de 35%, et un expert peut avoir une note de plus de 90% dans son domaine (source IBM). On considère qu'un résultat de 60% est considéré comme correct pour un LLM. Pour obtenir cette note, en Février 2023, il fallait des modèles de 65B, en juillet 2023, il fallait 34B, en septembre, Mistral l'a fait avec un modèle de 7B et en mars 2024, Qwen1.5 avec leur modèle MoE A2.7B.
Voici le MMLU pour les modèles cités plus haut :
LLM | MMLU | MMLU-Pro |
Phi4-mini | 67.3 | 52.8 |
Phi4 | 84.8 | 70.4 |
Gemma3 12B | 74.5 | 60.6 |
Gemma3 27B | 78.6 | 67.5 |
Qwen3 30B non-thinking | 83.5 | |
Qwen3 30B thinking | 88.8 | 82.93 |
Sources : Hugging Face et Reddit
Avec mes tests, toutefois, je modérerai la partie thinking, car si un outil est utile et que Qwen3 est en mode thinking, alors il n'utilise pas forcément l'outil pour répondre car le mode thinking ne semble pas capable d'appeler un outil après le commencement de la réflexion. C'est un test, il faut que je creuse cela.
Toutefois, après tous ces tests, je pense que ces nouveaux LLM de petite taille, c'est l'avenir : on pourra bientôt faire tourner un LLM directement sur son mobile ou sur son ordinateur (avec une carte graphique) et cela permettra aux entreprises de mieux faire fonctionner ces outils pour améliorer la productivité, et non pas pour réduire la masse salariale, c'est ma conviction.