BLOOM (language model) — 大型开放多语言语言模型

From Systems analysis wiki
Jump to navigation Jump to search

BLOOMBigScience Large Open-science Open-access Multilingual Language Model)是一个拥有1760亿参数的开源大型语言模型(LLM)。它于2022年由BigScience项目开发,这是一个由Hugging Face公司支持的国际合作项目,汇集了来自70个国家的1000多名研究人员[1]

BLOOM是一个自回归的Transformer模型,能够用46种自然语言13种编程语言生成连贯的文本。该模型在法国的Jean Zay超级计算机上进行训练,并成为首批真正开放的、可替代OpenAI的GPT-3等闭源模型的选择之一[2]

背景与开发

BigScience计划于2021年5月启动,旨在通过合作创建一个大型开放语言模型,从而实现AI研究的民主化[1]。当时,像GPT-3这样的前沿LLM都是由大公司闭源开发的,它们不公开模型架构、训练数据和源代码。BigScience项目汇集了全球一千多名志愿研究人员,共同创建一个具有竞争力且完全开放的模型。

该项目获得了在法国超级计算机Jean Zay(IDRIS/CNRS)上使用计算资源的资助。模型训练于2022年3月11日至7月6日进行[3]。开发过程尽可能透明:团队遵循项目制定的道德章程,公布了有关数据选择、训练设置的信息,并进行了公开讨论。

架构与训练

模型架构

BLOOM基于自回归(decoder-only)Transformer架构构建,与GPT-3模型类似[2]

BLOOM的架构特性[4]
参数 特性
类型 仅解码器Transformer
参数量 176,247,271,424
层数 (layers) 70
注意力头数 112
隐藏层维度 14,336
序列长度 2048个词元
激活函数 GeLU;ALiBi位置编码

该模型基于Nvidia和Microsoft分别开发的Megatron-LMDeepSpeed框架实现,并进行了一系列修改以支持高效的分布式训练[5]

训练数据

BLOOM在一个专门创建的文本数据集ROOTS(The Responsible Open-science Open-collaboration Text Sources)上进行训练。数据总量为1.6 TB经过清洗和去重的文本(约3660亿个词元)[6]

该数据集包含59种语言的文本:

  • 46种自然语言,包括英语(占30%的词元)、中文、法语、西班牙语、阿拉伯语,以及许多资源匮乏的语言(例如,奇图姆布卡语(Chi Tumbuka)——占0.00002%的词元)。
  • 13种编程语言,包括Python、Java、JavaScript和C++。

这个多语言、多领域的数据集是特意收集的,旨在使模型适用于广泛的语言社区。

性能与应用

尽管BLOOM是多语言模型,但在各种基准测试中,它表现出与Meta的OPT-175B等同等规模模型相媲美的竞争力[2]

该模型能够在zero-shot(零样本)模式下(无需额外训练)执行多种任务,包括:

  • 按指定风格生成文本。
  • 文档摘要。
  • 基于上下文的问答。
  • 语言翻译。
  • 生成简单的程序代码。

为了提高实用性,BigScience团队后来对模型进行了额外的多任务微调(fine-tuning),创建了BLOOMZ版本,该版本能更准确地遵循用户指令。

许可与开放获取

完整的1760亿参数BLOOM模型、其源代码和数据于2022年7月发布。该模型采用专门制定的RAIL(Responsible AI License)v1.0许可证进行分发[7]

该许可证允许免费使用和修改模型,但对其在特定领域的应用施加了一系列限制。特别是,禁止将BLOOM用于违背BigScience道德准则的目的,例如:

  • 大规模监控。
  • 算法歧视。
  • 传播虚假信息。
  • 控制致命武器系统。

BLOOM成为首个在许可证中明确规定负责任使用条款的大型AI模型[8]

参考文献

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

注释

  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]