Ce modèle d'IA avancée est développé en France dans le cadre du projet collaboratif international BigScience (un projet porté par Hugging Face, visant à développer des modèles d'intelligence artificielle avancés dans une optique science ouverte et de transparence, soutenu par des institutions telles que le CNRS et GENCI, BigScience et fédérant une communauté internationale de chercheurs soucieux de démocratiser l'accès aux technologies d'IA tout en promouvant une gouvernance responsable avec des restrictions d'utilisation pour des buts non éthiques[2],[1].
BLOOM est initialement conçu pour générer du texte cohérent dans 46 langues (plus de 50 ensuite) et plus de 10 langages de programmation (C, C#, C++, Go, Java, JavaScript, Lua, PHP, Python, Rust, Scala et TypeScript), en utilisant la technologie des transformers, (qui permet de traiter des données séquentielles efficacement) mais uniquement décodeur (le terme décodeur désigne ici un modèle Transformer utilisant uniquement la partie « décodeur » de l'architecture : contrairement aux modèles employant à la fois un encodeur et un décodeur (par exemple, pour la traduction automatique), ce type de modèle se concentre exclusivement sur la génération de texte en prédisant de manière autogressive chaque mot suivant à partir des tokens précédents. Ainsi, BLOOM est conçu pour générer du texte cohérent en évaluant itérativement la probabilité du mot suivant, sans passer par une phase d'encodage distincte). Le modèle d'IA a été entraîné sur un ensemble de données de 1,6 To (le corpus de formation de BLOOM, nommé ROOTS[3], combine des données extraites de la dernière version du corpus Web OSCAR (38 % de ROOTS) et des données nouvellement collectées extraites d'une liste de sources de données linguistiques sélectionnées et documentées manuellement. BLOOM, basé sur environ 350 milliards de tokens, a été développé grâce au supercalculateur Jean Zay du CNRS. Avec 176 milliards de paramètres, il est classé dans les modèles de langage les plus avancés. Il fonctionne sur une infrastructure de traitement de 8 GPU comptant 80 Go chacun, mais Hugging Face en commercialise aussi une version cloud (c'est-à-dire accessible via une interface en ligne).
Histoire
De mai 2021 à mai 2022, plus de 1 000 chercheurs de 60 pays y travaillent ; l'entraînant sur un vaste jeu de données textuelles, grâce à l'équivalent de 28 pétaflops de calcul sur le supercalculateur Jean Zay du CNRS (dédié au calcul numérique intensif).
De 2023 à 2025, le projet s'est enrichi de nouveaux corpus d'entraînement, et élargi à 46 langues naturelles et 13 langages de programmation, tout en consolidant sa démarche éthique[4] et transparente en science ouverte.
Licence éthique
Bloom est publié sous licence « BigScience RAIL License » dans une logique open source, mais de type « permissive », c'est-à-dire qui permet de redistribuer le logiciel (modifié ou non), mais sans adopter toutes les contraintes propres au logiciel libre (la licence de BLOOM interdit à tout utilisateur de recourir à cette IAg pour des objectifs contraires à la loi ou considérés comme non-éthiques)[5]. Plus précisément, il est interdit d'utiliser BLOOM dans les cas suivants :
Pour toute application qui viole toute loi ou réglementation nationale, fédérale, étatique, locale ou internationale applicable,
Dans le but d'exploiter, de nuire ou de tenter d'exploiter ou de nuire à des mineurs de quelque manière que ce soit,
Pour générer ou diffuser de fausses informations vérifiables dans le but de nuire à autrui,
Pour générer ou diffuser des informations personnelles identifiables qui peuvent être utilisées pour nuire à un individu,
Pour générer ou diffuser des informations ou du contenu, dans n'importe quel contexte (par exemple, des publications, des articles, des tweets, des chatbots ou d'autres types de robots automatisés) sans indiquer expressément et de manière intelligible que le texte est généré par une machine,
Diffamer, dénigrer ou harceler d'autres personnes,
Usurper l'identité ou tenter d'usurper l'identité d'autrui,
Pour une prise de décision entièrement automatisée qui porte atteinte aux droits légaux d'un individu,
Pour toute utilisation destinée ou avec pour effet de discriminer ou de nuire à des individus ou des groupes sur la base d'un comportement social en ligne ou hors ligne ou de caractéristiques personnelles ou de personnalité connues ou prévues,
Pour exploiter l'une des vulnérabilités d'un groupe spécifique de personnes en fonction de leur âge, de leurs caractéristiques sociales, physiques ou mentales, afin de déformer matériellement le comportement d'une personne appartenant à ce groupe d'une manière qui cause ou est susceptible de causer à cette personne ou à une autre personne un préjudice physique ou psychologique,
Pour toute utilisation destinée à discriminer ou avec effet de discriminer des individus ou des groupes sur la base de caractéristiques ou de catégories légalement protégées,
Fournir des conseils médicaux et interpréter les résultats médicaux,
Pour générer ou diffuser des informations dans le but d'être utilisées pour l'administration de la justice, l'application de la loi, les procédures d'immigration ou d'asile, telles que la prédiction qu'un individu commettra une fraude/un crime (par exemple, par le profilage de texte, en établissant des relations causales entre des affirmations faites dans des documents et une utilisation aveugle et arbitrairement ciblée).
Empreinte carbone et empreinte énergétique de BLOOM
Elle a été estimée en 2022, et — alors que le calcul de l'empreinte carbone des modèles de langage se limite généralement aux seules émissions dues à la consommation d'énergie lors de l'entraînement du modèle — dans le cas de BLOOM, les évaluateurs ont aussi tenu compte la fabrication de l'équipement, de l'entraînement intermédiaire et du déploiement du modèle[3].
L'entraînement de BLOOM a généré environ 81 tonnes d'équivalent CO2, réparties entre la fabrication de l'équipement (14 %, soit 11 tonnes), l'énergie consommée pendant l'entraînement (30 %, soit 25 tonnes) et la consommation électrique des équipements et du cluster de calcul en période d'inactivité (55 %, soit 45 tonnes)[3].
Sa consommation d'énergie (433 MWh) dépasse (de peu) celle d'OPT[note 1] (324 MWh), mais ses émissions (25 tonnes) sont environ deux tiers inférieures à celles d'OPT (70 tonnes), en raison de la forte part du nucléaire dans l'origine de l'électricité utilisée pour entraîner BLOOM (57 gCO2 eq/kWh), comparativement à celui utilisé pour OPT (231 gCO2 eq/kWh). BLOOM et OPT ont tous deux généré beaucoup moins d'émissions de carbone que GPT-3, grâce à un matériel plus efficace et à des sources d'énergie moins carbonées. L'entraînement final de BLOOM représente environ 37 % des émissions totales du projet, les 63 % restants étant dûs à d'autres processus (entraînements intermédiaires et tests d'évaluation du modèle)[3].
Le déploiement en temps réel de l'API du modèle BLOOM sur une instance GCP avec 16 GPU dans la région us-central1 a été estimé à environ 20 kg d'équivalent CO2 par jour (ou 0,83 kg par heure) avec des variations selon le matériel utilisé, l'implémentation du modèle et le nombre de requêtes[3].
Les prompts
BLOOM a été testé, via une extension de l'outil Language Model Evaluation Harness[6] d'EleutherAI, intégrant la librairie promptsource (outil accessible en open source), pour divers types de données, et pour diverses modalités de prompting[7],[8] et de contextualisation des requêtes[3].
Les premiers prompts ont été conçus par des humains avant la publication de BLOOM, pour simuler les résultats que pourrait obtenir un nouvel utilisateur[3].
Notes et références
Notes
↑OPT (pour Open Pre-trained Transformer est une famille de modèles de langage open-source développée par Meta AI, reposant sur l'architecture Transformer en mode décodeur uniquement. Pour partie techniquement similaires àBLOOM, ils génèrent du texte de manière autogressive, et sont une alternative open source aux systèmes propriétaires tels que GPT-3. Ils ont été très utilisés par les chercheurs en IAg, dont pour évaluer l'efficacité et l'empreinte énergétique des grandes architectures de modèles de langage.
↑ abcdef et g(en) Teven Le Scao, Angela Fan, Christopher Akiki et Ellie Pavlick, « BLOOM: A 176B-Parameter Open-Access Multilingual Language Model », inria.hal.science, (lire en ligne, consulté le ).
↑(en) Nicolae Sfetcu, Intelligence, from Natural Origins to Artificial Frontiers - Human Intelligence vs. Artificial Intelligence, MultiMedia Publishing, (ISBN978-606-033-856-7, lire en ligne).
↑(en) Danish Contractor, Daniel McDuff, Julia Katherine Haines et Jenny Lee, « Behavioral Use Licensing for Responsible AI », 2022 ACM Conference on Fairness, Accountability, and Transparency, ACM, , p. 778–788 (DOI10.1145/3531146.3533143, lire en ligne, consulté le ).
↑Sidney Black, Stella Biderman, Eric Hallahan et Quentin Anthony, « GPT-NeoX-20B: An Open-Source Autoregressive Language Model », Proceedings of BigScience Episode #5 -- Workshop on Challenges & Perspectives in Creating Large Language Models, Association for Computational Linguistics, (DOI10.18653/v1/2022.bigscience-1.9, lire en ligne, consulté le ).
↑(en) Stephen Bach, Victor Sanh, Zheng Xin Yong et Albert Webson, « PromptSource: An Integrated Development Environment and Repository for Natural Language Prompts », Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics: System Demonstrations, Association for Computational Linguistics, (DOI10.18653/v1/2022.acl-demo.9, lire en ligne, consulté le ).
↑(en) Niklas Muennighoff, Thomas Wang, Lintang Sutawika et Adam Roberts, « Crosslingual Generalization through Multitask Finetuning », Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), Association for Computational Linguistics, (DOI10.18653/v1/2023.acl-long.891, lire en ligne, consulté le ).