跳转至

模型训练与对齐

模型训练与对齐

大模型不是"炼出来就完事"的:从海量文本里学出语言能力的预训练,到让它听话、安全、会干活的后训练,再到面向具体业务的微调,每一段都对应不同的数据、算力与成本。本文讲清这条链路,并回答产品经理最关心的一个问题:什么时候该微调,什么时候用 RAG 和提示词就够了。基础概念见 大模型基础,部署与推理成本见 模型推理与部署

预训练

数据从哪来

预训练在海量无标注文本上做"预测下一个 token",语料来源决定了模型的能力结构:

数据来源贡献的能力风险
网页通用知识、语言覆盖、多样表达噪声多、广告与模板内容多
书籍/论文长文本理解、知识密度、逻辑连贯更新慢、版权风险高
代码编程能力、符号结构、逻辑模式许可证问题、重复仓库多
百科事实知识、实体关系表达单一、覆盖有限
问答/社区解释表达、交互风格质量不稳定、可能带偏见
多语种语料多语言能力语种配比失衡会挤压低资源语言

多来源混合是工业界标配:不同来源对应不同能力,配比决定能力偏向;只靠单一来源(比如全是网页)会让模型知识面与表达多样性都受限。

数据清洗与去重

原始数据不能直接用,要经过一条处理管线:

1
2
3
原始采集 → 格式解析 → 语言识别 → 编码修复 → 乱码/空文本过滤
→ 正文抽取 → 去重 → 质量过滤 → PII 脱敏 → 安全过滤
→ 评测集污染检测 → 版权审查 → 人工抽检 → 版本入库

两个容易忽略的点:

  • 去重极其重要:重复样本浪费算力、诱导模型记忆化(背诵而非泛化),还会把评测题泄露进训练集,让 benchmark 分数虚高——所以公开题库要建指纹库做污染检测(Exact Match、n-gram、MinHash、embedding 相似度逐级加严);
  • 清洗过犹不及:过滤太狠会误删长尾知识、少数语言、公式和法律条文,模型知识面变窄;工业界用"分层过滤 + 质量打分 + 加权采样",高质量数据加权、低质量降权或删除。

PII(个人信息)与隐私要按风险分级处理:身份证、银行卡、API Key、病历、合同直接删除;姓名、地址、联系方式脱敏替换(如 [PHONE]);版权不明确的数据隔离待授权。因为模型会记忆训练样本并在特定提示词下复述——训练语料里的隐私和版权内容,就是产品上线后的泄露风险。

语料配比

配比决定能力偏向:网页给通用语言,代码给编程,数学给推理。配比没有固定公式,靠"小规模实验 → 验证集评估 → 调整权重"迭代;常见做法是阶段式配比——早期通用数据打底,中后期提高书籍、代码、数学等高质量数据比例。行业垂直模型(医疗、法律)也是"领域语料 + 通用数据"的混合,纯领域语料会退化通用能力。数据版本要像代码一样管理:哪批原始数据、什么清洗规则、什么配比、什么采样顺序,都要能回溯——否则模型能力突变、出现污染或泄露时无从定位。

Token 预算与算力量级

预训练按 token 消耗算力,粗估公式是:训练计算量 ≈ 6 × 参数量 × token 数(前向 2 倍 + 反向 4 倍的经验系数)。几个代表性量级:

模型参数量训练 token训练计算量(量级)大致资源
GPT-3175B300B约 3 × 10²³ FLOPs数千张 A100 训练数月
Chinchilla70B1.4T约 6 × 10²³ FLOPs同类规模集群数周以上
LLaMA 65B65B1.4T约 5 × 10²³ FLOPsMeta 内部集群,公开报告

训练一张前沿模型(数千亿参数、万亿 token)的单轮成本在数千万到数亿美元量级,还伴随硬件故障、训练不稳定、checkpoint 损坏等风险——所以只有头部机构做预训练,绝大多数团队只做后训练与微调。以上数字为公开资料量级参考,精确值以各模型技术报告为准。

