Chocolatine : retour d’expérience sur la création d’un Small Language Model francophone

Contexte et naissance du projet
À l’heure où l’intelligence artificielle repose de plus en plus sur des infrastructures centralisées et énergivores, j’ai rapidement été convaincu qu’une autre voie était possible : celle de modèles sobres, légers et capables de s’intégrer dans des architectures distribuées.
L’émergence des modèles Transformer, puis celle des grands modèles de langage (LLM), m’a naturellement conduit à m’intéresser à leurs versions les plus compactes : les Small Language Models (SLM).
À la rentrée 2023, avec la sortie du premier modèle Mistral (7B) et de Llama 2, il devenait clair que de « petits » modèles inférieurs à 10 milliards de paramètres pouvaient rivaliser, sur certaines tâches, avec des modèles beaucoup plus volumineux comptant plusieurs dizaines voire centaines de milliards de paramètres. La loi de la mise à l’échelle ne semblait plus aussi absolue.
Les SLM offrent des atouts considérables : optimisés pour l’efficacité, ils permettent un traitement en temps réel sans transfert massif de données vers des serveurs distants, renforçant ainsi la confidentialité des données.
Leur faible empreinte mémoire et leur consommation réduite en font des modèles plus frugaux en ressources de calcul et rapides à utiliser avec une latence minimale. Enfin, leur architecture plus modeste les rend particulièrement adaptés au fine-tuning ciblé, avec des performances souvent supérieures à celles des LLM généralistes sur des cas d’usage spécifiques.
Cependant, en travaillant quotidiennement avec ces modèles, j’ai observé une faiblesse importante : le traitement du français. Les SLM open source, peinent encore à offrir une maîtrise satisfaisante de la langue française. Phrases bancales, néologismes imprévus, syntaxe hésitante… L’expérience utilisateur en français était loin d’atteindre le niveau de fluidité auquel nous avait habitués un outil comme ChatGPT. Or, le besoin est bien réel. De nombreuses entreprises et institutions françaises cherchent à tirer parti de l’IA tout en maîtrisant leurs données et les coûts de traitement.
L’accessibilité des SLM est un atout majeur pour des applications industrielles ou publiques où les ressources sont limitées et la frugalité un critère important. C’est à partir de ce constat qu’est né au début de l’année 2024 mon projet de développement d’un Small Language Model open source, conçu pour le français, léger, efficace, et conçu pour offrir une alternative maîtrisée aux solutions propriétaires, quelle que soit l’infrastructure.
Il convient néanmoins de nuancer les ambitions que l’on peut nourrir autour de la création d’un modèle de langage « from scratch ». En pratique, entraîner un LLM ou même un SLM depuis zéro reste hors de portée pour la majorité des structures, tant les coûts en calcul sont colossaux : il faut mobiliser des centaines de milliers d’heures GPU sur des supercalculateurs, avec une infrastructure, des compétences et des ressources financières comparables à celles des grandes entreprises technologiques.
L’approche que j’ai privilégiée avec mon projet est plus pragmatique : partir d’un modèle open source déjà entraîné, disposant de bonnes bases généralistes, puis le réentraîner — une étape appelé fine-tuning — afin d’améliorer significativement ses performances en langue française, tout en préservant sa polyvalence.
Le point de départ s’est appuyé sur les avancées de la communauté open source du moment, notamment le projet Stanford Alpaca (2023) qui a démontré que l’on pouvait fine tuner un modèle de taille modeste en reproduisant le comportement d’un LLM de référence. C’est dans cette perspective qu’a été lancée une première expérience baptisée « French-Alpaca ».
French-Alpaca : une première tentative instructive
La première étape du projet a été la création de French-Alpaca, un modèle de 7 milliards de paramètres basé sur Mistral-7B, alors considéré comme la référence des SLM. L’idée centrale était de distiller les connaissances d’un grand modèle “Professeur” vers un plus petit modèle “Élève”. Pour cela, je me suis appuyé sur la méthode Alpaca, développée par l’université de Stanford, qui consiste à générer un large jeu de paires question/réponse à l’aide d’un LLM de référence, puis à fine-tuner un plus petit modèle sur ces exemples.
Concrètement, j’ai utilisé GPT-3.5-turbo pour produire plus de 110 000 instructions en français, couvrant un large éventail de tâches. Ce corpus a servi de base au fine-tuning de French-Alpaca. Le choix a été de générer un jeu de données sur mesure en français, plutôt que de me contenter de traduire un dataset existant.
French-Alpaca a montré des résultats encourageants, avec une génération en français plus maîtrisée que celle de nombreux SLM open source. Une fois quantifié, French-Alpaca pouvait fonctionner localement sur une carte graphique grand public (type Nvidia RTX), voire sur un simple CPU — jusqu’à un Raspberry Pi 5. Une IA francophone, embarquable et accessible, devenait ainsi une réalité concrète.
Cette première tentative a aussi révélé ses limites. En le spécialisant à partir d’un volume massif d’instructions générées automatiquement via des scripts prédéfinis, une altération de certaines capacités généralistes du modèle initial a été constaté.
Autrement dit, s’il était devenu plus à l’aise que Mistral-7B pour produire des réponses en français, il se montrait moins performant sur des tâches de raisonnement ou dans d’autres langues. Ce phénomène de « forgotten skills » est un écueil connu : un fine-tuning trop spécifique peut faire oublier au modèle une partie de son savoir initial.
Ce retour d’expérience a été précieux, car il m’a appris l’importance de renforcer les performances en français sans compromettre la polyvalence globale du modèle. Fort de ces enseignements, j’ai repensé mon approche pour développer la nouvelle génération du projet, nom de code : « Chocolatine ».
Un post-training rigoureux : les trois piliers de Chocolatine
Le nom Chocolatine est un clin d’œil personnel à ma famille installée à Bordeaux, mais aussi une référence au projet Croissant LLM, l’une des premières initiatives open source — portée notamment par CentraleSupélec — visant à créer un modèle de langage francophone.
J’ai structuré la suite du projet autour d’une méthode d’entraînement plus rigoureuse et équilibrée que French-Alpaca, fondée sur trois piliers complémentaires :
- Choisir le bon modèle de base :
Dès le départ, il était essentiel de partir d’un modèle de fondation déjà doté d’une certaine aisance en français. L’objectif n’était pas de contraindre un modèle anglophone à s’adapter artificiellement à notre langue, mais de s’appuyer sur des bases multilingues solides, capables d’assimiler plus efficacement un fine-tuning axé sur la langue française.
Un large éventail de modèles open source a été passé en revu, dont ceux de Mistral, Meta, Microsoft et bien d’autres, afin d’identifier la meilleure base pour un modèle francophone.
Pour ce faire, j’ai mis en place de tests automatisés, fondés sur la méthode “LLM-as-a-judge” : des séries de questions rédigées en français ont été soumises aux différents modèles, puis évaluées par un LLM de référence (GPT-4). Ce protocole a permis de comparer les performances de chaque modèle dans notre langue.
Phi-3, développé par Microsoft, s’est rapidement distingué : il montrait une bonne aisance en français, associée à une architecture compacte, une gestion efficace des ressources, et une solide capacité de raisonnement, y compris dans des tâches complexes — des qualités essentielles pour servir de socle à Chocolatine.
Le cadre du projet était alors bien défini : il ne s’agissait pas de transformer un modèle moyen en solution miracle, mais d’amener un bon modèle multilingue à un excellent modèle francophone, sans compromettre ses atouts initiaux.
2. Sélectionner des données francophones de haute qualité
J’ai longuement exploré les principaux jeux de données francophones disponibles en open source sur le web, avant de sélectionner Intel Orca-DPO-Pairs comme base de travail. Ce dataset est composé de paires de questions-réponses qui proviennent en grande partie de sources publiques, couvrant des instructions variées – rédaction, bon sens, raisonnement, synthèse, etc.
Les prompts, questions ou consignes, sont majoritairement tirés de corpus existants (par ex. la collection FLAN de Google) qui regroupent des tâches écrites par des humains, tandis que les réponses associées ont été générées par des modèles de langage avancés.
Bien que le dataset ait été initialement conçu en anglais, une version traduite en français était disponible — mais comportait de nombreuses approximations et erreurs de traduction altérant parfois le sens initial des échanges.
J’ai donc entrepris une révision complète du corpus à l’aide du modèle Mistral-Large, dans une démarche de post-édition. Cette étape a permis de corriger les erreurs de traduction et d’élever significativement la qualité du jeu de données — un critère essentiel pour un entraînement pertinent.
Le résultat : un ensemble d’exemples en français, à la fois diversifiés, cohérents et représentatifs des usages réels de la langue. En confrontant le modèle à une large palette de formulations et de contextes, on favorise ainsi le développement de compétences linguistiques plus robustes et nuancées.
3. Préserver les compétences généralistes du modèle de fondation :
Le troisième pilier, plus technique, consistait à adopter une stratégie de fine-tuning capable d’améliorer significativement le français sans altérer les autres capacités du modèle de base. Après avoir testé différentes approches, j’ai choisi la méthode DPO (Direct Preference Optimization), une variante de l’apprentissage par préférences similaire au RLHF (Reinforcement Learning by Human Feedback).
Concrètement, Chocolatine a été entraîné à partir de paires de réponses générées en français — une de bonne qualité, l’autre inférieure — afin qu’il apprenne à préférer systématiquement la meilleure des deux.
Résultat : le modèle a appris à formuler des réponses en français beaucoup plus précises et cohérentes, tout en conservant ses facultés initiales. Fait notable, cet entraînement en français a non seulement préservé les performances en anglais du modèle de base, mais les a parfois améliorées avec un réel effet de « boost ».
Autrement dit, un bon alignement en français profite aussi aux aptitudes généralistes du modèle – signe que spécialisation et polyvalence ont pu être conciliées, là où la première version de French-Alpaca rompait cet équilibre.
Arriver à la bonne combinaison entre modèle de base, qualité des données et stratégie d’entraînement n’a pas été un processus linéaire. Il a nécessité un travail minutieux, fait de nombreuses itérations et de tests croisés entre différentes configurations.
Trouver la bonne combinaison relevait moins de l’intuition que d’un processus rigoureux, méthodique, souvent exigeant en temps et en patience. C’est cette approche pragmatique et empirique qui a permis d’aboutir à un modèle à la fois performant, stable et cohérent dans ses réponses en français. Le modèle Chocolatine était prêt à voir le jour.
Résultats : un petit modèle qui tient tête aux grands
Les premiers résultats obtenus avec Chocolatine ont confirmé que la direction prise était la bonne. Dès sa première version, le modèle — décliné en deux tailles de 3 et 14 milliards de paramètres — s’est distingué par une qualité de génération en français nettement plus fluide que celle observée chez de nombreux modèles open source de taille équivalente.
Le texte produit était plus naturel, plus précis, et mieux adapté aux formulations complexes. Une amélioration également perceptible dans les résultats obtenus sur des benchmarks en anglais, venus corroborer l’effet de renforcement global observé lors de mes propres évaluations.
Ainsi, les deux versions de Chocolatine, 3B et 14B, se sont classées en septembre 2024 premières de leur catégorie sur le Leaderboard OpenLLM de Hugging Face, la référence mondiale pour l’évaluation des modèles open source. La version 14B a même dépassé pendant plusieurs semaines les modèles concurrents jusqu’à 40 milliards de paramètres.
Au début de l’année 2025, le Gouvernement Français a lancé un Leaderboard des Modèles de Langage pour le Français, évaluant les LLM sur des tâches entièrement francophones. À cette occasion, Chocolatine-2 (la deuxième génération du modèle 14B) a décroché une place sur le podium du classement général, toutes catégories confondues. Plus remarquable encore, sur le benchmark « BAC FR » basé sur les annales du baccalauréat scientifique (700 questions en français), Chocolatine-2 s’est classé 2ᵉ, uniquement devancé par un modèle géant. Ce faisant, il a surpassé des modèles jusqu’à 30 fois plus volumineux, certains comptant entre 70 et 400 milliards de paramètres.
Ce résultat illustre clairement qu’un SLM soigneusement entraîné peut égaler ou même dépasser la performance de modèles bien plus massifs sur des tâches linguistiques complexes. Il met aussi en lumière le rapport entre performances et frugalité qu’offre Chocolatine, montrant qu’une bonne maîtrise du français est réalisable sans systématiquement recourir à des modèles gigantesques, gourmands en calcul et en énergie.
La version 14B peut être intégrée sur un serveur GPU standard, ce qui est nettement plus abordable que d’héberger un modèle de plus de 100 milliards de paramètres. Quant à la version compacte, une fois quantifiée elle peut tourner sur de petits appareils (CPU d’ordinateur portable, smartphone récent…), ce qui ouvre la voie à des usages « Edge AI » en français.
Conclusion et perspectives
Le projet Chocolatine est né d’un besoin concret : disposer d’un petit modèle de langage performant en français. En partant des limites des premiers SLM francophones, j’ai progressivement élaboré une approche axée sur la robustesse du modèle de base, la qualité des données et la finesse de l’entraînement.
Les résultats de mes travaux montrent qu’avec des choix techniques bien calibrés, un petit modèle peut combler une partie de l’écart avec les grands sur un usage ciblé (ici, la langue française). Bien sûr, le modèle n’est pas parfait, chaque itération apporte son lot d’ajustements et de nouvelles questions. À l’avenir, il est prévu de continuer à améliorer le compromis entre frugalité et performance, qui reste à mon sens un enjeu central.
J’envisage également d’adapter Chocolatine à des domaines spécifiques (juridique, éducatif, administratif…), comme cela a déjà été initié avec Chocolatine-Admin, une version spécialement entraînée sur le langage administratif français. Développé par Cellenza en partenariat avec Microsoft France, ce modèle illustre concrètement le potentiel de Chocolatine pour simplifier les échanges institutionnels et rendre l’administration plus accessible aux citoyens. C’est précisément ce type de déclinaison spécialisée, au croisement de l’innovation technique et des besoins réels, qui sera poursuivi.
En guise de conclusion, ce projet s’est révélé être une formidable expérience d’apprentissage continu. Chaque écueil (sorties hasardeuses, pertes de compétence, biais…) a été l’occasion d’améliorer mon approche.
Le succès de Chocolatine — téléchargé plus de 120 000 fois à ce jour — est une réussite collective : celle de la communauté open source et des chercheurs dont les travaux ont été appliqués, celle d’experts avec qui des échanges ont eus lieu, et celle des utilisateurs qui m’ont fait confiance et fourni du feedback.
Chocolatine s’appuie avant tout sur le travail de toute une communauté : Le modèle doit sa qualité à la synergie entre les avancées open source et les techniques des grands acteurs du domaine. Il ne s’agit pas de « réinventer » un modèle francophone ex nihilo : j’ai tiré parti d’un excellent modèle de base fourni par Microsoft ainsi que de librairies open source (Hugging Face Transformers notamment) pour réaliser mes fine-tunings. Dans le même esprit j’ai choisi de distribuer le modèle librement, sous licence MIT, afin que la communauté puisse l’éprouver et l’améliorer.
Plus qu’un aboutissement figé, Chocolatine incarne une démarche itérative et communautaire pour faire avancer les modèles de langage en français. C’est dans cet esprit de partage et d’amélioration continue que le projet va se poursuivre – en espérant qu’il contribue, à son échelle, à la dynamisation d’un écosystème francophone de l’IA responsable et souveraine.
Liens :
Ma page Hugging Face où l’on peut télécharger mes modèles : jpacifico (Jonathan Pacifico)
Le Leaderboard des modèles de langage pour le français : Leaderboard LLM FR – a Hugging Face Space by fr-gouv-coordination-ia
Chocolatine-Admin (Cellenza x Microsoft) jpacifico/Chocolatine-Admin-3B-SFT-v0.3b · Hugging Face
Article de Microsoft Le petit Molière des petits modèles d’IA générative – Source EMEA