手撕 Transformer (1):Transformer 的结构拆解

在手撕 Transformer 之前,我们要先了解一下 Transformer 的结构。乍一看,它的结构有点复杂,其实还好。我们分开看就可以了,可以把 Transformer 看成四个部分:输入部分、输出部分、编码器部分、解码器部分。这篇文章不讲每个部分的作用只做拆解,每个部分的作用将在后续文章详细说明。可以带着问题去读后续文章。

输入部分

如下图所示,Transformer 的输入部分分为两部分,一部分是源文本嵌入层(图中 Inuput Embedding)+ 位置编码(图中 Positional Encoding),另一部分是目标文本嵌入层(图中 Output Embedding)+ 位置编码(图中 Positional Encoding)

输出部分

如下图所示,Transformer 的输出部分由 Linear 和 Softmax 组成。

编码器

如下图所示,Transformer 的编码器由 N 个编码器层(Encoder Layer)组成,每个编码器层由 2 个子层组成。第一个子层由一个多头自注意力 (Multi-Head Self-Attention,图中 Multi-Head Attention)和一个层归一化 (Layer Normalization,图中为 Norm),以及一个残差连接组成。第二个子层由一个前馈层 (图中 Feed Forward)和一个层归一化 (图中 Norm),以及一个残差连接组成。

解码器

如下图所示,Transformer 的解码器由 N 个解码器层(Decoder Layer)组成,每个解码器层由 3 个子层组成。第一个子层由一个掩码多头自注意力 (Masked Multi-Head Self-Attention,图中 Masked Multi-Head Attention)和一个层归一化,以及一个残差连接组成。第二个子层由一个多头注意力(不是自注意力,而是交叉注意力 ,图中 Multi-Head Attention)和一个层归一化,以及一个残差连接组成。第三个子层由一个前馈层 和一个层归一化,以及一个残差连接组成。

文章链接

相关推荐
醉卧考场君莫笑6 小时前
NLP(正向,逆向,双向匹配法分词及代码实现)
人工智能·自然语言处理·easyui
拓朗工控6 小时前
视觉革命:独立显卡工控机在医疗领域的深度应用
人工智能·智慧医疗·工控机
victory04316 小时前
2026年4月22日 Malicious Finetuning for LLM via Steganography 解读 复现要点
人工智能
Python私教7 小时前
Hermes Agent 技能系统:让 AI 学会自我进化
人工智能
小饕7 小时前
RAG学习之- RAG 数据导入完整指南
人工智能·python·学习
黑客说7 小时前
白日梦无限世界 各类型副本分析
人工智能·科技·游戏·娱乐
wearegogog1237 小时前
基于和差波束法的单脉冲测角MATLAB实现
人工智能·算法·matlab
陈广亮7 小时前
一个 CLAUDE.md 文件,一周涨了 44K Star:Karpathy 的 AI 编程四原则
人工智能
三秋树7 小时前
豆包 Agent Harness 工程师入门 | 第 5 章 Skills 技能
人工智能·agent·ai编程
一线数智7 小时前
从数字化到数智化: AI 赋能零售/餐饮高效运营
人工智能·零售