【Transformer详解·下】解码生成逻辑!BERT/GPT/Cross-Encoder架构差异全梳理
前言
上篇我们完整拆解了Transformer编码器Encoder与自注意力整套底层机制,理清了模型理解输入文本的完整逻辑。本篇我们将重心放在生成任务专属的Decoder解码器,逐层拆解掩码多头注意力、跨注意力两大特殊注意力结构,完整还原机器翻译从输入编码到逐词生成结果的全链路推理流程。同时结合当下大模型、知识库检索工业落地场景,横向对比基于Transformer衍生的三大主流模型:仅Encoder架构的BERT、仅Decoder架构的GPT、用于检索重排的Cross-Encoder,详细区分Bi-Encoder双塔粗召回与Cross-Encoder精排的分工、优劣与适用场景。文末完整复盘Transformer全部核心组件,针对对话生成、文本分类、RAG知识库检索等不同业务给出清晰模型选型方案,打通底层理论与工程落地,完整覆盖你之前关注的Cross-Encoder底层原理。
一、Decoder解码器:所有文本生成任务的核心模块
1. Decoder整体功能定位
Decoder接收Encoder输出的全局编码矩阵C,承担逐token生成目标文本的核心工作,机器翻译、大模型对话、文案续写、摘要生成等所有生成类任务,都必须依靠Decoder模块。
基础预测逻辑:基于当前已经生成的i个词汇,预测序列中第i+1个单词,循环迭代生成,直到输出文本结束符为止。
2. 掩码多头自注意力(Masked Multi-Head Attention):生成任务的因果约束核心
Decoder第一层自注意力增加特殊Mask掩码掩盖机制,是保证文本生成时序合理性的关键设计。
在预测第i+1个新词时,掩码矩阵会屏蔽该位置之后所有未生成的token,强制模型只能读取当前位置之前已生成的文字,杜绝模型提前看到未来未输出内容,保证生成过程符合自然语言时序因果逻辑。
举个直观例子:初始输入起始符<Begin>,已生成内容为“我 很好”,当预测下一个词汇时,掩码会遮挡“很好”之后所有不存在的位置,模型只能基于<Begin>、我、很好三个token做计算,不会获取未来不存在的文本信息。
补充细节:<Begin>起始向量初始化时为随机参数,会跟随模型整体训练持续更新迭代。Transformer以每个token为单位单独计算损失,最后求和或取平均值得到单条样本整体损失。
3. 单层Decoder Block三层子层完整结构
每一层Decoder Block包含三层子层,每一层都配套残差连接Add & Norm与层归一化,三层子层自上而下依次为:
- 掩码多头自注意力:处理已生成的目标文本序列,依靠掩码屏蔽未来token,保证单向时序;
- 多头跨注意力Cross-Attention:搭建Encoder输入文本与Decoder生成文本之间的语义桥梁;
- 前馈全连接FFN:对融合后的语义特征做非线性深度加工,丰富表征能力。
二、跨注意力Cross-Attention:连接源文本与生成文本的关键桥梁
1. 自注意力与跨注意力核心区分标准
- 自注意力Self-Attention:Q、K、V三组向量全部来自同一段序列,分为两种使用场景:Encoder内部双向自注意力、Decoder掩码单向自注意力;
- 跨注意力Cross-Attention:Q向量来自Decoder当前正在生成的目标序列,K、V向量全部来自Encoder处理完成的输入源文本序列,实现两段不同序列之间的语义对齐交互。
2. 跨注意力完整工作流程
- Q来源:解码器当前已生成文字经过掩码注意力输出的向量表征;
- K、V来源:编码器完整处理后输出的全局输入文本矩阵C;
- 注意力权重计算:通过缩放点积注意力,让模型在生成每一个新词时,自动聚焦输入文本中与之语义匹配的片段,实现精准对齐。
以机器翻译场景举例:源文本英文I am fine,模型生成中文“我很好”时,在生成“很好”这个token的瞬间,跨注意力会自动匹配原文中fine对应的向量,精准建立源语言与目标语言的语义对应关系。
补充底层细节
Decoder内部用于生成K、V的线性投影权重矩阵为独立可训练参数,和Encoder端的QKV权重完全不共享,两套参数分别独立学习源文本、目标文本的语言特征,互不干扰。矩阵乘法遵循基础运算规则:(m × n) @ (n × p) = (m × p),注意力加权求和本质就是矩阵乘法运算。
三、Transformer完整端到端推理全流程(机器翻译实例)
我们以一句中文翻译英文为例,完整走通模型推理四大阶段:
-
输入预处理编码阶段
源文本(中文输入):词嵌入层映射词向量 + 位置编码补充语序信息,相加得到源输入矩阵X;
目标文本(待生成英文):初始输入仅为<Begin>起始向量,后续每一步拼接已生成单词的向量与位置编码。 -
Encoder全局编码阶段
源输入矩阵X送入6层堆叠的Encoder Block,经过多层多头自注意力交互、FFN特征加工,最终输出包含整句全部语义的编码矩阵C。 -
Decoder循环生成阶段
① 掩码多头自注意力:处理当前已生成的目标文本,掩码屏蔽后续未生成token,保证单向时序;
② 跨注意力层:读取Encoder输出矩阵C,将源文本语义融合进当前生成token的表征;
③ FFN前馈网络:对融合后的特征做非线性变换,输出单层Decoder最终向量。 -
输出词汇预测阶段
Decoder最后一层输出向量送入Linear线性层,映射至词汇表维度;再经过Softmax归一化,输出词汇表中每个单词的生成概率,选取概率最高词汇作为本次输出;循环重复Decoder生成步骤,直到模型输出结束符,终止生成流程。
四、三大主流Transformer衍生模型深度对比(含Cross-Encoder)
原生完整Encoder+Decoder结构多用于机器翻译任务,而工业界落地更多是单分支改造衍生模型,结合你之前重点学习的Cross-Encoder,做完整横向对比:
1. BERT:仅使用Encoder,双向文本理解模型
- 架构:仅堆叠多层Encoder,无Decoder生成模块;
- 注意力机制:双向无掩码自注意力,句子内所有token互相可见,全局双向语义交互;
- 适用任务:文本分类、情感分析、NLI自然语言推理、语义匹配、向量召回(Bi-Encoder双塔模型基础);
- 核心特点:擅长深度理解文本语义,不具备文本生成能力。
2. GPT:仅使用Decoder,单向文本生成模型
- 架构:仅堆叠多层带掩码的Decoder,无独立Encoder;
- 注意力机制:全程掩码单向自注意力,每个token只能读取自身前文内容;
- 适用任务:对话大模型、文章续写、翻译生成、文案创作;
- 核心特点:天然适配时序文本生成,仅能单向建模上下文。
3. Cross-Encoder(交叉编码器,RAG检索精排专用)
Cross-Encoder基于纯Encoder架构改造,不存在独立Decoder模块,是检索系统精排阶段核心模型:
- 输入拼接规则:将查询文本、候选文档拼接为一条完整序列,格式为
[CLS] 查询文本 [SEP] 候选文本 [SEP]; - 交互逻辑:整条拼接序列共同送入Transformer Encoder,查询内token与文档内token全程交叉注意力交互,捕捉细粒度匹配特征(同义词、局部语义重合、语序差异);
- 输出逻辑:仅使用序列首位
[CLS]向量接入线性分类头,输出0~1之间的相似度打分,分数越高代表查询与文档匹配度越高;
- 优势:细粒度语义匹配精度远超Bi-Encoder双塔模型,匹配效果显著提升;
- 劣势:无法离线预计算文档向量,每条候选文档都要单独推理,计算量大、速度慢,不能单独用于全库检索。
Bi-Encoder双塔模型 vs Cross-Encoder交叉编码器 完整对比
- Bi-Encoder(双塔):查询、文档两套独立Encoder分开编码,生成独立向量,依靠向量点积计算相似度;可离线预存全部文档向量,向量库快速检索,速度极快,仅适合粗召回阶段;
- Cross-Encoder(交叉):查询与文档拼接后共同编码,全程token交叉交互,捕捉细微语义差异;推理速度慢、无法预缓存向量,仅用于粗召回后的Top候选重排序。
工业标准两阶段检索架构
- 阶段1:Bi-Encoder向量库快速召回Top30~Top100候选文档(粗筛,保证召回覆盖率);
- 阶段2:轻量版Cross-Encoder对召回候选逐条打分,按匹配分数重新排序,输出最优Top结果(精排,提升检索精准度)。
五、Transformer整体四大模块完整复盘
1. 四大核心组成部分
- 输入模块:分为源文本嵌入+位置编码、目标文本嵌入+位置编码两部分,分别为Encoder、Decoder提供带语序信息的语义向量;
- Encoder编码器:N层Block堆叠,单层=多头自注意力 + FFN前馈网络,双向全局语义建模,用于文本理解;
- Decoder解码器:N层Block堆叠,单层=掩码多头自注意力 + 跨注意力 + FFN前馈网络,单向时序建模,用于文本生成;
- 输出模块:Linear线性层 + Softmax激活层,将隐层向量映射为词汇概率分布,完成单词预测。
2. 全部核心组件功能汇总
- 位置编码:弥补Transformer无循环结构的缺陷,补充序列语序信息;
- QKV注意力投影矩阵:可学习权重,用于计算token之间的关联权重;
- 多头注意力:多语义子空间并行捕捉语法、逻辑、情感、时间等多维度文本特征;
- 掩码注意力:限制注意力可见范围,保证生成任务时序因果;
- 跨注意力:实现两段不同序列之间的语义对齐交互;
- 残差连接+LayerNorm:缓解深层网络梯度消失,标准化向量分布,加速模型训练;
- FFN前馈网络:对单token独立做非线性变换,挖掘深层复杂语义表征。
六、工程落地场景模型选型指南
- 文本生成场景(对话、写作、机器翻译、摘要生成):选用纯Decoder架构模型,如GPT系列;
- 文本理解场景(分类、情感识别、语义匹配、向量召回):选用纯Encoder架构模型,如BERT、Bi-Encoder双塔;
- 知识库RAG检索场景:标准两阶段方案,Bi-Encoder完成全库粗召回,搭配轻量MiniLM系列Cross-Encoder做精排重排序;
- 性能优化取舍:Cross-Encoder精度优势明显,但推理延迟高、显存占用大,高并发线上服务优先选用轻量化小参数量模型,平衡精度与速度。
文末结语
自2017年Transformer问世以来,BERT、GPT、各类检索模型、多模态大模型的底层架构都没有脱离编码器、解码器、注意力机制这套基础框架。理清Encoder与Decoder的分工边界、分清自注意力与跨注意力的使用场景,就能彻底搞懂所有主流NLP模型的底层逻辑。不管是预训练模型微调、RAG检索系统搭建,还是大模型线上推理性能优化,都能抓住核心底层原理,同时充分理解Cross-Encoder在检索重排任务中的独特价值,实现理论知识到工业项目落地的完整闭环。
更多推荐

所有评论(0)