简介:本文围绕大模型训练的三个核心阶段展开对比:预训练、监督微调(SFT)与人类反馈强化学习(RLHF),从监督信号形式、数据成本、人工投入、训练顺序与风险边界等维度系统梳理三者差异与联系,并延伸对比提示词优化这条使用层路径,帮助读者在“调提示词、做微调、上强化学习”之间建立清晰的选型判断框架。
大语言模型(LLM)并不是一次性训练完成的“成品”。一个能对话、能答题、能写代码的助手模型,背后通常经历了三个阶段:预训练(Pre-training)、监督微调(SFT,Supervised Fine-tuning)与基于人类反馈的强化学习(RLHF)。很多开发者与企业在实践中会反复遇到两类困惑:基座模型与对话模型差在哪?自己该训练模型,还是该优化提示词?要回答这些问题,必须先讲清楚三个阶段各自的分工、成本与适用边界。本文即以这条训练管线为主线展开系统对比。
从底层机制看,LLM本质上在做文字接龙。几个关键事实值得先厘清:
预训练的结果是:模型“在网上自由自在地学知识”,但并不清楚人类的需求是什么。你问它一个问题,它可能直接回你四个选项——因为网上的资料里本来就存在大量选择题形式的文本。
SFT阶段由人类老师直接给出“人类所预期的正确答案”,模型在问答样本上做监督学习。相对于预训练的自监督属性,SFT是有明确标签的监督学习。它的定位是:把“知识渊博但不会以助手方式回应”的基座模型,调教成“知道该以什么格式、什么姿态回应指令”的模型。
RL(更具体地说是RLHF)中,老师不需要告诉模型具体答案,只需要对模型自己给出的答案做出好坏评价,模型会据此提高“被评价为好”的答案的输出概率。其训练分两个阶段:先根据人类反馈学习出一个奖励模型(reward model),再用奖励模型取代人类反馈继续优化。SFT与RL合起来称为对齐(alignment)。
三个阶段看似形式迥异,底层却有深刻的共同点:
用示意性伪代码表达三者差异:
# 伪代码:三种训练范式的监督信号对比# 预训练(自监督):"答案"就是文本自带的下一个 tokenloss = cross_entropy(model(context), next_token)# SFT(监督微调):答案由人类老师撰写loss = cross_entropy(model(question), human_answer)# RLHF(强化学习):没有标准答案,只有对模型输出的评价reward = reward_model(model(question))policy_gradient_update(model, reward)
SFT比较辛苦:每条样本都需要人写出完整答案,标注成本随数据量线性增长。RL比较省力:人只需要判断好坏、打分或排序,单位成本明显更低。这正是“微调费力、强化学习省力”这一直观感受的技术根源。但需要注意,RL省的是标注人力,多出来的是训练流程的复杂度——它需要额外训练并维护一个奖励模型。
三个阶段存在严格的先后依赖:一般先预训练,再SFT,再RLHF。原因在于:必须先让模型具备“输出好答案的可能性”,之后用RL给予反馈才有意义——如果模型根本没有能力产出好答案,奖励信号便无物可奖励。行业演进也印证了这一顺序:早期几代大模型只做了预训练,主要靠扩大参数量与训练数据提升能力;后续新一代模型才引入SFT与RL;更新的模型则进一步叠加了视觉与深度思考等多模态、复杂推理能力。
| 维度 | 预训练 | SFT | RLHF |
|---|---|---|---|
| 学习范式 | 自监督 | 监督学习 | 强化学习 |
| 监督信号 | 下一个token | 人类标准答案 | 好坏评价/奖励分 |
| 人工参与 | 几乎无需 | 高(撰写答案) | 中(打分排序) |
| 数据量级 | 海量网络文本 | 中等规模标注数据 | 偏好比较数据 |
| 主要目标 | 语言与知识 | 指令与格式 | 偏好与价值对齐 |
| 成本重心 | 算力 | 标注+算力 | 奖励模型+训练流程 |
| 阶段顺序 | 第一阶段 | 第二阶段 | 第三阶段 |
| 典型风险 | 行为不可预期 | 过拟合小数据 | 奖励被过度优化 |
除训练层外,还有一条不改参数、只改输入的路径——提示词优化。常用手段包括:
| 维度 | 提示词优化 | SFT | RLHF |
|---|---|---|---|
| 是否修改参数 | 否 | 是 | 是 |
| 迭代速度 | 快,可实时验证 | 慢,需训练 | 更慢,流程复杂 |
| 成本结构 | 每次调用的token成本 | 一次性训练+标注 | 奖励模型构建+训练 |
| 效果上限 | 受模型既有能力限制 | 稳定改变行为 | 改善难以明确定义的行为 |
| 可迁移性 | 因模型而异,可能无效 | 跟随模型权重 | 跟随模型权重 |
| 前置条件 | 模型已具备相关能力 | 有高质量示范数据 | 已具备产出好答案的可能 |
需要特别注意:提示词技巧“对于一些模型可能没有用”,更换模型后应重新测试;而训练层手段的效果固化在权重中,不随调用方式漂移,但需要承担训练与维护成本。
预训练、SFT与RLHF解决的是同一枚硬币的三个面:预训练赋予知识与语言能力,SFT教会模型以助手的方式回应,RLHF则把人类偏好注入输出分布。三者的差异本质上来自监督信号形式的不同——自带的下一token、人类撰写的标准答案、对模型自身输出的好坏评价,由此衍生出人力成本、数据规模、训练顺序与风险边界的全部差异。对使用者而言,先在提示词层充分挖掘模型既有能力,再视数据与预算决定是否进入训练层,是兼顾效率与成本的稳妥路径。