Evaluation de petits modèles de langues ( SLM ) sur un corpus de Sciences Humaines et Sociales ( SHS ) en français (2025)

Abstract: Cet article évalue une série de plusieurs petits modèles de langues (SLM) sur une tâche de classification de tweets en français. Plusieurs stratégies d’optimisation sont testées : différents prompts (zero-shot, few-shot), fine-tuning avec une couche de classification, présence ou non d’une couche LoRa. Les résultats obtenus avec le modèle Qwen optimisé rivalisent avec un modèle beaucoup plus gros, ce qui valide notre intérêt pour les petits modèles.

## introduction il n'est plus besoin de présenter les llm (« large language models ») des gafam (google, microsoft, facebook/meta, etc.), openai (chatgpt) ou mistral, etc. ces llm ont vu leur taille et performance fortement évoluer à la hausse ces dernières années. l'adoption de ces outils en entreprise est également très rapide. dans beaucoup d'entreprises, des « task force » ont vu le jour sur le sujet des ia génératives, en général pour aboutir au lancement de plusieurs tests, démonstrateurs ou poc. mais souvent, les mêmes conclusions reviennent : si l'utilisation des llm est bien adaptée pour des usages généralistes, leur utilisation dans des tâches métiers très spécifiques/spécialisées et répétitives pose des questions. pour une tâche métier de classification, les llm ne font pas toujours mieux que des approches plus frugales, @xcite ont montré qu'une approche à base de llm pouvait être moins performante qu'une approche de type camembert hyper optimisée (fine-tunée, c'est à dire affinée sur du vocabulaire métier). dans ces conditions, nous trouvons intéressant d'étudier les petits modèles (« small language models » ou slm) en faisant le pari qu'ils peuvent être mieux adaptés pour le monde de l'entreprise, moins énergivores et plus facilement déployables. certains domaines comme celui de la santé commencent à déployer de tels modèles @xcite . ces modèles sont de plus en plus l'objet d'attention comme en témoignent les états de l'art faits dans @xcite , un petit modèle désignant ici un modèle d'environ un milliard de paramètres ou moins. la section 2 dresse la liste des slm testés. le corpus utilisé pour nos tests est un corpus de tweets en français sur la thématique de l'énergie, annoté selon deux catégories : dénonciation ou discernement. il est décrit dans la section 3. la section 4 présente les différentes stratégies utilisées pour « optimiser » le modèle : prompt naïf qui explique les deux catégories, few-shot en indiquant des exemples dans le prompt ou fine-tuning du modèle. la section 5 présente et commente les résultats obtenus. elle est suivie par une section de conclusion qui présente des réflexions pour des travaux futurs. ## liste des slm testés la notion de petits modèles n'étant pas encore stabilisée dans la communauté scientifique, nous nous focalisons sur des modèles dont la taille est de l'ordre du milliard de paramètres et nous nous concentrons donc sur l'exploration et l'évaluation de modèles de langue de taille comprise entre entre 135m et 1,5b de paramètres. certains modèles sont proposés en version instruct, c'est-à-dire pré-entraînés ou adaptés pour répondre à des instructions formulées en langage naturel. tous les modèles listés ci-dessous sont disponibles en open source sur la plateforme hugging face : modèle paramètres instruct langue(s) falcon-rw 1b anglais qwen2.5-instruct 0,5b -1,5b oui anglais, français, chinois... smollm 135m -360m oui anglais olmo 1b anglais croissantllm-base 1b français, anglais tinyllama-1.1b-chat-v1.0 1,1b oui anglais pleias-preview 350m -1,2b français, anglais le corpus utilisé pour les tests est un corpus d'environ 3000 tweets, en français, sur le thème de l'énergie (nucléaire, éolien, solaire, etc.) @xcite . ce corpus a été constitué dans le cadre d'une analyse sociologique sur la dénonciation @xcite . dans cet article, luc boltanski montrait que les discours de dénonciation médiatique s'organisaient selon un schéma actanciel formé de quatre actants : un dénonciateur, une victime, un persécuteur et un juge. l'annotation du corpus reprend l'idée de l'article, mais restreint le cadre d'analyse à deux catégories seulement : dénonciation ou discernement. la catégorie discernement concerne des tweets pédagogiques qui expliquent ou présentent factuellement une position, une mesure ou une technologie, tandis que la catégorie dénonciation concerne des tweets plus polémiques, qui critiquent ou dénoncent soit une personne, une association ou un parti dont l'action est jugée injuste, soit une mesure ou une technologie dont les conséquences sont jugées néfastes. cette distinction en deux catégories correspond aux stratégies observées sur twitter à savoir des tweets explicatifs qui visent à démontrer, détailler des opinions @xcite et des tweets de mobilisation qui visent à dénigrer des personnes, associations ou technologies (ici le nucléaire ou l'éolien) @xcite . le corpus est extrait d'un corpus beaucoup plus vaste (plusieurs millions de tweets) mais se veut le plus représentatif possible. il présente les caractéristiques suivantes : c'est le remède pire que le mal. » ; -discernement : « le pr confirme à belfort la nécessité d'une production électrique nationale et que l'on ne peut se passer d'éolien. » ; les tweets ont été annotés par un sociologue expert (4/5 ème du corpus) et par une personne moins experte (1/5 ème du corpus). ils ont aussi été annotés à l'aide du llm neuralhermes-2.5-mistral-7b quantifié en 4bits foot_0 . le taux d'accord entre l'annotation automatique faite par le llm et l'annotation manuelle experte est de l'ordre de 70%, ce qui constitue une base de référence pour évaluer les résultats obtenus avec les slm. ## stratégie d'optimisation des modèles nous avons divisé notre jeu de données en trois sous-ensembles : 40% pour le test, 50% pour l'entraînement et 10% pour la validation. afin de garantir des distributions de classes, dans chaque sousensemble, similaires à celle du jeu de données global, nous avons utilisé la fonctionnalité stratify de la bibliothèque sklearn et avons fixé la seed à une valeur spécifique (@xmath0. expérimentations sur les stratégies de prompt : nous avons utilisé plusieurs types de prompts pour évaluer nos modèles. le premier reprend celui employé lors de l'évaluation initiale du llm dans la première partie de l'article. nous avons ensuite testé des prompts avec des exemples. ces différents formats ont également été utilisés lors des phases de fine-tuning. nous avons exploré des entraînements où la donnée à classer était intégrée dans un prompt plutôt que présentée de manière brute. l'idée derrière cette approche est de fournir un contexte explicite au modèle, afin de guider sa compréhension de la tâche et potentiellement améliorer la qualité de ses prédictions. nous avons expérimenté quatre configurations principales : les hyperparamètres utilisés pour l'entraînement sont les suivants : les paramètres utilisés sont : dans cette section nous présenterons les resultats obtenus avec les slm sur la tâche de classification, dans un premier temps sans fine-tuning, puis avec l'ajout d'une couche de classification et finalement avec l'ajout d'un lora. classification sans fine-tuning : pour cette première évaluation, les modèles sont utilisés en génération libre, comme dans un usage classique. afin de limiter la sortie à une réponse concise, nous imposons une contrainte de génération avec un maximum de 10 nouveaux tokens. l'évaluation repose ensuite sur le premier mot généré par le modèle : si ce mot correspond à l'une des deux classes attendues (« dénonciation » ou « discernement »), il est considéré comme la prédiction du modèle sinon la réponse est considérée comme incorrecte. ## conclusion et travaux futurs dans cet article, nous avons testé le comportement de plusieurs petits modèles de langues (slm) sur une tâche de classification de tweets en français. en ajoutant une couche de classification au modèle et en ajoutant une couche lora, nous obtenons un score supérieur, avec un modèle 1,5b (qwen), à celui obtenu avec un modèle 7b, plus gros. l'approche semble donc prometteuse et plusieurs axes d'amélioration sont identifiés :