首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >以GPT为代表的Decoder-Only架构凭啥C位出道?

以GPT为代表的Decoder-Only架构凭啥C位出道?

作者头像
AI老马
发布2026-01-13 20:28:22
发布2026-01-13 20:28:22
870
举报
文章被收录于专栏:AI前沿技术AI前沿技术

大模型架构可以分为三类 Decoder-Only,Encoder-Only和Encoder-Decoder。 不同架构对应不同的训练任务,并在不同的场景任务上达到SOTA效果。本文主要围绕三种架构介绍: 1)Valina Transformer中编码器和解码器核心机制和差异点。 2)结合三种架构中典型的代表模型GPT,Bert,GLM,介绍架构定义和优势。 3)讨论主流厂商的大模型,采用Decoder-only架构的原因。

1,基础的 Transformer

基础的 Valina Transformer模型属于序列到序列的结构,包含编码器和解码器两个部分。

  • 编码器

编码器由多个编码层block堆叠形成,每个编码器层又由两个子层组成:一个多头自注意力机制和一个全连接前馈网络。

编码器层负责将输入序列转换为连续的表示,捕捉输入序列中的信息并建模其特征。通过堆叠多个编码器层,模型可以逐步提取输入序列中的特征,并利用自注意力机制来捕捉输入序列中各个位置之间的依赖关系。

  • 解码器

解码器也由多个解码器层block堆叠形成,但多头自注意力带有因果掩码(causal masking),为的是只看当前和历史信息。同时还包含编码器-解码器注意力机制即交叉注意力(cross-attention),用于捕捉输入和输出序列之间的依赖关系。最后是一个全连接前馈网络。

解码器层负责根据编码器的输出和先前生成的部分序列来逐步生成输出序列。解码器通过堆叠多个解码器层,利用编码器的输出和自身的注意力机制逐token的,以一种自回归(Auto-regrussive)的方式,生成输出序列。

  • 编码器和解码器区别

编码器和解码器是Transformer模型中的两个关键组件,它们在序列转导任务中扮演着不同的角色。

两者功能不同:编码器负责将输入序列编码为连续表示,而解码器则根据编码器的输出和先前生成的部分序列来生成输出序列。

两者注意力结构稍微差异:解码器比编码器多了一个交叉注意力模块,并且其自注意力部分是带有因果掩码的自注意力。

2,Encoder-Only 架构

2.1,自编码定义

Encoder-Only架构主要是自编码模型(Auto-encoder model),其采用句子重建的任务进行预训练,即预先通过某种方式破坏句子,可能是掩码,可能是打乱顺序,希望模型将被破坏的部分还原,对应原始Transformer中的编码器部分,其中最经典的模型是Bert模型。

2.2,Bert 模型介绍

Bert的目标是通过一个框架学习语言的语法规则,主要针对的是文本分类、问答等任务。这正好与 transformer 中的编码器一拍即合,所以Bert仅使用 Transformer的编码器,就实现了文本的语义理解等任务。

Bert的目标决定了其预训练的任务,先掩码遮蔽部分输入,再通过模型预测掩码部分,或者预测两个句子之间的关系,这些任务并不涉及到生成输出序列,因此不需要解码器。

左侧预训练部分展示了BERT如何在无标签数据上进行训练。图中有两个任务:下一个句子预测(Next Sentence Prediction, NSP)和掩码语言模型(Masked Language Model, Mask LM)。在NSP任务中,模型预测两个文本片段是否在原始文档中相邻。在Mask LM任务中,BERT预测输入中被[MASK]标记替换的原始词语。

右侧显示了模型的微调过程。预训练后的Bert模型被调整以适应特定任务,在微调期间,所有参数都一起微调。通常在Bert之上添加了一个额外的层,通常是一个分类器用于特定任务。在预训练和微调过程中,都会用到一些特殊的标记如,[CLS] 用于分类任务的特殊标记,以及[SEP] 用于分隔段落的标记。此外,在右侧带有注释的箭头表示模型预测文本中答案范围的“开始”和“结束”[1]。

2.3,Bert 存在的一些问题

  • 资源需求。在当时看来,BERT及其衍生模型通常需要大量的计算资源和存储空间来训练和部署,导致训练和推理的成本较高,限制了它们在资源有限的环境中的应用。
  • 上下文理解能力和上下文窗口长度有限。在处理长文本或长距离依赖关系的任务时,BERT可能会出现性能下降或信息丢失的情况,即不能完全解决长距离依赖问题。因为Bert模型的输入长度有限,通常为512个token,这限制了模型处理较长文本的能力。对于长文本或长句子,需要进行截断或分段处理,可能会损失一些上下文信息。
  • 缺乏对抗性。Bert模型在处理对抗性样本(adversarial examples)时表现较差,容易受到攻击和干扰。
  • 下游任务领域错配。如果任务领域与预训练数据的领域不匹配,模型可能需要更多的微调或领域适应。
  • 多任务的动态适应性较差。尽管BERT模型可以通过微调来适应特定的下游任务,但在处理多个任务时,模型的动态适应性有限。因此,对于多任务学习或者需要动态适应不同任务的场景,Bert可能并不是最佳选择。