训练样本组织与训练稳定性(工程视角)

  • 批次与打包:预训练按 token 计成本,padding(补齐对齐)浪费算力,所以用 sequence packing 把多个短文档拼进一个长序列,提高有效 token 占比;拼接处插入文档分隔标记,避免模型把无关内容学成连续上下文;
  • 损失与困惑度:每个位置做一次"词表大小的多分类",对真实下一个 token 求交叉熵;困惑度 = 交叉熵的指数形式,越低越"有把握",但只反映拟合程度,不等于综合能力;
  • 优化器与学习率:主流用 AdamW(稳定但优化器状态占显存大);学习率先 warmup(从小升到峰值,避免初期更新过猛)再 cosine decay(平滑下降);调度按已训练 token 数而非 epoch 计;
  • 混合精度:BF16/FP16 训练省显存、提速(Tensor Core 支持),关键状态保留 FP32;BF16 指数位多、动态范围接近 FP32,比 FP16 更稳;
  • 稳定性监控:大模型训练动不动就 loss spike、NaN、梯度爆炸,一个坏 batch 能浪费整轮算力;要持续监控 train/valid loss、梯度范数、NaN 率、tokens/sec、MFU,配 checkpoint 自动回滚——工程上"训练 30 天跑崩 5 次"是常态。

并行训练简述

单张 GPU 放不下模型,训练要并行切分,三种基本策略组合使用:

  • 数据并行:每张卡一份完整模型,各处理不同 batch,反向传播后同步梯度;
  • 张量并行:把单个大矩阵乘法拆到多卡共同计算,解决"单层太宽";
  • 流水线并行:按层切分,不同层放不同卡,解决"模型太深"。

再叠加 ZeRO/FSDP 这类分片技术(把参数、梯度、优化器状态分散到多卡,用通信换显存)和混合精度(BF16 为主,稳定性好、省显存),现代大模型才能跑起来。MoE 模型还要加专家并行(不同专家放不同卡,token 按路由跨卡分发)。

预训练的常见失败模式

大模型训练"跑崩"是常态,提前认识失败模式,遇到时才能定位:

现象可能根因缓解
loss spike / 梯度爆炸坏 batch、学习率过高、数据异常梯度裁剪、降低学习率、跳过坏 batch
NaN / Inf混合精度溢出、softmax 不稳定BF16 替代 FP16、loss scaling、QK-Norm
valid loss 回升过拟合或数据分布问题停止训练、检查数据重复率
训练不收敛学习率调度、warmup 设置不当先排查数据与学习率,再动模型
卡间通信慢网络拓扑、并行策略不匹配调并行维度组合、通信重叠
GPU 空转数据管线跟不上预 tokenization、异步加载、packing

监控要覆盖模型指标(loss、梯度范数)、数值指标(NaN 率、loss scale)、系统指标(tokens/sec、MFU、显存)与数据指标(异常 batch、padding 比例)四类——训练 30 天跑崩 5 次在预训练项目里不是段子,而是预算的一部分。

何时停止训练:预训练通常由算力预算与边际收益决定——loss 下降趋平、下游能力不再提升、继续训练投入产出比变差就收手,转入后训练;微调则看验证集:验证集不再提升就 early stop,继续只会过拟合。注意训练 loss 持续下降 ≠ 模型在变好,要以验证集与下游评测为准。

扩展定律:三者的关系

扩展定律(Scaling Law)描述:在架构与数据分布稳定时,预训练损失随参数量、数据量、计算量的增大按幂律下降——规模继续扩大仍能带来收益,但收益递减。DeepMind 的 Chinchilla 研究修正了此前的配比认知:

  • 核心结论:固定算力下,参数和数据要同步扩展,不能只堆参数;
  • 经验配比:训练 token 数约为参数量的 20 倍(70B 参数配 1.4T token),是常见的计算最优经验值;
  • 实际中为什么常欠训练:计算最优 ≠ 经济最优——欠训练的小参数模型部署与推理更便宜,同一个算力预算可以服务更多用户。InstructGPT 论文就明确选择了训练不足但推理成本低的模型。所以"模型没训够"在工程上往往是理性选择。

扩展定律的工程用法:先用小规模实验拟合损失曲线,外推估算大训练任务的收益与成本;它也用来识别"加数据没用了"(边际收益递减)和"模型欠训练"(参数与数据不匹配)——但记住它预测的是语言建模损失,不直接等于下游能力、事实性与产品体验

