当前位置: 首页 > news >正文

【LLM基础】2.Transformer原理

Transformer原理

  1. 如上图是transformer的原理图。由encoder、decoder组成
  2. 每个encoder有6个block,每个block由 multi-head attention + 前馈网络 + 残差连接层(Add & Norm)组成。
  3. 每个decoder也有6个block,每个block由 masked-multi-head attention + cross-attention + 前馈网络 + 残差连接层(Add & Norm)组成。其中 cross-attention 的 KV是取自于 encoder 基于输入token计算得来的,masked-multi-head attention则每次推理token时会把推理的token拼接在最后,再由attention计算得到attention输出的V矩阵。
  4. 推理时encoder只计算一次,而decoder则循环计算直到推理结束。
  5. attention的QKV计算公式:

其中QK表示获取与Q最接近的K(key,键值),从而计算带权重的V

  1. 输入文本会被tokenizer转化为token list(假设有k个),随后再经过embedding转换为 k*dim(dim一般为512)的矩阵。多头注意力则是将k*dim矩阵切为8个 k*dim/8的矩阵分别计算注意力转换结果。最后再将8个分散计算得到的V concat起来得到最终的V矩阵,拼接时也有相应的权重 W_o ,不同的头持有的权重可不同。
  2. QKV是怎么来的?由输入X乘上对应权重矩阵得到,即 Q=X x W_q, K=X x W_k, V=X x W_v。模型训练时会训练对应的W_x权重矩阵。
  3. 残差连接:Transformer 的 Encoder 和 Decoder 都有 6 层(后来有些大模型甚至有 96 层)。在深度学习中有一个绝症叫**“梯度消失”或“网络退化”**:当网络太深时,信息在一层一层传递、变形的过程中,很容易把最原始的信息给“算没了”,导致越深的网络反而越笨。

为了解决这个问题,作者引入了极其优雅的残差连接它是怎么做的?

用一个非常简单的数学公式概括就是:Output = F(x) + x

  • x:这是输入给这个子层(比如注意力层)的原始数据。
  • F(x):这是原始数据经过注意力层一顿猛如虎的复杂计算后,提取出来的新特征。

关键动作就在这个“+”号上!

残差连接的做法是:在注意力层输出新特征 F(x) 之后,硬生生地把最初始的输入 x 拉过来,跟它直接相加

  1. FFN 的经典数学公式:FFN(x) = max(0, xW_1 + b_1)W_2 + b_2

把它拆解成 4 个极其巧妙的动作:

动作一:升维打击(乘以 $W_1$)数学操作: 拿注意力层输出的特征矩阵 $x$(通常是 512 维),去乘以第一个权重矩阵 $W_1$。这个 $W_1$ 特别庞大,它会把 $x$ 从 512 维瞬间放大 4 倍,变成 2048 维!

物理意义: 这叫“特征投影”。通俗比喻: 想象你拿到了一台复杂的精密仪器(512 维的 $x$)。你想要彻底研究它,最好的办法是什么?是把它所有的零件全部拆解开,平铺在一个巨大的桌子上。把维度放大到 2048 维,就是为了把隐藏在数据里的所有细枝末节、所有潜在的特征组合,全部彻底展开,让模型看得清清楚楚。

动作二:引入“偏置”与激活门槛(加上 $b_1$)。$b_1$ 是一个 2048 维的向量,它叫偏置项(Bias)。为什么必须要有偏置项?在初中数学里,直线的方程是 $y = kx + b$。如果没有 $b$(即 $y = kx$),这条直线永远只能穿过原点 (0,0)。这意味着模型的灵活性被死死锁住了,它无法适应那些不经过原点的数据规律。

$b_1$ 的真正作用:设定“激活门槛”。在神经网络里,$xW_1$ 计算的是输入信号的强度。而 $b_1$ 则像是一个基础的刻度调整器。打个比方,假设这 2048 个维度里,有一个维度专门负责检测这句话里有没有“讽刺”意味。如果 $b_1$ 是一个负数(比如 -5),那么即使 $xW_1$ 算出了一点点信号(比如 3),$3 + (-5) = -2$。因为总分不到 0,这个“讽刺检测器”就不会被触发。所以,$b_1$ 给了模型一种极其自由的权利:它可以决定每个神经元在什么条件下才开始“兴奋”。 它可以把整条判断基准线上下平移。

