微信扫码
添加专属顾问
我要投稿
文|鲁肃
编辑|郭嘉
本模块的核心目标之一是掌握如何构建和训练基础的Transformer模型。在我们深入讨论模型之前,有必要先来探讨一下注意力机制,这是Transformer模型中至关重要的组成部分。Transformer块在处理完输入序列后,会生成一系列不同的向量,这些向量实际上是用于所谓的“交叉注意力”机制的。本文分为两大部分,前部分则是通俗易懂的解释,后面的部分则是采用数学的视野去阐述。
小白解读(数学免疫)
给没有数学或者计算机背景的人解释注意力机制其实也不难。大模型某种意义上相当于人脑,很多模型的结构设计都来源于人脑。打个不恰当的比方,任何人看到一幅画面,或多或少都会被某个部分吸引,而且这个吸引点因人而异。这个被吸引的部分就是注意力机制。在大模型的训练过程中,通过样本不断地训练注意力机制相关的参数,让大模型能够快速的抓住上下文的重点,以便生成最妥当的后续内容。
从上图中可以看到注意力机制是任何自然语言处理的核心基石。
注意力机制很早其实就有了,但是最有影响力的论文是2017年《Attention Is All You Need》,里面展示了如何将样例提炼最重要的信息。
文中有三个输入向量,每个向量4维。输入乘以权重矩阵之后得到各自的K和V向量。然后查询Q分别和K做点积运算(如图第1个蓝色框框的值为1*0+0*1+2*1=2)
分别求出每个蓝色框框的值之后,则将三个蓝色框架的值根据softmax归一化,即0+0.5+0.5=1
在注意力的计算公式中,使用查询向量(Q)与键向量(K)的转置进行点积运算,并应用softmax函数来获取每个键向量与查询向量的相关性得分。这样,我们就得到了一个与序列长度相同的注意力分数向量。然后用这些注意力分数对相应的值向量进行加权求和,得到最终的输出向量。
紧接着将蓝色框架的数值和V相差,然后累加得到第一个输出向量
注意力机制的关键在于,使用一个查询向量与序列中所有其他标记的键向量进行比较,以判断它们之间的相关性。这个过程在序列中的每个标记都可以并行计算,速度快,效果好。因此,在每次计算注意力时,我们会关注当前的查询向量,并将这个查询向量与所有的键向量进行比较,从而确定每个键向量与查询向量的相关程度。
以此类推,三个Q输入的时候,依次输出三个结果向量。注意的是,注意力机制可以多层,也就是这只是中间的某层。输出的结果可以作为下一层的输入。
总结一下,注意力机制其实要学习的就是三个矩阵,Q矩阵,K矩阵和V矩阵。它们用于和输入相乘,然后提炼出有效的信息存储于矩阵。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-02-01
2025-01-01
2024-08-13
2025-02-04
2024-07-25
2024-04-25
2024-06-13
2024-09-23
2024-04-26
2024-08-21
2025-03-17
2025-03-17
2025-03-17
2025-03-17
2025-03-17
2025-03-17
2025-03-16
2025-03-16