第三章 大语言模型基础
本章系统介绍了大语言模型(LLM)的基础知识。首先从N-gram到RNN/LSTM的语言模型发展历程切入,重点解析了Transformer架构的核心组件(自注意力、多头注意力、位置编码等)。随后详细阐述了当前主流的Decoder-Only架构(如GPT)及其自回归生成机制。在模型交互方面,介绍了提示工程、分词技术和模型选型要点。最后讨论了缩放法则、涌现能力及模型幻觉问题。全章揭示了现代智能体以Tr
第 3 章 大语言模型基础(LLM Foundations)
核心问题:现代智能体是如何工作的?
核心答案:以 Transformer / Decoder-Only 架构为核心,通过大规模预训练 + 自回归生成 + 提示工程实现。
3.1 语言模型与 Transformer 架构
3.1.1 从 N-gram 到 RNN
一、语言模型(Language Model, LM)
定义
语言模型的目标是:
计算一个词序列出现的概率
[
P(w_1, w_2, \dots, w_m)
]
基于概率链式法则:
[
P(S)=\prod_{i=1}^{m}P(w_i|w_1,\dots,w_{i-1})
]
二、统计语言模型与 N-gram
1. 马尔可夫假设(Markov Assumption)
当前词只依赖前 n−1 个词
[
P(w_i|w_1,\dots,w_{i-1}) \approx P(w_i|w_{i-n+1},\dots,w_{i-1})
]
常见模型
- Bigram (N=2):只看前 1 个词
- Trigram (N=3):只看前 2 个词
2. 概率估计(MLE)
以 Bigram 为例:
[
P(w_i|w_{i-1})=\frac{Count(w_{i-1},w_i)}{Count(w_{i-1})}
]
3. 示例计算
语料库:
datawhale agent learns
datawhale agent works
计算:
[
P(\text{agent works})
= P(agent|datawhale)\cdot P(works|agent)
= 1 \cdot 0.5 = 0.5
]
4. N-gram 的根本局限
- ❌ 数据稀疏性:未出现即概率为 0
- ❌ 无语义泛化能力:agent ≠ robot
- ❌ 上下文窗口固定
- ❌ 词是离散符号
三、神经网络语言模型与词嵌入
1. 核心思想(Bengio, 2003)
- 用连续向量表示词(Word Embedding)
- 相似词 → 向量距离近
- 学习函数:
[
(w_{i-n+1},\dots,w_{i-1}) \rightarrow P(w_i)
]
2. 词嵌入的性质
- 语义可计算(余弦相似度)
- 支持语义类比:
King - Man + Woman ≈ Queen
3. 改进与局限
✅ 解决:
- 泛化能力
- OOV 问题缓解
❌ 仍然:
- 上下文窗口固定
四、RNN 与 LSTM
1. RNN 核心机制
- 引入 隐藏状态 h_t
- 实现“序列记忆”
[
h_t = f(x_t, h_{t-1})
]
2. RNN 的问题
- ❌ 梯度消失 / 爆炸
- ❌ 长期依赖难以捕捉
- ❌ 串行计算,难并行
3. LSTM 改进
通过 门控机制:
- 遗忘门
- 输入门
- 输出门
- 独立 Cell State
✅ 更好建模长期依赖
3.1.2 Transformer 架构解析
核心思想:Attention is All You Need
一、Encoder–Decoder 总体结构
- Encoder:理解输入 → 上下文表示
- Decoder:条件生成输出
二、自注意力机制(Self-Attention)
1. Q / K / V 机制
- Query:我想找什么
- Key:我是什么
- Value:我的信息
2. 计算公式
[
Attention(Q,K,V)
= softmax\left(\frac{QK^T}{\sqrt{d_k}}\right)V
]
3. 直观理解
- 每个 token 可关注序列中所有 token
- 权重反映相关性
- 自动建模长距离依赖
三、多头注意力(Multi-Head Attention)
- 拆分为 h 个子空间
- 并行关注不同关系
- 最后拼接 + 线性变换
✅ 捕捉:
- 指代关系
- 语法结构
- 语义依赖
四、前馈网络(FFN)
逐 token 处理:
[
FFN(x)=\max(0,xW_1+b_1)W_2+b_2
]
特点:
- 位置独立
- 参数共享
- 先扩展再压缩((d_{ff} \gg d_{model}))
五、残差连接 + LayerNorm
- 残差连接:缓解梯度消失
- LayerNorm:稳定分布,加速收敛
结构:
x → Sublayer → Add → Norm
六、位置编码(Positional Encoding)
问题
Self-Attention 无顺序感知能力
解决方案
正弦 / 余弦位置编码:
[
PE(pos,2i)=\sin\left(\frac{pos}{10000^{2i/d}}\right)
]
特点:
- 不引入新参数
- 支持任意长度
- 编码相对位置信息
3.1.3 Decoder-Only 架构(GPT)
一、核心思想
语言建模 = 预测下一个词
二、自回归生成(Autoregressive)
输入 → 预测 token → 拼接 → 再预测
三、Masked Self-Attention
- 禁止看到未来 token
- 通过 attention mask 实现
- 保证因果性
四、为什么主流 LLM 都用 Decoder-Only?
✅ 优点:
- 训练目标统一
- 结构简单,易扩展
- 天然适合生成任务
- 支持超大规模训练
3.2 与大语言模型交互
3.2.1 提示工程(Prompt Engineering)
一、采样参数
1. Temperature
- 控制随机性
- T↓ → 确定性高
- T↑ → 多样性高
2. Top-k / Top-p
- Top-k:保留前 k 个 token
- Top-p:累积概率 ≥ p 的最小集合
- 实践中:Top-p 更常用
二、提示范式
- Zero-shot
- One-shot
- Few-shot
三、指令调优(Instruction Tuning)
- 从“文本补全” → “指令执行”
- ChatGPT / Qwen / Claude 均经过此阶段
四、思维链(Chain-of-Thought)
- 显式引导推理步骤
- 显著提升数学 / 逻辑任务准确率
3.2.2 文本分词(Tokenization)
一、为什么不能直接用字符 / 单词?
| 单位 | 问题 |
|---|---|
| 字符 | 无语义,序列过长 |
| 单词 | 词表爆炸,OOV |
二、子词分词(Subword)
核心思想:
- 高频词保留
- 低频词拆分
三、BPE(Byte Pair Encoding)
算法流程
- 初始化字符
- 统计最高频相邻对
- 合并
- 重复直到词表大小达标
解决问题
- 控制词表规模
- 解决 OOV
- 提高泛化能力
四、分词器对开发者的意义
-
Token ≠ 字符数
-
影响:
- 上下文窗口
- API 成本
- 模型稳定性
3.2.3 本地部署开源模型
示例流程(Qwen)
- 安装依赖
- 加载 tokenizer + model
- 构造对话模板
- generate()
- decode()
3.2.4 模型选择
一、选型维度
- 性能
- 成本
- 延迟
- 上下文长度
- 部署方式
- 生态
- 可微调性
- 安全性
二、闭源模型
- GPT-4 / GPT-5
- Gemini 2.5
- Claude 4
- 文心 / 通义 / 混元
三、开源模型
- Llama 4(MoE)
- Mistral
- Qwen
- ChatGLM
3.3 缩放法则与局限性
3.3.1 Scaling Laws
[
Loss \propto N^{-\alpha}
]
- 参数 ↑
- 数据 ↑
- 计算 ↑
Chinchilla 定律
算力固定下:模型不宜过大,应多数据
能力涌现(Emergence)
- CoT
- 指令理解
- 代码生成
- 多步推理
3.3.2 模型幻觉(Hallucination)
类型
- 事实性幻觉
- 忠实性幻觉
- 内在幻觉
缓解方法
- RAG
- 外部工具
- 多步验证
- RLHF
- 自一致性检查
3.4 本章总结
核心脉络
N-gram
→ 神经语言模型
→ RNN / LSTM
→ Transformer
→ Decoder-Only
→ LLM + Agent
对智能体设计的启示
- Prompt = 控制器
- Token = 成本单位
- RAG = 可靠性保障
- Model Selection = 系统工程问题
更多推荐

所有评论(0)