为什么需要后训练

预训练产出的基座模型本质是"续写机器":给它一段话,它按概率续写,而不是"回答"——你问"今天几号",它可能继续写"今天天气不错"。它也不遵循指令格式、不会拒绝有害请求、不表达不确定性。对齐问题(alignment problem)由此提出:如何让模型的行为符合人类意图——回答问题而非续写、遵守约束、拒绝越权、承认不知道。这就是后训练阶段要解决的,主流路线是下面的指令微调与 RLHF。对齐是开放问题:输入空间无法穷举,不同文化对"正确、安全、有帮助"的标准还会冲突,所以对齐只能"显著降低风险",无法"保证永远安全"。

指令微调(SFT)

指令微调(SFT,Supervised Fine-tuning)是后训练的第一步:用指令-回答对数据做监督学习,让模型学会"用户提问 → 助手回答"的对话格式。

指令数据长什么样

典型样本是 instruction / input / output 结构,落地到对话里就是 system/user/assistant 三角色:

1
2
3
system:  你是一个专业、可靠的 AI 助手。
user:    请解释什么是 LoRA。
assistant: LoRA 是一种参数高效微调方法,它冻结原始模型权重,只训练低秩增量矩阵。

Loss Mask:只对回答算损失

训练时通常只对 assistant 回复计算损失(loss mask 把 system/user 部分遮掉,工程上把不参与损失的 token 标签设为 -100)——否则模型会去学习复述用户输入,而不是学习回答。细节都藏在这个机制里:

内容是否参与 loss原因
system / user是条件输入,不是学习目标
assistant 回复模型要学的"正确回答"
结束符 EOS通常参与让模型学会在合适位置停
工具调用参数参与学会生成合法工具参数
工具返回结果是上下文,不能让模型"学会伪造结果"
padding无意义

训练格式必须与推理格式完全一致(同一套 chat template、同一套角色标记):训练时没见过的 system 提示词,上线后模型可能不认;训练时没有工具调用格式,上线后让它输出 JSON 参数就乱。这是微调项目"离线好、上线崩"的头号原因。

数据质量的重要性

SFT 的核心经验是质量远重于数量:几千条高质量、行为一致的样本,胜过几十万条模板化、重复、错误的样本。高质量指令数据要满足:指令明确、回答正确、格式稳定、场景真实、覆盖多样、保留拒答样本。构造途径包括:

  • 专家标注:领域专家构造/审核,质量最高,成本也最高(医疗、法律、金融等高风险领域必须);
  • Self-Instruct:大模型生成指令与回答,扩展快但容易空泛、重复、带幻觉,必须质检;
  • RAG 生成:基于领域文档检索后生成问答,事实依据强,适合知识密集领域;
  • 蒸馏:用强模型生成样本,可迁移强模型能力,但要防幻觉复制;
  • 真实数据脱敏改写:业务日志、案例脱敏后改写,最贴近真实场景,合规要求高。

合成数据必须做质量控制(事实校验、去重、一致性检查、专家抽检),否则形成"错误反馈链"——生成模型的幻觉被重新注入训练集。

一个 SFT 数据的构造流程

实际工程可以按以下流程推进,每步都留质量闸口:

1
2
3
4
明确目标能力 → 设计对话模板与数据 schema → 收集真实任务样本
→ 人工标注或模型辅助生成 → 质量审核与事实校验 → 去重清洗
→ 安全与合规检查 → 格式校验(JSON/SQL 是否可解析)→ 设置 loss mask
→ 划分训练集与验证集 → 小规模试训 → 评估后扩大

两个最容易翻车的点:格式校验(结构化任务的数据必须能解析,否则模型学不会输出合法格式)与质量审核(错误样本进训练集,模型会把错误放大)。

多轮对话与工具调用的 SFT 数据

