英文
注意:此存储库上的检查点并非完全训练好的模型。在进行中间检查点和最终模型评估时会添加(见下文)。

BLOOM LM BigScience大型开放科学开放获取多语言语言模型模型卡片

版本1.3 / 2022年7月11日 - 可用的中间检查点 - 全局步骤:

  • 1000, 10000, 50000, 100000, 150000, 200000, 250000, 300000

您可以通过单击存储库的分支部分来检查可用的检查点。

如何加载特定版本

我们使用git标签来加载特定版本的模型(例如global_step1000)。

目录

  • 模型细节
  • 用途
  • 训练数据
  • 风险和限制
  • 评估
  • 推荐
  • 术语表和计算
  • 更多信息
  • 模型卡片作者
  • 模型细节

    BLOOM是一种语言模型类型,即一种对单词序列的概率分布。具体而言,BLOOM是一种大型语言模型(LLM),意味着它使用大规模计算资源对大量文本数据进行训练。因此,该模型能够捕捉训练数据中的单词、短语、句子和更大文本片段的统计倾向。

    基本原理

    本部分提供模型类型、版本、许可证、资助机构、发布日期、开发人员和联系信息等详细信息。适用于希望引用该模型的任何人。

    开发者:BigScience( website

    所有的合作伙伴要么是志愿者,要么与其雇主达成了协议。(将来将进一步公布参与者的详细信息)

    模型类型:基于Transformer的语言模型

    版本:1.0.0

    语言:多语言;详见训练数据

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

    预计发布日期:2022年7月11日(星期一)

    如有问题,请发送邮件至:bigscience-contact@googlegroups.com

    引用方式:BigScience, BigScience Language Open-science Open-access Multilingual (BLOOM) Language Model. International, May 2021-May 2022

    资助机构:

    • 法国政府。
    • Hugging Face( website )。
    • 贡献组织(将来将进一步公布各组织的详细信息)。

    技术规格

    本部分包括关于模型目标和架构以及计算基础设施的详细信息,适用于对模型开发感兴趣的人。

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

    模型架构和目标

    • 从Megatron-LM GPT2(参见 paper BLOOM Megatron code )改编:
    • 仅解码器架构
    • 对单词嵌入层应用层归一化(StableEmbedding;参见 code paper
    • 使用ALiBI位置编码(参见 paper ),具有GeLU激活函数
    • 共1760亿个参数:
      • 70层,112个注意力头
      • 隐藏层为14336维
      • 使用2048个标记的序列长度(参见 BLOOM tokenizer ,tokenizer description)

    目标函数:交叉熵与平均取值(参见 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网络:与其他类型的节点共享网络
    软件

    训练

    本部分提供有关训练数据、训练元素的速度和大小以及训练的环境影响的信息。对于希望了解模型输入和训练足迹基础知识的人来说很有用。

    训练数据

    本部分提供训练数据的概述。对于想了解模型学习的基本知识的任何人都是相关的。

    有关每个数据集的详细信息,请参阅单独的 Data Cards

    训练数据包括:

    • 45种自然语言
    • 12种编程语言
    • 1.5TB的经过预处理的文本,转化为3500B个唯一标记(详见分词器部分)

    语言

    饼图显示训练数据中各个语言的分布。

    封装处理

    封装处理:BLOOM分词器( link ),使用以下方式进行训练的学习子词分词器:

    • 字节级别的字节对编码(BPE)算法
    • 简单的预处理规则,无规范化
    • 词汇表大小为250,680

    它是在使用语言的Alpha加权对初步版本的语料库的子集进行训练时训练的。

    速度、大小、时间

    训练日志: Tensorboard link

    • 日期:
      • 开始于2022年3月11日上午11:42 PST
      • 预计结束于2022年7月5日
    • 检查点大小:
      • Bf16权重:329GB
      • 带有优化器状态的完整检查点:2.3TB
    • 训练吞吐量:每个GPU每秒约150 TFLOP
    • 训练轮数:1
    • 训练成本估计:相当于200万至500万美元的云计算费用(包括初步实验)
    • 服务器训练位置:法国Île-de-France

    环境影响

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

    估计的碳排放:(即将发布)

    估计的用电量:(即将发布)

    用途

    本部分回答了关于模型预期如何使用的问题,讨论了模型的可预见用户(包括受模型影响的人)并描述了模型范围外或滥用模型的用途。对于考虑使用模型或受模型影响的人很有用。

    预期用途

    正在创建此模型以便对大型语言模型(LLMs)进行公共研究。LLMs旨在用于语言生成或作为可进一步微调以适用于特定任务的预训练基本模型。下面列出的用例不是详尽无遗的。

    直接用途

    • 文本生成
    • 探索语言模型生成的特征
      • 例如:填空测试、虚构事实、重新表述的生成

    下游用途

    • 利用语言模型的任务包括:信息提取、问答、摘要

    滥用和超出范围的用途

    本部分介绍了用户不应该对模型做的事情。

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

    超出范围的用途

    该模型不适用于在高风险环境中使用。该模型不适用于关键决策以及对个人生活或福祉产生任何实质性后果的用途。模型输出的内容在表面上似乎准确,但实际上是不正确的。

    超出范围的用途包括:

    • 在生物医学领域、政治和法律领域或金融领域中使用
    • 用于评估或评分个人(例如就业、教育或信用)
    • 将该模型用于关键的自动决策、生成事实内容、创建可靠摘要或生成必须正确的预测

    滥用

    故意使用模型进行伤害、侵犯人权或其他恶意活动是对该模型的滥用。这包括:

    • 生成垃圾信息
    • 进行虚假信息和影响运作
    • 诽谤和诽谤
    • 骚扰和滥用
    • 欺骗
    • 未经同意的模仿和仿冒
    • 未经同意的监视
    • 生成没有提到模型的内容,如在 RAIL License, Use Restrictions 中规定

    预期用户

    直接用户

    • 普通公众
    • 研究人员
    • 学生
    • 教育工作者
    • 工程师/开发人员
    • 非商业实体
    • 社区倡导者,包括人权和民权组织

    间接用户

    其他相关方

    • 被LLM引用的个人和群体
    • 接触到LLM输出或基于LLM的决策的个人和群体
    • 其原创作品包含在LLM中的个人和群体

    风险和限制

    本部分确定了可预见的风险和误解。

    模型可能会:

    • 过分强调某些观点并忽视其他观点
    • 包含刻板印象
    • 包含个人信息
    • 生成:
      • 令人讨厌、侮辱或暴力的言论
      • 带有歧视或偏见的言论
      • 可能不适合所有环境的内容,包括性内容
    • 出现错误,包括将不正确的信息生成为事实
    • 生成不相关或重复的输出

    评估

    本部分描述了评估协议并提供了结果。

    指标

    本部分描述了不同的性能计算方法以及原因。

    包括:

    • 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

    (更多评估分数即将发布。)

    建议

    本部分提供有关警告和潜在缓解措施的信息。

    • 间接用户在使用模型生成的内容时应当知情。
    • 用户应了解风险和限制,并根据需要包含适当的年龄免责声明或屏蔽界面。
    • 使用BLOOM LM训练或微调的模型应包含更新的模型卡片。
    • 模型的用户应提供供受影响方提供反馈的机制,例如评论的电子邮件地址。

    术语表和计算

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

    更多信息

    本部分提供有关数据集创建、技术规格、经验教训和初步结果的链接。

    数据集创建

    详细介绍数据集创建过程中的设计选择的博客文章: 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