Skip to content

预训练模型架构三路线

本页讲解 LLM 应用生态概览中模型选型的根基——预训练模型的三种 Transformer 架构路线:Encoder-only、Decoder-only、Encoder-Decoder。它们源自同一个 Transformer 架构,却因注意力方向与预训练目标不同而各擅胜场。理解这三条路线,才能理解为什么 Decoder-only 成为今天 LLM 的绝对主流,以及何时仍应回到 BERT 或 T5。此外,2024-2025 年涌现的 MoE(混合专家)、Mamba/SSM(状态空间模型) 等新架构也正在挑战纯 Transformer 的垄断地位,本页末尾对此做前瞻介绍。前置阅读:Transformer 架构、注意力机制。

同一个 Transformer,被三种方式”使用”,分别擅长”理解""生成""翻译转化”。

  • Encoder-only(仅编码器,如 BERT):双向看全句的”完形填空高手”——一次性看到所有词,最适合分类、抽取、匹配等理解类任务。
  • Decoder-only(仅解码器,如 GPT、Llama):只看左边的”接龙高手”——从左到右逐字生成,最适合对话、续写、代码生成等生成类任务,是当今 LLM 的主流。
  • Encoder-Decoder(编码器-解码器,如 T5、BART):先读懂再翻译的”转化高手”——编码器理解输入,解码器生成输出,最适合翻译、摘要等**序列到序列(seq2seq,即输入一段序列、输出另一段序列)**任务。

一句话记忆法:Encoder 像做阅读理解(看完文章再做选择题),Decoder 僐做接龙作文(看到前面几个字就往下写),Encoder-Decoder 像做翻译(先读懂原文,再逐句翻成目标语言)。

注意力掩码:三种架构的根本区别

Section titled “注意力掩码:三种架构的根本区别”

三种架构都基于 Transformer,区别在于注意力掩码和预训练目标:

  • 编码器用双向注意力:每个位置可以同时看到左侧和右侧所有位置(含”未来”词),因此能利用完整上下文。用一个 N×NN \times N 的注意力矩阵来理解(NN 是序列长度),所有位置之间的注意力权重都不受限。
  • 解码器用因果掩码(causal mask):每个位置只能看到自己和左侧已生成的词,右侧”未来”被遮住,保证自回归生成时不”偷看”未来。在注意力矩阵上表现为上三角全置为负无穷(softmax 后趋近零),即一个下三角矩阵。
  • 编码器-解码器兼有两者:编码器双向处理输入,解码器对输出用因果掩码,并通过**交叉注意力(Cross-Attention,解码器的 Query 去关注编码器输出的 Key/Value)**关注编码器的输出。

为什么因果掩码至关重要? 在训练时,Decoder-only 模型从完整文本中学习”给定前文预测下一个 token”。如果不遮住未来 token,模型就会”作弊”——直接看到答案。因果掩码保证了训练和推理的一致性:训练时每个位置的预测条件与推理时完全相同(只能看到左侧已生成的内容)。

代表模型:BERT、RoBERTa、DeBERTa。

  • 注意力:双向,每个词看到全部上下文。
  • 预训练任务:MLM(Masked Language Modeling,掩码语言模型)——随机遮蔽输入中约 15% 的 token,让模型根据完整上下文(含被遮蔽位置的双向信息)预测原词。这本质上是”完形填空”——和因果掩码不同,遮蔽只遮挡被预测位置本身,模型仍可看到周围所有词。BERT 还加了一个 NSP(Next Sentence Prediction,下一句预测) 辅助任务,但后续研究(RoBERTa)发现 NSP 贡献不大、可以去掉。
  • 擅长任务:文本分类、命名实体识别(NER,从文本中识别出人名、地名、机构名等实体)、语义相似度、信息检索、句向量(把整句话编码成一个向量用于相似度计算)。
  • 不擅长:自回归生成——它是双向的,生成时无法参考”未来”,并非为此设计。
  • 优势:理解类任务上至今是强基线,尤其小数据场景;模型相对小(数百 M 参数),部署成本低,推理速度快。
  • 2025 年现状:在通用 LLM 的光芒下容易被忽视,但在工业界 BERT 系仍是使用最广泛的 NLP 模型之一。搜索引擎(Google BERT、百度 ERNIE)、推荐系统、内容审核等大规模在线服务仍大量使用 Encoder-only 模型——因为它们在这些特定任务上更高效、更便宜。ModernBERT(2024 年底发布)对 BERT 架构做了现代化升级(Rotary Position Embedding、GQA、交替注意力等),在保持高效的同时大幅提升了性能。