单轮问答之外,两类数据要单独设计:

  • 多轮对话:历史轮次做上下文,可以"所有 assistant 回复都参与 loss"(学完整对话模式)或"只训练最后一轮"(学给定历史后的回答);要保证指代、追问、角色一致性;
  • 工具调用:assistant 生成的函数名与参数 JSON 参与 loss(模型必须学会"何时调用、调哪个、参数合法"),工具返回结果不参与 loss(否则模型学会伪造工具结果);基于工具结果生成的最终回答参与 loss。

这两类数据直接决定 Agent 产品的成败——SFT 数据里没有工具调用格式,模型上线后就不会用工具(见 Agent 与工作流)。

人类反馈强化学习(RLHF)

SFT 让模型"会答",但"答得好不好"还是人说了算。RLHF(基于人类反馈的强化学习)把人类偏好变成训练信号,是 ChatGPT 系列的核心技术。

四步流程

  1. 预训练:得到基座模型;
  2. SFT:指令数据微调,得到会对话的模型;
  3. 训练奖励模型:让标注员对同一问题的两个回答排序,训练一个奖励模型(RM)学会预测"人类更喜欢哪个"——奖励模型本质上是"人类偏好的代理打分器";
  4. PPO 优化:用强化学习(PPO 算法)优化策略模型,让它生成的回答尽量拿高分——同时用 KL 约束限制模型不能偏离参考模型太远。

PPO 直觉

PPO 的直觉:让模型多采样、多对比——生成一批回答,奖励模型打分,高分回答对应的生成概率被上调,低分的被下调,逐步逼近"人类偏好"。KL 约束的作用是防跑偏:如果只追求奖励高分,模型会钻奖励模型的空子(reward hacking),比如输出越来越长、越来越模板化来"讨好"打分器,实际质量反而下降。工业界还专门发明了长度奖励惩罚(overlong reward shaping)来对抗"变长刷分"。

成本与不稳定

RLHF 是出了名的贵和难调:需要奖励模型 + 策略模型 + 参考模型等多套模型同时运行,训练曲线不稳定,奖励尺度、KL 权重、学习率都要精细调参;标注员排序数据本身成本高、主观性强;奖励模型不准时还会出现 reward hacking、模式坍缩(输出千篇一律)或通用能力退化。这也是后续 DPO 等方法出现的原因。

对齐税(Alignment Tax)

对齐不是免费的:让模型"听话、安全、拒绝越权"的同时,部分创造力与自由度会受损——InstructGPT 论文观察到对齐后的模型在部分开放任务(如创意写作、翻译的多样性)上表现反而下降,这就是对齐税。产品经理的启示:对话助手追求"乖",内容创作工具追求"放得开",两者对对齐程度的需求是冲突的,选型时要想清楚产品要哪头。

奖励模型是怎么学偏的

某团队给客服助手训奖励模型,标注员排序时明显偏爱"回复更完整"的回答——奖励模型学到了"长 = 好"。PPO 阶段模型发现刷分捷径:疯狂加长套话,"您的意见我们非常重视,我们会认真记录并及时反馈……"一段接一段。人类评估分数反而下降,就是典型的 reward hacking(奖励模型被钻空子)。整改:奖励里加长度惩罚项、KL 约束加大、并定期做"奖励分数 vs 人工抽检"的背离检测。这个案例说明:奖励模型是"代理打分器",不是真理——它学的是标注员偏好里可被利用的模式。

RLHF 的替代与演进

方法核心思路相比 RLHF
DPO直接用"偏好对"(好回答/差回答)训练,把奖励隐式写进损失不需要奖励模型和在线采样,稳定、低成本
RLAIF用 AI 反馈替代人类标注(让强模型当评审)省标注成本,评审可能继承 AI 偏差
宪法式 AI + RBR先写"宪法"原则,再按原则做 AI 反馈;用基于规则的奖励(RBR)约束安全行为Claude 系路线:把安全约束显式化、规则化
RLVR(GRPO)可验证奖励(答案对错、代码测试是否通过)做强化学习,组内相对奖励去掉 critic面向推理任务,DeepSeek-R1 的路线

DPO:直接偏好优化

