Créer son LLM from scratch : la recette de CroissantLLM, meilleur modèle en français de sa catégorie

Créer son LLM from scratch : la recette de CroissantLLM, meilleur modèle en français de sa catégorie Le MICS, le laboratoire d'informatique et de mathématiques de CentraleSupélec a développé en collaboration avec ILLUIN Technology un nouveau large language model open source de 1,3 milliard de paramètres.

Et si l'avenir des grands modèles de langage passait par une approche multilingue ? C'est le pari audacieux de CroissantLLM, un modèle développé par une équipe de français (vous l'aurez compris) de 1,3 milliard de paramètres, développé en un temps record. A la manœuvre derrière le cœur du projet, une petite équipe de chercheurs français issus de l'école d'ingénieurs CentraleSupélec et de ILLUIN Technology, jeune start-up française spécialisée dans la conception et le développement de solutions d'intelligence artificielle professionnelles. Conçu en seulement quelques mois (juillet 2023 à février 2024) from scratch, CroissantLLM est aujourd'hui un LLM de référence en français, dans la catégorie des modèles de petite taille (moins de 2 milliards de paramètres).

Le nombre de paramètres calculé sur la durée d'entraînement

CroissantLLM est né comme un projet de recherche. L'objectif était d'étudier l'effet sur les capacités globales du modèle en français d'une variation du pourcentage de français présent dans les données d'entraînement. Pour ce faire, les équipes ont choisi de développer leur modèle sur la base d'une architecture transformer décodant. "Nous avons fait le choix de nous appuyer sur une architecture classique et éprouvée, en utilisant des approches qui ont déjà fait leurs preuves et qui sont largement acceptées par la communauté scientifique. L'architecture que nous avons mise en place présente de grandes similitudes avec celle du modèle Mistral (7B) et est en tout point identique à celle du modèle Llama. Ce choix nous a permis de nous concentrer pleinement sur l'exploration et l'analyse des dynamiques d'apprentissage et de distribution des langues", détaille Manuel Faysse, doctorant au MICS et principal chercheur en charge du projet.

Quant à la taille, l'équipe a choisi de se développer un modèle de 1,3 milliard de paramètres. Ce chiffre n'a pas été défini par hasard. Il a été choisi assez précisément pour répondre à des critères précis d'entraînement : 100 000 heures (en un seul bloc) de calcul sur les serveurs de Jean Zay, l'un des trois supercalculateurs de l'IDRIS. "1,3 milliard, c'était également un bon compromis pour permettre son utilisation sur un téléphone mobile, sans nécessairement se limiter aux modèles haut de gamme comme les derniers iPhone. L'objectif était de rendre le modèle accessible sur des smartphones plus standards", précise Manuel Faysse.

Un dataset nettoyé, filtré et échantillonné

Elles sont au cœur du modèle. Pour s'assurer de la pertinence du modèle en français, les chercheurs ont façonné le plus gros dataset de français jamais (publiquement) constitué. L'équipe est partie d'un premier dataset public auquel elle a ajouté de nombreux documents représentatifs de la culture française.  "Nous avons inclus de la littérature francophone sous licence libre, des transcriptions de podcasts, des poésies, des paroles de chansons et même des sous-titres de films. Cela permet au modèle d'acquérir une compréhension plus large de la langue et de la culture francophones. En complément, nous avons également intégré des données à caractère industriel et administratif : des textes de loi, des comptes rendus de débats parlementaires et des décisions administratives. Nous avons également ajouté un grand nombre de bases de connaissances, telles que des jeux de données déjà existants, des manuels scolaires, des tests scientifiques et des publications scientifiques. Enfin, nous avons accordé une grande importance aux données de traduction." Au total, le dataset final était composé à parts égales de français et d'anglais, une avancée majeure quand on connait le pourcentage (souvent moins de 1%) de français utilisé dans les LLMs actuellement sur le marché.

Enfin, avant de les soumettre au modèle, les données ont été nettoyées et filtrées pour s'assurer d'une très haute qualité. Tout d'abord, une sélection manuelle des sources intéressantes et propres a été effectuée. Ensuite, les doublons exacts et proches ont été éliminés. Des règles de filtrage académiques ont ensuite été appliquées, ainsi qu'un filtrage de toxicité pour retirer les contenus inappropriés (pornographie, violence, haine…) grâce à des APIs dédiées. Un filtrage par perplexité (mesure de la "surprise" d'un modèle de langage face à un texte donné) a permis de ne conserver que les textes de qualité. Enfin, les données les plus pertinentes ont été sur-échantillonnées (pour compenser les déséquilibres). Décision a été prise par exemple, de surreprésenter le français légèrement dans les données d'entraînement avec un sur-échantillonnage de facteur quatre (4 fois).

Une image contenant texte, capture d’écran, PoliceDescription générée automatiquement

204 GPU A100 utilisés pour l'entraînement

En parallèle et afin d'optimiser les performances du modèle en français, choix a été fait de développer un tokeniseur maison, conçu spécialement pour l'anglais et le français. Le tokeniseur a été entraîné sur un corpus équilibré de code, de français et d'anglais, afin d'obtenir une représentation optimale des mots dans les deux langues. Grâce à ce choix, CroissantLLM affiche une "fertilité" (nombre moyen de tokens par mot) bien inférieure à celle des modèles multilingues comme Llama ou Mistral. Cette "fertilité" réduite permet un traitement plus rapide et plus efficace du français.

Pour l'entraînement, le MICS et Illuin se sont tournés vers le supercalculateur Jean Zay. L'entrainement a pu débuter pendant les vacances de Noël, période durant laquelle l'utilisation du supercalculateur est plus faible, pour se terminer le 8 janvier. "Le CNRS nous a accordé l'accès à une grande partition comportant 240 GPU A100 à 100%. Nous avons ainsi pu entraîner notre modèle pendant 17 jours sans interruption, ce qui correspondait à environ 100 000 heures de calcul. Nous avons travaillé à optimiser les performances afin de tirer le meilleur parti des GPU et d'être le plus efficace possible. Dès le début, nous avons constaté une amélioration rapide des performances du modèle. Au fur et à mesure que nous ajoutions des tokens, le modèle continuait de s'améliorer", indique Manuel Faysse.

Une image contenant ligne, Tracé, texte, diagrammeDescription générée automatiquement
L'évolution des training loss (différence entre le résultat et le résultat attendu) en fonction du nombre de tokens traités. © Capture d'écran

L'évolution des training loss (différence entre le résultat et le résultat attendu) en fonction du nombre de tokens traités.

Un très bon modèle pour de nombreux cas d'usages

Enfin, pour positionner le modèle en termes de performance, les chercheurs ont développé FrenchBench, un benchmark spécialement conçu pour évaluer les capacités en français. Le test consiste à poser des questions à choix multiples et à demander au modèle de choisir la meilleure réponse possible. Et CroissantLLM se positionne très bien. "Dans la catégorie (moins de 2 milliards de paramètres, ndlr), notre modèle est de loin le meilleur en français. Il excelle dans les tâches génératives et à choix multiples. CroissantLLM est également très performant en anglais, se situant à seulement 1% de performance en dessous de TinyLlama, projet de référence. Il surpasse tous les modèles précédents de taille similaire tel que OPT, Pitya ou encore Bloom. Enfin, en traduction, le modèle obtient d'excellents résultats : il se révèle meilleur que des modèles jusqu'à 13 fois plus grands, comme le Llama 13B de Meta, pour la traduction anglais-français et français-anglais", se félicite le principal chercheur du projet.

Comparaison des capacités linguistiques de CroissantLLM. © Capture d'écran

CroissantLLM n'apporte pas seulement de nouvelles méthodes d'apprentissage mais constitue bel et bien un SLM prêt à l'usage pour de nombreuses entreprises. CroissantLLM peut être utilisé sur une flopée de cas d'usage en français : traduction en anglais, reformulation, correction orthographique, aide à la rédaction, compression de texte, RAG… Grâce à sa taille réduite le modèle peut être embarqué sur des environnements jadis inaccessibles (PC sans GPU, smartphone…).