
从 76% 到 94%用 slime 知识蒸馏 OPD 让小模型追上大模型【免费下载链接】slimeslime is an LLM post-training framework for RL Scaling.项目地址: https://gitcode.com/GitHub_Trending/slime12/slimeMath500 上Qwen3-8B 只经过 SFT 时拿到 76% 的 Pass1用 slime 做一轮 On-Policy DistillationOPD之后同一个模型冲到 94%。同一底座、同一套训练数据差别只在有一位更强的教师模型带着练。大模型贵、推理慢、部署重。OPD 是一种把 LLM 模型压缩与 LLM 后训练结合起来的办法不靠额外堆数据而是借用教师模型的输出分布直接把小模型的提性能空间挖出来。小模型凭什么追得上大模型OPD 的关键在名字里的“on-policy”训练样本只来自学生模型自己生成的轨迹。学生模型采样出回答后教师模型会为这条回答里的每个 token 给出自己的 log 概率评分训练损失就从原始 advantage 里减掉一个与学生-教师评分差成正比的惩罚。这相当于一份逐 token 的“作业批改”教师不重写标准答案只标注学生写出来的每个 token 离教师有多远差得越多罚得越重。信号是稠密的而且永远贴着学生当前的水平不会出现分布漂移。这个惩罚项加在 advantage 上与优势估计器正交可以叠加在 GRPO、PPO、REINFORCE 等估计器之上当任务奖励为 0 时同一机制就是纯蒸馏——这正是 slime 里 OPD 的实现方式。教师模型怎么接进来SGLang 还是 Megatronslime 提供两种教师接入模式按场景选教师太大、装不进训练进程的显存或者双方架构不同→ SGLang 模式。教师部署在独立的 SGLang 服务器上rollout 阶段把学生采样的 token 发过去打分教师与训练物理隔离多占一块 GPU 和一个服务即可。架构相同、显存也放得下→ Megatron 模式。教师直接加载进训练进程在前向阶段就地算出教师 log 概率不走网络、效率更高。注意教师 checkpoint 必须是 Megatrontorch_dist格式仓库自带转换脚本。两种模式都要求双方 tokenizer 和词表兼容否则教师打的是错位的 token 分。三步跑通的最短路径备好 checkpoint下载学生与教师模型把学生转成 Megatron 格式Megatron 模式还要把教师一并转换。拉起教师服务SGLang 模式的脚本会在后台自动启动教师服务器并轮询健康接口直到就绪。执行蒸馏脚本bash examples/on_policy_distillation/run-qwen3-8B-opd.shMegatron 模式改用同目录下的对应脚本把 OPD 参数行换成--use-opd --opd-type megatron --opd-kl-coef 1.0 --opd-teacher-load /path/to/teacherKL 系数往哪个方向调参数作用--use-opd开启蒸馏的开关--opd-type选教师接入模式--opd-kl-coef蒸馏信号的权重--opd-teacher-load教师 checkpoint 路径--opd-kl-coef默认 1.0决定学生“听教师多少话”学生过度拟合教师、提升停滞时调小提升不明显时调大经验区间 0.5~2.0。教师模型接入的三个常见坑⚠️坑一教师 checkpoint 没转换。Megatron 模式只认 Megatron 格式直接喂原始模型会加载失败务必先转换。坑二参数组合冲突。--opd-type sglang与--opd-teacher-load互斥megatron 模式漏填--opd-teacher-load同样报错。系统会给出明确提示按提示删掉或补上即可。坑三词表不一致。SGLang 模式下两模型 tokenizer 不同教师会按错位 ID 打分。选教师前先确认词表兼容。资源索引示例与文档OPD 示例脚本与 README中文文档在策略蒸馏【免费下载链接】slimeslime is an LLM post-training framework for RL Scaling.项目地址: https://gitcode.com/GitHub_Trending/slime12/slime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考