新闻详情

新闻详情

首页 / 资讯中心 / 详情

Transformer 与大语言模型:第4章 Transformer Block

发布时间:2026/9/13 21:46:03来源:尧图网络
Transformer 与大语言模型:第4章 Transformer Block
第4章 Transformer Block本章目标:理解一个完整的 Transformer Block 的结构,以及 Tensor 的 Shape 是如何在其中变化的。本章目录4.1 一个 Block 的全貌4.2 Block 的四个组件4.3 为什么这样排列?4.4 Pre-Norm vs Post-Norm4.5 Tensor Shape 的完整流程(Pre-Norm)4.6 TensorFlow 实现4.7 多个 Block 堆叠4.8 一层 Block 有多少参数?4.9 Hidden State——Block 中真正流动的数据本章总结本章思考题下一章预告4.1 一个 Block 的全貌Transformer 是由多个相同的 Block 堆叠而成的。原始论文(2017)使用的是Post-Norm结构,每个 Block 的结构如下:输入 x[batch, seq, d_model]Multi-Head Self-Attention残差连接 +LayerNormFeed Forward Network残差连接 +LayerNorm输出[batch, seq, d_model]⚠️注意:上图是原始论文的 Post-Norm 结构。现代 LLM(GPT-2、Llama、Qwen)使用 Pre-Norm 结构,区别见 4.4 节。注意:输入和输出的 Shape 完全相同。这是 Transformer 能堆叠多层的关键。4.2 Block 的四个组件组件作用章节Multi-Head Self-Attention让每个 Token 和所有 Token 交互第6、7章Residual(残差连接)防止梯度消失,保留原始信息第10章LayerNorm稳定训练,加速收敛第9章Feed Forward Network对每个 Token 做非线性变换第8章4.3 为什么这样排列?Block 的排列顺序是:Attention → Add Norm → FFN → Add Norm这个顺序不是随意的:Attention 先:让 Token 先收集全局信息Add Norm:稳定 Attention 的输出,防止梯度爆炸FFN 后:对每个 Token 的表示做进一步变换(引入非线性)Add Norm:再次稳定4.3.1 为什么要两次 Residual + 两次 LayerNorm?很多人看到 Block 结构会疑惑:为什么不是只在最后做一次 Residual + LayerNorm?答案在于:一个 Block 做了两件本质不同的事情,每件事完成后都需要独立"提交"结果。阶段做什么类比为什么需要独立的 Add NormAttention收集其他Token的信息开会听取意见意见可能有错,不能直接覆盖旧认知FFN对已有信息独立加工回家自己思考推理可能跑偏,不能直接覆盖会议结论每个阶段的 Residual 含义:第一次 Residual(Attention后):旧认知 + 从别人那里收集的新信息第二次 Residual(FFN后):收集后的认知 + 自己深入思考的结果如果只在 Block 最后做一次 Residual:❌ H_new = H_old + Attention(H_old) + FFN(...)那就意味着 FFN 的输入是 Attention 的"裸输出"(未经稳定化),数值可能不稳定,且 Attention 的错误会直接传给 FFN。两次独立的 Add Norm 确保:FFN 收到的是已经稳定化的中间结果每个阶段的错误都被 Residual “缓冲”——即使那个阶段失败了,原始信息也不会丢失4.4 Pre-Norm vs Post-Norm原始论文使用Post-Norm(LayerNorm 在残差相加之后):Post-Norm: x → Attention(x) → x + Attention(x) → LayerNorm → ...现代 LLM(GPT-2、Qwen、Llama)使用Pre-Norm(LayerNorm 在子层之前):Pre-Norm: x → LayerNorm(x) → Attention(LayerNorm(x)) → x + Attention(LayerNorm(x)) → ...
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Genkit JS 智能体人机协同(Human-in-the-Loop)实战:用 Interrupt 暂停 Agent 轮次并在恢复点继续执行 2026/9/13 22:19:08

Genkit JS 智能体人机协同(Human-in-the-Loop)实战:用 Interrupt 暂停 Agent 轮次并在恢复点继续执行

Genkit JS 智能体人机协同(Human-in-the-Loop)实战:用 Interrupt 暂停 Agent 轮次并在恢复点继续执行 【免费下载链接】skills Agent Skills for Google products and technologies 项目地址: https://gitcode.com/GitHub_Trending/skills2…

阅读更多 →
Megatron-LM 首次训练实战指南:从最小分布式循环到 LLaMA-3 FP8 训练与数据预处理 2026/9/13 22:19:08

Megatron-LM 首次训练实战指南:从最小分布式循环到 LLaMA-3 FP8 训练与数据预处理

Megatron-LM 首次训练实战指南:从最小分布式循环到 LLaMA-3 FP8 训练与数据预处理 【免费下载链接】Megatron-LM Ongoing research training transformer models at scale 项目地址: https://gitcode.com/GitHub_Trending/me/Megatron-LM 本文是 Megatron-LM…

阅读更多 →
Flink高级之侧输出流Side Output原理及代码实现:从OutputTag到多流分发 2026/9/13 22:19:08

Flink高级之侧输出流Side Output原理及代码实现:从OutputTag到多流分发

摘要:一条实时数据流里总混着正常、异常、迟到、需监控四类数据,传统 filter 方案要遍历 N 遍、逻辑散落 N 个算子;Flink 侧输出流(Side Output)用一次遍历完成多路分发。这篇文章拆透侧输出:从 1N 流模型、…

阅读更多 →
论文格式老被退回?格式错误的4步自查清单 2026/9/13 22:19:08

论文格式老被退回?格式错误的4步自查清单

论文格式被学校退回,是毕业季最常见的返工原因之一。与其一次次改完再交、再被退回,不如按一份固定清单逐项自查。这篇把格式错误拆成 4 个步骤:先定位退回原因,再按「整体版式 → 正文细节 → 引用著录 → 图表表格」四层逐项排查…

阅读更多 →
海底海参检测数据集介绍、下载及YOLO/VOC/COCO训练格式转换 2026/9/13 22:19:08

海底海参检测数据集介绍、下载及YOLO/VOC/COCO训练格式转换

海底海参完整数据集下载目录 同时包含三种主流标注格式:COCO JSON、VOC XML、YOLO TXT 海底海参检测数据集🌊:数据集介绍、下载📥 | 目标检测 | 水平框📌|原始图像✅|VOC标签✅ | COCO 标签✅…

阅读更多 →
Ingress NGINX 注解风险等级与作用域全解:annotations-risk 治理指南 2026/9/13 22:16:07

Ingress NGINX 注解风险等级与作用域全解:annotations-risk 治理指南

Ingress NGINX 注解风险等级与作用域全解:annotations-risk 治理指南 【免费下载链接】ingress-nginx Ingress NGINX Controller for Kubernetes 项目地址: https://gitcode.com/GitHub_Trending/in/ingress-nginx 导读 Ingress NGINX Controller 通过 ngin…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