大型语言模型StructBERT — 将语言结构纳入预训练

2023年11月24日 由 alex 发表 352 0

介绍


首次出现后,BERT 在情感分析、文本相似性、问答等各种 NLP 任务中展现了惊人的结果。从那时起,研究人员就试图通过修改其架构、增加训练数据、增加词汇量大小或更改隐藏层的大小。


尽管创建了其他强大的基于 BERT 的模型(例如 RoBERTa),但研究人员发现了另一种有效的方法来提高 BERT 的性能,本文将对此进行讨论。这导致了一种名为StructBERT的新模型的开发,该模型在顶级基准测试中自信地超越了 BERT。


预训练


在大多数情况下,StructBERT 与 BERT 具有相同的架构原则。尽管如此,StructBERT 提出了两个新的预训练目标来扩展 BERT 的语言知识。该模型与掩码语言建模一起针对此目标进行训练。下面让我们看看这两个目标。


1. 词句目标


实验表明,掩码语言建模(MSM)任务在 BERT 设置中发挥着至关重要的作用,帮助其获取大量语言知识。经过预训练后,BERT 可以正确猜测屏蔽词,准确率很高。然而,它无法正确地重建单词被打乱的句子。为了实现这一目标,StructBERT 开发人员通过部分改组输入标记来修改 MSM 目标。


与原始 BERT 一样,输入序列被标记、屏蔽,然后映射到标记、位置和分段嵌入。然后将所有这些嵌入相加以生成组合嵌入,并将其馈送到 BERT。


在屏蔽过程中,15% 的随机选择的标记被屏蔽,然后用于语言建模,就像 BERT 中一样。但在屏蔽之后,StructBERT 会随机选择 K 个连续未屏蔽标记中的 5%,并在每个子序列中对它们进行洗牌。默认情况下,StructBERT 对三元组 (K = 3) 进行操作。


2


当计算最后一个隐藏层时,使用掩码和混洗标记的输出嵌入来预测原始标记,同时考虑到它们的初始位置。


最终,词句目标与MLM目标等权重结合。


2. 句子结构目标


下一句预测是另一个 BERT 预训练任务,被认为相对简单。掌握它并不会显着提升 BERT 在大多数下游任务上的性能。这就是为什么 StructBERT 研究人员通过让 BERT 预测句子顺序来增加这一目标的难度。


通过在文档中使用一对连续的句子 S₁ 和 S2,StructBERT 使用它们以三种可能的方式之一构建训练示例。这些方式中的每一种发生的概率均为 1 / 3:


  • S2 后面是 S1 (标签 1);
  • S₁ 后面是 S2 (标签 2);
  • 从随机文档中采样另一个句子 S₃,后跟 S₁ (标签 0)。


这三个过程中的每一个都会产生一对有序的句子,然后将其连接起来。标记 [CLS] 添加在第一个句子的开头之前,[SEP] 标记用于标记每个句子的结尾。BERT 将此序列作为输入,并在最后一个隐藏层上输出一组嵌入。


[CLS] 嵌入的输出最初在 BERT 中用于下一句预测任务,现在在 StructBERT 中使用,以正确识别与输入序列的原始构建方式相对应的三个可能标签之一。


3


最终目标


最终目标由单词和句子结构目标的线性组合组成。


4


StructBERT 设置


BERT 和 StructBERT 中的所有主要预训练细节都是相同的:


  • StructBERT 使用与 BERT 相同的预训练语料库:英语维基百科(2500M 单词)和 BookCorpus(800M 单词)。标记化是由 WordPiece 标记生成器完成的。
  • 优化器:Adam(学习率l = 1e-4,权重衰减 L2 = 0.01,β₁ = 0.9,β2 = 0.999)。
  • 学习率预热在总步骤的前 10% 上执行,然后线性降低。
  • 所有层均使用 Dropout (α = 0.1) 层。
  • 激活函数:GELU。
  • 预训练程序运行 40 轮。


StructBERT 版本


与最初的 BERT 一样,StructBERT 也提供了基础版本和大型版本。所有主要设置(如层数、注意力头、隐藏大小和数字参数)分别与 BERT 的基本版本和大版本完全对应。


5


结论


通过引入一对新的训练目标,StructBERT 在 NLP 方面达到了新的极限,在各种下游任务上始终优于 BERT。事实证明,这两个目标在 StructBERT 设置中都发挥着不可或缺的作用。虽然单词结构目标主要增强了模型在单句问题上的性能,使 StructBERT 能够重建词序,但句子结构目标提高了理解句子间关系的能力,这对于句子对任务尤为重要。



文章来源:https://medium.com/towards-data-science/large-language-models-structbert-incorporating-language-structures-into-pretraining-be3058ab23b3
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消