代表模型:GPT 系列、Llama 系列(详见 Llama 系列)、Qwen、DeepSeek。

  • 注意力:单向因果掩码,只看左侧。
  • 预训练任务:自回归语言模型——给定前文所有 token,预测下一个 token。训练时对序列中每个位置都计算 loss(损失函数),即”第 1 个词预测第 2 个词”、“第 2 个词预测第 3 个词”……一条 N 个 token 的训练样本提供 N-1 个监督信号,数据利用率极高。
  • 擅长任务:对话、续写、代码生成、一切开放式生成;并通过 in-context learning(上下文学习,即在 Prompt 中给出几个示例,模型无需训练就能学会该任务) 涌现出指令遵循、少样本学习能力。
  • 为何成为主流:见下文专节。

代表模型:T5、BART、Whisper、原始 Transformer(翻译)。

  • 结构:编码器双向读取输入序列得到表示,解码器用因果掩码自回归生成输出,并通过交叉注意力访问编码器输出。这意味着解码器在生成每一步都能”回看”编码器的全部输出——这对翻译等”输入与输出存在系统对应关系”的任务很自然。
  • 预训练任务:T5 用”文本到文本”统一框架(把所有任务——分类、翻译、摘要——都转化为 seq2seq 格式,例如分类任务变成”输入’分类:这部电影很好看’,输出’正面’”);BART 用去噪自编码器(Denosing Autoencoder,给文本施加各种噪声——删词、换序、遮盖——让模型还原原文)。
  • 擅长任务:翻译、摘要、语音识别(Whisper)等天然”输入一段、输出另一段”的任务。
  • 现状:在通用 LLM 中已较少使用,但在 seq2seq 专项(尤其是语音、翻译)上仍有不可替代的地位。Whisper(OpenAI 2022)是语音识别领域的事实标准;SeamlessM4T(Meta 2023)支持近 100 种语言的语音-语音/语音-文本/文本-语音翻译。

近年的通用大模型(GPT-4、Llama、Claude、Qwen 等)几乎清一色 Decoder-only,原因包括:

  • 训练效率高:自回归目标对每个 token 都提供监督信号(每个位置都参与预测下一个 token),数据利用率高;而 Encoder-only 的 MLM 只对被遮蔽的约 15% token 监督。这意味着同样多的训练数据,Decoder-only 模型获得的梯度信号是 MLM 的约 6-7 倍。
  • 扩展性好(Scaling Law 最优):实验表明 Decoder-only 在持续放大(参数、数据、算力)时,validation loss 的下降最平滑稳定,遵循 Scaling Law(规模化定律,由 Kaplan et al. 2020 提出:模型 loss 与参数量、数据量、算力呈幂律关系) 的效果最好。Hoffmann et al.(Chinchilla 论文, 2022)进一步精确化了最优数据/参数配比,而这一结论主要在 Decoder-only 架构上验证。
  • in-context learning 与指令遵循:规模放大后(约 10B 参数以上),Decoder-only 模型涌现出”看几个例子就学会新任务”和”听懂指令”的能力——这种能力不是训练目标直接优化的,而是在足够大的规模下”涌现”(emergent)的。这是通用助手的基础,Encoder-only 架构难以涌现此类能力。
  • 统一接口:一切任务都能统一为”给前文、生成后文”,一个模型一种接口通吃理解与生成。分类任务可以表述为”请判断以下文本的情感:…”,翻译可以表述为”请将以下英文翻译成中文:…”——不需要为不同任务设计不同的输出头(output head)。
  • 工程简单:只有一种模块(Decoder block),代码实现、分布式训练、推理优化(KV Cache 等)都更简单——这在大规模工程中是巨大优势。

