从预训练到 RLHF:大语言模型训练范式的演进与工程实践

从预训练到 RLHF:大语言模型训练范式的演进与工程实践

摘要

大语言模型(LLM)的训练并非单一过程,而是由预训练(Pre-training)监督微调(Supervised Fine-Tuning, SFT)强化学习(Reinforcement Learning, RL) 三个核心阶段构成的递进式流水线。本文系统阐述各阶段的原理、目标与相互关系,厘清模型训练与模型推理调用的本质区别,并探讨检索增强生成(RAG)作为模型能力补充机制的设计定位。

为了更通俗易懂的解释以下内容,我做了一个HTML网页来说明:
从”读书”到”做人”:大语言模型训练全揭秘


一、三段式训练总览

现代大语言模型的完整训练流水线可抽象为以下三个阶段:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
原始语料库(TB级无标注文本)


┌─────────────────────────────┐
│ 第一阶段:预训练 │
│ 目标:学习语言规律与知识 │
│ 方法:自监督(下一词预测) │
│ 产出:Base 模型 │
└──────────┬──────────────────┘


┌─────────────────────────────┐
│ 第二阶段:监督微调 SFT │
│ 目标:学习指令跟随能力 │
│ 方法:有监督(指令-回复对)│
│ 产出:Instruct 模型 │
└──────────┬──────────────────┘


┌─────────────────────────────┐
│ 第三阶段:强化学习 RLHF │
│ 目标:对齐人类偏好 │
│ 方法:PPO + 奖励模型 │
│ 产出:Aligned 模型 │
└─────────────────────────────┘

核心观点:预训练决定模型的知识上限,SFT 赋予模型实用性,RL 确保模型的可控性与安全性。三者缺一不可。


二、各阶段技术详解

2.1 预训练(Pre-training)

目标:在无标注数据上学习语言的统计规律、语法结构、事实知识与世界常识。

训练方式:自监督学习,核心任务是下一词预测(Next Token Prediction)。给定上文序列 ( x_1, x_2, …, x_{t-1} ),模型预测下一个 token ( x_t ) 的概率分布,损失函数为交叉熵:

$$
\mathcal{L}{\text{PT}} = -\sum{t=1}^{T} \log P(x_t | x_{<t})
$$

数据规模:通常为数 TB 至数十 TB 的文本数据,涵盖网页、书籍、论文、代码等。

关键特征

  • 不需要人工标注,数据获取成本低
  • 计算开销极大(数万 GPU 小时)
  • 产出模型具备语言生成能力,但无法理解指令意图

2.2 监督微调(Supervised Fine-Tuning, SFT)

目标:使模型学会遵循人类指令,完成问答、翻译、摘要等具体任务。

训练方式:在人工标注的指令-回复对上进行有监督学习。每条数据格式为:

1
2
3
4
{
"instruction": "用通俗的语言解释什么是黑洞",
"output": "黑洞是宇宙中引力极强的区域,任何东西都无法逃脱……"
}

模型以 instruction 为输入,以 output 为目标进行最大似然估计:

$$
\mathcal{L}{\text{SFT}} = -\sum{t=1}^{T} \log P(y_t | x, y_{<t})
$$

其中 ( x ) 为指令,( y ) 为标准回复。

数据规模:通常为万级至十万级高质量样本,质量远重要于数量

关键特征

  • 将“会说话”的模型转变为“会做事”的模型
  • 训练成本远低于预训练(千级 GPU 小时)
  • 模型可能产生表面服从但实质错误的回复(即“幻觉”)

2.3 强化学习(Reinforcement Learning from Human Feedback, RLHF)

目标:使模型的输出更符合人类偏好——更有用、更无害、更诚实。

训练方式:引入奖励模型(Reward Model) 作为人类偏好的代理,使用 PPO(Proximal Policy Optimization) 算法优化策略模型。

完整流程分三步

  1. 收集偏好数据:对同一 prompt,让 SFT 模型生成多个候选回复,由人工标注员排序
  2. 训练奖励模型:以排序数据训练一个回归模型,为任意回复输出一个标量分数
  3. 策略优化:使用 PPO 算法,以奖励模型的分数为奖励信号,微调 SFT 模型

