第三章 大语言模型基础


第 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)

算法流程
  1. 初始化字符
  2. 统计最高频相邻对
  3. 合并
  4. 重复直到词表大小达标

解决问题
  • 控制词表规模
  • 解决 OOV
  • 提高泛化能力

四、分词器对开发者的意义

  • Token ≠ 字符数

  • 影响:

    • 上下文窗口
    • API 成本
    • 模型稳定性

3.2.3 本地部署开源模型


示例流程(Qwen)

  1. 安装依赖
  2. 加载 tokenizer + model
  3. 构造对话模板
  4. generate()
  5. 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 = 系统工程问题

相关推荐
林小帅28 分钟前
【笔记】OpenClaw 架构浅析
前端·agent
林小帅1 小时前
【笔记】OpenClaw 生态系统的多语言实现对比分析
前端·agent
AngelPP3 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年3 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼3 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS3 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
warm3snow4 小时前
Claude Code 黑客马拉松:5 个获奖项目,没有一个是"纯码农"做的
ai·大模型·llm·agent·skill·mcp
天翼云开发者社区4 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈5 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang5 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx