‍♂️ 个人主页小李同学_LSH的主页✍ 作者简介LLM学习者 希望大家多多支持我们一起进步如果文章对你有帮助的话欢迎评论 点赞 收藏 加关注目录​编辑一、从 Transformer 说起三种主流路线是怎么分出来的1. Encoder-Only2. Encoder-Decoder3. Decoder-Only二、什么是 Decoder-Only因果掩码训练目标非常统一三、为什么 Decoder-Only 最终成了大语言模型主流第一个原因它最适合“生成”这件事第二个原因它把大量任务统一成了“文本续写”第三个原因它特别适合规模化预训练第四个原因它催生了 In-Context Learning第五个原因它更适合今天的聊天与 Agent 场景为什么说它“开启了大语言模型时代”统一了训练目标统一了交互方式统一了任务表达统一了应用入口一、从 Transformer 说起三种主流路线是怎么分出来的2017 年《Attention Is All You Need》提出了 Transformer。它最初并不是为“大语言模型”设计的而是为序列到序列任务设计的比如机器翻译。Transformer 模型它能在很多端到端的场景表现出色。但是当任务转换为构建一个与人对话、创作、作为智能体大脑的通用模型时或许我们并不需要那么复杂的结构。在原始 Transformer 里其实包含两部分EncoderDecoder后来研究和应用逐渐分化形成了三条很有代表性的路线1. Encoder-Only典型代表是BERT。这类模型主要负责“理解”。它更擅长做分类、匹配、抽取、检索等任务比如情感分析文本分类命名实体识别语义匹配它的核心特点是可以同时看到左右两边的上下文因此对文本理解通常很强。2. Encoder-Decoder典型代表是T5、BART。这类模型既有编码器也有解码器天然适合“输入一段输出一段”的任务比如机器翻译文本摘要问答生成改写它的思路很直观Encoder 先把输入“读懂”Decoder 再把结果“写出来”。3. Decoder-Only典型代表是GPT 系列。这类模型没有单独的 Encoder只保留 Decoder 这一路。它的训练目标也很直接根据前面的内容预测下一个 token。也就是大家常说的Next Token Prediction。从结构上看Decoder-Only 反而像三种路线里“最简单”的那个。但最终恰恰是它撑起了大语言模型时代。Transformer的设计哲学是“先理解再生成”。编码器负责深入理解输入的整个句子形成一个包含全局信息的上下文记忆然后解码器基于这份记忆来生成翻译。但 OpenAI 在开发GPT (Generative Pre-trained Transformer)时提出了一个更简单的思想语言的核心任务不就是预测下一个最有可能出现的词吗无论是回答问题、写故事还是生成代码本质上都是在一个已有的文本序列后面一个词一个词地添加最合理的内容。基于这个思想GPT 做了一个大胆的简化它完全抛弃了编码器只保留了解码器部分。这就是Decoder-Only架构的由来。二、什么是 Decoder-OnlyDecoder-Only 架构的工作模式被称为自回归 (Autoregressive)。给模型一个起始文本例如 “ Agent is”。模型预测出下一个最有可能的词例如 “a”。模型将自己刚刚生成的词 “a” 添加到输入文本的末尾形成新的输入“Agent is a”。模型基于这个新输入再次预测下一个词例如 “powerful”。不断重复这个过程直到生成完整的句子或达到停止条件。Decoder-Only就是一个只能看见“前文”然后一步一步往后续写的模型。比如输入一句话我今天去了东京天气非常模型不会同时看见后面的词而是根据前面的上下文预测下一个最可能的 token比如好热晴朗预测完一个再把这个结果拼回上下文继续预测下一个。就这样一 token 一 token 地往后生成。这就是自回归生成。所以 Decoder-Only 的核心不是“解码”这个词本身而是它背后的两件事因果掩码解码器是如何保证在预测第t个词时不去“偷看”第t1个词的答案呢也就是Causal Mask。模型在预测当前位置时只允许看到当前位置之前的内容不能偷看后文。这保证了训练过程和推理过程的逻辑一致性。在自注意力机制计算出注意力分数矩阵即每个词对其他所有词的关注度得分之后但在进行 Softmax 归一化之前模型会应用一个“掩码”。这个掩码会将所有位于当前位置之后即目前尚未观测到的词元对应的分数替换为一个非常大的负数。当这个带有负无穷分数的矩阵经过 Softmax 函数时这些位置的概率就会变为 0。这样一来模型在计算任何一个位置的输出时都从数学上被阻止了去关注它后面的信息。这种机制保证了模型在预测下一个词时能且仅能依赖它已经见过的、位于当前位置之前的所有信息从而确保了预测的公平性和逻辑的连贯性。训练目标非常统一它不是针对翻译设计一个目标针对分类再设计一个目标。它从头到尾都只做一件事预测下一个 token。这件事看似简单却带来了极强的统一性。三、为什么 Decoder-Only 最终成了大语言模型主流这才是整篇文章最关键的问题。很多人第一次看模型结构时会觉得Encoder-Decoder 明明更完整为什么最后不是它统治大模型答案并不在“结构谁更复杂”而在于谁更适合大规模预训练谁更适合统一任务谁更适合做开放式生成。Encoder的双向注意力会存在低秩问题这可能会削弱模型表达能力就生成任务而言引入双向注意力并无实质好处。而Encoder-Decoder架构之所以能够在某些场景下表现更好大概只是因为它多了一倍参数。所以在同等参数量、同等推理成本下Decoder-only架构就是最优选择了。第一个原因它最适合“生成”这件事语言模型最核心的能力本来就是生成。而生成的本质就是给定前文继续往下写。这正好和 Decoder-Only 的训练目标完全一致。你让它写文章、补全句子、续写代码、生成摘要、进行多轮对话本质上都可以统一成同一件事继续生成后续 token。这一点非常重要。因为它意味着很多看起来不同的任务最终都能被放进同一个框架里。比如聊天是在生成回复写代码是在生成代码片段做推理是在生成推理链条做问答是在生成答案做工具调用本质上也是在生成一种结构化输出从训练目标到推理方式Decoder-Only 天然就和“语言生成”高度贴合。第二个原因它把大量任务统一成了“文本续写”大模型时代一个特别重要的变化就是很多任务不再需要专门设计独立模型而是统一交给一个模型通过 Prompt 来完成。为什么会这样因为在 Decoder-Only 框架下很多任务都可以改写成文本形式。比如原来是分类任务这条评论的情感是正面还是负面在 Decoder-Only 里可以直接写成请判断下面这条评论的情感类别并只输出“正面”或“负面”。模型继续生成答案即可。再比如翻译任务请把下面这句话翻译成英文今天天气很好。模型也只是继续输出目标文本。这带来的变化非常大过去是“一个任务一个模型”后来变成“一个模型 不同提示词”。这也是大模型真正改变应用方式的地方。而 Decoder-Only恰恰是最适合承载这种统一范式的架构。第三个原因它特别适合规模化预训练大语言模型时代真正起决定作用的不是某个局部技巧而是规模。包括更大的参数量更多的训练数据更长的训练时间更强的算力支持Decoder-Only 的优势在于它的训练目标足够统一数据组织方式也非常自然拿海量文本切成 token 序列做下一 token 预测即可。不需要为不同任务准备特别复杂的监督标签也不需要让模型在训练期就强绑定某一种任务形式。换句话说只要世界上有大量连续文本Decoder-Only 就能持续吃进去。互联网文本、代码、文档、问答、论坛、论文、书籍……这些几乎都可以天然转成训练材料。这使得 Decoder-Only 在“扩大数据规模”这件事上非常顺手。第四个原因它催生了 In-Context Learning大模型时代有一个非常重要的能力叫上下文学习也就是 In-Context Learning。什么意思就是模型不一定非要重新训练只要你在提示词里给它几个例子它就能临时学会一种任务模式。比如你给它这样一个输入任务把中文翻译成英文例子1你好 - Hello例子2谢谢 - Thank you例子3今天天气不错 -模型往往就能继续生成The weather is nice today.这件事非常神奇。因为它说明模型不是简单记住答案而是在上下文中形成了一种临时模式匹配能力。而这种能力恰恰和 Decoder-Only 的自回归建模方式高度一致它一直都在做一件事——根据已有上下文预测接下来最合理的内容。于是示例、指令、约束、角色设定都可以被当作“前文上下文”的一部分。这就是为什么 Prompt 能起作用为什么 Few-shot 能起作用为什么 CoT 提示能起作用。从某种意义上说Decoder-Only 不只是一个模型架构它还奠定了整个大模型交互范式。第五个原因它更适合今天的聊天与 Agent 场景为什么今天大模型产品大多是聊天界面为什么它们能做问答、代码、写作、工具调用、Agent 协作原因之一就是这些交互形式本质上都可以表达成一段连续上下文然后让模型继续生成。例如一个典型聊天输入可能是system你是一位专业的技术导师user请解释什么是 RAGassistant……user再举一个例子对于 Decoder-Only 模型来说这些其实都只是被拼进上下文的一段文本序列。模型要做的仍然是下一 token 预测。这使得它特别适合做多轮对话指令跟随长文本写作代码补全工具调用Agent 推理链你可以把它理解为Decoder-Only 不只是“能生成”而是“特别适合通过连续上下文来驱动复杂行为”。这正是今天大模型应用开发最核心的交互基础。为什么说它“开启了大语言模型时代”因为它不只是提供了一种模型结构更重要的是它提供了一种新的统一范式统一了训练目标大量任务都可以归结为“预测下一个 token”。统一了交互方式Prompt、本轮对话、历史消息、示例、工具结果都可以作为上下文输入。统一了任务表达写作、问答、代码、翻译、规划、Agent 行为都可以通过生成来完成。统一了应用入口最终产品形态不再是一个个割裂的小模型而是一个通用模型通过不同上下文扮演不同角色。这就是为什么我们今天会看到通用聊天助手通用代码助手通用写作助手通用办公 Agent它们背后的底层逻辑其实高度一致。所以说 Decoder-Only 开启的不只是一个模型时代更是一个用统一生成模型承载多种智能任务”的时代。