九、Attention Mask
在计算注意力得分时,注意力模块会执行掩码mask操作。掩码mask有两个目的:
- 在编码器的自注意力层以及解码器中的交叉注意力层中,掩码mask的作用是将输入句子中存在填充的注意力输出置为零,以确保填充不会影响自注意力。(注:由于输入序列可以是不同长度的,因此会像大多数 NLP处理过程一样,用填充标记对其进行扩展,以便将固定长度的向量输入Transformer)。
- 在解码器的自注意力层中,掩码mask的作用是防止解码器在预测下一个单词时 "偷看 "目标句子中的其余部分。
解码器处理源序列中的单词,并用它们来预测目标序列中的单词。在训练过程中,解码器通过Teacher Forcing来完成这一工作,将完整的目标序列作为解码器的输入。因此,在预测某个位置的单词时,解码器可以使用该单词之前的目标单词以及该单词之后的目标单词。这使得解码器可以通过使用未来中的目标词来 “作弊”。例如,在预测 "单词 3 "时,解码器只应参考目标词的前 3 个输入词,而不应参考第 4 个单词 “Ketan”。
因此,解码器会屏蔽掉序列中当前需要预测单词后面的输入单词。
在计算注意力分数时(请参阅前面显示计算过程的图片),会在 Softmax 之前对分子进行掩码mask。屏蔽掉的元素(白色方格)被设置为负无穷大,这样 Softmax 就会将这些值变为零。
十、输出层
解码器stack中的最后一个解码器将其输出传递给输出组件,由输出组件将其转换为最终输出句子。
全连接线性层将解码器输出向量投射到单词得分中,目标词汇中的每个单词在句子中的每个位置都有一个得分值。例如,如果我们的最终输出句子有 7 个单词,而目标西班牙语词汇有 10000 个单词,那么我们就会为这 7 个单词中的每个单词生成 10000个分值。这些分值表示词汇中的每个单词在句子该位置出现的可能性。
然后,Softmax 层会将这些分数转化为概率(和加起来为 1.0)。在每个位置上,我们会找到概率最高的单词的索引,然后将该索引映射到词汇表中的相应单词。这些词就构成了Transformer的输出序列。如下所示:
十一、计算损失
在训练过程中,我们使用损失函数(如交叉熵损失)将生成的输出概率分布与目标序列进行比较。概率分布给出了每个词在该位置出现的概率。
假设我们的目标词汇只包含四个单词。我们的目标是生成与预期目标序列 "De nada END "相匹配的概率分布。
这意味着,在第一个位置的概率分布中,"De "的概率应为 1,而词汇表中所有其他词的概率均为 0。同样,在第二个和第三个位置,"nada "和 "END "的概率应分别为 1。
像往常一样,损失被用来计算梯度,通过反向传播训练Transformer,更新其权重。
结论
希望这篇文章能让大家对训练期间Transformer内部的运行机制有所了解。
如何学习大模型?
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
5. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【
保证100%免费
】