深度全解析开放开源大模型之BLOOM

BLOOM是 BigScience Large Open-science Open-access Mul-tilingual Language Model首字母的缩写。

BigScience 不是财团(consortium),也不是正式成立的实体。这是一个由HuggingFace、GENCI和IDRIS发起的开放式协作组织,以及一个同名的研究研讨会(workshop)。其主页为 https://bigscience.huggingface.co/

BigScience发布 BLOOM,旨在为学术界、非营利组织和小型公司的研究实验室能够更好的研究和使用LLM。并且,BLOOM 本身也是由大量的是AI研究人员参与的单个研究项目,同时也是迄今为止最大规模的合作结果。

BLOOM 本身是变换器网络Transformer解码器(Decoder-Only)模型,在一个称之为ROOTS的语料库上训练出来的176B参数规模【和 GPT-3一样的规模】的自回归语言模型。BLOOM 也是第一个开源开放的超过100B的语言模型。

ROOTS语料库包含有46种自然语言和13种编程语言。

参与训练 BLOOM 的研究人员多达1000多位,来自7070 多个国家和 250 多个机构。

训练 BLOOM 的算力成本超过300万欧元,由CNRS 和 GENCI提供,训练模型的机器是法国巴黎的Jean Zay超级计算机。

本号持续关注通用人工智能,会持续跟踪人工智能【大模型、AGI、AIGC、生成式AI、文生文、文生图、图像理解、强化学习、知识图谱、深度学习】有关的数据、算法、模型和创投,欢迎关注本号获得一手数据和知识。

基础信息

由BigScience社区开发和发布

60 个国家和 250 多个机构的 1000 多名研究人员参与BLOOM的项目

BLOOM是在2021年5月至2022年5月的一年时间里完成训练并发布的。初始版本发布于2022年5月19日。目前最新的版本是2022年7月6日发布的1.3版本。

arxiv的论文【https://arxiv.org/abs/2211.05100】发表时间是2022年11月9日

BLOOM是一种基于变换器网络(Transformer)架构的自回归语言模型。该模型除了176B 之外,还提供了几个较小的模型,其模型参数规模为:560M,1.1B,1.7B,3B 和7.1B。

模型许可【不构成法律建议,使用时请自行解决】:The BigScience RAIL License 【https://bigscience.huggingface.co/blog/the-bigscience-rail-license】和 BigScience RAIL License v1.0 【https://huggingface.co/spaces/bigscience/license】:它不会对重用、分发、商业化、改编施加任何限制,只要该模型不应用于已受限制的用例( it does not impose any restrictions on reuse, distribution, commercialization, adaptation as long as the model is not being applied towards use-cases that have been restricted.)。大概来说,就是允许商用,但必须标明使用了BLOOM并附上同一个许可说明。

参数

名称 BLOOM-176B

参数规模params 176,247M(176B)

隐变量维度dimension 14336

自注意力头的个数n heads 112

层数n layers 70

词表大小Vocab size 250,680

输入序列长度sequence length 2048

数据规模词元数量n tokens 366B

训练时长Training GPU-hours 1,082,990(A100)

训练模型的算力设施

模型在法国的Jean Zay超级计算集群上训练的。训练BLOOM的算力成本超过300万欧元,由CNRS 和 GENCI提供,训练模型的机器是法国巴黎的Jean Zay超级计算机。

训练时间3.5月,花费1,082,990计算小时。

48个节点,每个节点包括用4个NVLink互联的8块NVIDIA A100 80GB GPUs(应该是一台Nvidia DGX A100或类似的),2x AMD EPYC 7543 32-Core CPUs 和 512GB内存,一共384 A100 GPUs。训练中预留了4个节点备用,防止训练过程的失效。节点之间使用了 4 Omni-Path 100 Gbps的交换机。

并行训练层面,使用了Megatron-DeepSpeed:

Megatron-LM,提供了Transformer的实现、张量并行和数据加载等

DeepSpeed,提供了分布式训练

模型下载

在Hugging Face上下载

无监督预训练的模型:BLOOM-176B【https://huggingface.co/bigscience/bloom】,BLOOM-7.1B【https://huggingface.co/bigscience/bloom-7b1】

