跳到主要内容

40-图解Transformer架构:大模型底层原理

前言

我们学了Agent的全流程,如何在loop中调用工具、检索知识、长短期记忆等。

image-20260804170047770

但Agent 核心还是围绕LLM来的,目前它对我们来说是一个黑盒。

这节我们就来了解一下大模型的实现原理。

当然,这个作为常识了解即可,不用太深入细节。

了解

大模型并不是像人一样真正“理解”世界,而是通过学习海量文本中词与词的搭配规律,学会根据上文,预测下一个最可能出现的词。

你可以把它理解成一个见过无数文章、书籍、对话的“超级补全器”:你说前半句,它根据概率,把后半句最通顺、最合理的内容补出来。

我们看到的流畅对话、代码生成、逻辑推理,本质上都是它一次次预测"下一个词”的结果。

大语言模型就是一个通过海量文本训练出来的“概率预测机器"

image-20260804170159964

之前我们做Agent,调用大模型LLM,会给它一些messages,里面包含:

  • 系统提示词(System Prompt)
  • 用户最新提问(User Input)
  • 历史对话上下文(Chat History)
  • Few-shot 示例(Examples)
  • 工具描述(Tool Schema)
  • 工具调用返回结果(Tool Output)
  • 知识库/检索文本(Retrieved Docs)
  • 用户画像/长期记忆(User Profile)

让大模型基于这些生成回答

image-20260804170351188

本质上,大模型就是根据上文,预测下一个词

Agent就是在这个基础上,通过一个又一个循环,不断给大模型补充新的"上文”,引导它持续续写、不断决策的智能体。

它调用工具、检索知识、更新记忆,本质上都是为了给大模型提供更完整、更有效的文”,让它的续写方向更准确、更可靠,从而一步步完成复杂的任务。

大模型的本质:根据上文,预测下一个词。

Agent的本质:通过循环,补充上文,引导持续决策。

大概知道大模型是做啥的,我们再来深入一层,它的架构。

Transformer 架构

实现这个"“续写任务”的底层架构就是Transformer架构。

Transformer 架构主要有三种形态:

  • Encoder-only纯编码器:靠双向注意力,同时看上下文前后内容,只做 “理解”不做生成,适合文本分类、嵌入向量、重排序这类任务
  • Decoder-only纯解码器:靠单向掩码注意力,只能看已生成的上文,专门做 “续写/生成”,是当前对话大模型的绝对主流。我们用的GPT、通义千问、Claude,还有驱动Agent运行的大模型,全都是这种架构。
  • Encoder-Decoder组合架构:编码器理解输入、解码器生成输出,适合翻译、摘要这类“序列到序列”转换任务。

image-20260804170538586

现在通用对话场景里已经很少用了。

Decoder-only对比Encoder-only

做Agent来说,重点要记住的就是:

所有通用对话大模型,全是Decoder-only架构。

它的设计,天生就是为“根据上文预测下一个词”而生的,和我们前面讲的大模型本质完全对应。

我们用的嵌入模型、重排模型都是Encoder-only的,适合做语义理解。

有的同学可能对这个双向注意力,单向掩码注意力不大理解

image-20260804170748290

双向注意力直接看到答案,你咋训练它也学不会规律

单向注意力只能根据上文推断,练习的多了就会规律了

所以生成大模型只能用单向注意力的Decoder架构。

我们用的各种大模型,比如 gpt、claude、qwen都是 Decoder 的 Transformer 架构。

单向掩码自注意力,也常被称作因果自注意力

其中“自”,指计算对象就来自本次输入的文本本身;

"因果”则代表它遵守先后顺序,只能依托上文去推断、续写后面的内容。

image-20260804170943386

而Encoder 架构每一词都是联系全文理解,自然理解的更深刻。

所以嵌入模型根据语义生成向量、重排模型根据相关性打分,这类语义理解类的大模型,是Encoder 架构。

综上,我们只需分清 Transformer 两大核心分支即可:

  • Decoder-only:主打文本生成、对话交互,是Al Agent的核心底座
  • Encoder-only:主打语义理解、检索匹配,负责结果重排

两种架构分工明确,共同构成了当下大模型应用的底层基础。

结合我们之前学习的Agent 流程就能明白:

整个Agent循环、工具调用、知识库检索、记忆管理,本质都是围绕Decoder类生成大模型展开

再搭配Encoder类嵌入/重排模型完成检索环节

二者配合实现完整的智能任务。

image-20260804171217236

输出文本拆分为Token的原理

这两种 Transformer 架构并不是直接处理输入的文本,而是要先把文本转成token

image-20260804171318524

  1. 原始文本
    • 我们输入的自然语言文本,比如“今天天气不错,我们去公园散步吧!”,模型是没法直接处理的,必须先转换成它能理解的格式。
  2. 分词(Tokenizer)
    • 第一步就是把句子拆分成一个个最小单元,也就是Token。
  3. Token一 ID 映射
    • 每个Token都会对应词表(Vocabulary)里的一个唯一整数ID,比如“今天天气”对应4521,“不”对应1043。这一步相当于给每个Token分配了一个"编号”,方便模型后续查找和计算。
  4. Embedding 查表
    • 模型会通过一个Embedding矩阵,把每个Token的ID转换成一个高维向量表示。这个向量可以理解成Token的“语义坐标”,语义相近的词,向量在空间中的位置也会更接近,模型就是靠这种向量来理解语义的。
  5. 加上位置编码
    • 自注意力机制本身不包含位置信息,模型不知道词的先后顺序,所以需要额外加入位置编码,和Token Embedding相加,得到最终的输入向量。