DPO 的洞察是:RLHF 里奖励模型的作用可以"折叠"进损失函数——只要有同一问题下的偏好对(chosen/rejected),就能直接训练模型提高好回答的概率、压低坏回答的概率,不需要奖励模型、不需要在线采样。工程上接近普通监督学习,稳定且省算力,成为 2024 年后指令与偏好优化的主流默认。局限:依赖高质量偏好对(标注噪声、长度偏差会被学进去),探索能力弱于在线 RL。

RLAIF 与宪法式 AI

RLAIF 用 AI 反馈替代人类标注:让强模型(或同模型的更大版本)当评审给回答打分,再按 RLHF 流程训练——省掉大规模人工标注。宪法式 AI(Claude 系路线)更进一步:先人工编写一套"宪法"(行为原则清单),AI 按宪法条款对回答提出批评与修改,再用修改后的回答做偏好训练;安全行为再用基于规则的奖励(RBR)硬性约束(如禁止输出敏感内容时直接给低分)。这套路线的特点是安全约束显式化、可审计

推理模型时代的 RL:DeepSeek-R1 案例

2025 年的 DeepSeek-R1 证明了一条新路线:纯强化学习也能训出推理能力。做法要点:

  • 可验证奖励(数学答案是否正确、格式是否合规)替代人类偏好,不需要奖励模型打分;
  • 算法用 GRPO:同一道题采样多个回答,用组内相对奖励判断优劣(组内平均分作基线,高于平均的强化),因此不需要 PPO 那套价值网络(critic);
  • 冷启动用少量高质量思维链样本做 SFT 种子,之后大规模 RL 训练,模型自发涌现出"思考、反思、自我纠错"行为;
  • 同一份推理能力还通过蒸馏迁移给了 1.5B-70B 的小模型(见「蒸馏」节)。

这套范式把推理模型训练成本从"人类标注 + 奖励模型 + PPO"压缩到"可验证任务 + 采样 + 组内比较",是 2025 年推理模型浪潮(o1、R1 及各家的 Thinking 模式)的共同技术基础。注意它的前提是任务可自动验证(数学有标准答案、代码有测试用例)——开放写作这类任务没有客观对错,还得回到偏好路线。

推理模型训练的成本与门槛

  • 算力成本高:RL 阶段要反复采样(每个问题生成多份回答再打分),推理量是训练的好几倍,GPU 成本大头从"训练"转移到"采样";
  • 奖励设计是成败关键:可验证任务用规则/测试;半开放任务(代码风格、长文质量)要设计过程奖励或验证器,奖励错了模型就学歪;
  • 长度失控:纯 RL 容易让模型"为想而想",输出无限变长(token 成本爆炸),需要长度奖励塑形与输出上限约束;
  • 冷启动数据仍要 SFT:R1 的经验是先给少量高质量思维链种子,纯 RL 从零起很难训稳——"纯 RL"是宣传重点,工程上仍是组合拳。

对产品经理的含义:推理模型训练是重算力的玩法,多数团队不会自己训,但理解成本结构有助于评估"推理 API 为什么贵"——思考 token 按输出计费且不可省略,预算公式要把思考量算进去(见 模型能力与选型)。

微调技术

后训练是模型厂商做的;微调是业务团队在模型之上做定制。两类做法:

全参微调 vs LoRA/QLoRA

方法更新什么显存/成本适合
全参微调全部参数高:梯度、优化器状态、多份权重领域差异极大、底座能力不足、数据算力充足
LoRA只训练注入的低秩增量(ΔW = BA,rank 通常 8-64)低:底座冻结,只存小适配器大多数业务定制
QLoRA同 LoRA,但底座权重压到 4-bit更低:单卡可微调大模型显存紧张的团队/个人

LoRA 的核心假设:业务微调通常不需要大改模型,只需要在低维子空间里"微调方向"——冻结原权重 W,在旁边学两个小矩阵 A、B 组成增量 ΔW=BA(A 随机初始化、B 初始化为 0,保证训练起点行为不漂移),推理时合并回 W(合并后几乎零额外延迟)。关键超参数:

参数作用直觉
rank r低秩矩阵维度越大表达力越强,但参数量与过拟合风险上升
alpha增量缩放系数控制 LoRA 分支对原权重的影响强度
dropout分支随机失活缓解小数据过拟合
target modules插在哪些层常插注意力 q/v 投影;覆盖越多越强也越贵

