深入解析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: 早期用于处理序列数据的模型,通过逐字阅读来模拟人类阅读方式。
- 问题:
- 信息丢失: 使用固定长度的向量存储信息,导致长文本信息丢失。
- 无法处理长句子: 难以有效处理长距离依赖关系。
- 无法并行计算: 只能按顺序处理,无法利用现代硬件的并行计算能力。
热门推荐
古希腊的哲学与科学的根源:文明的灯塔
吃猪心真的能护心?专家揭秘辅酶Q10真相
辅酶Q10护肤品真的能抗老吗?科学解读与使用指南
双十一云南游:北京到昆明省钱攻略大揭秘!
人社部拟增加19个新职业,数字经济、绿色、美好生活成关键词
低收入人群的实用预算指南:聪明储蓄,生活更美好
5000元的月薪到底算高还是低?全方位解析
保障房:为经济困难家庭提供稳定居住环境与社会和谐的希望之所
五家七宗——曹洞宗
最全的家装流程!附采购清单装修须知
装修项目管理指南:从计划到执行的全方位管理策略
2024年龙年装修日历 如何判断装修吉日的好坏
百逸动漫发布《斗龙战士5》全新周边!
百逸动漫新作来袭,《斗龙战士》再创辉煌?
《斗龙战士4之双龙核》手游评测:童年回忆杀,50种斗龙等你收集!
《斗龙战士》:从火爆到沉寂,一部动画的九年兴衰史
梁启波带你揭秘《斗龙战士》幕后故事
什么是苦荞茶?苦荞茶有哪些功效作用?
Win11新电脑到手后可做的五种优化方法-【提升性能】
如何自己组装一台电脑(详细步骤帮你轻松搭建个人电脑)
昆明打造国际美食之都:从春城到世界的美食之旅
数据科学家联盟详解t值和Z值:从理论到实践
从数据到诊断:t值和Z值在健康分析中的应用
认知域作战:证据如何左右你的认知?
无锡的蠡园公园该如何游玩?畅行联盟不欺骗消费者的形式带你前去
数据分析师转行秘籍:简历这样改!
跨境电商运营新人简历模板
职场沟通新姿势:如何优雅地说不?
春风化雨式沟通:优雅表达不同意见的艺术
股票怎么分?三种分配方式详解及其影响