终于搞懂了一点 Self-Attention
•LLM Fundamentals
今天啃了半天 Transformer 的经典论文,感觉脑细胞死了一大半。之前一直把大模型当黑盒用,今天终于稍微理解了它内部是怎么运作的。
最核心的就是 Self-Attention(自注意力机制)。看博客的时候,有个比喻让我豁然开朗:Q(Query)就像是你在图书馆搜索框里输入的关键词,K(Key)是每本书的书名和标签,而 V(Value)就是书里的具体内容。模型在生成下一个词的时候,会用当前词的 Q 去和前面所有词的 K 计算一个相似度,然后根据这个相似度把对应的 V 加权求和。
这个设计真的很妙!它打破了以前 RNN 只能顺序处理的限制,让距离很远的词也能瞬间产生联系。
不过看到 Multi-head Attention(多头注意力)的时候我又卡住了。为什么要把 QKV 切分成好几块分别计算?网上说这就像是“从不同角度理解一句话”,比如有的头关注语法,有的头关注指代关系。先记住这个结论吧,具体的矩阵乘法推导以后有空再手推一遍。
Jay Alammar 在他的博客里写道:"Self-attention is the method the Transformer uses to bake the 'understanding' of other relevant words into the one we're currently processing." 这句话真的非常精准。