BLOOM (language model) — 大型开放多语言语言模型
BLOOM(BigScience 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]。
| 参数 | 特性 |
|---|---|
| 类型 | 仅解码器Transformer |
| 参数量 | 176,247,271,424 |
| 层数 (layers) | 70 |
| 注意力头数 | 112 |
| 隐藏层维度 | 14,336 |
| 序列长度 | 2048个词元 |
| 激活函数 | GeLU;ALiBi位置编码 |
该模型基于Nvidia和Microsoft分别开发的Megatron-LM和DeepSpeed框架实现,并进行了一系列修改以支持高效的分布式训练[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.0 1.1 “BLOOM”. BigScience Blog. [1]
- ↑ 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]
- ↑ “Researchers open-source neural network with 176B parameters”. SiliconANGLE. [3]
- ↑ “bigscience/bloom”. Hugging Face. [4]
- ↑ “The Technology Behind BLOOM Training”. Hugging Face Blog. [5]
- ↑ Biderman, S. et al. (2023). “The BigScience ROOTS Corpus: A 1.6 TB Composite Multilingual Dataset”. arXiv:2303.03915. [6]
- ↑ “BigScience OpenRAIL-M”. BigScience Blog. [7]
- ↑ Heikkilä, M. “BLOOM is the first AI model to be under a...”. X. [8]