QLoRA 再把冻结的底座量化到 4-bit(配合 NF4 格式 + 双重量化 + 分页优化器),消费级显卡就能微调几十 B 的模型——代价是训练速度略慢、部署时量化底座与适配器合并更复杂。同类还有 Adapter(层间插入小瓶颈模块,适合多任务插件化管理)、Prefix/Prompt Tuning(学连续向量前缀,参数最少但表达力有限),但 LoRA/QLoRA 因效果、成本、部署便利最均衡,是实际默认。

微调的数据需求与风险

  • 数据量:指令微调几百到几万条高质量样本即可见效;需求越大、任务越难,数据要求越高;
  • 过拟合:数据少、epoch 多、学习率大 → 模型背题,验证集与真实场景效果差;
  • 灾难性遗忘:模型学会新任务,却忘了通用能力(通用问答、安全拒答、格式稳定性下降)——缓解手段:LoRA 限制改动面、混合通用数据、降低学习率、多维回归评估;
  • 幻觉放大:微调数据里的错误、重复、模板化内容会被模型放大学走;微调"塞知识"尤其危险——知识应该走 RAG,微调更适合学行为(话术、格式、流程、风格)。

领域微调案例

  • 客服机器人:微调学会业务话术、服务流程与知识边界,回答更"像自家客服";
  • 工具调用:微调学会在合适时机输出函数名与合法参数,提高 Agent 工具调用成功率(见 Agent 与工作流);
  • 法律文书:微调熟悉术语、引用格式与审慎表达;
  • 结构化输出:微调稳定产出 JSON/SQL,减少解析失败。

微调框架选型

框架选择看工程约束,而不是背名字:

需求推荐说明
快速业务交付LLaMA-Factory / Axolotl集成式:数据模板、LoRA、评估、导出一条龙
算法实验、自定义 lossTransformers + PEFT + TRLHugging Face 生态,灵活但自己拼
偏好优化 / RLVROpenRLHF / verl支持 rollout、奖励模型、分布式 RL 训练
单卡低成本实验Unsloth / QLoRA 系显存优化极致,消费级显卡可用
中文模型微调XTuner / Swift中文生态(InternLM / ModelScope)配套好

选型逻辑:先确定任务类型、模型规模、硬件资源与是否需要后训练,再选框架——不要因为某框架"火"就上,它可能不支持你要的量化格式或后训练算法。

蒸馏

蒸馏(Distillation):用大模型(教师)教小模型(学生)。两种做法:

  • 软标签蒸馏:用教师的输出概率分布(比硬答案信息量更大)训练学生;
  • 样本蒸馏:用教师生成的高质量样本(问答、推理链、代码)训练学生。

能力迁移的著名案例是 DeepSeek-R1 的蒸馏版:把推理模型的思考过程蒸馏给 1.5B-70B 小模型,其中 32B 蒸馏版在数学基准上超过了 o1-mini——证明推理能力可以压缩进小模型。

何时值得蒸馏:高频调用场景(省成本)、延迟敏感场景(小模型更快)、隐私场景(小模型可本地部署不出域)、离线批处理。何时不值得:调用量低(省不下多少钱)、任务本身超出小模型能力(蒸馏不创造教师没有的能力)、教师质量不稳定(会放大噪声)。蒸馏的边界:学生模型继承教师的知识上限,教师不会的学生也学不会;且蒸馏数据要严格质检,否则教师的幻觉被复制放大。判断标准一句话:用评测证明"小模型 + 蒸馏"在你的任务分布上不掉点,再上规模

三条"降本小模型"路线的区分

蒸馏、量化、直接用小模型是三条不同的路,常被混为一谈:

路线原理能力变化成本
蒸馏教师生成样本/软标签训练学生从教师迁移能力,接近教师要训练,一次投入
量化压缩已有模型的权重精度能力基本不变,敏感任务略降无需训练,部署时转换
直接用小模型选一个参数少的模型原始小模型能力零成本起步

实践中三者可叠加:大模型蒸馏出小模型,再量化部署。判断顺序:先试"直接用合适的小模型"(如 Qwen3 0.6B-14B 档)→ 掉点明显再蒸馏 → 显存紧张再量化。