代价是:纯理解类任务(如句向量、检索)上,专用 Encoder 模型在小规模下更高效——这也是 BERT 系仍在 嵌入模型与检索中大量使用的原因。

维度Encoder-onlyDecoder-onlyEncoder-Decoder
注意力方向双向单向因果掩码编码器双向 + 解码器单向
注意力矩阵形状全矩阵 N×N下三角矩阵全矩阵(编码器)+ 下三角(解码器)
预训练任务MLM 完形填空自回归语言模型去噪/文本到文本
每条训练样本的监督信号约 15% token约 100% token因任务而异
代表模型BERT / RoBERTa / DeBERTa / ModernBERTGPT / Llama / Qwen / DeepSeekT5 / BART / Whisper
擅长分类、抽取、检索、句向量对话、续写、代码、通用生成翻译、摘要、语音识别
参数规模数百 M7B - 1T+数百 M - 数十 B
是否主流理解类强基线(工业界广泛使用)通用 LLM 绝对主流seq2seq 专项

由于联网搜索配额用尽,以下内容基于截至 2025 年中的公开信息整理。

MoE(Mixture of Experts):稀疏激活的革命

Section titled “MoE(Mixture of Experts):稀疏激活的革命”

MoE(混合专家模型) 是当前最重要的大模型架构创新之一。核心思想:把 Transformer 的前馈网络(FFN)替换为多个”专家”FFN,每次推理时由一个 Router(路由器,一个小的可训练线性层) 只激活其中少数几个专家——总参数很大,但每次推理只计算一小部分。

关键模型:

  • Mixtral 8×7B(Mistral AI, 2023):8 个专家,每次激活 2 个,总参数 46.7B 但每次推理只用 12.9B——以 13B 的计算成本达到 70B 级别的性能。
  • DeepSeek-V3(2024 年底):671B 总参数、每次仅激活 37B。使用了细粒度专家(256 个小专家 + 1 个共享专家,每次激活 8 个)和无辅助损失的负载均衡(load balancing without auxiliary loss,一种不靠额外 loss 项、而是用偏置项动态调整专家选择频率的方法),以约 557 万美元的训练成本媲美 GPT-4o。
  • Qwen3 / Llama 4(2025):同样采用 MoE 架构,行业已形成”大总参数 + 小激活参数”的共识。

MoE 的直觉:全参数模型像一个”全科医生”什么都懂但不够深,MoE 像一所医院——内部有各科专家(总知识量大),每次病人来了只挂需要的 2 个科室号(计算量小)。

MoE 的挑战主要在训练(负载均衡、训练稳定性)和推理(显存占用仍然按总参数计算,需要足够的 GPU 内存加载所有专家)。

Mamba(Gu & Dao, 2023)是基于 SSM(State Space Model,状态空间模型) 的非 Transformer 架构,试图解决 Transformer 的核心痛点:标准注意力的计算复杂度是 O(N2)O(N^2)——序列长度翻倍时计算量变四倍,长上下文代价极高。

Mamba 的核心创新是选择性状态空间模型(Selective SSM):

  • 像 RNN(Recurrent Neural Network,循环神经网络) 一样,用一个固定大小的隐状态 h_t 来压缩历史信息,推理时每步只需 O(1) 的计算——复杂度 O(N)。
  • 但通过”选择性”机制(根据当前输入动态决定保留/遗忘多少历史信息),克服了传统 RNN 无法有效利用长距离依赖的问题。
  • 可像 Transformer 一样高效并行训练(通过硬件感知的扫描算法)。

Mamba-2(2024)进一步优化,将 SSM 与注意力统一在同一个数学框架下(Structured State Space Duality),证明了注意力是 SSM 的一种特例。

Mamba vs Transformer:Mamba 在长序列(>8K tokens)上推理速度远快于 Transformer,因为它不需要维护 N×N 的注意力矩阵。但 Transformer 在短序列和需要精确”回顾”特定 token 的任务上仍有优势。2024-2025 年的研究表明两者并非对立——混合架构可能是最优解。

