LLM后训练技术综合指南
SFT、RLHF、DPO、GRPO、LoRA、PPO、QLoRA、RLVR。八个缩写。如果你从事LLM工作,你都见过它们。如果你诚实的话,你能自信地解释其中三个。
这个差距很重要。如果你正在为下一个项目选择这些技术,错误的选择不仅浪费计算资源,还会限制模型的能力。SFT模型模仿。RLHF模型排序。DPO模型廉价对齐。GRPO模型推理。选错了层次,再多的提示词工程也无法修复。
这些不是独立的技术。它们是一个单一的进步序列。每个都是因为前一个碰到了瓶颈而被发明出来的。本文完整介绍这个链条,帮助你做出正确选择。
1、为什么重要
2025年1月,一个模型在美国数学邀请赛上得分71%,从训练前的15.6%提升。使用多数投票后,达到86.7%,匹配OpenAI的o1。这个飞跃背后的技术不是更大的模型或更多的训练数据。而是GRPO:一种让模型自主发现推理策略的强化学习方法。
这个结果位于一个始于2022年的进步序列的末端,当时OpenAI展示了经过SFT和RLHF训练的13亿参数模型可以超越1750亿参数的GPT-3。当时的教训与现在的教训相同:预训练后的训练方式比你开始的模型规模更重要。
如今,每个主要实验室在后训练上的工程投入都超过扩展基础模型。OpenAI已将其路线图转向后训练,因为预训练收益在递减。Meta的Llama 4使用多轮流水线,结合SFT、拒绝采样、PPO和DPO。DeepSeek通过在后训练侧而非预训练侧创新,以极低成本匹配了前沿基准。
如果你用LLM构建产品,这些技术不是可选的背景知识。它们是决定你的模型是玩具演示还是生产产品的技术栈。将它们理解为一个连贯的进步序列(而非孤立的缩写),是做出明智决策与盲目猜测之间的区别。
2、流水线概览
在深入了解每种技术之前,这是你将在本文后续部分携带的路线图。
整个后训练技术栈分为四个阶段。一个原始预训练模型从顶部进入。一个具有推理能力的产品从底部退出。每个阶段解决一个特定的差距:
阶段0:预训练。 模型从数万亿token学习语言。它理解语法、句法、事实和模式。但它没有"有帮助"的概念。问它一个问题,它可能回答、继续写问题或生成完全无关的内容。预训练给模型知识。不给模型行为。
阶段1:SFT。 监督微调通过在输入输出对上训练,向模型展示好的答案是什么样的。"当用户问X时,用Y回应。"这是模仿学习:模型复制它在策划演示中看到的模式。SFT后,模型遵循指令。但它无法区分好答案和更好的答案。
阶段2:对齐(RLHF或DPO)。 这是模型学习判断的地方。RLHF在人类偏好上训练奖励模型,然后使用强化学习(PPO)根据该奖励信号优化模型输出。DPO用更简单的方法实现同样的目标:跳过奖励模型,跳过RL循环,直接在偏好对上优化。两种方法都教模型选择更好的答案,而不仅仅是产生答案。
阶段3:GRPO / RLVR。 当前前沿。模型不是对齐到人类偏好,而是通过优化可验证的奖励(正确的数学答案、通过的代码测试)来学习推理。GRPO用更轻量的算法替代PPO,不需要批评家模型。模型自己发展出自我反思、验证和策略适应能力。
在这一切之下:LoRA。 这不是流水线中的一个阶段。它是一种效率技术,使上述任何阶段在真实硬件上变得可行。LoRA冻结基础模型,只训练小的适配器矩阵,将内存需求降低3倍或更多。没有LoRA(或其量化变体QLoRA),大多数团队根本无法运行SFT或DPO。
这样想:预训练是大学教育:广泛的知识,没有工作技能。SFT是工作培训:通过复制资深同事的好例子学习格式和期望。对齐(RLHF/DPO)是绩效评估:学习你的输出中管理者更喜欢哪些并相应调整。GRPO是独立问题解决:你验证自己的工作,发现自己的错误,发展自己的策略。LoRA是兼职做以上所有:同样的学习,极低的成本。
本文的其余部分逐步介绍这个流水线。每节首先介绍创造了对该技术需求的问题,解释该技术如何工作,并展示它带来的行业影响。读完后,你会看到这四个缩写不是孤立的工具,而是一个从预测到推理的连贯进步序列。
3、第1步:"它不遵循指令" → SFT
你刚下载了一个70亿参数的开源模型。它在TB级的互联网文本上训练。它可以写诗、生成代码并用十二种语言完成句子。你输入"我们的退款政策是什么?"它回应三段关于消费者保护法历史的话,然后是柠檬蛋糕的配方。
模型没有坏。它正在完全按照训练的方式做:给定之前的一切,预测下一个最可能的token。它没有"回答问题"的概念。它没有"有帮助"的概念。它是一个拥有博士学位的自动补全引擎。
监督微调通过向模型展示什么是有帮助的来修复这个问题。
SFT如何工作。 你构建一个输入输出对的数据集。每个对是一个提示及其理想响应。"当用户询问退款政策时,用这个具体答案回应。" "当用户要求总结文档时,以这种格式生成简洁摘要。" 模型使用与预训练时相同的下一个token预测目标在这些对上训练,但现在的训练数据是策划的期望行为演示,而不是原始互联网文本。
关键洞察:你不是在教模型新知识。知识已经存在于预训练权重中。你是在教它一个新行为:如何在响应指令时使用那些知识。SFT是行为调节,不是信息注入。
这就是为什么数据质量比数据数量更重要。OpenAI只用13,000个演示构建了InstructGPT。这些例子由40个标注者编写,大多数拥有大学学位或更高。结果:一个1.3B参数的模型,人类评估者更喜欢它而不是175B的GPT-3。13,000个精心编写的例子胜过了1750亿参数的原始规模。
行业时刻。 InstructGPT(2022年3月)证明了对齐胜过规模。这个洞见在八个月后成就了ChatGPT,启动了现代AI产业。你今天使用的每个对话AI产品都以SFT作为基础层开始。
SFT的不足。 SFT教模仿,不教判断。如果你的训练数据包含回答同一问题的十种不同风格,模型学到所有十种的平均值。它可以产生看起来正确的响应,但没有区分好响应和更好响应的机制。它复制了有帮助的形式而不理解实质。
还有一个实际风险:朴素微调会削弱基础模型20-30%的通用能力。模型在你的任务上变好,在其他一切上变差。这被称为灾难性遗忘,也是LoRA(我们接下来会讲)如此重要的原因之一:通过冻结基础权重,它保留模型的通用知识同时调整其行为。
要超越模仿,你需要一种编码偏好的方式。这是链条中的下一步。
但首先:你如何负担得起这样做?
在7B模型上运行SFT意味着更新70亿参数。这需要将模型、其梯度和优化器状态加载到GPU内存中。对于标准混合精度的7B模型,你需要大约56GB显存。对于70B模型,你需要一个集群。
这就是LoRA完全改变经济学的地方。
LoRA如何工作。 LoRA不是更新所有70亿参数,而是冻结整个预训练模型,在你想要调整的权重矩阵旁边注入两个小的可训练矩阵(称为A和B)。矩阵A将输入压缩到低秩表示。矩阵B将其投影回原始维度。A和B的乘积是一个紧凑的"更改摘要",添加到冻结权重上。
数学很简单。如果原始权重矩阵是4096 x 4096(约1670万参数),一个秩为16的LoRA适配器用两个矩阵替代:4096 x 16和16 x 4096,总计约131,000参数。不到原来的1%。相同的行为适应,极低的成本。
实际上,LoRA通常针对Transformer的注意力层(查询、键和值投影)。更激进的配置也针对前馈层。秩(r)控制权衡:更高的秩捕获更多细微差别但增加更多可训练参数。秩8到16覆盖大多数用例。
QLoRA更进一步。 它以4位精度加载冻结的基础模型而不是16位,再将内存需求降低75%。这项技术使得在单个48GB GPU上微调65B参数模型成为可能。QLoRA之前,这需要多GPU集群。
实际影响。 使用LoRA在7B模型上进行SFT在单个A100上运行2到4小时。使用QLoRA,它在消费级GPU上运行。成本从"GPU集群租赁"降到"咖啡钱"。这就是2023年开源微调爆发的原因:LoRA使SFT对个人开发者和小团队变得可及。
训练后,LoRA适配器可以合并回基础模型进行部署(零推理开销),或保持分离并为不同任务动态交换。一个基础模型,多个适配器,每个专门用于不同领域。这种模块化将LoRA转变为基础设施模式,而不仅仅是训练技巧。
4、第2步:"它遵循指令但选错答案" → RLHF
你的SFT模型在工作。它遵循指令,以正确格式响应,保持主题。你将其部署到支持团队测试。一天内,反馈涌来。
"它回答了问题,但语气很机械。" "它给了两个选项,但更差的选项列在前面。" "它总结了合同,但把关键条款埋在底部。"
模型没有错。它只是选择不好。SFT教它产生看起来像好答案的答案。但当多个有效响应存在时,它没有选择更好答案的机制。它学到了有帮助的形状,没有学排序。
从人类反馈的强化学习(RLHF)通过教模型偏好更好的输出来解决这个问题。
RLHF如何工作。 流水线有三个阶段,第一个是SFT(你已经做过了)。两个新阶段是:
阶段2:训练奖励模型。 你取SFT模型为同一提示生成多个响应。人类标注者排序这些响应:"响应A比响应B好。" 你收集数千个这些偏好对,用它们训练一个单独的模型(奖励模型),学习预测人类会偏好哪个响应。奖励模型以提示和响应作为输入,输出标量分数:越高表示越符合人类偏好。
阶段3:用PPO优化。 现在你用奖励模型作为训练信号。SFT模型生成响应。奖励模型给分。近端策略优化(PPO)算法更新模型权重以产生更高分数的响应。这循环运行:生成、评分、更新、重复。
有一个关键的安全机制。原始SFT模型的冻结副本与正在训练的模型一起。每一步,系统计算冻结模型输出和训练模型输出之间的KL散度(衡量两个概率分布差异的指标)。如果训练模型偏离起点太远,惩罚启动。这防止奖励黑客:模型通过产生高分但无用的退化输出来游戏奖励信号。
RLHF的成本。 这就是账单到达的地方。在PPO训练的任何时候,你有四个模型同时加载在GPU内存中:策略模型(正在训练)、参考模型(用于KL散度的冻结SFT副本)、奖励模型(给输出评分)、批评家/价值模型(为PPO估计期望的未来奖励)。对于7B参数模型,这意味着大约112GB显存。对于70B模型,你需要多节点GPU集群。超参数敏感性很高:学习率、KL惩罚系数、PPO裁剪比率、奖励模型校准。任何一个出错,训练就会崩溃或产生游戏奖励信号的模型。
这就是为什么RLHF在2022年和2023年仍集中在前沿实验室。工程复杂性和计算成本对大多数团队来说是禁止的。
行业时刻。 尽管成本高,RLHF创造了现代AI产品类别。ChatGPT(2022年11月)是一个RLHF训练的模型,两个月内达到1亿用户。一年内,每个主要实验室都采用了这个流水线:Anthropic用于Claude,Google用于Gemini,Meta用于Llama 2-Chat。训练模型变得有帮助、无害和诚实的概念从研究愿景变成了产品需求。
RLHF的不足。 四个模型在内存中。超参数敏感性。不稳定性。成本。这些为谁能负担得起偏好对齐设置了硬上限。到2023年,开源社区有访问优秀基础模型的途径,可以用LoRA运行SFT。但通过RLHF的对齐超出了能力范围。
该领域需要一种不需要RL机制就能获得偏好对齐好处的方法。这正是接下来出现的。
5、第3步:"对齐成本太高" → DPO
2023年,开源社区有一个问题。Llama和Mistral让每个人都能使用强大的基础模型。LoRA使SFT在单个GPU上负担得起。但对齐步骤(将模型从"遵循指令"变成"选择好答案"的部分)仍然需要完整的RLHF流水线:四个模型在内存中、PPO优化、以及知道如何防止它崩溃的工程师团队。
然后斯坦福的一篇论文完全改变了这个数学。
DPO的核心洞察。 DPO论文(Rafailov等人,2023年5月)展示了令人惊讶的事情:你不需要单独的奖励模型。语言模型本身就隐含了一个。通过重新参数化RLHF目标,作者推导出一个直接在偏好对上优化的损失函数,从不训练奖励模型或运行RL循环。
直觉是这样的。在RLHF中,你训练一个裁判(奖励模型),然后训练学生(策略)来打动裁判。DPO跳过裁判。相反,它向学生展示分级考试对("这个答案得A,这个得C"),让学生直接学习评分标准。同样的目的地,简单的多的路径。
DPO在实践中如何工作。 你需要两样东西:SFT模型和偏好数据集。偏好数据集包含三元组:一个提示、一个优选响应("chosen")和一个次选响应("rejected")。训练时,DPO计算模型为优选响应和次选响应分配的概率,与来自冻结参考模型(原始SFT检查点)的概率比较,并更新权重以增大差距。模型学会使优选响应更可能,次选响应更不可能,相对于起点而言。
两个模型在内存中。不是四个。没有奖励模型。没有批评家。没有PPO循环。标准监督训练基础设施开箱即用。
DPO + LoRA:民主化对齐的组合。 记住LoRA冻结基础模型并训练小的适配器矩阵。将LoRA应用于DPO,你得到在单个GPU上运行的偏好对齐。工作流变成:(1)用LoRA在你的指令数据上SFT,(2)用LoRA在你的偏好数据上DPO,以SFT检查点作为起点。两次训练运行,一个GPU,每次几小时。
在DPO之前运行SFT不是可选的。DPO论文的作者特别推荐它。SFT建立一个强大的起始策略,已经产生合理的响应。这减少了参考模型和偏好数据之间的分布不匹配,稳定了DPO训练并防止过拟合。跳过SFT直接在基础模型上运行DPO的团队通常得到更差的结果。
行业时刻。 DPO(与LoRA结合)引发了2023年和2024年的开源对齐爆炸。Hugging Face上出现了数千个对齐模型。Llama和Mistral的社区微调在许多任务上匹配或接近专有模型的质量。"微调即服务"成为一个业务类别。对齐不再是数十亿美元实验室的特权。
DPO也重塑了前沿实验室思考对齐的方式。Meta的Llama 4流水线将DPO与PPO一起使用。许多生产系统现在将SFT后接DPO作为标准两阶段对齐流水线,将完整RLHF保留给需要最大控制的情况。
诚实的权衡。 DPO是离线的:它从训练前收集的静态偏好数据集中学习。PPO是在线的:它在训练期间生成新响应并实时学习。对于模型需要超越当前能力的任务,PPO的在线生成可以找到DPO的固定数据集从不包含的更好解决方案。如果数据分布与模型实际输出分布不匹配,DPO也可能过拟合其偏好数据,这就是SFT优先工作流重要的原因。
还有一个更微妙的权衡:DPO模型倾向于产生变化较少的输出。在玩具问题上的研究表明,DPO收敛到单一最优策略并坚持它,牺牲多样性换取对齐。如果你的用例重视创意范围(起草营销文案、头脑风暴),这种收窄效应很重要。
对于大多数团队、大多数用例,DPO以10%的成本提供90%的对齐收益。剩下的10%是前沿实验室用PPO追求的。
DPO的不足。 RLHF和DPO都教模型与人类偏好对齐。但偏好是主观的。它们捕获人类喜欢什么,不是什么在客观上正确。让模型解决一个困难的数学问题,再多的偏好对齐也不会教它验证自己的推理。为此,你需要根本不同的训练信号:基于可验证的正确性,而非人类意见。
这就是我们现在所处的前沿。
6、第4步:"模型不会思考" → GRPO / RLVR
到2024年底,后训练技术栈已经成熟。SFT教模型遵循指令。DPO(或RLHF)教它们选择更好的答案。LoRA使整个流水线负担得起。你可以在单台机器上构建一个真正有用的AI助手。
但让这个助手解决一个新颖的数学问题,会发生一些揭示性的事情。它给出一个自信的答案。答案是错的。它不检查工作。它不尝试不同的方法。它甚至不注意到自己推理中的矛盾。
模型能服从命令。它不会思考。
偏好对齐教模型人类喜欢什么。它不教模型什么是正确的。对于有可验证正确答案的任务(数学、代码、逻辑、科学),"人类喜欢什么"不是你需要的训练信号。你需要"答案确实是对的"。
这就是带有可验证奖励的强化学习(RLVR)背后的洞察。而使其在实践中可行的算法是群组相对策略优化(GRPO)。
RLVR如何工作。 不是在人类偏好对上训练奖励模型,而是你定义一个可验证的奖励函数。对于数学:模型的最终答案匹配真实答案吗?对于代码:输出通过测试套件吗?对于逻辑谜题:结论有效吗?奖励是二元或标量的,自动计算,无需人类标注。
这完全改变了强化学习的经济学。人类偏好标签昂贵、收集缓慢且数量有限。可验证的奖励免费、即时且无限制。你可以在没有标注者的情况下生成数百万个训练信号。
GRPO如何工作。 GRPO是DeepSeek用来训练R1的RL算法,它解决了PPO最大的实际问题:四模型内存瓶颈。
记住PPO的设置:策略模型、参考模型、奖励模型和批评家(价值模型)。批评家的工作是估计"基线"期望奖励,以便算法计算优势(特定响应比平均好多少或差多少)。训练和维护这个批评家昂贵且不稳定。
GRPO完全消除了批评家。不是用单独的模型估计基线,GRPO为每个提示采样一组响应,使用组的平均奖励作为基线。如果你生成16个响应,4个是正确的,正确的获得正优势,不正确的获得负优势。优势相对于组计算,而不是相对于学习的价值函数。
三个模型变成两个。批评家消失了。奖励信号来自可验证的函数,而不是学习的模型。训练循环更简单:生成一批响应,验证它们,计算群组相对优势,更新策略。
GRPO训练中出现了什么。 这是连DeepSeek的研究人员都感到惊讶的部分。随着训练进行,模型自发地发展出没人编程的行为:
它开始为更难的问题生成更长的响应。当一种方法似乎可能失败时,它开始重新评估步骤。它发展出研究人员描述的"顿悟时刻",模型暂停,发现自己的推理错误,并纠正方向。
AIME分数说明了故事。GRPO训练前:15.6%。GRPO训练后:71%。使用多次尝试的多数投票:86.7%,匹配OpenAI的o1模型。模型不是从人类演示中学到这些推理策略。它通过可验证奖励的压力发现了它们。
行业时刻。 DeepSeek-R1(2025年1月)创造了一个全新的产品类别:推理模型。OpenAI的o1和o3、Google Gemini的扩展思考模式,以及一波开源推理模型随之而来。数学基准上的性能从50-60%跃升到80-95%。这不是增量改进。这是模型能力的质的飞跃。
更深层的行业影响是战略性的。RLVR可预测地随计算扩展:更多的训练步骤产生更好的推理,没有限制RLHF的奖励黑客上限。这意味着后训练计算现在有明确的缩放规律,就像预训练一样。在RLVR上投入更多计算的实验室成比例地获得更好的推理模型。后训练已从"对齐润色"转向"能力前沿"。
GRPO本身已经在迭代。DAPO(来自字节跳动,2025年)引入了动态采样和token级梯度等技术,以50%更少的训练步骤超越了DeepSeek-R1-Zero。模式继续:每种方法移除前一种施加的约束。
诚实的权衡。 RLVR只在你有可验证的奖励信号时有效。数学有正确答案。代码有测试套件。但创意写作呢?法律分析?医疗建议?对于"正确"是主观的开放式任务,RLVR不适用。你仍然需要DPO或RLHF处理那些领域。
DeepSeek-R1的完整流水线反映了这个现实。它使用带有可验证奖励的GRPO处理推理任务,然后为开放式任务的有帮助性和安全性运行带有人类偏好数据的单独对齐阶段。这些技术不是彼此的替代品。它们是完整技术栈中的层次。
7、设计选择和权衡
你现在看到了完整的技术栈。以下是如何选择。
本文中的技术不是竞争选项。它们是流水线中的层次,大多数生产系统使用不止一个。选择前的一个重要注意事项:大多数团队在寻求微调之前应该先尝试提示词工程和检索增强生成(RAG)。如果你的问题是"模型不了解我的领域",RAG更便宜、更快。微调是当你需要改变模型的行为,而不仅仅是它的知识时使用。
但当你确实需要微调时,选择哪些层次取决于你在构建什么、你有什么数据、你能负担得起花费什么。
三种实用技术栈。 大多数团队会使用以下组合之一:
技术栈1:SFT + LoRA。 你有一个基础模型和高质量输入输出示例的数据集。你想要模型遵循特定格式、使用领域特定术语或采用特定风格。你没有偏好数据,也不需要模型排序竞争答案。这是最简单、最便宜、最快的路径。一次训练运行,一个GPU,几小时。从这里开始。
技术栈2:SFT + DPO,两者都用LoRA。 你有指令数据和偏好数据(或者可以通过让SFT模型生成多个响应并对它们排序来生成偏好数据)。你想要模型不仅遵循指令,而且在多个有效响应存在时选择更好的答案。这是大多数开源从业者的标准对齐流水线。两次训练运行,一个GPU,同一天完成。
技术栈3:SFT + DPO/RLHF + GRPO。 你需要在有可验证答案的任务(数学、代码、逻辑)上具有推理能力。这是前沿实验室的流水线。DeepSeek-R1、OpenAI的o系列和类似的推理模型使用这个完整的技术栈。NVIDIA的Nemotron Nano 2(2025年)是一个具体例子:其后训练流水线按顺序结合了SFT、GRPO、DPO和RLHF。本文的所有四种技术,一起用于单一生产模型。计算需求显著更高,但能力增益是质的,而非增量的。
关于数据的说明。 你能用的技术通常由你有的数据决定。SFT需要输入输出对。DPO需要偏好三元组(提示、选择、拒绝)。RLHF需要相同的偏好数据加上训练奖励模型的基础设施。GRPO/RLVR需要有可验证正确答案的任务。如果你没有偏好数据,你无法运行DPO。如果你的任务没有可验证的答案,你无法运行RLVR。数据比任何技术偏好更能塑造流水线。
一个越来越常见的模式:用SFT模型生成多个候选响应,然后用奖励模型(甚至是一个更强的LLM充当裁判)对它们排序。这创建了可以输入DPO的合成偏好数据。质量无法匹配专家人类标注,但它免费且可以扩展到任何数量。
原文链接: Post-Training Matters More Than Pretraining Now: SFT, RLHF, DPO, and GRPO
汇智网翻译整理,转载请标明出处