BLOOM (modelo de lenguaje)

From Systems analysis Wiki
Jump to navigation Jump to search

BLOOM (BigScience Large Open-science Open-access Multilingual Language Model) es un gran modelo de lenguaje (LLM) de acceso abierto que contiene 176 mil millones de parámetros. Fue desarrollado en 2022 como parte del proyecto BigScience, una colaboración internacional de más de 1000 investigadores de 70 países bajo la dirección de la empresa Hugging Face[1].

BLOOM es un modelo transformer autorregresivo capaz de generar texto coherente en 46 idiomas naturales y 13 lenguajes de programación. El modelo fue entrenado en el superordenador Jean Zay en Francia y se convirtió en una de las primeras alternativas verdaderamente abiertas a los modelos de código cerrado, como GPT-3 de OpenAI[2].

Antecedentes y desarrollo

La iniciativa BigScience se lanzó en mayo de 2021 con el objetivo de democratizar la investigación en el campo de la IA mediante la creación colaborativa de un gran modelo de lenguaje abierto[1]. En ese momento, los LLM de vanguardia, como GPT-3, se desarrollaban en secreto en grandes empresas que no revelaban la arquitectura, los datos de entrenamiento ni el código fuente. El proyecto BigScience reunió a más de mil investigadores voluntarios de todo el mundo para crear un modelo competitivo y completamente abierto.

El proyecto recibió una subvención para recursos computacionales en el superordenador francés Jean Zay (IDRIS/CNRS). El entrenamiento del modelo se llevó a cabo del 11 de marzo al 6 de julio de 2022[3]. El desarrollo se realizó con la máxima transparencia: el equipo publicó información sobre la selección de datos, los ajustes de entrenamiento y llevó a cabo discusiones públicas, siguiendo la carta ética adoptada por el proyecto.

Arquitectura y entrenamiento

Arquitectura del modelo

BLOOM se basa en una arquitectura transformer de tipo autorregresivo (decoder-only), similar al modelo GPT-3[2].

Características arquitectónicas de BLOOM[4]
Parámetro Característica
Tipo Transformer solo decodificador
Parámetros 176 247 271 424
Capas (layers) 70
Cabezas de atención 112
Tamaño del estado oculto 14 336
Longitud de la secuencia 2048 tokens
Función de activación GeLU; codificaciones posicionales ALiBi

El modelo fue implementado sobre los frameworks Megatron-LM y DeepSpeed, desarrollados por Nvidia y Microsoft respectivamente, con una serie de modificaciones para un entrenamiento distribuido eficiente[5].

Datos de entrenamiento

BLOOM fue entrenado en un corpus de datos de texto especialmente creado llamado ROOTS (The Responsible Open-science Open-collaboration Text Sources). El volumen total de datos fue de 1,6 terabytes de texto limpiado y desduplicado (≈366 mil millones de tokens)[6].

El corpus incluye textos en 59 idiomas:

  • 46 idiomas naturales, incluyendo inglés (30% de los tokens), chino, francés, español, árabe, así como numerosos idiomas con pocos recursos (por ejemplo, Chi Tumbuka — 0,00002% de los tokens).
  • 13 lenguajes de programación, incluyendo Python, Java, JavaScript y C++.

Este conjunto de datos multilingüe y multidominio fue recopilado intencionadamente para que el modelo fuera útil para una amplia gama de comunidades lingüísticas.

Rendimiento y aplicación

BLOOM muestra resultados competitivos en una variedad de benchmarks, comparables a modelos de tamaño similar como OPT-175B de Meta, a pesar de su naturaleza multilingüe[2].

El modelo es capaz de realizar una amplia gama de tareas en modo zero-shot (sin entrenamiento adicional), incluyendo:

  • Generación de texto en un estilo específico.
  • Resumen de documentos.
  • Respuestas a preguntas basadas en un contexto.
  • Traducción entre idiomas.
  • Generación de código de programación simple.

Para mejorar su utilidad práctica, el equipo de BigScience realizó posteriormente un ajuste fino multitarea (fine-tuning) del modelo, creando la versión BLOOMZ, que sigue las instrucciones del usuario con mayor precisión.

Licencia y acceso abierto

El modelo completo de 176 mil millones de parámetros de BLOOM, su código fuente y sus datos se publicaron en julio de 2022. El modelo se distribuye bajo una licencia especialmente desarrollada, la RAIL (Responsible AI License) v1.0[7].

Esta licencia permite el uso y la modificación gratuitos del modelo, pero impone una serie de restricciones a su aplicación en ciertas áreas. En particular, se prohíbe el uso de BLOOM para fines que contravengan las normas éticas de BigScience, tales como:

  • Vigilancia masiva.
  • Discriminación algorítmica.
  • Difusión de desinformación.
  • Control de armamento letal.

BLOOM se convirtió en el primer gran modelo de IA publicado bajo una licencia con estipulaciones explícitas sobre el uso responsable[8].

Literatura

  • 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.

Referencias

  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]