PPO 的目标函数简化为:

$$
\mathcal{L}{\text{RL}} = \mathbb{E}{(s,a)}[\min(\frac{\pi_\theta(a|s)}{\pi_{\text{old}}(a|s)} A(s,a), \text{clip}(\dots))]
$$

其中 ( A(s,a) ) 为优势函数,衡量当前动作相对于平均水平的优劣。

关键特征

  • 显著提升模型的有用性和安全性
  • 训练稳定性较差,超参数敏感
  • 过度优化可能导致“奖励黑客”(reward hacking)现象

三、模型分类思维导图

以下从四个维度对现有大语言模型进行分类:

mindmap root((大语言模型)) 按训练阶段 Base 模型 GPT-3 原始版 LLaMA 原始版 Instruct 模型 Llama-2-chat Qwen-Instruct Aligned 模型 GPT-4 Claude 3 按架构类型 仅有 Decoder GPT 系列 LLaMA 系列 Encoder-Decoder T5 BART MoE 混合专家 Mixtral 8x7B DeepSeek-MoE 按应用场景 通用对话 ChatGPT Claude 代码生成 Codex StarCoder 数学推理 Minerva Qwen-Math 按增强手段 纯训练型 传统 LLM 检索增强型 RAG 架构 工具调用型 Function Calling 模型

选型速查表

使用场景 推荐模型类型 示例
文本续写、补全 Base 模型 llama-3-base
日常对话、问答 Instruct 模型 llama-3-instruct
高安全性场景 Aligned 模型 claude-3-opus
代码辅助 代码专用模型 deepseek-coder
私有知识问答 Base 模型 + RAG llama-3-base + 向量库

四、模型训练与模型调用的关系

模型训练与模型调用是两个性质截然不同的阶段,但在工程实践中紧密关联。

4.1 核心区别

维度 模型训练 模型调用(推理)
目标 更新模型权重 利用已有权重生成输出
计算负载 极高(GPU 密集) 较低(单卡可运行)
数据流向 批量数据 → 梯度更新 → 权重 单条输入 → 前向传播 → 输出
耗时 数天至数月 毫秒至秒级
硬件要求 多卡集群、高显存 单卡甚至 CPU 可运行
频率 低频(一次训练,多次复用) 高频(每次用户请求触发)

4.2 两者关系示意图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
                    ┌──────────────┐
│ 训练数据集 │
└──────┬───────┘


┌──────────────────────────────────────────────┐
│ 模型训练流水线 │
│ │
│ 预训练 ──→ SFT ──→ RLHF ──→ 模型权重导出 │
│ │
└──────────────────────┬───────────────────────┘


┌──────────────────┐
│ 模型权重文件 │
│ (如 .bin/.safetensors) │
└────────┬─────────┘


┌──────────────────────────────────────────────┐
│ 模型推理服务 │
│ │
│ 加载权重 ──→ 接收请求 ──→ 前向计算 ──→ 返回结果│
│ │
└──────────────────────────────────────────────┘

关键认知

  • 训练是一次性的投资,推理是持续的服务
  • 同一个模型可以被无数次调用,但权重只在训练阶段改变
  • 推理时也可以进行少量参数更新(如 LoRA 适配器),但这属于持续微调,本质上仍是训练行为

4.3 工程实践中的常见模式

1
2
3
4
5
6
7
8
9
训练阶段(离线,高算力集群)
├── 基础模型训练(大厂完成)
├── 领域微调(企业自有数据)
└── 持续更新(线上数据回流)

调用阶段(在线,低延迟服务)
├── 单轮推理(普通问答)
├── 流式输出(打字机效果)
└── 批量处理(离线任务)

五、RAG 与大语言模型的关系

检索增强生成(Retrieval-Augmented Generation, RAG)是一种不修改模型权重的能力增强机制,它与模型训练形成互补关系。

5.1 核心定位