Jamba(AI21 Labs, 2024)是首个商用的 Transformer-Mamba 混合架构,交替堆叠 Transformer 注意力层和 Mamba SSM 层,兼取两者的优势:

  • Mamba 层负责高效处理长序列上下文(O(N) 复杂度、长文本压缩)。
  • Transformer 注意力层负责精确的信息检索(对特定位置的精确关注)。
  • 配合 MoE 进一步提升参数效率。

Jamba 支持高达 256K tokens 的上下文窗口,在长文本基准测试上表现优异。

业界目前的共识是:纯 Transformer 不会很快被取代,但 2025-2026 年将看到更多混合架构的出现——在需要超长上下文、低延迟推理的场景中,SSM 和线性注意力变体(如 线性注意力(Linear Attention)、FlashAttention 优化的滑动窗口注意力)将与标准注意力共存。

  • GQA(Grouped-Query Attention,分组查询注意力):将多个 Query 头共享同一组 Key/Value 头,在几乎不损失性能的情况下大幅减少 KV Cache 显存占用。Llama 2/3、Mistral 等主流模型均已采用。
  • MLA(Multi-head Latent Attention,多头潜在注意力):DeepSeek-V2/V3 提出,将 KV Cache 压缩到一个低维”潜在向量”中,在推理时再解压,显著降低长上下文的 KV Cache 显存开销。
  • 滑动窗口注意力(Sliding Window Attention):每个 token 只关注固定大小窗口内的上下文(如最近 4K tokens),通过分层堆叠实现有效长程依赖。Mistral 系列采用。
  • Ring Attention / Blockwise Attention:将超长序列切分为块,跨 GPU 分布式计算注意力,支持百万级 token 的训练(如 Gemini 的 2M 上下文窗口)。

下三角矩阵是因果掩码的本质——上三角(“偷看未来”的位置)被设为负无穷,softmax 后权重为零:

对比 Encoder 的双向注意力:词1 可以看到词 2-5(“未来”),因为理解任务中完整上下文都在输入中、不存在”泄露未来”的问题。

from transformers import AutoModel, AutoModelForCausalLM, AutoModelForSeq2SeqLM, AutoTokenizer
import torch
# ──────────────────────────────────────────────
# 一、Encoder-only(BERT):取 CLS 句向量,用于理解/检索
# ──────────────────────────────────────────────
enc_tok = AutoTokenizer.from_pretrained("bert-base-chinese")
enc = AutoModel.from_pretrained("bert-base-chinese")
inp = enc_tok("自然语言处理很有趣", return_tensors="pt")
with torch.no_grad():
cls_vec = enc(**inp).last_hidden_state[0, 0] # CLS 向量代表整句
print(f"句向量维度: {cls_vec.shape}") # torch.Size([768])
# ──────────────────────────────────────────────
# 二、Decoder-only(GPT 类):自回归生成文本
# ──────────────────────────────────────────────
dec_tok = AutoTokenizer.from_pretrained("gpt2")
dec = AutoModelForCausalLM.from_pretrained("gpt2")
ids = dec_tok("Artificial intelligence is", return_tensors="pt").input_ids
with torch.no_grad():
out = dec.generate(ids, max_new_tokens=15, do_sample=False)
print(dec_tok.decode(out[0], skip_special_tokens=True)) # 续写结果
# ──────────────────────────────────────────────
# 三、Encoder-Decoder(T5):seq2seq 翻译/摘要
# ──────────────────────────────────────────────
t5_tok = AutoTokenizer.from_pretrained("t5-small")
t5 = AutoModelForSeq2SeqLM.from_pretrained("t5-small")
# T5 的统一接口:所有任务都是"文本到文本"
inp = t5_tok("translate English to French: Hello, how are you?",
return_tensors="pt")
with torch.no_grad():
out = t5.generate(**inp, max_new_tokens=20)
print(t5_tok.decode(out[0], skip_special_tokens=True)) # 法语翻译结果

下面展示 Decoder-only 模型在生成时每一步发生什么——理解这个循环是理解所有 LLM 推理的基础:

