现代BERT:更智能、更高效、更长的双向编码器 New

摘要

在自然语言处理(NLP)领域,编码器模型如BERT在检索和分类任务中提供了良好的性能与模型大小的权衡。尽管BERT自发布以来在多个生产管道中广泛应用,但其在架构和训练效率上的改进却相对有限。本文介绍了现代BERT(ModernBERT),它通过现代模型优化技术对编码器模型进行了重要的改进,代表了对旧版编码器的显著提升。现代BERT在2万亿个标记上进行训练,具有8192的序列长度,展现了在多种分类任务和单向、多向检索中的卓越性能。此外,现代BERT在推理速度和内存效率方面也是最优的,旨在支持常见GPU的高效推理。

1. 引言

自BERT(Devlin et al., 2019)发布以来,基于编码器的变换器模型主导了现代自然语言处理的应用。尽管大型语言模型(LLMs)如GPT(Radford et al., 2018, 2019;Brown et al., 2020)和Llama(Touvron et al., 2023;Dubey et al., 2024)逐渐受到关注,编码器模型在许多非生成性下游应用中仍然广泛使用。编码器模型因其适度的推理需求而受到青睐,能够高效处理大量文档以进行检索,并快速执行判别任务。

尽管近年来对编码器模型的现代化努力有所增加,但仍存在许多不足之处。本文的贡献在于介绍现代BERT,一个现代化的编码器模型,旨在提高下游性能和效率,尤其是在处理较长序列时。我们在2万亿个标记上训练现代BERT,数据混合中包括代码数据。我们发布了两个模型:现代BERT-base和现代BERT-large,均在各种下游任务中达到最先进的性能。

2. 方法

2.1 架构改进

现代BERT的架构基于标准变换器架构(Vaswani et al., 2017),并结合了近年来的多项先进技术。我们引入了多项效率优化的修改,包括:

2.1.1 现代变换器

  • 偏置项:在所有线性层中禁用偏置项,仅在最后的解码器线性层中保留偏置。这一改变使我们能够在线性层中更有效地利用参数预算。
  • 位置嵌入:使用旋转位置嵌入(RoPE)(Su et al., 2024)代替绝对位置嵌入,这一选择基于RoPE在短期和长期上下文语言模型中的良好表现。
  • 归一化:采用预归一化块(Xiong et al., 2020),并在嵌入层后增加LayerNorm,以帮助稳定训练。
  • 激活函数:采用GeGLU(Shazeer, 2020),这是一种基于门控线性单元(GLU)的激活函数,能够在BERT的GeLU激活函数之上提供一致的性能提升。

2.1.2 效率改进

  • 交替注意力:现代BERT的注意力层在全局注意力和局部注意力之间交替,每三层使用一次全局注意力,其余层使用局部注意力。这种方法显著提高了长上下文的处理效率。
  • 去填充(Unpadding):现代BERT采用去填充技术,避免了传统填充方法带来的计算浪费。通过在嵌入层之前去除填充标记,现代BERT能够在处理时提升10%至20%的性能。
  • 闪存注意力(Flash Attention):现代BERT使用闪存注意力的最新迭代,提供了内存和计算效率的注意力内核。

2.2 训练

2.2.1 数据混合

现代BERT模型在2万亿个标记上进行训练,主要来自多种英语数据源,包括网页文档、代码和科学文献。我们选择的数据混合经过多次消融实验确定,以确保其有效性。

2.2.2 训练设置

  • 掩码语言模型(MLM):采用与MosaicBERT相同的掩码语言建模设置,移除了下一句预测目标,以减少不必要的开销。
  • 优化器:使用StableAdamW优化器(Wortsman et al., 2023),该优化器通过引入Adafactor风格的更新剪裁来提高训练的稳定性。
  • 学习率调度:在预训练期间,采用修改后的梯形学习率调度(Xing et al., 2018),在短暂的学习率预热后,保持学习率稳定,最后进行短暂的学习率衰减。
  • 批量大小调度:通过逐步增加批量大小,避免在初期训练中浪费计算资源。

3. 下游评估

我们在多个任务上对现代BERT进行了广泛评估,旨在展示其在常见场景中的多功能性。评估包括自然语言理解(GLUE基准)和信息检索(BEIR评估套件)等任务。

3.1 自然语言理解

现代BERT在GLUE基准上的表现优异,现代BERT-base超越了所有现有的基础模型,成为首个超越DeBERTaV3-base的掩码语言模型。

3.2 信息检索

在信息检索任务中,现代BERT在单向向量检索(DPR)和多向量检索(ColBERT)设置中均表现出色,尤其是在BEIR评估中,现代BERT的表现超过了现有的编码器模型。

4. 结论

现代BERT的推出标志着编码器模型的重大进步。通过现代化的架构设计和高效的训练过程,现代BERT不仅在性能上超越了BERT和RoBERTa,还在推理效率和内存使用上实现了显著提升。现代BERT为长上下文和编程应用提供了支持,同时在编码器推理效率上树立了新的标杆。

参考文献

  1. Devlin, J. , Chang, M. W., Lee, K., & Toutanova, K. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.
  2. Vaswani, A. , Shardlow, T., & Parmar, N. (2017). Attention is All You Need.
  3. Shazeer, N. (2020). GLU Variants Improve Transformer.
  4. Wortsman, M. , et al. (2023). StableAdamW: A Stable Optimizer for Large-Scale Training.
  5. Xiong, L. , et al. (2020). Pre-Normalization for Training Deep Neural Networks.

现代BERT的研究和应用为自然语言处理领域的未来发展提供了新的视角和可能性,期待社区能够利用这一强大的工具,创造出更多创新的应用。

评论

发表回复

人生梦想 - 关注前沿的计算机技术 acejoy.com