大模型三种架构 · 导读

精读《LLM 的 3 种架构》(知乎)+ llm-master 架构文档 | 扫读《六大主流大模型架构》(百度开发者)

2 篇精读 + 1 篇扫读 净阅读 ≈ 30 分钟 目标:能判断"这个任务该用哪类架构"

看不懂术语?先读配套的《零基础术语课》。

→ 大模型架构-零基础术语课.html(同一目录,点开即可)
里面把 token、向量、注意力、Q/K/V、掩码、编码器/解码器、自回归、预训练 这 8 个词用生活类比讲了一遍,并标明了哪些词你现在可以完全不看。先花 20 分钟读完它,再回来读这一页,会顺很多。

读完这三篇,你只需要拿走一件事:架构差别不在"谁更高级",而在注意力能看见什么——看见全部(双向)→ 擅长判断;只看见前文(单向掩码)→ 擅长续写;先看全再边看边写(交叉注意力)→ 擅长转换。

任务选型的口诀就一句:判断用 Encoder-only,续写用 Decoder-only,转换用 Encoder-Decoder。剩下的内容都是这句话的展开和证据。

阅读路线(先看这张)

0. 三分钟建立骨架

三篇都在讲同一件事的三种切面。先用一张图把"注意力看得见什么"钉死,后面读原文就不会被术语带着跑。

Encoder-only BERT / RoBERTa Decoder-only GPT / Llama / Qwen / DeepSeek Encoder-Decoder T5 / BART / 原始 Transformer ① 全格可见 = 双向 每个字同时看左右文 → 判断(分类/抽取) ② 灰格被 causal mask 遮住 生成第 n 字时看不见第 n+1 字 → 续写(生成/对话) 左:Encoder 全可见 右:Decoder 掩码 交叉注意力 先读全原文,再边读原文边逐字译出 → 转换(翻译/摘要)
看懂这张图,三篇原文的 60% 你已经拿到了。剩下 40% 是"为什么 Decoder-only 成了主流"——这是唯一值得多花五分钟的地方。

1. 三处口径校正(读之前先校准)

你手上那份导读整体判断是对的(精读哪篇、扫读哪段都对),但有三处需要修正,否则会带进笔记里:

① 知乎那篇"原文受限"——不成立。我完整读到了正文(约 1600 字,2023-07-11 发布)。它读起来"碎",是因为几乎每个术语都插了知乎站内搜索链接,不是权限问题。所以这篇应当正常精读,不必找替代品。
② "Nature 的对比表格"——来源不明,别引用。两篇里都没有这张表,导读也没给链接。写作业/笔记时若要一张对比表,用 llm-master 文档里那张现成的(本文第 3 节已摘录),标注来源清楚,别署名给一篇没读过的期刊文章。
③ 百度那篇的"只读一小段"——策略对,但要带怀疑读。标题写"六大主流大模型架构",讲的是 Llama/Qwen/DeepSeek/GPT/PaLM/Falcon 六个型号,不是三种架构范式。它第二节里那句选型建议可用,但同段有三处硬伤(见第 4 节),别顺手抄走。

2. 精读①:知乎《LLM 的 3 种架构:Encoder-only、Decoder-only、encode-decode》

精读约 15 分钟   2023-07-11 | 约 1600 字 | 作者未署名(个人专栏)

它解决什么问题:告诉你"三种架构在训练方式上到底差在哪"——尤其是 encoder-only 为什么没有自回归。这是另外两篇都没讲透的点。

读法:四段式,每段只抓一句

1

第 1–3 段(开头讲原始 Transformer 做德英翻译)

别当背景故事读,这两段是在给你三层定义:编码器"负责理解和提取输入文本中的相关信息",输出是对输入的连续表示/嵌入;解码器"根据从编码器接收到的嵌入来生成翻译后的文本"。抓这句就够——记住 encoder 的产物是"向量",不是"文字",这是它天生不适合直接输出的原因。

2

中段"三者都属于 Seq2Seq"那一段 —— 全篇最值钱,也最容易抄错

"encoder-only 类型的 LLM 不像 decoder-only 和 encoder-decoder 那些有自回归,encoder-only 集中于理解输入的内容,并做针对特定任务的输出" —— 这段是三种架构的分水岭:有无自回归

紧接着那句是全文最凝练的任务定位,建议原样记进笔记:

"encoder-only 类型的更擅长做分类;encoder-decoder 类型的擅长输出强烈依赖输入的,比如翻译和文本总结,而其他类型的就用 decoder-only,如各种 Q&A。" —— 注意这里的 Q&A 归到了 decoder-only,与百度那篇冲突,第 5 节专门处理
但"三者都属于 Seq2Seq"这句别照抄。严格讲,"Seq2Seq"在教材里特指编码器-解码器那种"输入序列→输出序列"的结构。作者这里是把 Seq2Seq 当"输入到输出"的宽泛说法用了。你笔记里写"三种都做序列到序列的映射"没问题,写"三种都属于 Seq2Seq 架构"会被懂行的人挑。
3

Encoder-only 小节(BERT 的 NSP + MLM)—— 挑着读

这段作者讲了 BERT 的两个预训练任务:NSP 和 MLM(15% 随机遮挡,其中 80% 换成 [MASK]、10% 换随机词、10% 不动)。这组 80/10/10 的数字值得记,是 BERT 最常被考的点。

顺带讲了 RoBERTa 的三处升级:更大 batch、更多数据、去掉 NSP。

一处表述不严谨:原文说 NSP 是"将原句子打乱成不同顺序的句子,让 BERT 找出正确语序的原句"——这描述的是句子排序任务(SOP,ALBERT 用的),不是 NSP。NSP 是给两个句子 A、B,判断 B 是不是真的接在 A 后面(二分类 True/False)。作者自己后面举的例子([CLS] Toast... [SEP] It's often served... 判断顺序对错)其实是对的,只是前面那句归纳说岔了。结论按例子记,别按那句话记。
4

Decoder 小节(mask 那段)—— 只读"为什么"

这段在解释:生成第 i 个位置时,只能依赖 i 之前的已知输出。作者的落点是"用掩码技术,阻止模型关注位置 i 之后的位置"。

这段和 llm-master 那篇的 causal mask 讲的是同一件事,两篇对照读,你会立刻明白"下三角矩阵"是什么——就是本文开头那张图的第②格。

"decoder-only 模型在分析分类上也和 encoder-only 的 LLM 一样有效。"—— 这句别漏,它是理解"为什么最后大家只用一种架构"的伏笔
5

Encoder-Decoder 小节(BART / T5)—— 30 秒扫过

只留一句判断标准:这类架构擅长"输入和输出序列之间存在复杂映射关系的任务"。作者给了两篇论文:BART(1910.13461)、T5(1910.10683)。论文不用去下,记住 T5 的核心口号"Text-to-Text"就行——把所有任务都改写成"文本进、文本出"。

这一篇的净收获(3 条,抄进笔记):
① 三者的根本分野是有没有自回归;
② encoder-only 擅长分类、encoder-decoder 擅长"输出强依赖输入"的转换、其余交 decoder-only;
③ encoder-only 虽不流行,但仍大量用于预训练(这句反直觉,值得标黄)。

3. 精读②:llm-master《Encoder-only、Decoder-only、Encoder-Decoder 三种架构详解与对比》

精读约 12 分钟   代码随想录 youngyangyang04 的 LLM 教程 | 约 1200 字 + 1 张表 + 3 张图 | 三篇里最"干净"的一篇

它解决什么问题:把三篇里散落的信息收成一张可直接用的对比表,并正面回答"为什么偏偏是 Decoder-only 成了主流"——这是面试高频题,也是三篇里唯一给出完整答案的。

读法:按它的三个小节顺序读,每节只需 2 分钟

1. Encoder-only(BERT)

"这种架构更擅长'理解输入',所以其主要应用场景为文本分类、情感分析、信息抽取、命名实体识别等。注意力矩阵采用双向注意力计算,即每个字都能看到上下文得所有信息。"

抓"双向 = 每个字都能看到上下文所有信息"。知乎那篇没解释"双向"是什么样,这篇一句话说清了,还配了注意力矩阵图(上三角也亮着)。

2. Decoder-only(GPT / Llama / Qwen / DeepSeek)—— 本篇核心

作者先用一个生活化比喻切入:"就像我们人说话,也是一个字一个字从前往后说的,这种设计模拟了人类思维的因果性"。然后给关键机制:

"当生成到'苹果'这个词时,'树'这个词是不应该被'看见'的……在 Decoder-only 架构中,会通过 causal mask 把'未来位置'遮住,这样便可以使大模型在生成前文时'看不到'后文。"

这句是全文的"钉子"。它同时解释了两件你可能没连起来的事:① 为什么大模型是"一个字一个字吐"(token by token);② 为什么"下三角/上三角"这个图会反复出现。

作者自问自答的那道面试题,答案就三条,背下来:
① 用了 masked self-attention,当前位置只能看到前文;
② 天然符合"根据前文预测下一个 token"的训练目标(预训练目标和架构一致,不用额外改造);
③ 大多数通用 AI 场景都能转成"给定上下文继续生成",容易扩展。

3. Encoder-Decoder(T5 / BART / 原始 Transformer)

"适合序列到序列,文本到文本的转换任务,比如翻译、摘要、问答生成。"

注意它对 Decoder 阶段两种注意力的拆分,这是本段唯一的技术点:

对应开头那张图的第③格:左栅格全亮(原文全可见),右栅格下三角(译文只看已生成部分),中间两支橙色箭头就是交叉注意力。

4. 结尾那张对比表 —— 直接抄,标注来源

原文表格(已校对,可直接用于作业):

架构类型注意力特征核心"超能力"代表模型适用场景
Encoder-only双向注意力,无遮挡深刻理解输入BERT、RoBERTa情感分析、文本分类、命名实体识别、关键词提取
Decoder-only单向掩码注意力生成与推理GPT 系列、Llama、DeepSeek、Claude聊天机器人、创意写作、逻辑推理、代码生成
Encoder-Decoder混合(编码双向 + 解码掩码 + 交叉)翻译与转换T5、BART、原始 Transformer机器翻译、长文本摘要、纠错改写

来源:llm-master / docs/llm/transformer/transformer_base_encoder_decoder.md(表格文字与原表一致,仅把"超能力"列做了省略)

这一篇的净收获(2 条):
① causal mask = Decoder-only 的定义性特征,它决定了"看不见未来";
② 为什么它赢:训练目标与架构自洽 + 任何任务都能改写成"续写" + 工程上易扩展。

4. 扫读③:百度开发者《六大主流大模型架构》

扫读约 4 分钟   作者"半吊子全栈工匠",2025-10-30 | 全文较长,但只有一小段对你有用

先明确它的真实身份:这不是"三种架构"的讲解,而是六个具体型号(Llama / Qwen / DeepSeek / GPT / PaLM / Falcon)的工程对比。全文六节,你只需要第二节第 1 小节的最后三行。

只读这一处

位置:二、Transformer 核心架构的改进方向 → 1. 基础结构对比,末尾的"实用建议":

"若任务以生成为主(如对话、写作),优先选择纯解码器架构;若需处理双向上下文(如问答、摘要),可考虑混合结构。" —— 和你的任务正好对上:写作/对话 → 纯解码器

这段的价值不在信息量(两篇精读已经讲了),而在于它把结论翻译成了选型动作:不问"哪种先进",只问"你的任务是生成还是双向理解"。读完这篇,你要带走的就是这个提问方式。

其余部分:全部略过(附理由)

章节处理理由
二.2 注意力机制优化(稀疏/滑动窗口)跳过讲的是"同一架构内怎么省算力",不涉及架构选型。含伪代码,对带读笔记无增量。
三 并行计算策略与硬件适配跳过训练工程问题(张量/流水线/专家并行),与"提示词怎么写"零关系。
三.2 量化与压缩技术跳过部署侧话题。两张对比表的数字无出处,不可引用。
四 场景分类与选型因素扫标题与第二节"实用建议"重复,只多一句"生成任务优先纯解码器,理解任务考虑混合结构"。
五、六 趋势与结论跳过泛泛的趋势判断,无可验证信息。
三处硬伤——就算扫读也要知道,别抄走:

① "PaLM 架构:结合编码器-解码器的混合结构,在需要双向上下文的任务(如翻译)中表现突出。"
错。PaLM 是纯解码器(decoder-only)模型,540B 稠密参数,2022 年 Google 发布的标准自回归架构。这条错误很关键——它正好把本文"混合结构适合翻译"的论据撑在了假例子上。

② "DeepSeek 通过局部敏感哈希(LSH)将注意力限制在相似 token 之间。"
错。LSH 稀疏注意力是 Reformer 的方案。DeepSeek 系列用的是 MLA(多头潜在注意力)+ MoE。这条属于把不同论文的机制张冠李戴。

③ "GPT 架构……其位置编码采用旋转位置嵌入(RoPE)。"
存疑。GPT-3 用的是可学习位置编码;RoPE 是 RoFormer 提出、由 Llama 等开源模型带火的;GPT-4 及之后的结构 OpenAI 未公开。这句不能当事实。

那这篇还值不值得读?值得,但只值 4 分钟。它的用途是"给你一个选型句式的模板",不是"给你架构知识"。凡涉及具体型号的结构、数字、性能倍数,一律以官方论文/模型卡为准。这篇的行文特征(三段式小标题 + 无出处的对比表 + "实测显示")是典型 AI 辅助生成的科普稿,读的时候默认"结论可能对、论据需复核"。

5. 交叉核对:三篇打架的地方,怎么理解

三篇对"问答"和"摘要"的归属不一致。这不是谁写错了,而是"问答"是个歧义词。把下面这张表读明白,你的笔记就比三篇原文都清楚。

任务知乎llm-master百度为什么不一样
问答 归 Decoder-only
"各种 Q&A"
归 Encoder-Decoder
"问答生成"
归 混合结构
"需双向上下文(如问答)"
"问答"至少三种含义:① 开放域聊天式问答(ChatGPT 那种)→ 本质是续写 → Decoder-only;② 阅读理解/抽取式问答(给一段材料,问答案在第几句)→ 要双向读全文 → Encoder-only/Encoder-Decoder;③ 问答生成(给定材料生成一段回答)→ Encoder-Decoder。
摘要 归 Encoder-Decoder
"文本总结"
归 Encoder-Decoder
"摘要"
归 混合结构
"需双向上下文(如摘要)"
三篇其实一致(都指向"先读全、再产出")。百度的"混合结构"和另两篇的"Encoder-Decoder"是同一个意思的不同叫法。这里没有冲突。
分类 / 情感分析 归 Encoder-only 归 Encoder-only 未提(该篇不讨论) 无冲突。这一类是三篇里唯一口径完全统一的。
翻译 归 Encoder-Decoder 归 Encoder-Decoder 举例时挂在 PaLM(混合)名下 前两篇一致;百度的例子错了(PaLM 实为 Decoder-only),但结论"翻译适合编码-解码"本身仍成立。
更省事的记法:别看任务名,看两个问题。
Q1:输出是一段"自由文字",还是一个"标签/结构"?标签 → Encoder-only。
Q2:输出的每个字,是不是高度依赖输入原文的对应位置?是,且要"对齐"着产出 → Encoder-Decoder;否,只要有前文就能往下写 → Decoder-only。
用这两问,"问答"的歧义自动消解:聊天式问答 → Q1 是自由文字、Q2 否 → Decoder-only;读材料答题 → Q1 是短答案、Q2 是 → Encoder-Decoder。

6. 自己的一张判定表(这份导读的交付物)

把三篇的信息压成一张你能直接用的表。左边是你要做的判断,右边是依据——依据栏才是这张表的价值,因为它让你不靠记忆、靠推理就能得出答案。

你的任务长什么样选哪类依据(机制层)典型代表
给一批文案打标签:过/不过、主题分类、情感正负Encoder-only需要同时看前后文才能判断("不错"是褒是贬,看后一句);输出是短标签,不需要逐字生成BERT、RoBERTa
从文本里抽实体、找关键信息、做关键词Encoder-only同上:判断型任务,双向上下文是刚需BERT 系
写稿、改写、对话、代码、推理Decoder-only输出是"往前续"的,天然匹配"预测下一个 token";且所有通用任务都能改写成续写GPT、Llama、Qwen、DeepSeek
翻译、长文摘要、按材料生成回答Encoder-Decoder输出与原文有强对齐关系,需要"编码器读全 + 解码器边看边写(交叉注意力)"T5、BART、原始 Transformer
要"读得准"又要"写得顺",且预算充足混合/组合用 Encoder 做理解、Decoder 做产出;代价是结构复杂、训练成本高BART 类、检索+生成组合

注:现实中"用哪类架构"多半由你能否训得动决定——你调 API 时,99% 用的是 Decoder-only。所以这张表的真实用途是判断"这个任务该不该交给大模型",而不是"我该自研哪种架构"。

7. 落到你的提示词项目上

你最近在做《团宣图文收集》的系统提示词,用的是五段式 + 关键指令放头尾 + 评分五维度 + XML 隔离。这些技巧不是"经验玄学",在 Decoder-only 的机制上都有对应解释——下面这几条连接,能让你的项目文档从"照做"升级到"知道为什么"。

架构事实(三篇原文)对应的提示词技巧为什么成立
单向前文 + causal mask,不能回看后文 身份、红线、输出格式放开头;关键禁令末尾再压一遍 生成是单向推进的:开头定下的"轨道"会约束后面每一个 token;末尾重申利用的是"最近的内容权重更高"。它没法像人那样"读完全文再回头改开头"。
逐 token 生成,没有全局重写 输出格式钉死(评分表、四区块、固定字段) 每一步只在上一步基础上往前挪一格。给出表格骨架,等于把"每一步该填什么"提前限定,模型只需局部填空,不需要一次生成整篇结构。结构越具体,逐 token 走偏的概率越低。
训练目标就是"给定上下文预测下一个 token" 少样本示例(3 个入选/淘汰样本)特别有效 示例本质上是在给"上下文",让模型接着这个模式往下续。这正好落在它被训练了几万亿次的那个动作上,所以比抽象描述更管用。
"大多数通用场景都能转成给定上下文继续生成"(易扩展) 把"请评估质量"改写成"按这五个维度逐项打分,最后给总分" "评估"是抽象指令,"逐项打分"是可续写的具体序列。能被改写成续写任务的指令,模型执行得最稳。这也是你 V2 那轮把"相似度 10 分"改成五维度加权,效果突然变好的机制层原因。
上下文窗口有限,且内容越长、注意力越被摊薄 另做一版精简版 System Prompt 不是"省 token 省钱"这么简单:长上下文里,中段指令容易被稀释。精简版的意义是把"关键约束"从长文里救出来。
可以直接写进项目文档的一句话:选 Decoder-only 意味着"模型只能单向往前写、不能回头改",因此提示词设计的第一原则不是"说得更详细",而是"在它开始写之前,把轨道铺好"——身份、任务、格式、边界都前置,末尾再收一次口。

诚实标注:上面"为什么成立"一栏是基于 causal mask / 自回归这两个机制做的合理推断,属于工程经验层面的因果解释,不是论文里的实验结论。写进文档时建议用"机制上可以这样理解",不要写成"研究证明"。

8. 读后自测 6 题

1. 三种架构最根本的分野是什么?(一句话)

有没有自回归 + 注意力能看见多远:双向看全部 → 判断;单向看前文 → 续写;先看全再边看边写 → 转换。

2. causal mask 遮住的是哪一半?为什么必须遮?

遮住"未来位置"(常见画法是上三角被涂灰)。因为训练目标是"用前文预测下一个词",如果允许看到答案,模型会直接抄,学不到任何东西。

3. Encoder-Decoder 的解码器有两种注意力,分别管什么?

掩码自注意力 → 管"已经生成的译文"(自己);交叉注意力 → 管"编码器输出的原文"(别人)。这是它区别于另外两种的关键结构。

4. 为什么 Decoder-only 成了主流?三条理由。

① masked self-attention 保证只看前文,符合因果;② 架构与"预测下一个 token"的训练目标天然一致,无需改造;③ 任何任务都能改写成"给上下文继续生成",扩展性最好。

5. 有人问"问答该用哪种架构",你怎么答才不算错?

先反问是哪种问答:聊天式问答 → Decoder-only;读材料抽答案(阅读理解)→ 需要双向,Encoder-only 或 Encoder-Decoder;按材料生成回答 → Encoder-Decoder。直接给一个答案都会被抓漏洞。

6. BERT 预训练里 15% 被遮挡的 token,80/10/10 分别是什么?

80% 换成 [MASK]、10% 换成随机词、10% 保持不变。后两者是为了缓解"预训练时有 [MASK]、微调时没有"的不一致。

9. 一句话总结

三篇读下来,真正需要记住的只有一格:attention 能看见谁,决定了它擅长什么。看见全部 → 判断;只看见前文 → 续写;先看全再对着写 → 转换。
至于"为什么只剩 Decoder-only"——因为把一切任务都包装成"续写"最省事,而它恰好又能干得不错。

导读整理 · 2026-10-20 | 三篇原文均已通读,引文为原文摘录
可信度:llm-master ★★★★(结构清晰、可引用) | 知乎 ★★★(有干货、表述松散) | 百度 ★★(只取选型句式,具体论据需复核)