# 手动实现自回归生成循环(等效于 model.generate 的核心逻辑)
def generate_step_by_step(model, tokenizer, prompt, max_new_tokens=10):
"""展示自回归生成的每一步"""
input_ids = tokenizer(prompt, return_tensors="pt").input_ids
for step in range(max_new_tokens):
with torch.no_grad():
# 前向传播:对所有 token 计算 logits
logits = model(input_ids).logits
# 只取最后一个位置的预测(下一个 token 的概率分布)
next_token_logits = logits[0, -1, :]
# Greedy decoding:取概率最高的 token
next_token_id = next_token_logits.argmax().unsqueeze(0).unsqueeze(0)
# 把新 token 拼到序列末尾,下一步用它作为输入
input_ids = torch.cat([input_ids, next_token_id], dim=-1)
token_str = tokenizer.decode(next_token_id[0])
print(f"步骤 {step+1}: 预测 '{token_str}' (id={next_token_id.item()})")
return tokenizer.decode(input_ids[0], skip_special_tokens=True)

KV Cache 的作用:上面的循环中,每一步都重新计算所有 token 的前向传播——这在长序列中非常浪费。KV Cache(Key-Value 缓存) 将之前计算过的 Key/Value 矩阵存下来,下一步只需计算新 token 的 KV 并追加。这使得每步从 O(N²) 降到 O(N),是 LLM 推理加速的基石。详见LLM 推理优化。

  • 理解类小数据任务首选 Encoder:分类、NER、检索、句向量等,BERT/RoBERTa/DeBERTa/ModernBERT 在小数据上比 Decoder-only 大模型更高效、更便宜。如果部署成本敏感,Encoder 模型几百 M 参数即可覆盖大多数理解任务。
  • 通用生成与对话首选 Decoder-only:构建聊天、写作、代码助手,选 GPT/Llama/Qwen 类 Decoder-only,配合 微调与RAG。
  • 翻译/摘要/语音仍可考虑 Encoder-Decoder:尤其是语音识别(Whisper)、专业翻译,seq2seq 架构的”先理解再转化”优势明显。
  • 检索场景按规模取舍:海量文档的语义检索用专用 Encoder 句向量模型(见 嵌入模型)更省;少量文档可直接让 Decoder-only LLM 做 in-context 判断。
  • Decoder-only 不擅长句向量:直接取 LLM 的隐藏向量做语义相似度效果一般(因为因果掩码导致每个位置只能看到左侧,表示不是对称的),检索仍建议用对比学习训练的 Encoder 模型。
  • 大模型选型关注 MoE:2025 年,同等性能下 MoE 模型(如 DeepSeek-V3、Mixtral)的推理成本远低于同性能的 Dense(稠密)模型。如果你用 API,MoE 模型的单位 token 价格通常更低;如果自部署,注意 MoE 的总参数需要全部加载到显存。
  • 超长上下文考虑非标准注意力:如果应用需要 100K+ tokens 的上下文,关注 GQA(降低 KV Cache 显存)、Ring Attention(分布式长序列)等优化。Mamba 类架构在超长序列推理上有天然优势。
  • Encoder 模型仍在迭代:ModernBERT(2024)证明了 Encoder-only 架构仍有生命力。如果你的任务纯粹是理解/检索,不要盲目追求大 Decoder 模型。
  • Encoder-only:搜索引擎语义匹配(Google BERT、百度 ERNIE)、情感分析、垃圾内容审核、命名实体识别、推荐系统文本特征。这些场景至今仍是 BERT 系的主场。
  • Decoder-only:聊天机器人、代码助手、长文写作、智能体、一切通用 LLM 产品。2025 年所有主流 AI 助手(ChatGPT、Claude、Gemini、DeepSeek)均为 Decoder-only。
  • Encoder-Decoder:机器翻译(原始 Transformer、NLLB、SeamlessM4T)、文本摘要(BART)、语音识别(Whisper)、语音合成。这些 seq2seq 专项中仍有不可替代的地位。
  • MoE Decoder-only:DeepSeek-V3、Mixtral、Qwen3-MoE 等以更低推理成本提供旗舰级性能,正成为自部署和 API 服务的主流选择。
