英文

BLOOM LM

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

模型卡片

版本 1.0 / 2022年5月26日

Bloom-1b7 模型卡片

目录

  • 模型细节
  • 用途
  • 偏见、风险和限制
  • 建议
  • 训练数据
  • 评估
  • 环境影响
  • 技术规格
  • 引文
  • 词汇表和计算
  • 更多信息
  • 模型卡片作者
  • 模型卡片联系方式
  • 模型细节

    模型描述

    该部分提供模型的相关信息。

    • 由以下团体开发: BigScience ( website )

      • 所有合作者均为志愿者或与其雇主达成协议。 (更多参与者的详细信息即将公布)
    • 模型类型: 基于Transformer的语言模型

    • 版本: 1.0.0

    • 语言: 多语言;参见训练数据

    • 许可证: RAIL许可证 v1.0 ( link )

    • 预计发布日期:2022年7月11日,星期一

    • 资助机构:

      • 法国政府。

      • HuggingFace ( website )

      • 贡献者的组织。 (更多组织的详细信息即将公布)

    用途

    该部分回答了关于模型如何使用的问题,讨论了可能使用该模型的用户(包括受到模型影响的用户),并描述了被认为不适用或误用该模型的用途。这为考虑使用模型或受模型影响的任何人提供了信息。

    预期用途

    创建此模型是为了便于进行大型语言模型(LLM)的公共研究。LLM旨在用于语言生成或作为可以进一步针对特定任务进行微调的预训练基础模型。以下用例并非全部。

    直接使用
    • 文本生成

    • 探索语言模型生成的特点

      • 示例: 填空测试、条件假设、重新构架生成
    下游使用
    • 利用语言模型的任务包括: 信息提取、问答、摘要

    误用和超出范围的使用

    该部分讨论用户不应该对模型进行的操作。

    详细的使用限制请参阅附件 A, BLOOM License 。以下列表并非详尽无遗,但列出了一些容易预见的问题用例。

    超出范围的用途

    在高风险环境中使用模型超出了此模型的范围。该模型不适用于重要决策,也不适用于对个人生计或福祉产生任何实质影响的用途。该模型生成的内容在外观上似乎是真实的,但事实并非如此。

    超出范围的用途包括:
    • 在生物医学领域、政治和法律领域或金融领域使用

    • 用于评估或评分个人,例如就业、教育或信用评分

    • 将模型用于关键自动决策、生成事实内容、创建可靠摘要或生成必须准确的预测

    误用

    故意使用模型进行伤害、违反人权或其他恶意活动是对该模型的错误使用。包括:

    • 生成垃圾信息

    • 发布虚假信息和影响行动

    • 贬低和诽谤

    • 骚扰和滥用

    • 欺骗

    • 未经同意的冒充和模仿

    • 未经同意的监视

    • 生成未经模型署名的内容,如 RAIL License, Use Restrictions 中规定的

    预期用户

    直接用户
    • 普通公众

    • 研究人员

    • 学生

    • 教育工作者

    • 工程师/开发者

    • 非商业实体

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

    间接用户 其他受影响的人员(相关方)
    • LLM提到的个人和团体

    • 暴露于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:

    • 训练损失: 2.0

    • 验证损失: 2.2

    • 困惑度: 8.9

    (训练结束后将提供更多评估分数。)

    • BLOOM Book :阅读基于社区提供的提示生成的BLOOM生成物

    环境影响

    训练超级计算机Jean Zay( website )主要使用核能。其产生的热量用于加热校园住房。

    估计的碳排放量:(训练完成后提供)

    估计的电力使用量:(训练完成后提供)

    技术规格

    该部分为从事模型开发的人员提供信息。

    有关复制训练的完整详细信息,请参见 the BLOOM training README

    模型架构: 修改自Megatron-LM GPT2 (参见 paper BLOOM Megatron code ):

    • 仅解码器架构

    • 词嵌入层应用层归一化 (StableEmbedding;参见 code , paper )

    • ALiBI位置编码 (参见 paper ),使用GeLU激活函数

    • 1,722,408,960个参数:

      • 513,802,240个嵌入参数

      • 24个层,16个注意力头

      • 隐层为2048维

      • 使用2048个令牌的序列长度 (参见 BLOOM tokenizer ,标记器描述)

    目标函数: 使用交叉熵进行均值降低 (参见 API documentation )。

    计算基础设施: 法国政府提供的Jean Zay公共超级计算机 (参见 announcement )。

    • 硬件: 64个V100 16/32GB GPU (16个节点):

      • 每个节点4个GPU

      • 每个任务40个CPU

      • 每个节点1个任务

      • CPU: AMD

      • CPU内存: 每个节点160GB

      • GPU内存: 每个节点64GB或128GB (根据训练期间节点可用性而定)

      • 节点间连接: Omni-Path Architecture (OPA)

      • NCCL通信网络: 全面独立子网

      • 磁盘IO网络: 与其他类型节点共享网络

    • 软件:

    训练

    • 检查点大小:

      • Fp16权重: 2.6GB(#参数 * 2)

      • 全部检查点包括优化器状态: --

    • 训练吞吐量: --

    • 十字数: 1

    • 日期:

      • 开始: 2022年3月11日,太平洋标准时间11:42am

      • 结束: 2022年5月20日

    • 服务器训练位置: 法国巴黎岛

    标记化

    BLOOM标记器 ( link ) 是一个经过训练的子词标记器,使用了:

    • 字节级字对编码 (BPE) 算法

    • 简单的预分词规则,无标准化

    • 词汇表大小为250,680

    它是使用预备版本的语料库的子集进行训练的,使用每种语言的alpha加权。

    引文

    引用方式: BigScience, BigScience 多语言开放科学开放访问(BLOOM) 语言模型 . International, 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