Wink Pings

Hugging Face把智能体后训练拆成5步,从SFT到RL都配了代码和直播

智能体后训练比普通模型微调复杂得多,Hugging Face把整套流程拆成5个步骤,每一步都配了流程图、直播课、代码仓库和文档。从监督微调到强化学习环境,再到规模化部署,路径清晰。

Hugging Face把智能体后训练拆成5步,从SFT到RL都配了代码和直播

Hugging Face的merve转发了一条Sergio Paniego的推文,内容是关于怎么给智能体(agent)做后训练。他们把一个看起来挺复杂的过程拆成了5个步骤,每一步都配了流程图、直播课、代码和文档。

先补一下背景。后训练(post-training)指的是预训练之后的训练阶段,包括监督微调、蒸馏和强化学习。这些阶段把预训练模型变成能听懂指令、会用工具、能解决具体任务的模型。当模型作为智能体工作时,它要跑很多轮,调用工具、读结果、决定下一步。智能体的后训练要把整个多轮序列考虑进去,不能只盯单次回答。Hugging Face这套课程按顺序走,每个阶段解决前一个阶段留下的问题。

五个阶段总览:SFT、蒸馏、RL、RL环境、Harness和规模

1. SFT:先让模型学会抄正确答案

第一步是监督微调。模型学习复制智能体轨迹,轨迹就是一个更强的模型解决任务时的完整记录,包括每次工具调用和返回结果。这个方法便宜、稳定,但模型只看到正确的轨迹,从没见过自己的尝试。它在解题过程中犯了错,也没学过怎么从错误里恢复。后面的在线蒸馏和RL就是来补这个缺口的。

SFT流程:模型读取轨迹,学习预测每个token

对应的训练器是SFTTrainer,准备一份智能体轨迹数据集就能开始。

2. 蒸馏:让教师模型逐token打分

第二步是蒸馏。教师模型监督学生模型,方式有两种:教师自己写数据给学生学,或者对学生自己生成的token给出概率分布。教师通常是一个更大的模型,也可能是几个专家模型蒸馏成一个学生(MOPD),或者是同一个模型加上额外上下文做自蒸馏。

蒸馏的信号很密,每个token一个值,所以训练需要的样本比RL少。代价是学生受限于教师的知识范围,在线蒸馏还得在每个训练步都跑一遍教师。RL用奖励函数替代教师,只检查最终结果,省掉了教师推理的开销。

蒸馏流程:教师模型为学生生成的每个token评分

训练器是DistillationTrainer,需要提示词和教师模型。

3. RL:用分数代替教师

第三步是强化学习。模型从自己输出的分数里学习:写一个答案,奖励函数打分,训练让高分答案更可能出现。这样不需要教师,只要能检查答案就行。

这一步用的是GRPO算法。对每个提示采样多个答案,全部打分,提高高于组平均分的答案的概率。组内比较告诉模型哪些尝试更好,不需要单独训练一个价值模型来估计基线。

RL的信号比蒸馏弱,整个答案一个数,不是每个token一个。模型需要很多次尝试才能学到东西。普通奖励函数下每个答案只做单轮、只打一次分。环境让模型能多行动几次,看到每个动作的结果。

RL流程:模型对同一提示生成多个答案,按组内相对分数更新

训练器是GRPOTrainer,需要提示词和奖励函数。

4. RL环境:让模型多轮行动

第四步把奖励的来源从函数换成环境。环境保持状态、暴露工具、在多个回合里给出回应。环境运行工具,记录每一步改了什么,最后检查结果,比如跑通代码任务的测试用例。

每个回合比单次回答长得多,生成rollout成了训练里最慢的环节。这一步要准备任务和OpenEnv环境,训练器还是GRPOTrainer。

RL环境:模型调用工具,环境返回多轮结果,最终评估整轮表现

5. Harness和规模:在真实运行环境里训练

最后一步,每次rollout都是通过现有的智能体harness在远程沙盒里完整跑一遍。用实际部署时相同的harness训练,模型就在它将来运行的设置里学习。生成和训练跑在不同的GPU上,长回合不会让训练器空等。训练器把更新后的权重发回vLLM。

Harness和规模:每个rollout通过远程沙盒中的真实harness运行

训练器换成AsyncGRPOTrainer,需要任务、环境和智能体harness。

这套课程的价值在哪

技术本身不算新,SFT、蒸馏、GRPO、环境训练都是已有的方法。有价值的地方在于排列顺序和边界说明:什么时候用SFT就够,什么时候必须上环境和harness,每一步的前置条件和局限写得很清楚。每一步都配了直播、代码和文档,想动手的人可以直接顺着走。

课程主页在这里,四个直播的播放列表在这里。

发布时间: 2026-10-29 09:42