Skip to content

LLM 工作原理

上一篇 LLM 介绍 讲了 LLM 是什么、能做什么。这一篇沿着"它到底是怎么工作的"这条线,把它打开看:核心任务、训练方式、推理循环、Transformer 架构,以及自注意力机制为什么成为现代大模型的基石。文末会串一下这些机制衍生出的实际应用场景。

1. 一句话本质:猜下一个词

LLM 最核心、最基础的任务其实非常简单:

给定一段上文(上下文),猜出下一个最可能出现的 token(字 / 词 / 概念片段)是什么。

例子:输入 这就是好,LLM 的任务就是猜下一个词:东西家伙男人 等等,并给出每个候选词出现的概率。

看起来平平无奇。但当模型参数足够大、训练数据足够多、上下文足够长时,把"猜下一个词"这个动作反复迭代下去,就会涌现出写文章、做翻译、写代码、做推理、做对话等五花八门的能力。这就是 AGI 学界常说的 emergent ability(涌现能力)。

一个直觉:把 LLM 想成一个"非常强、非常快的文字接龙选手"。所有炫酷的能力——聊天、写诗、debug——都是从"一次只猜一个 token,猜完接上,接着猜下一个"里堆出来的。

1.1 它到底在"理解"什么

重要的事实:LLM 并不是在"理解"语义。它在做的事情更接近:

  • 在训练语料中,统计"在某种上下文里,哪个词最常跟在后面"。
  • 学到的是词语之间的搭配模式与统计规律,而不是人类意义上的"概念"。

这个看似"只是统计"的看法并不削弱它的能力——就像飞机不需要模仿鸟扑翅膀,也能飞。下一节会看到,正是这种"基于上下文的统计预测"在足够大的规模下变得极其强大。

2. 它是怎么"学会"猜词的——海量阅读 + 疯狂练习

"猜下一个词"的目标定下来之后,剩下两件事:数据从哪来怎么练

2.1 数据:吞下整个互联网

训练时,LLM 吞下的是天文数字级别的文本:

  • 公开网页(CommonCrawl 等)
  • 书籍、论文、新闻
  • 开源代码、Issue、PR
  • 对话记录、问答社区
  • 字幕、专利……

整体规模动辄 TB 甚至 PB 级别它不是在"阅读理解"这些内容,而是在统计词语之间的搭配模式和共现规律

一句话:训练数据不是"题库",而是"语料统计的来源"。模型学到的是"什么样的上文后面常出现什么样的下文"。

2.2 训练方法:完形填空

训练方法的核心思想异常朴素——遮住一部分,让它猜。就像小时候做"完形填空":

  1. 从海量文本中随机截取一段,例如 人工智能正在改变世界
  2. 遮住其中一个词,例如遮住 改变,变成 人工智能正在 [MASK] 世界
  3. 让模型猜被遮住的词。它一开始当然是瞎猜。
  4. 揭晓答案(改变),调整模型内部的参数和权重——猜错了就调一点,猜对了也微调让它下次更可能猜对。
  5. 重复亿万次:在超级计算机上,用海量句子,对模型内部数万亿个"旋钮"进行微调,持续数天甚至数月。

这个过程在论文里叫做 masked language modeling(BERT 系列)和 next-token prediction(GPT 系列),本质上都是同一个套路:让模型在已知上文条件下预测被遮住的 token,再用真实答案反传梯度调参

经过这个过程的反复锤炼,模型逐渐学会:在特定上下文下,哪些词更常一起出现。这就是"它会说话"的全部秘密——只是统计规律被学得足够准、足够深。

3. 推理时它在做什么——反复玩"猜下一个词"

