Skip to content

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 效果不够时考虑

→ 需要预训练吗?
  在大量领域语料上继续预训练
  → 几乎不需要,成本极高

延伸阅读

用 AI 思维做产品