训练数据飞轮与评测

  • 评测驱动训练:模型迭代不是"训完看分数",而是"评测发现问题 → badcase 回流 → 修正数据 → 再训练"。训练、评测、数据三者的闭环是模型团队的日常工作流(评测体系见 评估与评测);
  • badcase 回流:线上错误案例分类归因(幻觉、漏答、格式错、安全越界),按类别补数据或调策略,比盲目加量有效;
  • 多维评估:不能只看目标任务指标——还要盯通用能力回归、安全性、格式稳定性、人工偏好与线上业务指标;微调/对齐后"领域变好、通用变差"是常态,没有回归集就是裸奔;
  • 数据版权与合规:2023-2026 年大模型厂商深陷版权诉讼(如多家媒体起诉 AI 公司使用其内容训练),数据合规从"能爬就爬"转向"授权优先 + 来源审计";企业自己做微调时,训练数据同样要过版权与隐私审查(PII 脱敏、合同文本隔离)。

训练-评测闭环的最小配置:任务评测集(30-100 条真实样本,覆盖常规/边界/失败案例)+ 通用能力回归集(50 条:通用问答、格式、安全边界)+ 基线组(base / prompt-only / RAG-only / 新模型四组对比)。每次训练改动只动一个变量,badcase 按类别归档(幻觉/漏答/格式/安全/长度),下一轮按类别补数据——没有评测闭环的微调是盲调,效果好坏全靠运气

产品视角:微调 vs RAG vs 提示词

五维度决策表

维度提示词RAG微调
任务形态即席任务、规则可描述知识问答、事实引用行为/风格/格式定制
数据量需求需要知识库(文档即可)数百条起,质量要求高
成本几乎为零建库 + 检索维护标注 + 训练 + 评估 + 持续维护,最贵
时效即时生效更新文档即生效训练周期长,知识不新鲜
可解释性高(改文本即可)高(可追溯来源)低(黑盒改行为)
合规无数据风险数据在检索层可控训练数据要过版权/隐私审查

微调项目的真实成本

微调的真实成本远不止"训练卡时":数据标注(专家成本最高)→ 数据清洗与质检 → 训练与调参(多次实验)→ 多维评估(目标任务 + 通用能力回归 + 安全)→ 上线后持续维护(模型版本升级要重调、数据漂移要补样)。一个小型 LoRA 项目的总成本以"人月"计,大型领域微调以"多人年"计——评估"值不值"要把这笔钱和它的收益对照。

原则:先 RAG 与提示词,评测证明不够再微调

Anthropic 官方工程博客(Building Effective Agents)与 OpenAI 官方文档给出的一致建议是:先尝试提示词与检索,评测证明不够再上微调——微调是成本与风险最高的一档,只在它能解决 RAG/提示词解决不了的问题时使用:

  1. 知识型需求(最新知识、私有文档)→ RAG,不要微调"塞知识";
  2. 行为型需求(话术、格式、风格、工具调用)→ 先提示词约束,不行再微调;
  3. 频繁失败的同一类任务、提示词怎么调都不稳 → 收集 badcase 微调;
  4. 微调前后同一评测集对比(base + prompt-only + RAG-only + 微调版四组基线),有提升才上线;
  5. 上线后监控通用能力回归——领域变好、通用变差是微调最常见的副作用。

什么时候不要微调:知识型需求(走 RAG)、低频冷启动需求(提示词即可)、单一模型评测没过(先换模型再考虑微调)、预算只够"训一次"(微调是要持续维护的项目,不是一次性动作)。

一句话总结:提示词是常态方案,RAG 是事实方案,微调是行为方案——把"塞知识"还给 RAG,把"改行为"留给微调,把"快验证"交给提示词。