小结:

Bert 核心原理,使用多层嵌套的Transformer编码器来处理输入序列,并使用双向语言模型预训练策略进行掩码预测。与自回归模型不同,模型既可以看到上文信息,也可以看到下文信息,由于这样的特点,自编码模型往往用于自然语言理解的任务,如文本分类、阅读理解,情感分析,命名实体识别等。

3,Encoder-Decoder 架构

3.1,编码-解码定义

定义:

序列到序列模型(Sequence to Sequence Model Seq2Seq)则是同时使用了transformer中的编码器与解码器,最经典的模型便是T5和GLM模型。这种模型最自然的应用是文本摘要、机器翻译、语音识别等任务,事实上基本所有的NLP任务都可以通过序列到序列模型解决。

任务目标:

Seq2Seq 模型旨在将一个序列映射到另一个序列。编码器负责将输入序列映射到一个固定大小的上下文向量,解码器使用这个上下文向量生成目标序列。

3.2,GLM 模型介绍

GLM的全称基于自回归空白填充预训练框架(General Language Model Pretraining with Autoregressive Blank Infilling),其设计的目标是为能够更加全面彻底的解决NLP任务,借鉴了BERT对输入表示进行建模的思路,同时采用解码器构建GLM模型的生成能力

预训练方式如图:

  • • 对输入X 进行随机采样,采样结果进行Mask替换,如图:原始文本 中的 和 分别用 [M]替换,变成 ,这个就是Part A
  • • 把Part A中所有 [M] 位置的token提取出来并对顺序打乱,并且添加前缀 [S],得到seq B。
  • • 把Part A和Part B拼接起来输入GLM。GLM中 PartA 采用双向编码器,Part B是单向解码器,如上图最右边的黄绿框。

通过以上方式,GLM实现了Patr A部分的token可以互相照应,但不能照应B部分的任何token;B部分的token可以照应A部分和B部分的前因,但不能照应B部分的任何后续token。为了自然的进行自回归生成,每个跨度都用特殊token, 比如[START]和[END]填充,用于输入和输出,在这种方式下,模型自动学习一个双向编码器和一个单向解码器在一个统一的模型中。

3.3,Encoder-Decoder 优势领域

  • Encoder 的多模态编码能力:架构中的 Encoder 模块可专门负责对不同模态的原始数据(如图片的像素信息、音频的波形信息)进行统一编码,转化为模型可理解的语义向量。这种 “专人专事” 的设计,使其能更高效地处理多源异构数据。
  • Deep Encoder + Shallow Decoder 的高效设计:工业界常采用 “深编码器 + 浅解码器” 的组合模式,即Encoder 部分可设计得较深,以充分提取输入信息的深层语义;Decoder 部分则保持精简,仅负责生成或输出结果。由于 Encoder 的计算过程可高度并行(无需像 Decoder 那样依赖前序输出逐步生成),这种架构能显著提升推理速度,远快于大型 Decoder-Only 模型。
  • 标注数据充足时的成本优势:当任务有较多标注数据时,Encoder-Decoder 架构可通过更高效的训练和推理流程,在达到同等效果的前提下,降低计算资源消耗,从而具备明显的成本优势。这使其在需要大规模部署且数据充足的任务(如机器翻译、文本摘要)中更具实用性。

4,Decoder-Only 架构

4.1,自回归定义

自回归(Auto-regressive model)模型采用经典的语言模型任务进行预训练,即给出上文预测下文,其中最经典的模型是GPT(Generative Pre-trained Transformer)。对应原始Transformer模型的解码器部分。任务目标为给定前n个单词,模型预测下一个单词的概率。这个过程在生成句子时逐步进行,每次生成一个单词,然后使用生成的单词作为输入来预测下一个单词。需要特别注意的是,在生成输出序列的每个元素时,都依赖于先前生成的元素。

结构:

在transformer中通常对应其解码部分。由于自编码器只能看到上文而无法看到下文的特点,模型一般会用于文本生成的任务,擅长于文本生成、音乐生成等。典型使用:GPT和Llama还有千问Qwen系列模型。

4.2,GPT 模型结构优势

