惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
Martin Fowler
Martin Fowler
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog
O
OpenAI News
云风的 BLOG
云风的 BLOG
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LangChain Blog
V
Vulnerabilities – Threatpost
P
Privacy & Cybersecurity Law Blog
Microsoft Azure Blog
Microsoft Azure Blog
H
Help Net Security
博客园 - 三生石上(FineUI控件)
C
Cyber Attacks, Cyber Crime and Cyber Security
N
News | PayPal Newsroom
The Register - Security
The Register - Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
C
Cisco Blogs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Vercel News
Vercel News
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Attack and Defense Labs
Attack and Defense Labs
人人都是产品经理
人人都是产品经理
S
Security Affairs
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
T
Tor Project blog
大猫的无限游戏
大猫的无限游戏
L
Lohrmann on Cybersecurity
aimingoo的专栏
aimingoo的专栏
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 【当耐特】
V
V2EX
V
Visual Studio Blog
The GitHub Blog
The GitHub Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
L
LINUX DO - 最新话题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Schneier on Security
Schneier on Security
小众软件
小众软件
PCI Perspectives
PCI Perspectives

博客园 - Sanny.Liu-CV&&ML

GRPO 是否“真的在学” clip的底层原理---深入源码:手把手剖析OpenAI CLIP的实现结构与细节 linux 进程内存占用查看 算一个bbox和一个mask区域的重叠 用PyTorch从零搭建一个Transformer模型 基于树编辑距离的相似度(TEDS) 图片,二进制,base64互转 OCR相关的笔记 opencv的RGB 颜色表 transformers中的generate函数解读 5 levels of text splitting PyMuPDF工具说明 OCR表格识别 uvicorn,一个无敌的 Python 库! stable diffusion中controlnet详细使用方法总结 lora训练参数设置 Dreambooth, Textual Inversion, LoRA, Hypernetworks ,示意图解释 转载:深度学习:蒸馏Distill MoveNet:超快且准确的姿态检测模型 根据5个人脸特征点,快速计算人脸角度
Decoder-Only、Encoder-Only 与 Encoder-Decoder
Sanny.Liu-CV&&ML · 2026-03-20 · via 博客园 - Sanny.Liu-CV&&ML

Decoder-Only、Encoder-Only 与 Encoder-Decoder的架构说明及优缺点:

https://blog.csdn.net/weixin_37837856/article/details/155242645

https://slipegg.github.io/2025/04/23/Transformer%20%E4%B8%ADDecoder-only%E3%80%81Encoder-only%E3%80%81Decoder-encoder%E6%9E%B6%E6%9E%84%E5%8C%BA%E5%88%AB/

不同架构的特点

  • Encoder-Decoder 模型

特点:包含编码器和解码器两个部分。编码器处理输入序列,生成上下文向量;解码器则根据编码器的输出生成目标序列。这个结构能够同时处理输入和输出序列的关联。

典型模型:T5(Text-to-Text Transfer Transformer) 、BART

应用:序列到序列任务,如机器翻译、摘要生成。

  • Encoder-only 模型

特点: Encoder-only 模型只使用编码器部分。编码器的核心是处理输入序列,并生成该序列的上下文向量(即隐藏状态),它能够很好地捕捉输入序列的全局信息,对输入进行深度理解。

典型模型:BERT

应用:自然语言理解(NLU)任务,如文本分类、命名实体识别。

局限性:无法直接用于生成任务。

  • Decoder-only 模型

特点:以自回归方式,基于先前生成的词预测下一个词。

典型模型:GPT

应用:自然语言生成(NLG)任务,如文本生成、对话系统。

优势:能够同时处理理解和生成任务。

  • 为什么现在的LLM都是Decoder only的架构?

目前主要的几种架构有:

以BERT为代表的encoder-only

以T5和BART为代表的encoder-decoder

以GPT为代表的decoder-only

还有以UNILM为代表的PrefixLM(相比于GPT只改了attention mask,前缀部分是双向,后面要生成的部分是单向的causal mask),可以用这张图辅助记忆:

  • Encoder-only的缺点

首先淘汰掉BERT这种encoder-only,因为它用masked language modeling预训练,不擅长做生成任务,做NLU一般也需要有监督的下游数据微调;相比之下,decoder-only的模型用next token prediction预训练,兼顾理解和生成,在各种下游任务上的zero-shot和few-shot泛化性能都很好。

引入了部分双向attention的encoder-decoder和Prefix-LM的相比于Decoder-only的缺点
虽然它们也能兼顾理解和生成,泛化性能也不错,但是这部分设计往往没有被大部分大模型工作采用。而主要是采用了decoder-only设计。原因在于

Decoder-only泛化性能更好。过去有实验表明用next token prediction预训练的decoder-only模型在各种下游任务上zero-shot泛化性能最好;另外,许多工作表明decoder-only模型的few-shot(也就是上下文学习,in-context learning)泛化能力更强。

  • Decoder-only泛化性能更好的原因:

注意力满秩问题:双向attention的注意力矩阵容易退化为低秩状态,而causal attention的注意力矩阵是下三角矩阵,必然是满秩的,建模能力更强;

预训练难度问题:纯粹的decoder-only架构+next token predicition预训练,每个位置所能接触的信息比其他架构少,要预测下一个token难度更高,当模型足够大,数据足够多的时候,decoder-only模型学习通用表征的上限更高;

上下文学习为decoder-only架构带来的更好的few-shot性能:prompt和demonstration的信息可以视为对模型参数的隐式微调[2],decoder-only的架构相比encoder-decoder在in-context learning上会更有优势,因为prompt可以更加直接地作用于decoder每一层的参数,微调的信号更强;

隐式位置编码:causal attention (就是decoder-only的单向attention)具有隐式的位置编码功能 [3],它打破了transformer的位置不变性,而带有双向attention的模型,如果不带位置编码,双向attention的部分token可以对换也不改变表示,对语序的区分能力天生较弱。

效率问题:decoder-only支持一直复用KV-Cache,对多轮对话更友好,因为每个token的表示只和它之前的输入有关,而encoder-decoder和PrefixLM就难以做到;

轨迹依赖问题:OpenAI作为开拓者勇于挖坑踩坑,以decoder-only架构为基础摸索出了一套行之有效的训练方法和Scaling Law,后来者鉴于时间和计算成本,自然不愿意做太多结构上的大改动,继续沿用decoder-only架构。在工程生态上,decoder-only架构也形成了先发优势,Megatron和flash attention等重要工具对causal attention的支持更好。

参考资料
为什么现在的LLM都是Decoder only的架构?https://www.zhihu.com/question/588325646