主题
2.3 大模型本质与工作原理:超级文字接龙、高维压缩与 Transformer
读文章时,我们会结合前后文猜测下一句话;大语言模型也会利用上下文预测后续内容,只是它依靠的是训练得到的参数和计算过程。这个类比可以帮助理解生成方式,但不能把模型当作读过全部互联网、记住所有事实的人。
从训练到使用,大模型经历什么
很多初学者觉得大模型,其实它的成长过程和一个人类专家的求学之路相似:
核心概念说明
1. Token(词元 / 语言的乐高积木颗粒)
- 大模型看文字不是一个字一个字看,也不是整句话看,而是像拼装“乐高积木颗粒”。
- 例如:“人工智能”四个汉字可能被切成
[人, 工, 智能]3 个积木块; - 为什么重要?:许多文本模型接口按 Token 统计输入和输出,上下文长度也常用 Token 表示(切分方式随模型的分词器变化,不能用固定汉字比例准确换算)。
2. 温度参数(Temperature)与 Top-P(控制 AI 的性格与脑洞)
你在调用 API 或在写提示词时经常会看到 temperature 参数:
3. 自注意力机制(Self-Attention)—— 嘈杂派对上的“鸡尾酒会效应”
2017 年 Google 发布的 《Attention Is All You Need》 论文之所以能颠覆整个 AI 界,核心全在“注意力机制”上:
- 想象你正在一个 100 人的嘈杂酒吧派对上,周围所有人都在大声碰杯说话(背景噪音海量输入);
- 突然,远处的吧台有人轻声喊了一句:“小明,你的外卖到了。”
- 虽然现场声浪震天,但小明的耳朵雷达把注意力转向这几个字,并立刻把“外卖”和“自己(小明)”关联在一起。
- 在处理一万行代码时,Transformer 可以通过注意力计算关联信息,例如当前这一行变量与 500 行之前定义的结构体之间的强关联。
4. Embedding(词向量 / 高维压缩的魔法坐标)
- 把每个词放进一张“语义地图”,意思相近的词自动站到一起——比如“猫”“狗”“宠物”挤在一个街区,而“汽车”离它们十万八千里。
- Embedding 就是把文字转换成一串数字(如 4096 维的向量),让计算机能直接“算”出词语之间的语义距离。
- 经典名场面:向量加减能直接做语义运算——
国王 − 男 + 女 ≈ 女王,这是部分词向量模型中的类比示例,并非对任意文本都成立的算术规则。
python
# 概念演示:Embedding 就是把文字变成一长串数字(向量)
embedding_of_cat = [0.12, -0.35, 0.89, 0.02, ...] # “猫”
embedding_of_dog = [0.15, -0.31, 0.85, 0.05, ...] # “狗”(和猫离得很近)
embedding_of_car = [-0.90, 0.44, 0.10, -0.77, ...] # “汽车”(和猫狗离得很远)💡 Embedding 也是 RAG 知识库(2.8 章)的基石:把文档切成块、转成向量存起来,用户提问时再按“语义距离”找最相关的内容。
5. 自回归生成:为什么大模型一个字一个字往外“蹦”?
- 像学霸现场写作文——一个字一个字写,每写一个字都要回头看看前面写过的内容,再决定下一个字写什么。
- 生成时模型每次只预测“下一个 Token”的概率分布,按解码策略选择一个,拼回原文再继续预测,循环往复直到输出结束符。
- 为什么生成慢?:一次只能吐一个 Token,所以长回答要等好几秒;也正因如此,输出 Token 往往比输入更贵(呼应 3.2 章的 Token 计费)。
6. 上下文窗口(Context Window):大模型一次能“装”多少
- 就像你的短期工作记忆——桌子只有那么大,一次性只能摊开这么多资料,超过的部分就“看不见”了。
- 上下文窗口 = 模型单次能同时“看到”的 Token 上限。具体上限由模型和接口决定,输入、输出与推理预算的关系也要看对应说明。
- 超了怎么办?:超出窗口的内容模型根本记不住——这正是 RAG 知识库和记忆管理存在的意义(详见 2.5、2.8 章)。
7. 幻觉(Hallucination):一本正经地胡说八道
- 考试遇到不会的题,不写“不会”,而是编一个看起来很像样的答案糊弄过去。
- 为什么会幻觉:大模型本质在做文字接龙,“合理”≠“事实”,单靠生成过程并不等于已经查阅资料;接入工具的应用可以查询来源,但仍需检查证据是否支持结论。
- 怎么防:
- 关键信息让模型去 RAG 检索或工具调用拿真实数据,别让它凭记忆硬编;
- 写完让模型自己跑测试 / 核对引用来源——这正是 Vibe Coding 里让 AI 自我验证的核心价值。
Transformer 的架构分工:Encoder 与 Decoder
- Encoder(编码器 / 倾听者):对输入序列进行编码,形成上下文表示(例如 BERT);
- Decoder(解码器 / 表达者):负责根据脑海中的理解,一个字一个字向外吐出最优答案;
- 常见生成架构:许多自回归语言模型采用仅解码器架构。具体模型的结构应查其技术报告,未公开的内部设计不能从产品名称推断。
Transformer 内部拆解:一台精密的文字加工流水线
不管是 Encoder 还是 Decoder,内部都是由下面这几个“标准零件”层层堆叠而成:
| 核心组件 | 生活比喻 | 作用 |
|---|---|---|
| 词嵌入层 Embedding | 给每个词贴上“语义坐标” | 把文字转成数字向量 |
| 位置编码 Positional Encoding | 给每个词发“排队号码牌” | 让模型知道词的先后顺序 |
| 多头注意力 Multi-Head Attention | 好几个翻译同时听同一句话 | 从多个角度捕捉词与词之间的关联 |
| 前馈网络 Feed-Forward | 每个词自己的“深度思考” | 对每个词独立加工、提炼信息 |
| 残差连接 + LayerNorm | 高速公路 + 限速牌 | 防止深层网络“学不动”,训练更稳 |
QKV 三件套:注意力机制的“图书馆检索”小剧场
自注意力里最常见的 Q / K / V 三个字母,其实对应一套完整的检索流程:
- Q(Query / 查询):你现在“想找什么”?(比如:代词“它”想知道自己指的是谁)
- K(Key / 键):每个候选词贴的“标签”,说明“我有什么”;
- V(Value / 值):真正被取用的“内容”本身。
🏛️ 想象一位图书管理员:你问(Q)“有没有讲 Transformer 的书”,管理员把每本书的标签(K)和你问的比对一遍,匹配度最高的那本(注意力)就把内容(V)重点拿给你看。Transformer 就是把这个过程在全文中并行跑无数遍。
参数、上下文和知识库,并不是同一种“记忆”
可以把参数看作长期练习形成的能力,把上下文看作当前桌上的资料,把外部知识库看作需要主动查询的档案。三者都可能影响回答,但改变方式不同。
| 信息放在哪里 | 怎样更新 | 适合保存什么 |
|---|---|---|
| 模型参数 | 训练或微调 | 语言规律、任务能力与行为习惯 |
| 当前上下文 | 本次请求加入文字、附件或工具结果 | 当前需求、代码片段和参考资料 |
| 外部存储 | 修改文件、数据库或索引 | 会变化的业务知识与可追溯记录 |
在聊天里纠正一次答案,通常只影响后续可见的上下文,不等于现场修改了模型参数。开启新会话后能否保留这个纠正,取决于应用是否另外保存并加载了相关信息。
训练过程可以怎样理解
预训练像广泛阅读和练习,让模型学习文本中的统计规律。监督微调像给出任务与参考答案,调整模型响应方式;偏好优化或强化学习则使用评价信号进一步调整行为。不同模型的训练方案并不完全相同,这里只是理解常见过程的入口。
训练阶段更新参数,推理阶段使用已有参数生成结果。推理时花更长时间作出回答,并不意味着重新训练了一个模型,也不能保证结论正确。
注意力怎样从“找关联”变成计算
图书馆检索的类比中,查询说明你要找什么,索引描述资料的特征,正文提供内容。注意力机制的 Q、K、V 都是向量:先比较 Q 与 K 得到权重,再用权重汇总 V。多个注意力头可以学习不同的关联方式,并不是每个头都对应一个人类可命名的主题。
Transformer 原论文还使用位置表示、前馈网络等组件。注意力不是整个模型,也不会让长文本中的每一个细节都得到同等可靠的处理。
温度与 Top-P 不是什么
温度调整候选 Token 分布的集中程度;Top-P 根据累计概率选择候选范围。它们影响生成的随机性,不能直接提高事实准确度。低温度仍可能稳定地产生错误,高温度也不等于一定更有创造力。
做代码或数据提取时,先把输入和规则说明白,再验证结果。不要把调整采样参数当作修复缺失上下文的方法;部分模型或模式也不允许直接设置这些参数。