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则专注于生成任务,采用自回归生成方式,且在多语言处理和生成任务上有独特优势。