深入解析Transformer模型:架构与关键组件
创作时间:
作者:
@小白创作中心
深入解析Transformer模型:架构与关键组件
引用
CSDN
1.
https://blog.csdn.net/u014661768/article/details/145413393
Transformer是一种用于自然语言处理(NLP)和其他序列到序列(sequence-to-sequence)任务的深度学习模型架构,它在2017年由Vaswani等人首次提出。Transformer架构引入了自注意力机制(self-attention mechanism),彻底改变了序列数据处理的方式。本文将深入解析Transformer模型的各个关键组件及其工作原理。
详细过程
- Tokenization(文本分词)
- 定义:将文本转换为Token(词元)的过程。
- 子词分词:将单词拆分为更小的单元(子词),例如:
- “subword” → “sub” + “word”
- “encoded” → “encod” + “ed”
- Token数量:以GPT为例,1000个Token约等于750个英文单词或500个汉字。不同模型对Token的处理方式不同,例如GLM在处理中文时比GPT更节省Token。
- Token词表:包含所有可能的Token,例如GPT-3的词表有50257个Token,GPT-4有100256个,Llama 3有128000个。Token词表越大,模型对多语言的适应能力越强。
- Tokenization示例:以“海南麒麟瓜”为例,经过Tiktoken处理后得到11个Token。每个汉字的UTF-8编码与Token之间存在对应关系,但并非简单的偏旁部首拆分。不同的分词工具(如Tiktoken、GLM)处理方式不同。
- Tokenization的优势:减少词表数量,提高计算效率。例如,使用Token表示汉字可以有效减少词表规模。
- Embedding(词向量嵌入)
- 定义:将Token转换为向量,以便在数学空间中进行处理。
- 向量维度演进
模型维度特性经典Transformer512基础语义表示GPT-312,288复杂关系建模Llama316,384多模态扩展能力
- 与传统方法对比
维度One-hot编码Embedding存储效率5000词需5000维统一压缩为固定维度语义表达无法体现词间关系“国王-男+女≈女王”计算复杂度O(n)线性增长O(1)常量级映射
- 相似度计算方法:
- 欧式距离:空间两点之间的直线距离。
- 余弦相似度:两向量之间夹角的余弦值,夹角越小,相似度越高。
- Embedding的稀疏性:高维向量空间中大部分坐标点为空,仅少量点对应实际Token。这种稀疏性为后续处理提供了空间。
- Positional Encoding(位置编码)
- 定义:在向量中加入位置信息,以保留词序信息。
- 必要性:Transformer模型并行处理输入序列,忽略词序信息。加入位置编码可以弥补这一缺陷,确保模型理解词序对语义的影响。
- 实现方式:位置编码可以是固定的,也可以是可训练的。GPT模型中,位置编码是可训练的,使用了大量参数来拟合位置信息。
- Encoder & Decoder(编码器与解码器)
- 整体结构:
- 编码器:处理输入序列,输出包含语义信息的向量。
- 信息聚合:从任意一个Token出发,聚合与其相关的语义信息。
- 多头自注意力机制:从不同角度进行信息聚合。
- 多层结构:重复进行信息聚合,GPT-3为96层。
- 最终输出:n个向量,每个向量都代表整个输入序列的语义信息,但侧重点不同。
- 解码器:基于编码器输出和已生成的文本,生成下一个Token。
- 自回归生成:从已生成的文本出发,逐个生成下一个Token。
- 多层结构:与编码器类似,也进行多层信息聚合。
- 带掩码的多头自注意力机制:防止模型“看到”未来的Token,确保生成过程符合逻辑。
- 信息融合:将编码器输出和已生成的文本信息进行融合。
1. 编码器输出(代表输入序列的语义信息)。
2. 已生成的文本(作为上下文信息)。
4.1.注意力机制(Attention Mechanism)
- 定义:注意力机制通过计算不同信息之间的相关度系数,将注意力集中在重要的信息上。
- QKV:
- Q (Query):查询词,用于寻找相关信息。
- K (Key):键,用于匹配查询词。
- V (Value):值,包含实际的信息内容。
- 工作原理:
- 计算Q与K的相关度系数。
- 对V进行加权求和,权重由相关度系数决定。
- 最终输出是V的加权求和结果。
自注意力机制(Self-Attention)
- 定义:将QKV都设置为相同的输入数据,目的是进行信息聚合。
- 工作原理:
- 以每个token为中心,计算与其他token的相关度系数。
- 对V进行加权求和,将相关信息聚合到每个token上。
- 结果:每个token的向量都包含了来自其他token的信息,实现了信息聚合。
多头自注意力机制(Multi-Head Self-Attention)
- 问题:自注意力机制在处理复杂语义时可能存在局限性,例如无法有效捕捉不同角度的语义关系。
- 解决方案:
- 多头:引入多组QKV,从不同角度进行特征提取和信息聚合。
- 工作原理:
- 将输入数据通过不同的线性变换(WQ, WK, WV)得到多组QKV。
- 对每组QKV进行自注意力计算,得到多组输出。
- 将多组输出进行拼接,并通过一个线性变换(WO)进行融合,得到最终输出。
- 优势:能够从多个角度捕捉语义信息,提高模型对复杂语义的理解能力。类似于将一种语言翻译成多种语言,从不同角度解读信息。
带掩码的自注意力机制(Masked Multi-Head Self-Attention)
- 定义:在多头自注意力机制的基础上,引入掩码机制,限制信息聚合的范围。
- 工作原理:在预测下一个token时,遮蔽掉未来token的信息,避免模型“看到”答案。类似于在考试中遮住答案,只允许模型基于已有信息进行推理。
- 目的:防止模型在训练过程中“作弊”,确保其能够真正理解语义并生成合理的输出。
4.2.前馈神经网络(Feed Forward Neural Network)
- 定义:在多头自注意力机制之后,加入一个前馈神经网络,用于进一步处理信息。
- 结构:
- 输入层:12288维向量(GPT-3)
- 隐藏层:4倍于输入层的维度(49152维)。
- 输出层:与输入层维度相同的向量(12288维)。
- 作用:对输入数据进行非线性变换,放大或缩小某些特征。类似于对信息进行“放大镜”处理,突出重要信息,弱化次要信息。
4.3.编码器与解码器的区别
- 编码器:
- 保留所有信息,适用于需要处理整个输入序列的场景。
- 结构相对简单,只有多头自注意力机制和前馈神经网络。
- 解码器:
- 适用于生成任务,例如文本生成。
- 结构更复杂,包含带掩码的多头自注意力机制、多头自注意力机制和前馈神经网络。
- 特点:
- 只能看到前面的信息,无法看到未来的信息。
- 更适合处理顺序依赖关系。
- Decoder Only架构:最新的大语言模型(如GPT)采用Decoder Only架构,即只使用解码器。
- 原因:
- 解码器具备理解复杂语义的能力,可以替代编码器。
- 简化模型结构,提高计算效率。
- Prompt与Response:将用户输入(Prompt)和模型输出(Response)合并为一个序列,中间使用特殊Token分隔。模型基于整个序列预测下一个Token,实现自回归生成。
5. Linear & Softmax(线性层与归一化)
- 线性层:将解码器输出的向量转换为与Token词表大小相同的向量。作用:计算每个Token作为下一个Token的相关度。实现:使用与Embedding矩阵相同的矩阵(参数共享),进行矩阵乘法。
- Softmax:将相关度转换为概率分布。作用:确保所有概率之和为1,且每个概率都在0到1之间。
6. 模型训练与推理
训练阶段:
目标:最小化总误差(损失函数)。
方法:
计算模型输出与真实标签之间的误差。
反向传播算法更新模型参数。
阶段损失函数总误差计算预训练段落联合概率基于段落联合概率计算误差SFT微调序列交叉熵基于问答对计算误差强化学习奖励模型反馈基于奖励模型计算误差推理阶段:
目标:生成文本。
方法:基于已生成的文本,逐个生成下一个Token。
1. 输入: "中秋节应该吃什么?" 2. Tokenization → 生成输入序列 3. 逐层编码 → 获得语义表示 4. 自回归解码:
已生成: "中秋节传统美食包括"
预测下一个Token概率分布
选择最高概率Token"月饼"
- 重复直至生成终止符
相关问题
- Q:位置编码是否可训练?
- GPT系列采用可训练位置参数,随模型共同优化
- 经典Transformer使用固定正弦编码
- Q:Embedding如何存储知识?
- 语义关系编码在高维向量空间几何结构中
- 参数矩阵记录Token间的分布式表示
- Q:为什么现代模型倾向Decoder-Only?
- 简化架构提升训练效率
- 掩码自注意力足以捕获双向上下文
- 统一处理Prompt与Response序列
- Q:为什么Transformer 替代了循环神经网络(RNN)
- RNN: 早期用于处理序列数据的模型,通过逐字阅读来模拟人类阅读方式。
- 问题:
- 信息丢失: 使用固定长度的向量存储信息,导致长文本信息丢失。
- 无法处理长句子: 难以有效处理长距离依赖关系。
- 无法并行计算: 只能按顺序处理,无法利用现代硬件的并行计算能力。
热门推荐
1头牛的重量,因品种、性别、年龄而异
“走出去”成大势所趋,企业“出海”如何落地?| 逐潮向海
证据收集流程有哪些
论证据链的重要性——从取证到定案的关键环节
白玉菩提的养护与挑选,如何避免油光问题?
椭圆扩展目标跟踪方法性能评估的度量标准(Matlab代码实现)
儿童乳牙换恒牙的顺序图及时间表,家长朋友们一定要收藏起来
儿童早矫的黄金时间:6-13岁分三个阶段都可以进行早期矫正
如何识别和防范偷税和避税的风险
五人组科研团队如何分工
王者荣耀禁赛事件升级:玩家申诉遭拒绝的法律分析
雍正皇帝的多样兴趣爱好
超星系团的宇宙乐章
如何用手机搭建音乐服务器?
公积金提取那些不得不说的秘密
折耳根的独特风味解析:腥味、微辣与清新香气的交织
如何让水仙花绽放更久:种植与养护指南
公关行业:塑造企业形象与传递价值的桥梁
怎么教孩子学儿童唐诗
MECE法则——问题的结构化拆解艺术
促进在职员工冥想的大公司
月季黑斑、红蜘蛛、白粉病的每月养护防治技巧
医保卡办理指南:个人、单位及小孩所需资料全攻略
如何提高羽毛球技术:训练方法与实战策略
论军事才能,粟裕最佩服这位元帅:换我打不了这么好,此人是谁?
博尔赫斯笔下的中国文学
广州到云南大理自驾游路线推荐
余光中的乡愁四韵写作背景
照着少儿读物畅销榜读,孩子越读越废!
如何对合同添加电子水印:法律合规与技术应用