BLOOM(BigScience Large Open-science Open-access Multilingual Language Model)是一款具有重要意义的开源大语言模型,以下是关于它的详细介绍:

基本信息

  • 开发团队:由来自39个国家的1200多名参与者共同开发,由BigScience与Hugging Face和法国NLP社区合作协调。

  • 参数规模:是一个具有1760亿参数的仅解码器的转换器模型。

  • 训练数据:在ROOTS语料库上训练,该语料库包含59种语言的数百个来源的数据集,其中包括46种口语和13种编程语言,大约使用了3660亿(1.6TB)个tokens。

  • 训练时间与地点:在巴黎的Jean Zay超级计算机上进行了为期117天(2022年3月11日至7月6日)的培训。

模型架构

  • 设计方法:专注于支持公开可用工具和代码库的可扩展模型系列,以零样本泛化为评估架构决策的关键指标,在较小模型上进行消融实验来优化组件和超参数。

  • 架构和预训练目标:基于Transformer架构,采用仅因果解码器模型,这被验证为零样本泛化功能最有效的方法。

  • 建模细节

    • ALiBi位置嵌入:根据按键和查询之间的距离直接削弱注意力分数,带来更顺畅的训练和更好的表现。
    • 嵌入LayerNorm:在嵌入层之后立即包含额外的层归一化,提高了训练稳定性,一定程度上是受最终训练中使用bfloat16的影响。

技术特点

  • 多语言支持:能够处理46种自然语言的文本生成与理解任务,如英语、法语、西班牙语、阿拉伯语等,在全球化应用和多语言任务中有显著优势。

  • 代码生成能力:可以处理13种编程语言相关任务,能够根据提示生成相应的代码,对开发者来说是很实用的功能。

  • 开源开放:模型、代码库以及用于训练的数据都在自由许可下分发,提供了完整的开源代码和模型权重,允许研究人员和开发者深入研究其工作原理并进行微调。

应用示例

  • 文本生成:可用于生成创意故事、文章等各种文本内容。例如给定一个故事标题或主题提示,BLOOM能生成连贯且有创意的故事文本。

  • 机器翻译:能够将一种语言翻译成另一种语言,实现跨语言的信息交流和理解。

  • 智能问答:可以构建智能问答系统,根据用户提出的问题生成相应的答案,帮助用户获取信息。

  • 代码生成:根据自然语言描述的编程需求,生成相应的代码片段,辅助开发者进行编程工作。

与其他模型对比

  • 与GPT对比:和GPT类似,BLOOM是自回归语言模型,擅长生成任务,都使用Transformer的解码器部分作为核心架构。但BLOOM更强调多语言支持,且是开源的,而GPT通常在英语语料上训练较多,部分版本存在商业化限制。

  • 与BERT对比:BERT是自编码模型,主要用于文本理解任务,采用双向Transformer架构。BLOOM则专注于生成任务,采用自回归生成方式,且在多语言处理和生成任务上有独特优势。