左侧可以看到GPT模型就是transformer中去掉交叉注意力的decoder。右侧为GPT统一了多种任务的输入形式,使得一种架构兼容多种任务。

GPT模型的主要贡献:

  • 验证了预训练+微调范式的有效性

采用了仅由 Transformer 解码器堆叠的架构(使用 Masked self-attention 从左到右预测下一个词),在大规模未标注语料上进行生成式预训练。随后,模型在下游任务(文本蕴含、文本分类、问答等)上通过有监督微调来适配不同场景,最终在 9/12 的任务上取得了 SOTA,证明了 Transformer 架构在语言建模上的可行性。

  • 引入统一的任务训练格式

通过在输入文本中添加特殊标记以及拼接文本,将不同下游任务(文本蕴含、问答、情感分析等)的结构化输入统一转换为连续序列的形式。这种方法减少了为不同任务单独设计模型结构的需求,仅通过调整输入格式即可适应不同任务,使得同一个预训练语言模型可以在不同任务之间复用。

5,为什么Decoder-only 一枝独秀

Decoder-only的模型具有自身的天然优势:

  • Decoder-only 模型使用 next token prediction 任务训练,兼顾理解和生成,在各种的下游任务上,few-shot 和zero-sort 泛化性能也都很好。Decoder-only在参数量不太大时就具有更强的zero-shot性能、更匹配主流的自监督训练范式;并且在大参数量的加持下,具有了涌现能力后、可以匹敌encoder-decoder做 finetuning的效果。
  • In context 上下文学习为Decoder-only 架构带来更好的few-shot 性能。prompt和demonstration的信息可以视为对模型参数的隐式微调,Decoder-only的架构相比encoder-decoder在in context learning上会更有优势,因为prompt可以更加直接地作用于decoder 每一层的参数,微调的信号更强。
  • 预训练难度问题。Decoder-only架构加next token predicition 的方式,每个位置所能接触的信息比其他架构少,要预测下一个token难度更高,当模型足够大,数据足够多的时候,Decoder-only模型学习通用表征的上限更高。
  • Causal attention 自回归的注意力具有隐式的位置编码功能。相对于encoder-only模型中的双向attention,其容易退化成低秩状态,而因果矩阵为下三角满秩,建模状态更强。其次encoder-only使用masked language modeling 做预训练,不擅长做生成式任务,做NLU 也需要有监督的下游任务微调。

Decoder-only具有更强的zero-shot性能、更匹配主流的自监督训练范式;而在大参数量的加持下,具有了涌现能力后、可以匹敌encoder-decoder做finetuning的效果;且在In Context的环境下、又能更好地做few-shot任务。

工程训练上的优势:

  • Decoder-only支持一直复用KV-cache,对多轮对话友好。每个token的表示只和它之前的输入有关。对于encoder-decoder和prefixLM很难做到。
  • Decoder-Only 的架构最核心的优势是非常方便于 Scale Up,基于 Scaling Laws 的实际训练成本最低。相同参数量的训练效率上,Decoder-Only > Encoder-Only > Encoder-Decoder。现行分布式并行策略下,可以扩展的参数量上限和分布式集群规模的上限,Decoder-Only > Encoder-Only > Encoder-Decoder。

小结:

自编码器用于学习数据的紧凑表示,自回归模型用于生成序列,而Seq2Seq模型用于处理序列到序列的映射任务。

自编码和自回归更像是在任务层面对模型的区分,而因任务自身的特点分别又选取了transformer中的编码器(encoder-only)和解码器(Decoder-only)部分。本来按照计划的剧本大家在各自的领域发光发热,但发现Decoder-only模型还有很多隐藏的技能,而且在AI infra 角度极易的扩展,使得Decoder-only模型包揽的任务越来越多,慢慢就形成了以Decoder-only为主的大模型架构

参考资料:

代码语言:javascript
复制
[1] arXiv:1810.04805,Bert
[2] arXiv:2103.21360,GLM
[3] arXiv:2204.05832
[4] Improving Language Understanding by Generative Pre-Training
[5] https://www.zhihu.com/question/588325646/answer/2940298964
[6] https://zhuanlan.zhihu.com/p/684812895
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI老马啊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1,基础的 Transformer
  • 2,Encoder-Only 架构
    • 2.1,自编码定义
    • 2.2,Bert 模型介绍
    • 2.3,Bert 存在的一些问题
  • 3,Encoder-Decoder 架构
    • 3.1,编码-解码定义
    • 3.2,GLM 模型介绍
    • 3.3,Encoder-Decoder 优势领域
  • 4,Decoder-Only 架构
    • 4.1,自回归定义
    • 4.2,GPT 模型结构优势
  • 5,为什么Decoder-only 一枝独秀
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档