BLOOM (modelo de linguagem)

From Systems analysis wiki
Jump to navigation Jump to search

BLOOM (BigScience Large Open-science Open-access Multilingual Language Model) é um grande modelo de linguagem (LLM) de acesso aberto, contendo 176 bilhões de parâmetros. Foi desenvolvido em 2022 como parte do projeto BigScience — uma colaboração internacional de mais de 1000 pesquisadores de 70 países, sob a égide da empresa Hugging Face[1].

BLOOM é um modelo transformer autorregressivo, capaz de gerar texto coerente em 46 idiomas naturais e 13 linguagens de programação. O modelo foi treinado no supercomputador Jean Zay, na França, e se tornou uma das primeiras alternativas verdadeiramente abertas a modelos de código fechado, como o GPT-3 da OpenAI[2].

Histórico e Desenvolvimento

A iniciativa BigScience foi lançada em maio de 2021 com o objetivo de democratizar a pesquisa em IA, criando colaborativamente um grande modelo de linguagem aberto[1]. Naquela época, os LLMs de ponta, como o GPT-3, eram desenvolvidos de forma fechada em grandes empresas que não divulgavam a arquitetura, os dados de treinamento e o código-fonte. O projeto BigScience reuniu mais de mil pesquisadores voluntários de todo o mundo para criar um modelo competitivo e totalmente aberto.

O projeto recebeu uma subvenção para recursos computacionais no supercomputador francês Jean Zay (IDRIS/CNRS). O treinamento do modelo ocorreu de 11 de março a 6 de julho de 2022[3]. O desenvolvimento foi conduzido com a máxima transparência: a equipe publicou informações sobre a seleção de dados, configurações de treinamento e realizou discussões públicas, seguindo a carta de ética adotada pelo projeto.

Arquitetura e Treinamento

Arquitetura do Modelo

BLOOM é construído sobre uma arquitetura transformer do tipo autorregressivo (decoder-only), semelhante ao modelo GPT-3[2].

Características da Arquitetura do BLOOM[4]
Parâmetro Característica
Tipo Transformer somente decodificador
Parâmetros 176.247.271.424
Camadas (layers) 70
Cabeças de atenção 112
Tamanho do estado oculto 14.336
Comprimento da sequência 2048 tokens
Função de ativação GeLU; codificações posicionais ALiBi

O modelo foi implementado com base nos frameworks Megatron-LM e DeepSpeed, desenvolvidos pela Nvidia e Microsoft, respectivamente, com várias modificações para um treinamento distribuído eficiente[5].

Dados de Treinamento

O BLOOM foi treinado em um corpus de dados textuais especialmente criado, o ROOTS (The Responsible Open-science Open-collaboration Text Sources). O volume total de dados foi de 1,6 terabytes de texto limpo e desduplicado (≈366 bilhões de tokens)[6].

O corpus inclui textos em 59 idiomas:

  • 46 idiomas naturais, incluindo inglês (30% dos tokens), chinês, francês, espanhol, árabe, bem como muitos idiomas com poucos recursos (por exemplo, Chi Tumbuka — 0,00002% dos tokens).
  • 13 linguagens de programação, incluindo Python, Java, JavaScript e C++.

Esse conjunto de dados multilíngue e multidomínio foi compilado intencionalmente para tornar o modelo adequado para uma ampla gama de comunidades linguísticas.

Desempenho e Aplicação

O BLOOM demonstra resultados competitivos em diversos benchmarks, comparáveis a modelos de tamanho similar, como o OPT-175B da Meta, apesar de sua natureza multilíngue[2].

O modelo é capaz de realizar uma ampla gama de tarefas no modo zero-shot (sem treinamento adicional), incluindo:

  • Geração de texto em um estilo específico.
  • Sumarização de documentos.
  • Respostas a perguntas baseadas em contexto.
  • Tradução entre idiomas.
  • Geração de código de programação simples.

Para melhorar sua utilidade prática, a equipe BigScience posteriormente realizou um ajuste fino multitarefa (fine-tuning) adicional no modelo, criando a versão BLOOMZ, que segue as instruções do usuário com mais precisão.

Licenciamento e Acesso Aberto

O modelo completo BLOOM de 176 bilhões de parâmetros, seu código-fonte e dados foram publicados em julho de 2022. O modelo é distribuído sob a licença especialmente desenvolvida RAIL (Responsible AI License) v1.0[7].

Essa licença permite o uso e a modificação gratuitos do modelo, mas impõe uma série de restrições à sua aplicação em certas áreas. Especificamente, é proibido usar o BLOOM para fins que contradigam as normas éticas da BigScience, tais como:

  • Vigilância em massa.
  • Discriminação algorítmica.
  • Disseminação de desinformação.
  • Controle de armamentos letais.

O BLOOM se tornou o primeiro grande modelo de IA a ser lançado sob uma licença com cláusulas explícitas sobre o uso responsável[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. Especificação online.
  • 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.

Notas

  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]