Transformer 与生成过程:模型怎样写出下一个 Token
# Transformer 与生成过程:模型怎样写出下一个 Token
从输入向量、位置、自注意力和前馈网络出发,理解 Transformer 怎样计算下一个 Token,并解释幻觉为什么是生成机制中的自然风险。
# 先记住一句话
Transformer 会反复让 Token 交换上下文信息,再计算下一个 Token 的概率;生成结果是一连串概率选择,不是从数据库中取出一段现成答案。
# Transformer 是什么
Transformer 是一种以注意力机制为核心的神经网络架构。它擅长处理序列中相隔很远的关系,并且训练时可以并行处理多个位置,因此成为现代 LLM 的主要基础架构。
用于文本生成的模型通常包含多层重复结构:
Token ID
↓ Embedding:变成向量
加上位置信息
↓
多层 Transformer Block
├─ Self-Attention:从上下文汇总相关信息
├─ Feed-Forward Network:对每个位置继续变换
├─ Residual Connection:保留并叠加已有信息
└─ Normalization:稳定数值和训练过程
↓
Logits:下一个 Token 的原始分数
↓ Softmax 与采样策略
选出下一个 Token
2
3
4
5
6
7
8
9
10
11
12
13
Embedding 在这里指把 Token ID 映射成模型内部向量,不要和用于语义检索的句子 Embedding 混淆。两者都使用向量,但用途和训练目标不同。
# 位置信息为什么必不可少
注意力本身主要比较内容关联,如果没有位置信息,模型难以区分 “小明批评小王” 和 “小王批评小明” 的顺序差异。
模型会通过位置编码或旋转位置等机制把顺序信息加入计算。具体实现随模型架构变化,但共同目标是让模型知道 Token 的相对或绝对位置。
# Self-Attention 怎样汇总上下文
每个 Token 会生成 Query、Key 和 Value:
- 用当前 Token 的 Query 与其他 Token 的 Key 计算相关分数;
- 将分数归一化为权重;
- 按权重汇总其他位置的 Value;
- 得到包含上下文关系的新表示。
Multi-Head Attention 会并行使用多组注意力头。不同头可以学习语法、指代、位置或其他关系,但不能简单认为某个头永远只负责一种人类可命名的规则。
# 为什么还需要前馈网络
注意力负责在 Token 之间交换信息,前馈网络(Feed-Forward Network)则对每个位置的表示进行更复杂的非线性变换。可以粗略记成:
注意力:从其他位置取回什么信息
前馈网络:拿到信息后怎样继续处理
2
残差连接让新结果和旧表示相加,使深层网络更容易训练;归一化用于控制数值尺度。真实模型的层结构可能不同,但这套职责划分有助于建立心智模型。
# 自回归生成是怎样循环的
自回归(Autoregressive)表示模型每次生成一个新 Token,并把它追加到上下文,再预测下一个:
输入:数据库连接池应该
预测:长期
输入:数据库连接池应该长期
预测:复用
输入:数据库连接池应该长期复用
预测:,
2
3
4
5
6
7
8
模型不会先在内部写完一整篇文章再一次性返回。流式输出只是把已经生成的增量更早发送给客户端,并没有改变逐 Token 生成的基本过程。
# Logits、概率和采样
最后一层会为词表中的候选 Token 产生一组原始分数,称为 Logits。Softmax 将它们转换成概率分布,解码策略再决定选哪个 Token。
- 每次选最高概率项更稳定,但不代表完全确定;
- 按概率采样可以增加多样性,也会增加波动;
- Temperature 和 Top P 会改变候选分布;
- 模型、上下文和服务实现变化也会影响结果。
因此低 Temperature 不能保证业务上的绝对确定性,关键分类和计算仍应由程序校验。
# 训练时模型学到了什么
预训练通常让模型根据上下文预测缺失或后续 Token,从大量数据中学习语言、知识和代码模式。之后还可能经历:
- Instruction Tuning:学习按照人类指令完成任务;
- Preference Alignment:根据偏好数据调整回答风格和安全行为;
- Domain Fine-tuning:强化某个领域或固定任务的表现。
这些阶段改变模型参数。RAG、Prompt 和工具调用主要改变推理时输入或可用能力,并不会自动修改基础模型权重。
# 幻觉为什么会发生
模型必须继续生成时,会选择在当前上下文下看起来合理的 Token。以下情况容易产生无依据内容:
- 问题需要模型没有看到的实时或私有事实;
- 上下文缺少证据,或证据之间互相冲突;
- 用户要求了过于确定的答案,却没有允许模型表达未知;
- 长链路前面已经选错,后续内容沿错误方向继续生成;
- 训练数据中的模式和当前事实不一致。
缓解方式包括提供可信证据、要求引用、允许拒答、使用结构化输出、调用真实工具,并用评测覆盖事实和失败场景。它们能降低风险,但不能把概率模型变成绝对正确的数据库。
# 高频面试题与回答
1. Transformer 为什么适合大语言模型?参考答案
它通过注意力机制直接建立序列中不同位置的关系,训练时又能并行处理多个 Token,比传统逐步处理序列的结构更适合扩大数据量和模型规模。现代实现还会针对长上下文和推理效率继续优化。
2. 自注意力和普通固定权重有什么区别?参考答案
自注意力会根据当前输入动态计算不同 Token 之间的相关程度,同一个词在不同句子里关注的位置可以不同。它不是给每个词预先分配一个永远不变的重要度。
3. 模型生成文本为什么有随机性?参考答案
模型每一步得到的是候选 Token 的概率分布,解码策略可能从多个候选中采样。即使把随机性调低,模型服务和上下文变化仍可能造成差异,所以关键业务结果不能只依赖自然语言输出。
4. 为什么 Prompt 不能让模型永久学会新知识?参考答案
Prompt 只进入本次推理的上下文,不会更新模型参数。它能让模型临时使用提供的信息;要跨请求继续使用,应由应用保存并重新注入,或者通过 RAG、工具、记忆系统和微调等机制解决。
# 接下来学什么
下一篇学习 模型 API、消息角色与结构化输出,把模型生成原理接入真实应用调用链。