经过这五步,一句普通的文本,就变成了一串带有位置信息的高维向量序列,这就是Transformer 模型真正的输入。

之后这些向量就会进入Encoder 或 Decoder 层,通过注意力机制和前馈网络,一步步完成语义理解或文本生成。

image-20260804171707315

图中涉及到输出投影、softmax的概念:

image-20260804171759815

每一层Decoder处理完后,都会输出一组向量,这些就是 "隐藏状态”

到了最后一层的隐藏状态,就是模型结合了所有上文、注意力权重后,最终形成的“上下文理解结果”

它本身不是词,也不是概率,只是模型内部的高维 “语义向量”。

模型要生成下一个词,必须把这个"理解结果”,通过输出投影(线性层)转换成词表里每个词的得分(logits)

  • 隐藏状态=模型的“想法/理解”
  • 输出投影=把“想法”翻译成“每个词的候选得分”
  • Softmax=把“得分”变成“下一个词的概率”

这样就完成了整个自回归生成的过程

image-20260804172222588

上面我们走完了Decoder模型逐词生成的整套流程,但这套流程会分为会分为两个独立阶段运行:

训练阶段、推理阶段

训练阶段与推理阶段

训练阶段

训练阶段(预训练阶段,模型出厂之前,由大厂完成)

  • 训练数据:使用海量无标注书籍、网页、对话、代码、论文等纯文本,不需要人工标注标签。

  • 统一训练任务:全程都是下一词预测,拿完整句子遮住末尾Token,强制模型仅凭前文预测被遮挡的真实词汇。

  • 前向计算流程:和推理的计算路径完全一致,文本经过分词、Embedding、位置编码送入多层Decoder,依靠因果自注意力、前馈网络算出隐藏状态,再经过输出投影、Softmax得到每个候选 Token的概率分布。

  • 反向更新参数:模型预测出的Token大概率和原文真实 Token存在偏差,此时会通过损失函数计算预测值与标准答案的差距,再用反向传播算法,迭代更新模型内全部参数

最终模型在海量数据中自动学到词语语义、语序逻辑、上下文关联、各类行业知识

推理阶段

推理阶段(生成阶段,开发者调用、Agent全程运行的阶段)

  • 参数状态永久冻结:模型训练完成后,所有权重固定不变,无论调用多少次接口、运行多少轮Agent循环,参数都不会发生任何修改。模型不会单独记住某个用户的对话,也无法自主学习新知识。
  • 前向计算流程:Token编码、多层Decoder、隐藏状态、输出投影、Softmax这套计算逻辑和训练完全相同,但只执行单向前向运算,不再计算损失、不做反向传播更新参数。
  • 自回归循环生成:模型每次只预测单个Token,把生成的新词追加到原有上文末尾,拼接出新的完整上下文,再次送入模型重复计算,循环往复直到生成结束符,终止输出。

我们Agent里所有历史对话、工具返回内容、检索文档,都会统一拼接进这段输入上文。

也正因只做单向前向计算、不保存梯度数据,推理阶段显存占用更低、响应延迟更小

我们做业务开发、搭建Agent就是运行在这个阶段。

总结

image-20260804172633100

总结

前面我们一直在学习Agent 开发,这节我们深入了下一直是黑盒的大模型LLM的原理。

大模型的本质:根据上文,预测下一个词。

Agent的本质:通过循环,补充上文,引导持续决策。

我们检索的长期记忆、知识库检索内容、System Prompt、工具调用等,本质都是拼接为上文,让大模型来合理续写的。

大模型底层是 Transformer 架构。

最常见的两类:

  • Decoder-only(因果/单向掩码自注意力):只能读取前文,依靠自回归逐词生成内容

  • Encoder-only(双向自注意力):能全局读取整段文本做深度语义理解,专门负责向量嵌入、文档检索、结果重排。

两类模型相互配合,才能实现完整的RAG+Agent业务链路。

然后我们过了一遍 Transformer架构的完整流程:

原始文本一分词Token一ID 映射一Embedding 向量一位置编码一送入Transformer

再经过隐藏状态、输出投影、Softmax概率换算,实现逐词自回归生成。

这套流程分为两个运行阶段:

  • 预训练阶段:大厂离线完成,基于无标注文本做自监督学习,通过反向传播迭代更新模型全部参数;
  • 推理阶段(Agent 业务):参数永久冻结,拼接上文逐Token生成文本,我们所有Agent开发、接口调用都处于这个阶段。

我们的Agent都是在推理阶段修改输入上文,无法修改模型内部参数。

了解了Transformer架构,就大概弄懂了大模型底层的实现与运行原理,它就不再那么黑盒了。