alphaspirit - Fotolia

CroissantLLM : un exemple français de LLM « souverain »

Avec CroissantLLM, des chercheurs de CentraleSupélec et d’ILLUIN Technology veulent prouver que les grands modèles de langage « souverains » peuvent émerger, sont utiles, performants et efficients.

Avec les chercheurs du laboratoire MICS de CentraleSupélec, trois collaborateurs d’Illiun Technology ont participé à l’entraînement de CroissantLLM, une collection open source (sous licence MIT) de modèles de langage bilingue français – anglais (CroissantLLM, CroissantCool et CroissantLLMChat). Parmi eux, Gautier Viaud, directeur R&D chez Illuin Technology.

« Avec la montée en puissance des travaux de recherche autour des LLM, nous avons remarqué que les corpus français étaient très mal représentés par rapport à l’anglais », explique Gautier Viaud.

Il en va de même pour les autres langues censées être couvertes par les grands modèles de langage, ce qui induit, entre autres, des biais culturels.

« Les connaissances culturelles et les préjugés sont intégrés mécaniquement dans les données d’apprentissage, ce qui aboutit à des modèles ayant une meilleure connaissance des événements, mais aussi des préjugés américains », notent les chercheurs dans le rapport technique de CroissantLLM.

« Deuxième réflexion, nous trouvions il y a un an des LLM qui étaient assez performants pour accomplir beaucoup de tâches, mais qui en même temps n’étaient pas forcément utilisables par beaucoup d’acteurs industriels. Ils étaient trop coûteux, à la fois en temps d’inférence et en argent. Nous nous sommes dit qu’il fallait un modèle un petit peu plus léger, adapté aux Français et aux applications industrielles ».

Ce LLM (Large Language Model) « souverain » dispose de 1,3 milliard de paramètres, d’une fenêtre de contexte de 2 048 tokens et est basée sur l’architecture du modèle Llama de Meta. Il a été entraîné avec près de 3 000 milliards de tokens (3T tokens). Pour référence, Llama 2-70B est doté de 70 milliards de paramètres et a nécessité le traitement de 2 000 milliards de tokens (2 T tokens).

CroissantLLM s’éloigne des « scaling laws »

Pour rappel, le consensus scientifique a mis sur un piédestal les « scaling laws », des lois empiriques mises en avant par OpenAI, puis les chercheurs derrière le projet Chinchilla de Google. Si au départ, l’idée était de miser à tout prix sur une grande quantité de paramètres, les chercheurs de Google ont déterminé que « pour chaque doublement de la taille du modèle, le nombre de tokens utilisés lors de l’entraînement doit également être doublé ».

Cette règle qui a été vraie pendant environ deux ans, différentes équipes de chercheurs sont en train de s’en affranchir. L’exemple le plus récent – et sûrement le plus retentissant – est celui de DBRX et ses 132 milliards de paramètres pour 12 000 milliards de tokens.

« Pour entraîner un LLM, c’est très réducteur ce que je vais dire, mais il y a essentiellement deux approches », résume Gautier Viaud. « L’on peut vouloir entraîner le meilleur modèle possible avec un budget fixe. Et dans ces cas-là, à budget d’entraînement fixé, il y a une taille de modèle et de jeu d’entraînement optimale pour avoir le meilleur modèle. Cette approche est inspirée des lois “Chinchilla” », poursuit-il. « Et il y a une deuxième façon de voir les choses, qui revient plutôt à prendre un modèle d’une taille fixe et de l’entraîner le plus longtemps possible pour en maximiser les performances ».

C’est le choix opéré par les chercheurs derrière CroissantLLM. « Nous avions déterminé une taille moyenne pour notre modèle parce qu’on voulait qu’il soit léger, qu’il puisse s’exécuter sur des environnements de type CPU, des téléphones, de petits GPU, etc. », justifie Gautier Viaud.

À l’inférence, CroissantLLM peut générer en moyenne 140 tokens par seconde sur un GPU A100 doté de 40 Go de VRAM, et de 120 tokens par seconde. Selon le directeur R&D d’Illuin, sur CPU, le modèle génère environ 30 tokens par seconde, et sur smartphone, « un peu plus de 5 tokens par seconde », soit la moyenne basse de la vitesse de lecture humaine (comprise entre 5 et 10 tokens par seconde, selon Hugging Face).

Concernant l’entraînement des LLMs, les chercheurs ont obtenu un crédit de recherche auprès du GENCI pour entraîner CroissantLLM sur le supercalculateur Jean Zay. Ils ont utilisé 30 nœuds GPU, soit 240 GPU Nvidia A100 80 Go SXM qui ont été exploités pendant près de 100 000 heures ou 17 jours. L’entraînement aurait émis 2,8 à 3,36 tonnes équivalent CO2, quand l’entraînement de LLama 2-7B en a émis environ 31,22 tonnes équivalent carbone (l’entraînement de la collection Llama 2 aurait généré 539 tCO2eq).

« Si nous avions opté pour des machines dans le cloud, premièrement, nous ne les aurions pas obtenus : il n’y a pas de disponibilité. Et deuxièmement, cela nous aurait coûté plusieurs centaines de milliers d’euros », justifie le directeur R&D d’Illuin Technology.

L’on est toutefois très loin des milliards de dollars investis par Microsoft et OpenAI afin d’obtenir GPT-4.

Surpondérer le français par rapport à l’anglais

Le volume de données s’explique non seulement par la volonté d’introduire un corpus conséquent en langue française, mais aussi par la nécessité d’équilibrer ce volume avec les données anglaises.

« Il faut avoir à l’esprit que le modèle voit passer 3 000 milliards de tokens, mais il y a des tokens de français qui sont échantillonnés plusieurs fois pour en fait apporter une équivalence en matière de volume de données entre l’anglais et le français », signale Gautier Viaud.

De base, le jeu de données d’entraînement (4 To) contient 303,51 milliards de tokens français (1,3 To) pour 655,64 milliards de tokens anglais, 141,43 milliards de tokens de code et 35,78 milliards de tokens liés à des informations « parallèles », principalement des paires de traductions anglais-français « de haute qualité ».

Selon les chercheurs derrière CroissantLLM, ce sont dix fois plus de données en français que le projet de modèle multilingue BLOOM, mené par BigScience et Hugging Face.

CroissantLLM, lui, a vu passer 1 240,08 milliards de tokens en français, 1 240,09 milliards de tokens anglais, 288,92 milliards de tokens de code et 219,26 milliards de tokens issus des données parallèles.

Ces données francophones proviennent du Web, de documents légaux, d’encyclopédies, de livres de droit recueillis auprès de la BNF (entre autres). « Nous obtenons un score de 81 % de transparence sur le framework FMTI de Stanford, soit l’un des plus élevés des modèles open source », pointe Gautier Viaud.

Au vu de la petite taille du modèle, il ne faut pas s’attendre aux performances des cadors du genre, préviennent les chercheurs.

Pour autant, « CroissantLLM est le modèle de cette taille le plus performant en français, devançant des modèles jusqu’à trois fois plus grands dans la plupart des tâches (Bloom 3B) », avance Manuel Faysse, doctorant au MICS de CentraleSupélec et chercheur chez Illuin Technology.

En anglais, il atteint des niveaux de performances proches de ceux de Pythia (1,4 B), Bloom (3B) et TinyLLama (1,1 B).

CroissantLLMChat, la version fine-tunée pour répondre à des questions, « affiche de bonnes performances dans les tâches de compréhension du français telles que l’écriture et le jeu de rôle, surpassant des modèles de même taille. Il fait également preuve d’une bonne culture générale dans les domaines des STIM (science, technologie, ingénierie et mathématiques) et des sciences humaines », écrit Manuel Faysse.

De la place pour les LLM souverains

Pour autant, l’évaluation de ces performances reste un défi. Avec le MICS, Illuin Technology a ouvert plusieurs jeux de données consacrés aux parangonnages (benchmarks) en français regroupés sous l’appellation FrenchBench. « Les jeux de données d’évaluation disponibles en anglais et en français sont loin d’être parfaits. Ils ne sont pas forcément représentatifs des performances que l’on attend en entreprise. D’où notre contribution », explique Gautier Viaud.

L’idée est de rendre ces modèles exploitables dans des environnements contraints en France pour accomplir des tâches simples de résumé de conversation, de réponses à des questions générales ou de traduction, après une phase de fine-tuning légère ou dans le cadre d’une architecture RAG. CroissantLLM est par ailleurs bon pour expliquer des expressions françaises. Selon les tests effectués par LeMagIT en reprenant l’exemple des chercheurs consistant à expliquer en anglais l’expression « poser un lapin », la réponse de CroissantLLMChat semble plus précise que celle de Mistral Small (via LeChat) et de GPT-3.5 (ChatGPT).

CroissantLLM n’est pas la seule expérimentation dite souveraine dans le monde des LLM. Silo.ai, une entreprise finlandaise dirige avec TurkuNLP, le département TAL de l’Université de Turku, en Finlande, le développement de Poro, une collection de modèles de langue bilingue finnois anglais basée sur l’architecture de BLOOM, dont la version la plus capacitaire comprend 34,2 milliards de paramètres et a été entraînée à partir de 1 000 milliards de tokens. Les LLM Poro sont, eux aussi, entraînés sur un HPC européen, plus particulièrement sur LUMI, un supercalculateur finlandais (512 GPU AMD MI250X ont été utilisés).

Les modèles chinois Qwen d’Alibaba, basque Latxa, hollandais GEITje sont généralement meilleurs dans leur langue respective quand ils sont comparés à des modèles multilingues de taille équivalente.

Reste à voir si ces modèles sortiront des laboratoires de recherche. Sur HuggingFace, CroissantLLM a déjà été téléchargé plus de 12 000 fois, quand Mistral 7B a été téléchargé plus de 2,7 millions de fois.

Pour approfondir sur Intelligence Artificielle et Data Science

Close