类库语言说明
transformersPythonHuggingFace 出品,统一加载三种架构的全部主流模型
sentence-transformersPython基于 Encoder-only 模型训练高质量句向量,用于检索与匹配
FairseqPythonMeta 的序列建模工具包,T5/BART 等 seq2seq 模型常用
ESPnetPython语音/翻译的 seq2seq 工具包,Encoder-Decoder 架构为主
vLLMPythonDecoder-only 模型(含 MoE)的高吞吐推理引擎
MambaPython状态空间模型(SSM)的官方实现,非 Transformer 架构
MegablocksPythonMoE 模型的高效训练库,优化稀疏专家计算的 GPU 利用率
术语英文解释
仅编码器Encoder-only只用 Transformer 编码器,双向注意力,擅长理解任务
仅解码器Decoder-only只用 Transformer 解码器,因果掩码,擅长生成任务
编码器-解码器Encoder-Decoder编码器理解输入、解码器生成输出的 seq2seq 架构
因果掩码Causal Mask遮住右侧未来 token 的下三角掩码,保证自回归生成不偷看未来
双向注意力Bidirectional Attention每个位置可同时关注所有位置(含未来)
交叉注意力Cross-Attention解码器的 Query 关注编码器输出的 Key/Value 的注意力机制
掩码语言模型MLM (Masked Language Modeling)随机遮蔽 token 让模型预测原词,Encoder-only 预训练任务
自回归语言模型Autoregressive LM给定前文预测下一个 token,Decoder-only 预训练任务
上下文学习In-Context Learning (ICL)Decoder-only 大模型涌现的”看几个示例就学会新任务”的能力
混合专家模型MoE (Mixture of Experts)前馈网络替换为多个专家,每次推理只激活少数专家的稀疏架构
状态空间模型SSM (State Space Model)用固定大小隐状态建模序列的架构,Mamba 的基础,推理复杂度 O(N)
规模化定律Scaling Law模型 loss 与参数量、数据量、算力呈幂律关系的经验规律
分组查询注意力GQA (Grouped-Query Attention)多个 Query 头共享 KV 头以减少 KV Cache 显存,主流模型标配
KV 缓存KV Cache推理时缓存已计算的 Key/Value 矩阵,避免重复计算的核心优化
涌现能力Emergent Abilities模型规模超过某阈值后突然出现的能力(如 ICL、指令遵循)
  • Vaswani et al.,「Attention Is All You Need」(NeurIPS 2017):Transformer 原始论文,首次提出 Encoder-Decoder 架构。详见 Transformer 架构。
  • Devlin et al.,「BERT」(NAACL 2019):奠定 Encoder-only + MLM 范式。
  • Radford et al., GPT / GPT-2 / GPT-3 系列论文:确立 Decoder-only 自回归路线与 in-context learning。
  • Raffel et al.,「Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer (T5)」(JMLR 2020):Encoder-Decoder 的”文本到文本”统一框架。
  • Lewis et al.,「BART」(2019):去噪自编码器的 seq2seq 预训练。
  • Kaplan et al.,「Scaling Laws for Neural Language Models」(2020):规模化定律,解释了为什么 Decoder-only 在大规模下最优。
  • Hoffmann et al.,「Training Compute-Optimal Large Language Models (Chinchilla)」(2022):精确化了最优数据/参数配比。
  • Fedus et al.,「Switch Transformers」(2021):MoE 在大规模语言模型上的开创性工作。
  • DeepSeek-AI,「DeepSeek-V3 Technical Report」(2024):细粒度 MoE + MLA + 无辅助损失负载均衡,以极低成本达到旗舰性能。
  • Gu & Dao,「Mamba: Linear-Time Sequence Modeling with Selective State Spaces」(2023):选择性 SSM,非 Transformer 架构的突破。
  • Lieber et al.,「Jamba: A Hybrid Transformer-Mamba Language Model」(AI21 Labs, 2024):Transformer-Mamba 混合架构的商用实践。
  • Warner et al.,「Smarter, Better, Faster, Longer: A Modern Bidirectional Encoder for Fast, Memory-Efficient, and Long Context Models (ModernBERT)」(2024):Encoder-only 架构的现代化升级。
  • 架构基础见Transformer 架构与注意力机制,演进脉络见语言模型演进。