英文

BLOOM LM

BigScience大型开放科学开放访问多语言模型

模型卡

版本1.0 / 2022年5月26日

Bloom-560m模型卡

目录

  • 模型详情
  • 用途
  • 偏见、风险和局限性
  • 推荐事项
  • 训练数据
  • 评估
  • 环境影响
  • 技术规格
  • 引用
  • 术语表和计算
  • 更多信息
  • 模型卡作者
  • 模型卡联系
  • 模型详情

    模型描述

    此部分提供有关该模型的信息,供任何想了解该模型的人使用。

    • 开发人员: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 中所指定

    预期用户

    直接用户
    • 一般公众

    • 研究人员

    • 学生

    • 教育工作者

    • 工程师/开发人员

    • 非商业实体

    • 社会倡导者,包括人权和民权组织

    间接用户 其他受影响方(Parties Prenantes)
    • 被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 ):

    • 仅解码器架构

    • 应用于词嵌入层的层归一化(StableEmbedding;请参见 code paper

    • 使用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网络:与其他类型的节点共享网络

    • 软件:

    训练

    训练日志: 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月

    术语表和计算

    此部分定义了常见术语以及如何计算指标。

    更多信息

    数据集创建

    在数据集创建过程中进行设计选择的博客文章: 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