【从模仿到创造:大模型如何通过“先SFT后RL”实现能力进化?】
🐇从模仿到创造:深入理解大模型后训练中的SFT与RL💭** ₊⊹
在探索大语言模型(LLM)的应用时,我们常常会遇到一个核心瓶颈:一个在通用语料上训练出的、知识渊博的模型,却难以稳定、可靠地执行特定任务。这就是后训练(Post-training)要解决的核心问题。通过系统性的学习与实践,我深刻认识到,后训练并非简单的“微调”,而是模型从“知识库”蜕变为“智能体”的关键一步。其中,监督微调(SFT)与强化学习(RL)的辩证关系构成了整个领域的骨架。
❔我们首先必须理解一个核心悖论,它贯穿了所有机器学习领域
监督微调(SFT)是“知识的高效继承者”。它通过最大化训练数据的似然概率,快速地将输入-输出映射关系“刻印”在模型参数中。这种方法的样本效率极高,因为它从每个数据标签中都获得了明确的指导。
强化学习(RL)是“经验的缓慢探索者”。它不直接告诉模型正确答案,而是让其通过试错与环境交互,根据一个稀疏的奖励信号(如“任务成功”或“任务失败”)来调整行为。其样本效率极低,因为每个交互回合只能提供一个比特级的反馈信号。
这个悖论决定了它们的本质差异:SFT倾向于记忆数据分布的表层统计规律,而RL被迫学习任务背后的底层因果结构
一、 核心:SFT是“形”,RL是“神”💭** ₊⊹
核心规律:SFT 倾向于记忆训练数据的表面模式,而 RL 能够学习可迁移的抽象策略。我们可以这样理解:
SFT(监督微调)像是书法临帖。它通过高质量的“指令-回答”配对数据,教会模型一种特定的“笔迹”(输出格式)和“章法”(行为规范)。其目标是固化协议,追求在已知分布下的稳定与高效。
RL(强化学习)则像是实战创作。它让模型在模拟环境(或真实交互)中探索,只根据最终结果的成败(奖励信号)来调整策略。其目标是学习泛化,追求在未知情况下的适应与创新。
这个“记忆”与“泛化”的对照,是理解后续所有实验的钥匙。更重要的是,它们并非对立,而是协同关系:优质的“形”(SFT)是注入“神”(RL)的前提。一个连基本指令格式都无法遵循的模型,RL训练将无从谈起。
二、 基石:理解模型的起点——预训练💭** ₊⊹
在深入SFT与RL之前,必须理解模型的“出厂设置”——预训练。预训练让模型在海量文本上学会了语言建模和世界知识,使其成为一个“会说话的学者”。但它并不知道如何“办事”。后训练的目的,就是把这个“学者”打造成能解决实际问题的“专家”。
实验一:从头训练LLM(MiniMind 2)—— 算法改进的威力💭** ₊⊹
这个实验展示了在资源受限下,如何从零训练一个可用的小模型(1亿参数)。
核心流程:词元化 → 预训练 → 监督微调/偏好优化。
算法与架构的改进,往往比单纯的规模扩张更具性价比。实验引入了两项低成本但高效的优化:
QK Norm:稳定注意力计算,防止数值溢出或过小,改善训练动态。
Muon优化器:针对Transformer架构设计,比AdamW更高效。
这个实验奠定了后训练的基础。它提醒我们,在投入巨大资源进行SFT或RL之前,选择一个强大的、训练良好的基础模型至关重要。任何后训练的效果都受限于预训练模型所建立的知识结构和表征空间。
三、 监督微调(SFT):固化“协议”的艺术💭** ₊⊹
SFT的核心价值不在于注入新知识,而在于将稳定的交互格式、风格规范和行为模式“写入”模型参数,即 “固化协议”。它追求极高的样本效率,但代价是对训练分布的高度依赖。
实验二:语音SFT(Orpheus & Sesame)—— 固化风格与控制
Orpheus路径(语境提示):通过提供一段参考语音,让模型在生成过程中学会维持特定的音色、音调和节奏。它固化的是 “谁在说话”的协议。
Sesame路径(副语言标记):引入
<laugh>,<sigh>等特殊标记,训练模型在恰当位置触发对应的非语言现象(如笑声、叹息)。它固化的是 “如何说话”的协议。SFT在这里学习的不是“知识”,而是“控制协议”。它将复杂的声音工程控制(需要大量参数调整)转化为简洁的文本标记控制,极大地降低了推理时的操作成本。这体现了SFT的本质:把繁琐的、需要反复提示的“外部工作记忆”,折叠进模型的“内部参数记忆”。
实验三:多语言思考 —— 固化推理的“程序”💭** ₊⊹
神奇现象:用少量几种语言的“思维链”(Chain-of-Thought)数据训练后,模型能在未见过的语言上,也用该语言进行结构化推理。
本质:SFT学到的主要是推理的组织结构(如“分析-假设-验证-总结”)。这是一种语言无关的抽象程序。语言选择只决定了这个程序的“表层实现”。只要基础模型具备某种语言的基本能力,SFT就能将这种“程序模板”迁移过去。
这再次证明了SFT固化的是“结构”而非“内容”。它高效地教会了模型“如何思考”的格式,而不是“思考什么”的具体知识。这种能力迁移揭示了模型内部表征的抽象性。
SFT的边界:当“记忆”失效时
SFT的高效性源于其优化目标:最大化训练样本的对数似然。这使其能快速拟合给定数据分布。然而,当测试环境与训练数据出现分布偏移时——无论是规则、视觉外观还是任务形式的变化——SFT模型的性能会急剧下降,因为它学到的是表面的“映射关系”,而非底层的“因果逻辑”。这时,就需要RL来突破这道泛化的天花板。
四、 强化学习(RL):学习“为何”的探索💭** ₊⊹
RL让模型在结果奖励的驱动下,通过试错自主学习。它不直接模仿示范,而是探索环境中的因果关系,从而获得超越示范数据的泛化能力。
实验四:卡牌游戏GeneralPoints —— “记忆”与“泛化”的经典对照💭** ₊⊹
任务:用四张牌通过加减乘除算出24点。
关键设计(规则变体):训练时J/Q/K算10点,测试时则分别算11/12/13点。这确保了测试题是模型完全未见的。
结果:
SFT模型:性能暴跌。因为它完美地记忆了“J/Q/K=10”这个具体规则,但无法理解数字本身的抽象含义和运算规则。规则一变,其知识体系就崩溃了。
RL模型:性能提升。因为它通过无数次尝试,学习的是加减乘除的运算规则和数字的抽象属性。无论数字是10还是11,运算规则是通用的。它学会了“为何”这样算可以得到24,而不是“如何”模仿示范。
实验五:视觉导航任务(V-IRL)—— 多轮决策与感知优化💭** ₊⊹
这个实验将挑战升级到更复杂的多轮、多模态任务。
任务:根据指令,在真实城市街景中导航。
双重挑战:
规则泛化:训练用“绝对方向”(向北),测试用“相对方向”(左转)。
视觉泛化:训练数据是纽约街景,测试数据是米兰、香港等全球其他城市街景。
结果:
RL再次在分布外测试中展现出强大的泛化能力。
RL的优化反向传播并改善了视觉编码器。这意味着,以任务成功为目标的奖励信号,促使模型去学习那些对导航决策真正有用的视觉特征(如地标性建筑),而忽略无关的纹理细节。这是任务驱动的表征学习,证明了RL能从最终目标出发,优化整个智能体系统的底层能力。
实验六:机器人操作(SimpleVLA-RL)—— 超越模仿的“涌现”💭** ₊⊹
RL训练后的机器人自发产生了 “推切”策略。即不再遵循人类示范的“抓起-抬起-移动-放下”流程,而是“抓起后直接贴着桌面推送”。
这一“涌现”策略是RL价值的终极体现。它证明RL能够:
突破示范数据的局限:人类演示可能只是可行解,而非最优解。
探索环境中的物理规律:发现更高效、能耗更低、风险更小的解决方案。
实现真正的“智能”:即面对目标时,灵活运用资源达成目的,而不拘泥于固定程式。
五、 协同范式:“先SFT后RL”与工程实践💭** ₊⊹
所有成功的RL实验,都遵循一个黄金法则:“先SFT,后RL”。
这个分工是至关重要的。试图让RL同时学习“语法”和“语义”,就像让一个学生一边学习微积分一边学习算术规则,效率极低且极易失败。
SFT的作用是“塑形”:确保模型输出稳定、可解析的结构化数据(如JSON格式的动作指令)。这是RL训练能正常进行的基础。没有这个“形”,奖励信号无法计算,训练必然失败。
RL的作用是“优化”与“注入神韵”:在稳固的“形”之上,RL优化策略,提升在复杂、动态环境中的泛化能力和鲁棒性。
SFT奠定“形”:SFT的首要目标是稳定模型的输出空间。在Agent场景中,这意味着让模型学会输出可被解析的结构化数据(如规范的JSON、特定的动作指令)。如果没有这个“形”,RL训练根本无法进行。试想一个模型如果连基本的JSON格式都输出得乱七八糟,后续的奖励计算、状态追踪都将失效。SFT在这里扮演了“语法老师”的角色。
RL注入“神”:在“形”已稳固的基础上,RL负责注入“神”,即任务的语义、策略和泛化能力。RL不再关心输出是否合乎语法(这是SFT保证的),而是关心这个合乎语法的输出是否能在环境中导致成功的结果。它优化的是“语义”而非“语法”。
致谢🌸
谢谢大家的阅读,欢迎大家在评论区指出,如果我的内容对你有帮助,可以点赞 , 收藏 ,大家的支持就是我坚持下去的动力!
请赐予我平静,去接受我无法改变的 ;赐予我勇气,去改变我能改变的。