训练完成后,LLM 在写作文、聊天、翻译时,做的就是反复玩同一款游戏:

  1. 你给提示:输入一句话或问题(提示词 / Prompt),例如 写一首关于春天的诗
  2. 模型启动:把提示词作为初始上下文。
  3. 猜第一个词:模型根据上下文,计算所有可能下一个词(春天微风万物……)及其概率。
  4. 选择并添加:模型不是永远选概率最高的词(那样会太死板、太重复),而是按概率随机选一个。随机性可以用 temperature 参数控制:temperature 越低越确定、越高越发散。
  5. 更新上下文:现在上下文变成 写一首关于春天的诗 春天
  6. 猜下一个词:基于新上下文再猜下一个词(……),假设它选了
  7. 循环往复:上下文变成 写一首关于春天的诗 春天的,再猜下一个词……直到生成完整句子或达到长度限制。
  8. 结果:最终可能生成 写一首关于春天的诗 春天的脚步轻轻走来,唤醒了沉睡的大地……

这就是 自回归生成(autoregressive generation)——把上一次输出作为下一次输入,一步一步往前推。ChatGPT、Claude、文心一言、通义千问在底层都是这么工作的。

4. 关键问题:猜词不只是看前一个词

但是,真正决定 LLM 表现的,远不止"看前一个词"。它必须理解整个句子的上下文,以及词与词之间的关系

例子:

  • 苹果很好吃 —— 这里的 苹果水果
  • 苹果发布了新手机 —— 这里的 苹果公司

同样是 苹果,下一个词却完全不同。LLM 必须能分辨"第一个 苹果好吃 关系紧密(水果),第二个 苹果发布手机 关系紧密(公司)"。

这件事,就是 Transformer 的自注意力机制 在做的事。下一节展开。

5. Transformer:现代 LLM 的骨架

5.1 起源

2017 年,Google 的论文 《Attention Is All You Need》 横空出世,被称为大语言模型的开山之作,首次提出了 Transformer 架构,奠定了大语言模型的基础。

  • GPT(Generative Pre-trained Transformer,生成式预训练的 Transformer)里的 T 就是 Transformer。
  • BERT、Llama、Qwen、DeepSeek、ChatGPT、Claude……今天几乎所有顶尖的语言模型,都是基于 Transformer 架构或其变体构建的。
  • ChatGPT 的核心就是 Transformer 的 Decoder(解码器)部分

掌握 Transformer,就掌握了理解现代 LLM 的钥匙。

5.2 为什么要替代 RNN

Transformer 推出之前,NLP 主流是 RNN(Recurrent Neural Network,循环神经网络)。

RNN 的设计思想:一个字一个字地阅读并处理文字。读后面的字时,脑子里努力记住前面读过的内容。问题非常明显:

  • 长期依赖:读长文章时,容易忘记开头说了什么。
  • 难以并行:必须按顺序读,GPU 无法充分发挥算力。

类比:让你只能从头一道题一道题地背八股文——不仅效率低,而且容易忘。

Transformer 的方案则完全不同:让你一眼扫过整段话,瞬间分析每个词和其他所有词之间的关系有多重要。不按顺序读,而是同时关注所有词,找出谁和谁联系紧密。

类比:不是按顺序背题,而是提前给你画好重点,找出各个题目之间的关系

这就是"Attention Is All You Need"标题的精髓——注意力机制本身就够用了,不需要 RNN 那套顺序处理

5.3 架构总览

把 Transformer 想象成一座多层大楼。每一层都做类似的事,只是叠加很多次之后,模型对语言的理解越来越深。

┌─────────────────────────────────────────────────────────┐
│  输入序列 → 嵌入 → [Encoder × N] → [Decoder × M] → 输出 │
│           (Embedding)   (编码器)   (解码器)              │
└─────────────────────────────────────────────────────────┘

下面分模块拆解。

6. 自注意力机制(Self-Attention):Transformer 的灵魂

6.1 什么是 Attention

Transformer 中最重要的思想是 自注意力机制(Self-Attention)。这里的 Attention,就是论文标题 《Attention Is All You Need》 中的 Attention,足以见其重要性。

核心思想:把"要关注全部信息"优化成"只关注重点信息"。

人类看一张照片,不会立刻处理所有细节,而是把注意力集中在焦点上——比如先看人脸,再看船,再看海鸥。这就是一种 Attention 机制:把有限的注意力集中在重点信息上,节省资源,快速获得有效信息。

