问题1: Transformer中的softmax计算为什么需要除以$d_k$?
为了稳定数值计算和防止梯度消失或爆炸问题
问题2: Transformer中attention score计算时候如何mask掉padding位置?
将掩码矩阵添加到缩放后的注意力分数上。由于我们使用了负无穷,经过softmax后,这些位置的注意力权重将接近于零
问题3: 为什么Transformer中加入了positional embedding?
自注意力机制本质上是对输入序列的每一个位置独立地进行处理,没有内置的顺序概念。为了让模型能够捕捉序列中的位置信息,位置嵌入被引入
问题4: BERT预训练时mask的比例,可以mask更大的比例吗?
在BERT的预训练过程中,通常掩码(masking)比例是15%。可以更大比例,但是可能会出现上下文信息丧失、模型过拟合风险增加等问题
问题5: BERT如何进行tokenize操作?有什么好处?
WordPiece的分词方法
-
基本的文本预处理:
- 规范化:文本通常会被标准化,比如转换为小写(如果使用的是区分大小写的模型,如BERT-base-cased,则不需要转换)。
- 处理标点符号:标点符号和单词之间通常会被添加空格以确保它们被视为独立的token。
-
WordPiece分词:
- 词表初始化:首先构建一个初始的词表(vocabulary),包括常见的单词以及特殊标记(如[CLS], [SEP], [MASK]等)。
- 子词拆分:如果一个单词不在词表中,它会被进一步拆分为子词。拆分的方式是贪婪的,尝试找到最长的匹配子词。例如,“playing”可以被拆分为“play”和“##ing”。其中“##”表示这个子词是从某个单词中间拆分出来的。
-
特殊标记添加:
- [CLS]标记:在输入序列的开头添加一个[CLS]标记,用于表示序列的整体信息,特别是在分类任务中。
- [SEP]标记:在序列末尾或在两个句子之间添加[SEP]标记,用于分隔不同的句子或段落。
问题6: GPT如何进行tokenize操作?和BERT的区别是什么?
GPT使用BPE算法,将频繁出现的字符对合并为子词。
问题7: BERT模型特别大,单张GPU训练仅仅只能放入1个batch的时候,怎么训练?
1. 梯度累积 (Gradient Accumulation)
梯度累积是一种在多个小batch上累积梯度,然后再进行一次权重更新的方法。这样可以有效地模拟较大的batch size,而不需要额外的显存。
2. 模型并行 (Model Parallelism)
模型并行是将模型不同部分拆分到多个GPU上进行计算。对于BERT模型,可以将不同的层分配到不同的GPU上。
3. 数据并行 (Data Parallelism)
数据并行是将同一模型的多个副本分配到不同的GPU上,每个GPU处理不同的数据子集。梯度在所有GPU上计算并汇总,然后更新所有模型副本的权重。
4. 混合精度训练 (Mixed Precision Training)
混合精度训练通过使用半精度(FP16)和单精度(FP32)混合的方式进行训练,可以减少显存使用和加速计算。
问题8: Transformer为什么需要一个position embedding?
同上
问题9: Transformer中的残差网络结构作用是什么?
缓解梯度消失和梯度爆炸问题,实现更深层次的网络结构,保证了模型在训练过程中不会因为某些层的参数初始化不当而丢失重要的信息
问题10: BERT训练的时候mask单词的比例可以特别大(大于80%)吗?
不可以。同上
问题11: BERT预训练是如何做mask的?
MLM:
从输入序列中随机选择一定比例的单词,并用特殊的mask标记(通常是𝑀𝐴𝑆𝐾)替换它们。然后,模型被要求预测被mask的单词
NSP:
要求模型判断两个输入句子是否是原始文本中相邻的句子
问题12: word2vec到BERT改进了什么?
1. 上下文感知性
- Word2Vec:Word2Vec生成的词向量是静态的,每个词的向量表示都是固定的,无法捕捉词汇在不同上下文中的含义变化。
- BERT:BERT使用了基于Transformer的深层双向语言模型,能够在预训练阶段学习到丰富的上下文信息,从而生成动态的词向量。这使得BERT能够更好地捕捉词汇的多义性和语义变化。
2. 上下文建模能力
- Word2Vec:Word2Vec模型是基于词袋模型(Bag of Words)和连续词袋模型(Continuous Bag of Words,CBOW)的,只能基于局部上下文进行单词预测,无法捕捉长距离依赖关系。
- BERT:BERT使用Transformer结构构建的深层双向语言模型,可以在预训练阶段学习到更长范围的上下文信息,使得模型能够更好地理解语言中的复杂结构和语义关系。