版本1.0 / 2022年5月26日
此部分提供有关该模型的信息,供任何想了解该模型的人使用。
开发人员:BigScience( website )
模型类型:基于Transformer的语言模型
版本:1.0.0
语言:多种;见训练数据
许可证:RAIL许可证v1.0( link )
预计发布日期:2022年7月11日周一
资助方:
法国政府。
Hugging Face( website )。
贡献者组织。 (贡献组织的详细分解稍后公布。)
此部分回答有关模型的预期使用方式的问题,讨论了模型的可预见用户(包括受模型影响的用户)并描述了被认为是超出范围或滥用模型的用途。它为任何考虑使用该模型或受到该模型影响的人提供信息。
制作此模型是为了推动对大型语言模型(LLM)进行公共研究。LLM旨在用于语言生成或作为可进一步针对特定任务进行微调的预训练基础模型。以下用例不是详尽无遗的。
直接使用文本生成
探索语言模型生成的特征
此部分介绍了用户不应该对模型进行的操作。
详细的使用限制请参见 BLOOM License 附件A。以下清单不是详尽无遗的,但列出了一些容易预见到的问题用例。
超范围使用将模型用于高风险的环境设置不在此模型的范围之内 。该模型不适用于关键决策或对个人生活或福祉产生任何实质影响的用途。模型输出的内容在外表上似乎是事实,但事实并非如此。
超范围使用包括:在生物医学领域、政治和法律领域或金融领域使用
用于评估或评分个人,如就业、教育或信用评分
将模型应用于关键自动决策、生成事实内容、创建可靠的摘要或生成必须准确的预测
故意利用模型造成伤害、侵犯人权或进行其他恶意活动,都是该模型的滥用。这包括:
垃圾邮件生成
不实信息和影响力行动
诋毁和诽谤
骚扰和滥用
虚假陈述
未经同意的冒充和模仿
未经同意的监视
在不标明模型署名的情况下生成内容,如 RAIL License, Use Restrictions 中所指定
一般公众
研究人员
学生
教育工作者
工程师/开发人员
非商业实体
社会倡导者,包括人权和民权组织
使用由直接用户创建的衍生产品的用户,例如使用具有
使用 Derivatives of the Model, as described in the License 的用户
被LLM提及的个人和团体
暴露于LLM输出或基于LLM的决策的个人和团体
其原创作品包含在LLM中的个人和团体
此部分确定可预见到的伤害和误解。
模型可能会:
过多地代表某些观点,忽视其他观点
包含刻板印象
包含个人信息
生成:
充满仇恨、辱骂或暴力的语言
歧视性或偏见的语言
对于所有情境可能不适当的内容,包括性内容
出错,包括将不正确的信息产生为事实
生成无关或重复的输出
此部分提供有关警告和潜在缓解措施的信息。
间接用户应被告知他们所使用的内容是由LLM创建的。
用户应了解风险和局限性,并根据需要提供适当的年龄免责声明或阻止界面。
基于LLM的预训练模型应包括更新的模型卡。
使用该模型的用户应提供机制供受影响者提供反馈,例如电子邮件地址以便评论。
此部分提供关于训练数据的概述,对于任何想要了解模型学习的基础知识的人都是相关的。
每个数据集的详细信息在各个 Data Cards 中提供。
训练数据包括:
45种自然语言
12种编程语言
在1.5TB的预处理文本中,转换为350B个唯一标记(请参见标记器部分以获取更多信息。)
饼图显示了训练数据中各种语言的分布情况。
以下表格显示了尼日尔-刚果语系和印度语系语言在训练数据中的进一步分布情况。
Niger Congo | Percentage | Indic | Percentage |
---|---|---|---|
Chi Tumbuka | 0.00002 | Assamese | 0.01 |
Kikuyu | 0.00004 | Odia | 0.04 |
Bambara | 0.00004 | Gujarati | 0.04 |
Akan | 0.00007 | Marathi | 0.05 |
Xitsonga | 0.00007 | Punjabi | 0.05 |
Sesotho | 0.00007 | Kannada | 0.06 |
Chi Chewa | 0.0001 | Nepali | 0.07 |
Setswana | 0.0002 | Telugu | 0.09 |
Northern Sotho | 0.0002 | Malayalam | 0.10 |
Fon | 0.0002 | Urdu | 0.10 |
Kirundi | 0.0003 | Tamil | 0.20 |
Wolof | 0.0004 | Bengali | 0.50 |
Kuganda | 0.0004 | Hindi | 0.70 |
Chi Shona | 0.001 | ||
Isi Zulu | 0.001 | ||
Igbo | 0.001 | ||
Xhosa | 0.001 | ||
Kinyarwanda | 0.003 | ||
Yoruba | 0.006 | ||
Swahili | 0.02 |
以下表格显示了编程语言的分布情况。
Extension | Language | Number of files |
---|---|---|
java | Java | 5,407,724 |
php | PHP | 4,942,186 |
cpp | C++ | 2,503,930 |
py | Python | 2,435,072 |
js | JavaScript | 1,905,518 |
cs | C# | 1,577,347 |
rb | Ruby | 6,78,413 |
cc | C++ | 443,054 |
hpp | C++ | 391,048 |
lua | Lua | 352,317 |
go | GO | 227,763 |
ts | TypeScript | 195,254 |
C | C | 134,537 |
scala | Scala | 92,052 |
hh | C++ | 67,161 |
H | C++ | 55,899 |
tsx | TypeScript | 33,107 |
rs | Rust | 29,693 |
phpt | PHP | 9,702 |
c++ | C++ | 1,342 |
h++ | C++ | 791 |
php3 | PHP | 540 |
phps | PHP | 270 |
php5 | PHP | 166 |
php4 | PHP | 29 |
此部分描述了评估协议并提供结果。
此部分描述了计算性能的不同方式以及原因。
包括:
Metric | Why chosen |
---|---|
Perplexity | Standard metric for quantifying model improvements during training |
Cross Entropy Loss | Standard objective for language models. |
特定任务的多个不同度量标准。 (在评估协议完成后将提供更多评估指标。)
此部分列出了BLOOM模型涉及的不同方面。其重点是那些可能导致模型行为差异较大的方面。
语言,例如英语或约鲁巴语
域,例如新闻稿或故事
人口特征,如性别或国籍
结果基于因素和指标。
训练时间评估:
截至2022年5月25日15:00 PST:
训练损失:2.0
验证损失:2.2
困惑度:8.9
(在模型训练结束时将提供更多评估分数。)
训练超级计算机Jean Zay( website )主要使用核能。其产生的热量被再利用来供暖校园住房。
估计的碳排放量:(在训练完成后提供。)
估计的电力使用量:(在训练完成后提供。)
此部分提供给从事模型开发的人的信息。
有关复制训练的完整详细信息,请参见 the BLOOM training README 。
模型架构:基于Megatron-LM GPT2进行修改(参见 paper , BLOOM Megatron code ):
仅解码器架构
使用ALiBI位置编码(请参见 paper ),激活函数为GeLU
559,214,592个参数:
256,901,120个嵌入参数
24层,16个注意头
隐藏层为1024维
序列长度为2048个标记(请参见 BLOOM tokenizer ,Tokenizer描述)
目标函数:交叉熵与均值归约(请参见 API documentation )。
计算基础设施:法国政府提供的Jean Zay公共超级计算机(请参见 announcement )。
硬件:384个A100 80GB GPU(48个节点):
备用的32个A100 80GB GPU(4个节点)
每节点8个GPU,使用NVLink 4互连连接,4个OmniPath链接
CPU:AMD
CPU内存:每个节点512GB
GPU内存:每个节点640GB
节点间互连:Omni-Path架构(OPA)
NCCL通信网络:完全专用子网
磁盘IO网络:与其他类型的节点共享网络
软件:
Megatron-DeepSpeed ( Github link )
DeepSpeed ( Github link )
PyTorch(pytorch-1.11 w / CUDA-11.5;请参见 Github link )
apex ( Github link )
训练日志: Tensorboard link
训练吞吐量:每个GPU约为150 TFLOP
迭代次数:1(当前目标)
日期:
开始时间:2022年3月11日上午11:42 PST
结束时间:2022年7月5日
训练成本估计:等于云计算中的200-500万美元(包括初步实验和其他模型规模)
服务器训练位置:法国Île-de-France
BLOOM标记器( link )是使用以下方法之一进行训练的学习子词标记器:
字节级字节对编码(BPE)算法
简单的预分词规则,无规范化
词汇表大小为250,680
它是在使用每种语言的Alpha加权的预初步版本语料库的子集上进行训练的。
引用为:BigScience, BigScience Language Open-science Open-access Multilingual (BLOOM) Language Model,国际,2021年5月-2022年5月
此部分定义了常见术语以及如何计算指标。
Loss: 模型所学习的内容与数据所显示的内容(“基准”)之间的差异的计算。损失越低,效果越好。训练过程旨在最小化损失。
Perplexity: 基于模型估计新数据的概率。困惑度越低,效果越好。如果模型能够100%准确地预测下一个标记,那么困惑度将为1。在数学上,使用熵来计算。
High-stakes settings: 例如欧洲联盟提出的“高风险AI系统”和“不可接受风险AI系统”
Critical decisions: 例如在 the United States' proposed Algorithmic Accountability Act 中定义的系统。
Human rights: 包括在 Universal Declaration of Human Rights 中定义的权利。
Personal Data and Personal Information: 在多个数据保护法规中定义的个人数据和信息,例如欧盟的“ personal data ”,南非共和国的“ European Union's General Data Protection Regulation ”,中华人民共和国的“ Protection of Personal Information Act ”。
Sensitive characteristics: 详细列在人权(参见 UHDR, Article 2 )和个人信息规定(参见GDPR, Article 9; Protection of Personal Information Act, Chapter 1 )中的特定受保护类别。
Deception: 故意误导个人相信某件虚假的事物,例如在社交媒体上创建冒充真人的僵尸账号或聊天机器人,或生成文本文档而不使消费者意识到文本是机器生成的。
在数据集创建过程中进行设计选择的博客文章: https://bigscience.huggingface.co/blog/building-a-tb-scale-multilingual-dataset-for-language-modeling
总结了如何选择架构、大小、形状和预训练持续时间的博客文章: https://bigscience.huggingface.co/blog/what-language-model-to-train-if-you-have-two-million-gpu-hours
关于架构/优化器的更多详细信息: https://github.com/bigscience-workshop/bigscience/tree/master/train/tr11-176B-ml
关于硬件/工程方面的博客文章: https://bigscience.huggingface.co/blog/which-hardware-to-train-a-176b-parameters-model
关于训练所使用的分布式设置的详细信息: https://github.com/bigscience-workshop/bigscience/tree/master/train/tr11-176B-ml
训练期间更新的Tensorboard: https://huggingface.co/bigscience/tr11-176B-ml-logs/tensorboard#scalars&tagFilter=loss
关于训练方法、负面结果的见解: https://github.com/bigscience-workshop/bigscience/blob/master/train/lessons-learned.md
在工程方面准备过程中克服的障碍的详细信息(不稳定性、优化训练吞吐量、许多技术技巧和问题): https://github.com/bigscience-workshop/bigscience/blob/master/train/tr11-176B-ml/chronicles.md
使用中间检查点进行初始提示实验: https://huggingface.co/spaces/bigscience/bloom-book
大致按照时间顺序和花费的时间排序。
Margaret Mitchell、Giada Pistilli、Yacine Jernite、Ezinwanne Ozoani、Marissa Gerchick、Nazneen Rajani、Sasha Luccioni、Irene Solaiman、Maraim Masoud、Somaieh Nikpoor、Carlos Muñoz Ferrandis、Stas Bekman、Christopher Akiki、Danish Contractor、David Lansky、Angelina McMillan-Major、Tristan Thrush、Suzana Ilić、Gérard Dupont、Shayne Longpre、Manan Dey、Stella Biderman、Douwe Kiela、Emi Baylor、Teven Le Scao、Aaron Gokaslan、Julien Launay、Niklas Muennighoff
发送问题至:bigscience-contact@googlegroups.com