6.2 Self-Attention 怎么工作

把 Self-Attention 理解成一个"找关系"的游戏:

对于句子里的每一个词,Transformer 都会问:"在这个上下文中,其他所有词对我理解这个词有多重要?"

具体操作:

  1. "重要性"打分:给句子里的其他词都打一个"重要性分数"。分数高的词,对理解当前词就更关键。
  2. 加权聚合:用这些分数当权重,把所有其他词的信息加权汇总到当前词上。

例子——句子 亮哥不仅出了个八股文,他还出了新的项目课,它一定能大卖。

当模型处理 这个词时,自注意力机制会计算 和句子中其他词的关系:

  • 八股文项目课 的分数非常高——它们是潜在指代对象。
  • 大卖 的分数也比较高——它和"项目课"逻辑相关。
  • 其他词的分数相对较低

于是模型就知道 指的是 项目课,而不是 八股文 也不是别的。这就是 Self-Attention 解决指代消歧 的核心机制。

6.3 多头注意力(Multi-Head Attention)

自注意力不是做一次,而是做很多次,每次关注不同方面的关系:

  • 一次关注"谁在做什么"(主谓关系)。
  • 一次关注"描述了什么属性"(修饰关系)。
  • 一次关注"哪些词指向同一个实体"(指代关系)。
  • ……

每次独立的注意力计算叫做一个"头"(head),多个头并行就叫做"多头注意力"(Multi-Head Attention)。最后把所有头的结果拼接、融合起来。这样能更全面地理解词与词之间多层次的关系。

直觉:不是让一个人同时关注语法、语义、指代、情感……而是让 N 个"专家"各看一面,最后汇总。

7. Transformer 详细流程

下面把 Transformer 完整流程拆开看——从输入一个句子,到模型最终输出下一个 token,中间到底发生了什么。

7.1 输入嵌入(Input Embedding)

把每个词(或字)转换成计算机能理解的数字向量(一串数字)。就像给每个词发一个独特的"身份证号"。

例如 苹果[0.21, -0.33, 0.87, ..., 0.05],这个向量在多维空间中编码了词义信息——语义相近的词(国王 vs 女王、北京 vs 上海)向量距离也相近。

7.2 位置编码(Positional Encoding)

因为 Transformer 是同时看所有词的,它本身不知道词的顺序。而"猫追老鼠"和"老鼠追猫"意思完全不同,所以必须额外添加表示词在句子中位置(第 1 个、第 2 个……)的信息——就像给每个词加上"座位号"。

主流的位置编码方案:

  • 绝对位置编码(原 Transformer):用不同频率的正弦/余弦函数生成位置向量。
  • RoPE(Rotary Position Embedding):现代大模型(Llama、Qwen、DeepSeek)主流,通过旋转矩阵把位置信息注入,天然支持长度外推。
  • ALiBi(Attention with Linear Biases):在注意力分数上加一个线性偏置,简单且高效。

7.3 编码器(Encoder)

编码器的核心任务是深入理解输入序列。每一层包含两个子层:

  1. 多头自注意力层(Multi-Head Self-Attention)

    • 就是上面说的"找关系"游戏。每个词同时关注序列中所有其他词。
    • 多头并行,每次关注不同方面的关系,然后把结果合并。
  2. 前馈神经网络层(Feed-Forward Network, FFN)

    • 对每个词单独进行更复杂的非线性变换(基于自注意力层得到的关系信息)。
    • 通常是两个线性变换 + 一个激活函数(ReLU / GELU / SwiGLU)。

每个子层外面都会包一层 残差连接 + 层归一化(Add & Norm):技术细节,主要是让训练更稳定、梯度更顺畅。可以想象成在计算过程中加了"稳定器"和"平衡器"。

编码器会堆叠很多层(原 Transformer 是 6 层,现代大模型常见 12-96 层)。每一层都让模型对输入的理解更深入一层:

  • 第 1 层:识别"词-词搭配"。
  • 第几层:识别"短语-短语搭配"。
  • 深层:识别"句法结构"、"语义角色"、"上下文指代"……
  • 最深层:编码整段话的"意思向量"。

