大模型学习——第一节、Attention
Transformers镇楼

一、 了解Attention
何为Attention?
- Q:一个向量,代表模型想从这个token中查找什么。
- K:一个向量 or 矩阵(因为它往往会拼接着历史token的K),代表模型进行查找时所用的索引。
- V:一个向量,代表模型中蕴含的语义。
Q和K的点积,得到一个查询向量,这代表着模型应该从向量V中注意哪些值(语义)。而 的作用是对点积值进行缩放,防止梯度消失。而softmax的作用可以理解为把计算出来的注意力分数转换为注意力概率。
假设Q和K的分量都是均值为0、方差为1的独立随机变量,那么两个分量相乘 的均值为0,方差为1。 个这样的乘积相加后,点 的均值仍为0,但方差会变为 。这意味着向量维度很大时,点积的数值会变得非常大。 另外,点积结果需要被送入Softmax函数,如果点积数值非常大,Softmax就会产生一个极其尖锐的概率分布,在计算反向传播时,Softmax在这种极值区域的梯度会趋近于0. 通过除以这个缩放因子,我们可以将点积结果的方差重新推回1,这样输入Softmax的数值就会保持在一个比较温和的范围内,使得梯度能够顺畅地流过网络。