动作三:非线性过滤(max(0, …),即 ReLU 激活函数)数学操作: 刚才算出了 $xW_1 + b_1$,这一步就是把里面所有的负数强行变成 0,正数保持不变。

物理意义: 引入“非线性”。如果没有这一步,不管你堆叠多少层网络,最后算下来等价于只算了一层线性乘法($x \times A \times B = x \times C$)。有了 ReLU,模型就具备了极其复杂的“如果…那么…”的逻辑判断能力。通俗比喻: 经过 $b_1$ 调整门槛后,ReLU 就像一个铁面无私的保安。达不到门槛的(负数),直接闭嘴(变成 0),当作无效特征扔掉;达到门槛的(正数),放行。这样,模型就从 2048 个零件中,精准筛选出了当前这个词真正需要的高级特征。

动作四:降维浓缩(乘以 $W_2$ 加上 $b_2$)数学操作: 把筛选后剩下的 2048 维特征,再乘以第二个权重矩阵 $W_2$,重新压缩回 512 维。同时,加上第二个偏置项 $b_2$。

物理意义: 信息提炼与输出。通俗比喻: 我们刚才把仪器拆开铺满大桌子(升维),又扔掉了一堆没用的废铜烂铁(ReLU 过滤),现在我们需要把留下来的核心精华重新组装起来,打包成一个 512 维的紧凑包裹,方便传递给下一层。

$b_2$ 的作用: 和 $b_1$ 类似,它是输出前的最后一次“基准线微调”,确保这 512 维输出的信号正好处于下一层喜欢的数值区间内。

http://www.jsqmd.com/news/466102/

相关文章:

  • @ContentFontStyle注解颜色说明
  • 算法漏洞猎人:AI标注优化对象的专业剖析
  • 2026年热门的智能预制钢结构品牌推荐:装配式预制钢结构/出海预制钢结构工程高评分公司推荐 - 行业平台推荐
  • 力扣第十题C++正则表达式匹配
  • Linux系统安装nginx并配置反向代理
  • [2026.3.11]WIN11.25H2.26200.8037[PIIS]中简极速优化版 运行流畅稳定
  • 体积表面电阻率测试仪品牌推荐,教你选对不选贵 - 品牌推荐大师
  • RDMA设计60:RDMA队列管理及连接建立功能测试3
  • 技术债公墓的守墓人:测试工程师的生存启示录
  • 2026年北京写字楼出租推荐榜单:CBD/望京/三元桥/国贸/东三环等核心商圈优质办公空间深度解析与选址指南 - 品牌企业推荐师(官方)
  • 【边打字.边学昆仑正义文化】_10_幸福维度(2)
  • 【零基础配置 Claude Code 状态栏 完整教程】
  • Agent的大脑:大模型如何让AI从工具变伙伴
  • 西南防静电地板优质企业推荐榜单:玻璃地板/硫酸钙地板/网络地板/通风地板/铝合金地板/防静电地板/陶瓷地板/全钢地板/选择指南 - 优质品牌商家
  • 网站访问提示“Call to undefined function think\exception\config()”
  • Mac-M芯片安装Jdk-25+IntelliJ IDEA
  • 前端处理大模型SSE格式数据
  • 新能源电动汽车 VCU hil 与 BMS hil 硬件在环仿真探秘
  • 2026年靠谱的油烟管道清洗品牌推荐:学校油烟管道清洗/商用油烟管道清洗/食堂油烟管道清洗高评分品牌推荐(畅销) - 行业平台推荐
  • 深入探讨模板初阶:函数模板与类模板
  • 劳力士、欧米茄、积家专属指南:北京上海深圳杭州南京无锡腕表保值养护哪里好 - 时光修表匠
  • 【开题答辩全过程】以 高校新生数据可视化系统为例,包含答辩的问题和答案
  • 抓包工具——UI接口测试——fiddler
  • 拒绝 500 元智商税!AutoClaw 零门槛安装教程,手把手教你低成本“喂龙虾”
  • PAT-Rational Arithmetic (20)
  • SpringBoot 多环境配置报错全集|profile切换失败、配置不生效终极解决
  • 超节点算力革命(七)| 超节点综合评估体系
  • 数挖不是树蛙-数据挖掘-绪论(非科班必备,数据挖掘科班复习必备)
  • 基于 Java + SpringBoot + Vue + MySQL 的北部湾地区助农系统实战指南
  • @Autowired`和 @Resource区别