大模型(七):详解Transformer原理

前面从哲学和实操的角度来分析讲述了大模型性,从今天开始来讲大模型的核心——Transformer。本篇先来讲述关于 Transformer 的结构、工作原理以及多头注意力机制。本文尽可能减少数学概念方面的灌输,以尽可能实例为述来介绍Transformer的核心原理。理解了本篇,你基本就具备了手搓一个丐版大模型的基础。


一、Transformer 核心结构

Transformer 由 编码器(Encoder)解码器(Decoder) 堆叠组成,核心组件包括:

  1. 输入嵌入层(Embedding)
  • 将词映射为高维向量,并叠加 位置编码(Positional Encoding),为模型提供序列位置信息。
  1. 编码器层(Encoder Layer)
  • 自注意力机制(Self-Attention):计算输入序列内部依赖关系。
  • 前馈神经网络(Feed-Forward Network):对注意力结果进行非线性变换。
  • 残差连接 + 层归一化:缓解梯度消失,加速训练。
  1. 解码器层(Decoder Layer)
  • 掩码自注意力:防止解码时看到未来信息(仅关注当前位置之前的词)。
  • 编码器 – 解码器注意力:将编码器输出作为 Key/Value,解码器输入作为 Query。
  • 前馈网络与残差连接同编码器。

二、多头注意力机制(Multi-Head Attention)

1. 核心思想

将输入向量拆分为多个子空间(称为 “头”),在每个子空间独立计算注意力,最后合并结果。 数学表明

其中,每个头的计算为:大模型(七):详解Transformer原理

3. 注意力计算细节

  • 缩放点积注意力 Scaled Dot-Product Attention:

大模型(七):详解Transformer原理

  • 通过缩放因子 大模型(七):详解Transformer原理:防止点积结果过大导致 softmax 梯度消失。
  • 加权聚合 Value:用注意力权重对 Value 加权求和,得到当前位置的上下文表明。权重越大,对应位置的 Value 对当前输出的贡献越大。

4. QKV 的物理意义

Q、K、V 是注意力机制中 三个核心向量,本质是对输入序列的 不同视角表明:

  • Q(Query):通过输入数据 X 与权重矩阵 W_Q 相乘生成的向量,用于“主动查询”其他位置的信息。
  • K(Key):通过输入数据 X 与权重矩阵 W_K 相乘生成的向量,用于“提供匹配依据”(与Query计算类似度)。
  • V(Value):通过输入数据 X 与权重矩阵 W_V 相乘生成的向量,用于“携带实际信息”(注意力加权后聚合的值)。

注意:这里的X指的是输入的token矩阵,即“原始输入内容”,列如下文中的“The cat sat on the mat.”。

类比理解,想象在搜索引擎中:

  • Query = 你的搜索关键词
  • Key = 网页的标题 / 标签(与 Query 匹配)
  • Value = 网页的实际内容(匹配后返回的内容)

示例句子:The cat sat on the mat.

  • 当处理 sat 时,Q(sat 的向量)会与 K(The, cat, sat, on, the, mat 的向量)计算类似度。
  • 结果可能:cat 和 mat 的权重较高(语法主语和地点)。
  • 最终输出是这些位置的 Value 的加权组合

这里需要解释一点,大模型属于生成式模型,相当于从前面的词推后面的词,因此前面的词相当于是Q,后面的候选集是K,最终实际得到的值就是V。相当于给定查询词Q,从一堆词里找出后继概率最大的一个词。


三、Transformer 工作原理

  1. 编码阶段
  • 输入序列通过编码器层层传递,每层提取不同层次的上下文特征,输入为K、V矩阵
  • 自注意力机制捕捉序列内任意两个词的关系(无论距离远近)。
  1. 解码阶段
  • Q 来自解码器输入,解码器通过掩码自注意力生成目标序列。
  • 编码器 – 解码器注意力将源语言信息对齐到目标语言(类似机器翻译中的对齐机制)。
  1. 计算过程

QKV 的生成,Q、K、V 通过对输入向量 线性变换 得到:

  • 输入序列:大模型(七):详解Transformer原理(n 为序列长度,d 为向量维度,即X为n个d长度的数组)
  • 参数矩阵:大模型(七):详解Transformer原理大模型(七):详解Transformer原理 为 Q/K/V 的维度)
  • 计算方式:大模型(七):详解Transformer原理

关键点

  • Q、K、V 共享同一输入,但通过不同权重矩阵提取不同特征。
  • 在自注意力中,Q、K、V 均来自同一输入;在编码器 – 解码器注意力中,Q 来自解码器,K/V 来自编码器。

四、为什么需要 Q、K、V 三个向量?

  1. 分离匹配与内容

Key 和 Query 负责 匹配关系(哪些位置相关),Value 存储 实际信息(相关位置的内容)。若只用 Q 和 K,模型无法区分 “匹配权重” 和 “信息内容”。

  1. 增强表达能力

通过不同权重矩阵((W^Q, W^K, W^V)),模型可学习 多组匹配规则和信息提取方式

  1. 支持多头注意力

每个注意力头有独立的 Q、K、V 变换,捕捉不同语义关系(例如局部依赖、长程依赖、指代关系等)。

五、关键创新点

  1. 多视角学习:不同头关注不同语义或语法关系(如局部依赖、长程依赖、指代关系等)。
  2. 性能提升:自注意力可并行处理所有位置,训练速度显著提升,可以比较方便增加参数规模,乃至大规模集群化,提升表达能力。
  3. 可解释性:注意力权重可视化(例如显示模型关注哪些词)。

应用场景

  • 自然语言处理:DeepSeek、豆包等大模型预训练模型均基于 Transformer。
  • 多模态任务:文本 – 图像生成(如可灵)、视频理解等。

总结:

Transformer的出现具有划时代的意义,在我看来这个意义不亚于人类发现了相对论,打开机械智能进化的大门,硅基生命们开始从无意识状态,逐渐汇聚成有意识状态。当然,目前说已经突破了“智能奇点”还为时尚早,但是毫无疑问,人工智能超大规模并行化时代的开启,大大加速了这一进程。

私信免费发送Transformer原理演示代码(非营销号)。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...