多任务微调的模型:BLOOMz-176B【https://huggingface.co/bigscience/bloomz】, BLOOMz-7.1B【https://huggingface.co/bigscience/bloomz-7b1】

其他参数规模的模型可在BigScience主页【https://huggingface.co/bigscience】上查找下载

训练数据

BLOOM的训练数据是一个称为ROOTS的语料库,一共1.61TB文本,该语料库包含了498个Hugging Face上的数据集。其包含自然语言和编程语言两部分。论文:https://arxiv.org/pdf/2303.03915.pdf

ROOTS语料库包含有46种自然语言和13种编程语言。

词元(Token)数量为366B。

自然语言

按自然语言语言分类,占比最高的几种自然语言为:

序号 语言 占比 说明

1 English 30.03% 英语

2 Simplified Chinese 16.16% 简体中文

3 French 12.9% 法语

4 Spanish 10.85% 西班牙语

5 Portuguese 4.91% 葡萄牙语

6 Arabic 4.6% 阿拉伯语

更多的自然语言分布如下图所示:

编程语言

数据的选择和处理参照 DeepMind 的 AlphaCode。数据的获取利用了Google的BigQuery项目。

包含语言为Java,PHP,C++,Python,JavaScript,C#,Ruby,Lua,TypeScript,Go,C,Scala,Rust。语言的分布如下图所示:

模型架构

详细说明见论文【https://arxiv.org/abs/2211.05100】

使用了ALiBi Positional Embeddings 位置嵌入

在推断中能够完成更长序列的任务,同时 BLOOM 认为训练时更加平滑,以及对下游任务来说有更好的性能(相比跟随学习的位置编码【 Attention is all you need】和rotary嵌入【RoFormer: Enhanced transformer with rotary position embedding】

在嵌入层后面加了一层 LayerNorm 层,好处是训练时提升了稳定性;坏处是会影响到推断是零样本学习的泛化能力。

深度全解析的基础大模型列表

序号 名称 参数规模 数据规模 说明

1 LLaMA 7B,13B,30B,65B 1.4T Meta,代码开源,模型"泄露",不可商用

2 OPT 6.7B,13B,30B,66B,175B

3 BLOOM 3B,7.1B,176B 366B 可商用,最为宽松

4 GALACTICA 6.7B,30B,120B

5 Falcon 7B,40B

6 MOSS 16B

7 ChatGLM 6B

8 StableLM 3B,7B

9 baichuan 7B 1.2T 开放,商用需授权

10 Aquila 7B,33B 悟道·天鹰

11 RedPajama 3B,7B

12 GPT-NeoX 20B 800GB的The Pile数据集

13 OpenLLaMA 3B,7B,13B 1T

深度全解析的非基础大模型WizardLM

Alpaca

Vicuna

Guanaco

相关推荐
二哥不像程序员7 分钟前
解放大脑!用DeepSeek自动生成PPT!
人工智能·powerpoint·deepseek
紫雾凌寒12 分钟前
计算机视觉基础|轻量化网络设计:MobileNetV3
人工智能·python·深度学习·计算机视觉·mobilenet·mobilenetv3·轻量化网络设计
莫叫石榴姐23 分钟前
DeepSeek与AI幻觉
人工智能
L_cl1 小时前
【NLP 23、预训练语言模型】
人工智能·语言模型·自然语言处理
程序猿阿伟2 小时前
《AI与NLP:开启元宇宙社交互动新纪元》
人工智能·自然语言处理
CodeJourney.2 小时前
DeepSeek在MATLAB上的部署与应用
数据库·人工智能·算法·架构
不苒2 小时前
从卡顿到丝滑:火山引擎DeepSeek-R1引领AI工具新体验
人工智能·火山引擎
skywalk81632 小时前
尝试在exo集群下使用deepseek模型:第一步,调通llama
人工智能·llama·exo
liruiqiang052 小时前
线性模型 - 支持向量机(参数学习)
人工智能·学习·机器学习·支持向量机
Archie_IT2 小时前
Ollama辅助工具在思源笔记中的核心玩法助力实现AI高效创作
人工智能·笔记