面试可能的问题(自用)

  1. Transformers的原理结构和流程。encoder-decoder,论文中是分别六层,实际也可以别的层数。每个encoder 由self-attention和feed forward network组成。编码器的输入先流入sa层,它可以让编码器在对特定词进行编码时,使用输入句子时其他词的信息,然后sa层的输出流入ffn。ffn的作用是引入非线性变换。decoder也有sa和ffn,但中间还有个注意力层(encoder-decoder attention),用来帮助解码器关注输入句子的相关部分。
  1. Self-attention原理。矩阵X中的每一行,表示输入句子中的每一个词的词向量,QKV三个矩阵来自同一输入,首先计算q和k之间的点积,为了防止结果过大用softmax操作将其结果归一化为概率分布,再乘以V就得到权重求和的表示。dk是key向量的维度,除以根号dk是为了让反向传播的时候求梯度更加稳定。softmax将分数归一化,使得它们都为正数且和为1
  1. 多头注意力机制。比如8个头,最后将不同的attention拼接起来,再进行一次线性变换。每一组注意力用于将输入映射到不同的子表示空间,这使得模型可以在不同子空间中关注不同的位置。

  2. 残差连接和层归一化。每个编码器的每个子层(sa和ffn)都有一个残差连接,再执行一个layer norm操作。

  1. 第一个编码器的输入是一个序列,最后一个编码器的输出是一组注意力向量key和value。这些向量在解码器的encoder-decoder attention层被使用,这有助于解码器把注意力集中在输入序列的合适位置。

  2. transformer中有两种mask,padding mask和sequence mask。

padding mask:每个批次输入序列的长度不一样,所以要对在较短的输入序列后面补0,太长的是截断。这些填充的位置没什么意义,所以我们的attention机制不应该把注意力放在这些位置上。具体做法:把这些位置的值加上一个非常大的负数,这样经过softmax后,这些位置的概率就会接近0。

sequence mask:使得decoder不能看见未来的信息。具体做法:产生一个上三角矩阵,上三角的值全为0,把这个矩阵作用在每个序列上即可。

  1. 最后的线性层和softmax层。线性层是一个简单的全连接神经网络,把解码器的输出映射到一个更长的向量,被称为logits向量。然后softmax层会把这些分数转换成概率,最后选择最高概率对应的单词。

8.Transformer 用 LN 不用 BN,是因为 BN 在小 batch、变长序列、含 padding 的 NLP 场景下统计量不可靠,而 LN 对每个样本独立归一化,稳定、高效、与 batch 无关,完美适配 Transformer 的自回归和序列建模需求。

改进方案:RMSNorm:去掉 LN 中的均值中心化(只除以均方根),计算更快,性能相当(LLaMA 使用)

相关推荐
weixin_421133412 小时前
深度强化学习,用神经网络代替 Q-table
人工智能·深度学习·神经网络
数字化脑洞实验室2 小时前
智能决策算法的核心原理是什么?
人工智能·算法·机器学习
流烟默2 小时前
机器学习中拟合、欠拟合、过拟合是什么
人工智能·算法·机器学习
说私域3 小时前
社群时代下的商业变革:“开源AI智能名片链动2+1模式S2B2C商城小程序”的应用与影响
人工智能·小程序·开源
格林威3 小时前
AOI在风电行业制造领域中的应用
人工智能·数码相机·计算机视觉·视觉检测·制造·机器视觉·aoi
大千AI助手3 小时前
Graph-R1:智能图谱检索增强的结构化多轮推理框架
人工智能·神经网络·大模型·rag·检索增强生成·大千ai助手·graph-r1
瑞禧生物ruixibio3 小时前
ABA-Biotin,脱落酸-生物素,用于追踪ABA在植物细胞中的分布及运输路径
人工智能
哔哩哔哩技术4 小时前
B站基础安全在AI溯源方向的探索实践
人工智能
IT_陈寒4 小时前
7个鲜为人知的JavaScript性能优化技巧,让你的网页加载速度提升50%
前端·人工智能·后端