7.4 解码器(Decoder)

解码器的任务是生成输出序列——一步一步往外吐 token。结构上和编码器类似,但多了一个关键组件:

  1. 带掩码的多头自注意力层(Masked Multi-Head Self-Attention)

    • 处理"已经生成出来的部分",但只能看过去的 token,不能看未来(用 mask 实现)。
    • 保证生成时的因果性:预测第 t 个 token 时,只能依赖第 t 个之前的输出。
  2. 编码器-解码器注意力层(Encoder-Decoder Attention)——关键中的关键:

    • 解码器在生成下一个词时,会回过头去看编码器对输入的理解结果(比如源语言句子)。
    • 决定输入中的哪些部分对生成当前这个词最重要
    • 类比:写作文时,根据题目要求(编码器结果)来构思下一句
  3. 前馈神经网络层(FFN)

    • 与编码器相同,做非线性变换。

同样有残差连接 + 层归一化,解码器也堆叠很多层。

7.5 输出:线性层 + Softmax

最后,解码器的输出经过一个线性层 + Softmax,把高维向量映射回词表大小的概率分布:

  • 词表 5 万词 → 5 万个概率。
  • 概率最高的那个(或按 temperature/top-k/top-p 采样出来的那个)就是下一个 token。
  • 把这个 token 接回输入,继续预测下一个……直到生成结束符或达到长度上限。

7.6 现代 LLM 用的是哪一部分

架构用什么代表模型
Encoder-Only只要编码器BERT 系列(擅长理解,不适合生成)
Decoder-Only只要解码器GPT / Llama / Qwen / DeepSeek(主流大模型,擅长生成)
Encoder-Decoder编码器 + 解码器T5 / BART / 原始 Transformer(适合翻译、摘要)

今天 Decoder-Only 是绝对主流——ChatGPT、Claude、Gemini、文心一言、通义千问,底层都是 Decoder-Only。

这也是为什么"自回归生成"成了现代 LLM 的代名词:用 Decoder 一边生成,一边把刚生成的 token 接回去当新输入。

8. Transformer 的核心优势

把 Transformer 的设计思想浓缩成一句话:

Transformer = 同时看所有词 + 疯狂计算词与词之间的关系(自注意力)+ 多层深入理解。

四个核心优势:

  1. 并行计算能力强

    • 同时处理所有词,不像 RNN 必须按顺序。
    • 计算速度快很多,特别适合用 GPU / TPU 训练和推理。
  2. 处理长距离依赖无敌

    • 自注意力让模型能直接关注到句子中任意距离的两个词之间的关系,不管它们隔得多远。
    • 彻底解决了 RNN "记不住开头"的问题。
  3. 效果大幅超越前辈

    • 在各种 NLP 任务(翻译、问答、摘要、文本生成)上,效果都大幅超越了 RNN/LSTM。
    • 论文里英德翻译 BLEU 直接涨了 2 个点以上。
  4. 成为大模型基石

    • GPT / BERT / T5 / Llama / Qwen / DeepSeek / Claude / Gemini……几乎所有现代顶尖 AI 语言模型,都基于 Transformer 架构。
    • ChatGPT 的核心就是 Transformer 的 Decoder 部分。

9. 实际应用:从机制到产品

理解 Transformer 和自注意力之后,可以串一下这些机制催生了哪些今天我们习以为常的应用。

9.1 自然语言处理(NLP)

  • 机器翻译:Encoder-Decoder 架构的"原产地"应用,把一种语言编码成向量,再解码成另一种语言。
  • 文本摘要:长文档编码,短摘要解码。
  • 问答系统 / 情感分析 / 命名实体识别:BERT 系列的 Encoder 拿手好戏。
  • 文本生成:Decoder-Only 一统天下,从 ChatGPT 到 Copilot 都是。