RAG ≠ 模型训练。RAG 是在模型推理时引入外部知识源的架构设计,而非对模型本身的训练或微调。

1
2
3
4
5
传统 LLM 推理:
用户提问 ──→ LLM(仅依赖内部知识)──→ 回复

RAG 增强推理:
用户提问 ──→ 检索外部知识库 ──→ LLM(参考检索结果)──→ 回复

5.2 RAG 工作流程

flowchart LR A[用户输入] --> B{意图识别} B -->|需要外部知识| C[向量检索] B -->|无需外部知识| D[直接推理] C --> E[知识库
文档片段] E --> F[拼接 Prompt] F --> G[LLM 推理] D --> G G --> H[最终回复] subgraph I[离线索引构建] J[原始文档] --> K[文本分块] K --> L[向量化嵌入] L --> M[(向量数据库)] end M -.-> C

5.3 RAG 与训练增强的对比

维度 RAG 模型微调(SFT/RL)
是否修改权重 ❌ 否 ✅ 是
知识来源 外部数据库 模型内部参数
知识更新速度 即时(增删文档即可) 慢(需重新训练)
幻觉控制 强(可约束到检索结果) 弱(依赖训练数据质量)
计算成本 低(仅检索 + 推理) 高(需 GPU 训练)
适用场景 动态知识、私有数据 固定能力、风格对齐

5.4 两者协同的最佳实践

在实际系统中,RAG 与模型训练通常是分层配合的关系:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
┌──────────────────────────────────────────────┐
│ 应用层 │
│ │
│ ┌─────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 对话系统 │ │ 知识问答 │ │ 代码助手 │ │
│ └────┬────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
├───────┴──────────────┴───────────────┴────────┤
│ 能力增强层 │
│ │
│ ┌─────────────────────┐ ┌─────────────────┐ │
│ │ RAG 检索模块 │ │ Tool Calling │ │
│ │ (向量库 + 检索器) │ │ (API 调用) │ │
│ └──────────┬──────────┘ └────────┬────────┘ │
│ │ │ │
├─────────────┴───────────────────────┴──────────┤
│ 模型推理层 │
│ │
│ ┌──────────────────────────────────────────┐ │
│ │ LLM 推理引擎 │ │
│ │ (加载 Aligned 模型权重) │ │
│ └──────────────────────────────────────────┘ │
│ │
├────────────────────────────────────────────────┤
│ 模型训练层 │
│ │
│ ┌──────────┐ ┌──────┐ ┌──────┐ │
│ │ 预训练 │ │ SFT │ │ RLHF │ │
│ └──────────┘ └──────┘ └──────┘ │
└────────────────────────────────────────────────┘

关键结论

  • RAG 解决的是知识的时效性和专有性问题,让模型不必记住所有知识
  • 训练解决的是模型的底层能力和行为对齐问题,这是 RAG 无法替代的
  • 最佳实践是:用训练打造一个强大的基础模型,用 RAG 为其注入实时和私有的知识

六、全文总结

五句话记住本文核心

  1. 预训练让模型学会语言规律,产出 Base 模型
  2. SFT 让模型学会遵循指令,产出 Instruct 模型
  3. RLHF 让模型学会人类偏好,产出 Aligned 模型
  4. 训练是离线的一次性投入,调用是在线的持续性服务
  5. RAG 不修改模型权重,而是在推理时为模型补充外部知识

完整生命周期总览

1
2
3
4
5
6
7
原始数据 ──→ 预训练 ──→ SFT ──→ RLHF ──→ 模型部署 ──→ 推理服务

┌────┴────┐
│ RAG │
Tool
│ Memory │
└─────────┘

作者注:本文所述流程适用于 GPT-4、Claude、LLaMA 等主流大语言模型。具体实现细节因模型架构和厂商策略而异,建议以各模型官方技术报告为准。


从预训练到 RLHF:大语言模型训练范式的演进与工程实践
https://jycpp.github.io/2026/26-08-02-大语言模型训练范式的演进与工程实践.html
作者
Jet Yan
发布于
2026年8月2日
许可协议