BLOOM : les choses à savoir sur ce « méga-modèle » d’IA au sang français

Lancement acté pour BLOOM. Issu d’une démarche scientifique ouverte, ce modèle de langage multilingue a de multiples attaches en France.

Quel modèle de traitement du langage naturel entraîner quand on dispose d’un million d’heures GPU ? Le projet BigScience s’est trouvé face à cette question. Sa réponse s’incarne dans BLOOM.

Les premiers jalons du projet BigScience avaient été posés au printemps 2021. À la baguette, Hugging Face. Cette entreprise, que trois Français ont fondée à New York, est à l’origine d’une plate-forme de data science / machine learning. L’objectif : entraîner, sur un modèle de science ouverte et participative, « le plus grand modèle de langue multilingue et open source ».

Au final, un millier de scientifiques se sont impliqués, représentant 72 pays et des sociétés comme Airbus, Meta AI, Mozilla, Orange Labs ou Ubisoft. La France a apporté un soutien dans le cadre de sa stratégie nationale pour l’IA.

3 millions d’euros pour un cycle d’entraînement

La phase d’entraînement s’est étalée sur 117 jours, entre mars et juillet 2022… sur le supercalculateur Jean Zay, localisé à Saclay (Essonne). Avec un environnement à 416 GPU NVIDIA A100 80 Go répartis sur une cinquantaine de nœuds AMD. La dotation en ressources de calcul – subvention CNRS + GENCI estimée à environ 3 millions d’euros – a permis de réaliser un peu plus d’un cycle.

À la base, il y a un fork de Megatron-DeepSpeed, qui lui-même dérive de Megatron-LM (modèle de langage made in NVIDIA à 345 millions de paramètres, architecturé sur le modèle de GPT-2 et entraîné sur Wikipédia, OpenWebText et CC-Stories).

À l’arrivée, il y a BLOOM (BigScience Large Open-science Open-access Multilingual Language Model), ses 70 couches de neurones, ses 112 têtes d’attention et ses 176 milliards de paramètres. Par rapport à la référence GPT-3, il est entraîné sur un corpus plus varié : moins d’anglais, mais 45 autres langues. Ainsi que 13 langages de programmation (13 % du dataset) : C, C#, C++, Go, Java, JavaScript, Lua, PHP, Python, Rust, Scala et TypeScript. Au total, environ 1,6 To de données prétraitées, regroupées en 350 milliards de tokens.

BLOOM : un modèle « inclusif » ?

Cette diversité était – et reste – au cœur de la démarche de BigScience. L’IA « responsable » aussi. Cela se reflète dans la licence de BLOOM. Globalement permissive, mais qui pose des limites sur l’usage du modèle. Elle interdit notamment de s’en servir dans le cadre de l’aide médicale. De manière générale, BLOOM n’est pas conçu pour accompagner des décisions critiques (création de contenu factuel, scoring, résumé « fiable »…).

Principal usage de BLOOM : générer du texte (complétion d’énoncés). On pourra aussi le spécialiser pour d’autres tâches liées au traitement du langage. En l’état, l’exécution du modèle en inférence nécessite encore des ressources importantes. Il est prévu d’en réduire le poids tout en ouvrant une API connectée à Google Cloud.

Illustration principale © pro motion pic - Fotolia