9.2 代码与软件工程

  • 代码补全(GitHub Copilot、Cursor):在已有代码上下文里"猜下一个 token",本质是同款游戏。
  • Bug 定位 / 重构 / 跨语言翻译代码:把代码当作一种"特殊语言"处理。
  • 自动化测试生成 / 文档生成:同样是自回归生成。

9.3 多模态:把 Transformer 推广到图像、音频、视频

自注意力机制不只适用于文本——只要数据能变成序列,就能套 Transformer:

  • Vision Transformer(ViT):把图片切成 patch 块,每个块当一个"词"送进 Transformer,横扫图像分类。
  • CLIP:用 Transformer 把图像和文本编码到同一个向量空间,实现"以文搜图"。
  • Whisper:用 Encoder-Decoder 做语音识别。
  • Sora / Stable Diffusion 3 / VideoPoet:把视频切成时空 patch,Transformer 处理长序列。

重要观察:"猜下一个 token"是一个极其通用的范式——只要能把任务 token 化,就能用同款架构。这就是"Foundation Model(基础模型)"之所以叫这个名字的原因:一套架构,横扫多模态。

9.4 检索增强生成(RAG)

LLM 不擅长"私有 / 时效 / 准确"的事实。RAG 的做法:

  1. 用户的提问先去向量数据库检索相关文档。
  2. 把检索结果作为上下文塞进 prompt。
  3. LLM 基于这个"被喂过资料的上下文"生成回答。

Transformer 的长上下文能力 + 自注意力对远距离 token 的处理,让 RAG 成为可能。

9.5 Agent 与工具调用

现代 LLM 不只是"答话",还可以"做事"——拆解任务、调用 API、执行代码、做反思。自注意力让模型在多轮长上下文里保持一致的角色与目标,是 Agent 能跑得起来的基础设施。

9.6 本地化与端侧部署

得益于 Transformer 的并行性 + 量化 / 蒸馏技术,7B-13B 的模型已经能在消费级显卡甚至高端笔记本上本地运行:

  • Ollama + llama.cpp:把模型加载成本压到单机。
  • 手机端 LLM:量化到 4-bit 后,iPhone / 安卓旗舰机也能跑 7B 模型。
  • 嵌入式设备:树莓派级硬件跑 1B-3B 模型做本地助理。

10. 一图串起全篇

┌────────────────────────────────────────────────────────────────┐
│  训练阶段                                                       │
│  [海量文本] → [Tokenizer] → [遮住 token] → [Transformer 预测]  │
│                                              ↓                 │
│                                    [揭晓答案 / 反传梯度]        │
│                                              ↓                 │
│                                  [调整参数 / 重复亿万次]        │
└────────────────────────────────────────────────────────────────┘
                              ↓ (训好的模型)
┌────────────────────────────────────────────────────────────────┐
│  推理阶段                                                       │
│  [Prompt] → [Embedding+PosEnc] → [Decoder × N] → [Linear+Softmax]│
│                ↑__________________|                             │
│                  自回归:把生成的 token 接回去继续猜             │
└────────────────────────────────────────────────────────────────┘

每一格展开,就是本篇各节的内容。

11. 进一步阅读

  • 论文
    • 《Attention Is All You Need》(Vaswani et al., 2017)——Transformer 开山之作。
    • 《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》(2018)——Encoder-Only 路线。
    • 《Language Models are Few-Shot Learners》(Brown et al., 2020)——GPT-3,论证"规模带来涌现"。
    • 《RoFormer: Enhanced Transformer with Rotary Position Embedding》(2021)——现代主流位置编码。
    • 《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》(2020)——ViT,把 Transformer 推广到视觉。
  • 科普
    • Jay Alammar 的The Illustrated Transformer——图解经典。
    • 3Blue1Brown 的神经网络系列(Transformer 章节)——直观可视化。
  • 本仓库相关

一句话总结:LLM 是个"在海量文本上学过怎么猜下一个 token 的大型 Transformer"。猜词这件事在足够大的规模下,变成了聊天、写代码、做翻译、做推理的通用引擎——这就是 LLM 工作原理的全部故事。