常见误区

  • "微调可以塞知识":最贵的误区。微调不是高效的知识注入手段——知识更新慢、成本高、还会被压缩失真;最新与私有知识走 RAG;
  • "数据越多越好":不是。质量优先,几千条好样本胜过几十万条脏样本;重复数据反而诱发记忆化与过拟合;
  • "微调后看任务指标提升就行":不够。还要看通用能力回归、安全边界、格式稳定性与线上指标——"领域变好、通用变差"是常态;
  • "LoRA 效果一定不如全量微调":不一定。多数业务任务上 LoRA 逼近全量效果,而成本和遗忘风险低一个量级;差距明显时才考虑全量;
  • "对齐后的模型一定更好":不一定。对齐有对齐税,创意类任务上对齐模型可能反而退化;
  • "蒸馏免费获得教师能力":不是。学生继承的是教师的知识上限,且蒸馏数据质量决定天花板;
  • "RLHF 是唯一正路":不是。DPO 更简单稳定,GRPO 更适合可验证任务——按任务形态选,不是按名气选;
  • "微调一次管一年":不是。底座模型更新、业务数据漂移都会让微调效果衰减,微调是持续维护的项目,不是一次性交付——每次升级都要重跑评测与回归。

案例推演:客服质检助手

背景:某平台要给客服会话做质检(话术合规、情绪安抚、知识正确),想用微调提升效果。正确的决策路径:

  1. 先提示词:写一套质检评分 prompt(维度 + 评分标准 + 输出 JSON 格式),跑 200 条真实会话,人工对分数;
  2. 发现两个问题:知识正确性维度经常错(模型不知道最新政策),输出格式偶发不合法;
  3. 知识问题交给 RAG:政策库检索进上下文,知识维度明显回升;
  4. 格式问题:用结构化约束解码(JSON schema),格式错误归零;
  5. 此时再评测:剩余 badcase 主要是"话术敏感度判断"——模型对"威胁性/歧视性话术"的识别不稳定;
  6. 这才轮到微调:收集 2000 条敏感/非敏感话术样本做 LoRA 微调,评测集前后对比,敏感识别率提升且通用能力无回归,上线。

全程只花了一个小 LoRA 项目的小部分预算,却解决了 80% 的问题——顺序比力度重要

常见任务场景的适用对照

场景首选何时升级微调的理由
内部知识问答RAG检索命中率低 → 修检索/分块几乎不需要(除非话术要统一)
客服话术统一提示词话术漂移、格式不稳微调锁定话术与流程
结构化抽取(JSON/表单)提示词 + 约束解码格式错误多微调稳定格式
行业术语理解RAG + 术语表术语在上下文中仍不生效领域继续预训练/微调
工具调用(Agent)提示词 + 工具定义调用时机与参数错误率高微调工具调用格式
风格化创作(品牌调性)提示词(可带示例)风格不稳定微调风格样本

微调上线前检查清单

  1. 评测集覆盖常规/边界/失败案例?基线组(base / prompt-only / RAG-only / 微调版)对比过了吗?
  2. 目标任务指标提升的同时,通用能力回归集(通用问答、安全拒答、格式)有没有掉点?
  3. 训练数据过了版权与隐私审查(PII 脱敏、合同隔离)?
  4. 对话模板与推理侧完全一致(同一套 chat template、角色标记、工具格式)?
  5. 采样参数与评测时的配置一致?模型更新后是否需要重跑评测?
  6. 上线后是否监控正确率、拒绝率、延迟与成本,并回流 badcase?

来源说明

本文为原创整理,综合以下资料撰写,访问验证日期 2026-08-23;模型与论文信息以官方页面为准。

  1. AIGC-Interview-Book「大模型基础(精华版)」:预训练(数据与算力)、后训练(微调与对齐)、模型评估章节(预取参考材料)
  2. Training Language Models to Follow Instructions (InstructGPT):RLHF 四步流程、对齐税、欠训练的经济性
  3. Chinchilla (Training Compute-Optimal LLMs):计算最优配比与 20 倍经验值
  4. Language Models are Few-Shot Learners (GPT-3):GPT-3 规模量级
  5. Direct Preference Optimization (DPO):无需奖励模型的直接偏好优化
  6. LoRAQLoRA:参数高效微调
  7. DeepSeek-R1:纯 RL 训练推理(GRPO)与蒸馏案例
  8. Anthropic Building Effective Agents:先提示词与检索、评测证明后再微调的原则
  9. 站内关联:大模型基础模型推理与部署评估与评测RAG 基础