一句话定义:Decoder-only 架构(纯解码器)是只保留 Transformer 解码器部分、以“预测下一个词”为唯一训练目标、从左到右逐字往外写的模型结构;今天绝大多数大语言模型(Large Language Model, LLM)都是这个结构。
展开讲清原理
先说“三兄弟”的来历。最初的 Transformer 是“编码器–解码器”(Encoder–Decoder)结构:编码器先读完整句话,把整段意思压缩成表示;解码器再一边看编码器的输出,一边一个词一个词地往外写。典型的任务就是机器翻译——不读完原句,你没法开始翻。
后来大家发现,这套结构里的两半其实可以拆开单干:
- 只留编码器(Encoder-only):允许同时看左右两边,这是双向注意力;擅长“理解”——判断一句话是不是投诉、给一段文本打标签、把文本压成一串向量(embedding)用于检索。BERT 这一类模型走的就是这条线。
- 只留解码器(Decoder-only):加了因果掩码(causal mask),每个位置只能看见自己和左边的内容,不许偷看后文;擅长“生成”。GPT 这一类模型走的是这条线。
打个比方:编码器像批改卷子的老师,可以来回翻整份试卷再下结论;解码器像接话茬的人,只能说下一句,不能反悔,也不能提前知道对方后面要说什么。“编码器–解码器”则像同声传译,先听懂再开口。
| 类型 | 能否看后文 | 擅长 | 常见任务 |
|---|---|---|---|
| 编码器–解码器 | 编码器能,解码器不能 | 输入输出都要成型 | 翻译、摘要、语音转写 |
| 纯编码器 | 能,双向 | 理解、判别、向量化 | 分类、检索、聚类 |
| 纯解码器 | 不能,严格从左到右 | 生成、续写、按指令办事 | 对话、写作、代码、Agent |
为什么现在的大模型几乎只留解码器
三个现实原因:
1. 目标函数统一。训练解码器只需要一个任务——接着写。而“接着写”可以被改写成几乎所有任务:分类改成“这句话的情绪是正面还是负面?答:”,翻译改成“把下面这段译成英文:”。一个目标吃下所有任务,数据和工程都省事。
2. 监督信号密集。一句话有 100 个词,自回归(autoregressive)训练就给你 100 个“猜下一个词”的练习机会;相比之下,完形填空式的训练只挑一部分位置来猜。同样的文本,学习效率更高。
3. 推理工程友好。逐字生成时,已经算过的部分可以用 KV 缓存(AI 词典:KV Cache">KV Cache)复用,不必重算;也天然支持流式输出,让用户看到文字一点点冒出来。
边界与意义
纯解码器不是万能的:它看不到后文,做句向量、序列标注这类“需要全局视角”的活儿,小而便宜的编码器往往更划算。所以真实世界里是分工,而非谁彻底取代谁——做生成用解码器,做召回和分类别急着上大模型。
对从业者,这是一道选型题:先问“我的任务本质是理解还是生成”。对普通人,这解释了一个日常现象:AI 为什么总是一个字一个字往外蹦——它的底层动作,就是不停地把“下一句该说什么”猜下去。具体产品形态与能力边界,以官方页面为准。
