LLM 是如何被训练出来的?
产品经理不需要会训练模型,但必须理解训练过程——因为它决定了模型的能力边界和产品的可能性空间。
为什么产品经理要懂训练过程?
| 产品决策 | 需要理解的训练知识 |
|---|---|
| "为什么模型会胡说八道?" | 预训练数据的分布特征 |
| "微调能解决这个问题吗?" | 微调的原理和局限 |
| "为什么模型不愿回答某些问题?" | RLHF 对齐的影响 |
| "新版本模型为什么行为变了?" | 训练数据更新和对齐策略调整 |
| "我们的私有数据能让模型变好吗?" | 数据质量对训练的影响 |
LLM 训练的三个阶段
大语言模型的训练不是一步完成的,而是分为三个递进的阶段:
┌─────────────────────────────────────────────────────────┐
│ │
│ 阶段一:预训练(Pre-training) │
│ 📚 "海量阅读" — 学习语言规律和世界知识 │
│ 数据量:万亿 Token 成本:数百万~数千万美元 │
│ 时间:数周~数月 │
│ │
├─────────────────────────────────────────────────────────┤
│ │
│ 阶段二:有监督微调(Supervised Fine-Tuning, SFT) │
│ 🎓 "做练习题" — 学习按人类期望的方式回答问题 │
│ 数据量:数万~数十万条 成本:数千~数万美元 │
│ 时间:数小时~数天 │
│ │
├─────────────────────────────────────────────────────────┤
│ │
│ 阶段三:人类反馈强化学习(RLHF) │
│ 🏆 "考试评分" — 根据人类偏好优化回答质量 │
│ 数据量:数万条偏好数据 成本:数万美元+标注成本 │
│ 时间:数天~数周 │
│ │
└─────────────────────────────────────────────────────────┘阶段一:预训练 — 从零学习语言
核心原理:Next Token Prediction
预训练的本质极其简单——给定前面的文字,预测下一个词:
输入: "产品经理需要理解用户的"
预测: "需求" (概率 32%)
"痛点" (概率 18%)
"行为" (概率 12%)
"心理" (概率 8%)
...
通过在万亿级文本上反复做这个"填空题",
模型学会了语言规律、逻辑推理、世界知识。预训练数据的构成
典型预训练数据配比:
互联网网页 ██████████████████░░ 60%
书籍文献 ████░░░░░░░░░░░░░░░░ 15%
学术论文 ███░░░░░░░░░░░░░░░░░ 10%
代码仓库 ███░░░░░░░░░░░░░░░░░ 10%
多语言文本 █░░░░░░░░░░░░░░░░░░░ 5%预训练的产品含义
产品经理视角
预训练决定了模型"知道什么":
- 训练数据的截止日期 → 模型知识的时效性边界
- 训练数据的语言分布 → 不同语言能力的差异(中文数据占比越高,中文表现越好)
- 训练数据的领域覆盖 → 在特定领域(如医疗、法律)的知识深度
- 训练数据的质量 → "Garbage In, Garbage Out"
阶段二:有监督微调(SFT)
从"知识库"到"助手"
预训练完的模型像一个"读了很多书但不知道怎么与人对话"的人。SFT 的作用是教会模型按照人类期望的方式进行对话:
SFT 训练数据示例:
[指令] 请用三句话总结量子计算的核心概念
[回答] 量子计算利用量子力学的叠加和纠缠特性进行计算。
与经典计算机使用 0 或 1 的比特不同,量子比特可以
同时处于多种状态。这使量子计算机在特定问题上具有
指数级的速度优势。
[指令] 帮我写一封拒绝供应商的邮件,语气要委婉
[回答] 尊敬的 XX 公司:
感谢贵司提供的合作方案,我们对此进行了认真评估...SFT 的关键特征
| 特征 | 说明 |
|---|---|
| 数据量 | 通常几万到几十万条高质量对话 |
| 数据质量要求 | 极高,"100 条高质量数据胜过 10,000 条低质量数据" |
| 训练目标 | 学习回答格式、风格、结构 |
| 对模型的影响 | 激活预训练中的知识,并以对话形式呈现 |
SFT 与产品微调
当产品需要对基座模型进行微调时,实际上就是在执行类似 SFT 的过程:
产品微调场景:
✅ 适合微调:
- 统一输出格式(如 JSON 结构化输出)
- 学习特定领域术语和表达风格
- 适配特定任务模式(如合同条款提取)
❌ 不适合微调:
- 注入新知识(应该用 RAG)
- 解决幻觉问题(微调可能加剧)
- 提升通用推理能力(预训练决定的)阶段三:RLHF — 与人类偏好对齐
RLHF 的完整流程
RLHF(Reinforcement Learning from Human Feedback)是让模型"变好用"的关键一步:
Step 1: 收集人类偏好数据
─────────────────────────────────────────
问题:"如何提高团队效率?"
回答 A:你可以考虑以下几点:1. 明确目标和优先级
2. 建立有效的沟通机制 3. 合理分配任务...
回答 B:提高效率的方法有很多,比如少开会、多干活,
别整那些没用的...
人类标注员判断:A > B(A 比 B 更好)
───────────────────────────────
Step 2: 训练奖励模型(Reward Model)
─────────────────────────────────────────
用大量的"A vs B"偏好数据,训练一个模型来
自动评估回答质量。
奖励模型学到的"好回答"特征:
✓ 有条理、结构清晰
✓ 准确、不编造
✓ 有帮助、切中问题
✓ 安全、无害
✓ 语气得体
───────────────────────────────
Step 3: 强化学习优化
─────────────────────────────────────────
用奖励模型作为"评委",通过 PPO 算法
不断优化语言模型的输出。
循环过程:
生成回答 → 奖励模型打分 → 调整模型参数
↑ │
└───────────────────────────┘RLHF 的替代方案
RLHF 虽然效果好,但流程复杂。业界也发展出了更简单的替代方案:
| 方法 | 原理 | 优势 | 劣势 |
|---|---|---|---|
| RLHF | 训练奖励模型 + PPO | 效果最好 | 流程复杂,训练不稳定 |
| DPO | 直接偏好优化,跳过奖励模型 | 更简单更稳定 | 理论上略逊于 RLHF |
| RLAIF | 用 AI 代替人类标注偏好 | 大幅降低标注成本 | 依赖 AI 评判的质量 |
| Constitutional AI | 模型用规则自我改进 | 可扩展性强 | 规则设计是关键 |
产品经理要点
DPO(Direct Preference Optimization) 正在成为主流。如果你的产品需要微调模型来匹配特定风格或偏好,DPO 比 RLHF 更容易实施。告诉你的 ML 团队:"我们有 5,000 条好/坏回答对比数据,用 DPO 微调可行吗?"
RLHF 对产品的深远影响
为什么模型有时候"太谨慎"
RLHF 带来的对齐税(Alignment Tax):
安全性
↑
/ \
RLHF/ \
过度对齐 最佳平衡点
/ \
/ \
有用性 ←─────────────────────→ 有害性
RLHF 可能导致模型过于保守:
❌ 拒绝回答正常的医学知识问题
❌ 对创意写作施加过多限制
❌ 在模糊场景中倾向于拒绝而非尝试回答对齐策略对产品设计的影响
| RLHF 行为 | 产品表现 | 应对策略 |
|---|---|---|
| 过度拒绝 | 用户觉得"不好用" | System Prompt 明确允许的范围 |
| 过度谨慎 | 回答太长、太啰嗦 | 指令中要求简洁 |
| 安全护栏 | 某些场景被误拦 | 联系模型厂商调整 |
| 价值倾向 | 回答带有特定立场 | 要求客观中立的输出 |
训练数据的核心问题
数据质量的"杠杆效应"
数据质量对模型效果的影响(示意):
效果 ↑
│ .-─────── 高质量数据
│ /
│ /
│ / .───────── 中质量数据
│ / /
│ / /
│ / / .─────────── 低质量数据
│ /./ /
│ // /
│/. /
├──┴──────────────── → 数据量
关键洞察:
10K 高质量数据 > 100K 中质量数据 > 1M 低质量数据数据的常见问题
| 问题 | 表现 | 产品影响 |
|---|---|---|
| 数据偏差(Bias) | 训练数据分布不均 | 对某些用户群体效果差 |
| 数据泄露 | 训练集包含测试集内容 | 评测分数虚高 |
| 数据过时 | 训练数据有截止日期 | 无法回答最新问题 |
| 数据污染 | 包含有害/低质量内容 | 模型输出有害内容 |
| 版权风险 | 训练数据含版权内容 | 法律和合规风险 |
从训练原理看产品可能性
什么能力可以通过训练获得?
┌───────────────────────────────────────────────────┐
│ 能力获取的层级 │
├───────────────────────────────────────────────────┤
│ │
│ 预训练获得(不可轻易改变): │
│ ✦ 语言理解和生成的基础能力 │
│ ✦ 逻辑推理的上限 │
│ ✦ 世界知识的覆盖范围 │
│ │
│ SFT 可以调整: │
│ ✦ 输出格式和风格 │
│ ✦ 任务完成模式 │
│ ✦ 领域术语使用 │
│ │
│ RLHF/DPO 可以优化: │
│ ✦ 回答的有用性和质量 │
│ ✦ 安全性和合规性 │
│ ✦ 语气和风格偏好 │
│ │
│ Prompt Engineering 可以引导: │
│ ✦ 特定任务的表现 │
│ ✦ 输出结构和格式 │
│ ✦ 角色扮演和风格切换 │
│ │
│ RAG 可以补充: │
│ ✦ 最新知识 │
│ ✦ 私有领域知识 │
│ ✦ 精确的事实信息 │
│ │
└───────────────────────────────────────────────────┘产品经理的"技术可行性"判断框架
当你评估一个 AI 功能是否可行时,可以按照训练阶段反向推导:
需求:"模型要用我们公司的专业术语回答问题"
→ Prompt 能解决吗?
在 System Prompt 中定义术语表
→ 如果术语不多(< 50 个),通常够用
→ RAG 能解决吗?
将术语库和文档作为检索知识库
→ 适合术语多且经常更新的场景
→ 需要 SFT 吗?
用包含专业术语的对话数据微调
→ 当 Prompt + RAG 效果不够时考虑
→ 需要预训练吗?
在大量领域语料上继续预训练
→ 几乎不需要,成本极高