BLOOM (modèle de langage)

From Systems analysis Wiki
Jump to navigation Jump to search

BLOOM (BigScience Large Open-science Open-access Multilingual Language Model) est un grand modèle de langage (LLM) en accès libre, contenant 176 milliards de paramètres. Il a été développé en 2022 dans le cadre du projet BigScience, une collaboration internationale de plus de 1000 chercheurs de 70 pays, sous l'égide de l'entreprise Hugging Face[1].

BLOOM est un modèle Transformer autorégressif, capable de générer du texte cohérent en 46 langues naturelles et 13 langages de programmation. Le modèle a été entraîné sur le supercalculateur Jean Zay en France et est devenu l'une des premières alternatives véritablement ouvertes aux modèles propriétaires, tels que GPT-3 d'OpenAI[2].

Contexte et développement

L'initiative BigScience a été lancée en mai 2021 dans le but de démocratiser la recherche en IA en créant collaborativement un grand modèle de langage ouvert[1]. À cette époque, les LLM de pointe, tels que GPT-3, étaient développés de manière propriétaire par de grandes entreprises qui ne divulguaient ni leur architecture, ni leurs données d'entraînement, ni leur code source. Le projet BigScience a réuni plus d'un millier de chercheurs bénévoles du monde entier pour créer un modèle compétitif et entièrement ouvert.

Le projet a obtenu une subvention pour des ressources de calcul sur le supercalculateur français Jean Zay (IDRIS/CNRS). L'entraînement du modèle s'est déroulé du 11 mars au 6 juillet 2022[3]. Le développement a été mené de la manière la plus transparente possible : l'équipe a publié des informations sur la sélection des données, les paramètres d'entraînement et a organisé des discussions publiques, en suivant la charte éthique adoptée pour le projet.

Architecture et entraînement

Architecture du modèle

BLOOM est basé sur une architecture de type Transformer autorégressif (decoder-only), similaire au modèle GPT-3[2].

Caractéristiques architecturales de BLOOM[4]
Paramètre Caractéristique
Type Transformer de type décodeur uniquement
Paramètres 176 247 271 424
Couches (layers) 70
Têtes d'attention 112
Dimension de l'état caché 14 336
Longueur de séquence 2048 tokens
Fonction d'activation GeLU ; encodages positionnels ALiBi

Le modèle a été implémenté sur la base des frameworks Megatron-LM et DeepSpeed, développés respectivement par Nvidia et Microsoft, avec plusieurs modifications pour un entraînement distribué efficace[5].

Données d'entraînement

BLOOM a été entraîné sur un corpus de données textuelles spécialement créé, nommé ROOTS (The Responsible Open-science Open-collaboration Text Sources). Le volume total des données s'élève à 1,6 téraoctet de texte nettoyé et dédupliqué (≈366 milliards de tokens)[6].

Le corpus comprend des textes en 59 langues :

  • 46 langues naturelles, dont l'anglais (30 % des tokens), le chinois, le français, l'espagnol, l'arabe, ainsi que de nombreuses langues à faibles ressources (par exemple, le Chi Tumbuka — 0,00002 % des tokens).
  • 13 langages de programmation, dont Python, Java, JavaScript et C++.

Ce dataset multilingue et multi-domaines a été délibérément assemblé pour rendre le modèle utile à un large éventail de communautés linguistiques.

Performance et applications

BLOOM affiche des résultats compétitifs sur divers benchmarks, comparables à ceux de modèles de taille similaire, comme OPT-175B de Meta, malgré sa nature multilingue[2].

Le modèle est capable d'effectuer un large éventail de tâches en mode zero-shot (sans entraînement supplémentaire), notamment :

  • La génération de texte dans un style donné.
  • Le résumé de documents.
  • La réponse à des questions basées sur un contexte.
  • La traduction entre les langues.
  • La génération de code de programmation simple.

Pour améliorer son utilité pratique, l'équipe de BigScience a par la suite effectué un affinage multitâche supplémentaire (fine-tuning) du modèle, créant la version BLOOMZ, qui suit plus précisément les instructions de l'utilisateur.

Licence et accès ouvert

Le modèle complet BLOOM de 176 milliards de paramètres, son code source et ses données ont été publiés en juillet 2022. Le modèle est distribué sous la licence RAIL (Responsible AI License) v1.0, spécialement conçue pour ce projet[7].

Cette licence autorise l'utilisation et la modification gratuites du modèle, mais impose un certain nombre de restrictions sur son application dans des domaines spécifiques. Il est notamment interdit d'utiliser BLOOM à des fins contraires aux normes éthiques de BigScience, telles que :

  • La surveillance de masse.
  • La discrimination algorithmique.
  • La diffusion de désinformation.
  • Le contrôle d'armements létaux.

BLOOM est devenu le premier grand modèle d'IA publié sous une licence incluant des clauses explicites sur l'utilisation responsable[8].

Bibliographie

  • Hendrycks, D.; Gimpel, K. (2016). Gaussian Error Linear Units (GELUs). arXiv:1606.08415.
  • Shoeybi, M.; et al. (2019). Megatron‑LM: Training Multi‑Billion Parameter Language Models Using Model Parallelism. arXiv:1909.08053.
  • Rajbhandari, S.; et al. (2020). ZeRO: Memory Optimizations Toward Training Trillion Parameter Models. arXiv:1910.02054.
  • Press, O.; et al. (2021). Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation. arXiv:2108.12409.
  • Le Scao, T.; et al. (2022). BLOOM: A 176B‑Parameter Open‑Access Multilingual Language Model. arXiv:2211.05100.
  • Muennighoff, N.; et al. (2022). BLOOMZ & mT0: A Cross‑Lingual Baseline for Instruction Finetuning. arXiv:2211.01786.
  • BigScience Workshop (2022). BigScience OpenRAIL‑M License v1.0. Online specification.
  • Akiki, C.; et al. (2022). BigScience: A Case Study in the Social Construction of a Multilingual Large Language Model. arXiv:2212.04960.
  • Yong, Z.‑X.; et al. (2022). BLOOM+1: Adding Language Support to BLOOM for Zero‑Shot Prompting. arXiv:2212.09535.
  • Biderman, S.; et al. (2023). The BigScience ROOTS Corpus: A 1.6 TB Composite Multilingual Dataset. arXiv:2303.03915.

Références

  1. 1.0 1.1 «BLOOM». BigScience Blog. [1]
  2. 2.0 2.1 2.2 Le Scao, T., et al. (2022). «BLOOM: A 176B-Parameter Open-Access Multilingual Language Model». arXiv:2211.05100. [2]
  3. «Researchers open-source neural network with 176B parameters». SiliconANGLE. [3]
  4. «bigscience/bloom». Hugging Face. [4]
  5. «The Technology Behind BLOOM Training». Hugging Face Blog. [5]
  6. Biderman, S. et al. (2023). «The BigScience ROOTS Corpus: A 1.6 TB Composite Multilingual Dataset». arXiv:2303.03915. [6]
  7. «BigScience OpenRAIL-M». BigScience Blog. [7]
  8. Heikkilä, M. «BLOOM is the first AI model to be under a...». X. [8]