尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

slime 知识蒸馏实操指南:用 OPD 把小模型练出大模型水平

slime 知识蒸馏实操指南:用 OPD 把小模型练出大模型水平 slime 知识蒸馏实操指南用 OPD 把小模型练出大模型水平【免费下载链接】slimeslime is an LLM post-training framework for RL Scaling.项目地址: https://gitcode.com/GitHub_Trending/slime12/slime大模型能力强但部署贵小模型省算力却难达标。slime 是面向强化学习扩展的 LLM 后训练框架它把知识蒸馏做成 On-Policy DistillationOPD学生只在自己的 rollout 上学教师的分布。本文带你完成从选型到跑通训练的全过程。先看效果一张表判断值不值得用官方示例的配置是学生模型 Qwen3-8B-Base先做 SFT教师模型 Qwen3-32B训练只消费学生自己生成的样本并让它逐 token 匹配教师的对数概率。Math500 评测结果配置Pass1Qwen3-8B-Base SFT76%Qwen3-8B-Base SFT OPD94%18 个百分点的提升让小模型在部署成本不变的前提下准确率追近大模型。整个过程不需要教师额外产出数据集教师信号只以逐 token 概率的形式进入训练。一分钟看懂 OPD 在做什么一句话OPD 不是替代你的优势估计器而是在损失里追加一项 KL 惩罚把学生模型的 token 级分布往教师方向拉训练样本全部来自学生自己的 rollout所以叫 on-policy。惩罚加在损失上而不是换掉估计器所以 GRPO、PPO、REINFORCE 等都能继续用原有训练流程不用改。教师接入分两条路。SGLang 模式把教师部署成独立的推理服务器学生每轮生成的样本通过网络向教师要 token 级对数概率Megatron 模式把教师 checkpoint 直接加载进训练进程在前向阶段算出对数概率。SGLang 模式的取数与优势计算在 slime/rollout/on_policy_distillation.py 中实现。这是 slime 的整体后训练链路megatron 侧负责训练sglang 服务侧负责生成 rollout每轮训完把权重同步到推理端SGLang 模式的教师就部署在这个推理集群里。先做选型再动手先回答两个问题教师和学生架构是否相同不同只能走 SGLang 模式。教师能不能和训练进程放进同一组 GPU放不下同样只能走 SGLang 模式。两个问题都满足时选 Megatron 模式链路更短对数概率在进程内算出效率更高。示例和脚本都在 examples/on_policy_distillation/ 目录。SGLang 模式三步准备学生与教师 checkpoint 和训练数据示例用 Qwen3-8B 与 Qwen3-32B。把学生权重从 HF 格式转成 Megatron 格式tools/convert_hf_to_torch_dist.py。执行bash examples/on_policy_distillation/run-qwen3-8B-opd.sh脚本会先拉起教师 SGLang 服务器再提交训练任务。Megatron 模式三步准备学生 checkpoint 并转成 Megatron 格式。把教师模型也转成 Megatron 格式这一步不能省。在脚本里用--opd-teacher-load填入教师 checkpoint 路径执行bash examples/on_policy_distillation/run-qwen3-8B-opd-megatron.sh。开关与系数怎么配参数作用调优建议--use-opd总开关启用 OPD 必配打开不开则其余参数都不生效--opd-type指定sglang或megatron按上面的两个问题定开了总开关就必须填--opd-kl-coefKL 惩罚系数默认 1.0在 0.5–2.0 间调学生过度模仿教师就调低提升不明显就调高--opd-teacher-load教师 checkpoint 路径Megatron 模式必填SGLang 模式留空误填会报冲突Megatron 模式的一行典型参数--use-opd --opd-type megatron --opd-kl-coef 1.0 --opd-teacher-load /path/to/teacher_checkpoint。系数决定的是蒸馏项在每个样本上的权重调参时先固定其他超参、一次只动系数方便定位效果来源。参数校验很严漏配 type、漏填路径、模式与路径冲突都会直接报错照报错提示补齐即可。三个高频问题的答案模式到底怎么选判断时注意放得下不只是模型文件能加载而是权重加训练激活的显存都装得下任一条件不满足就直接选 SGLang 模式同架构且放得下才用 Megatron 模式省掉网络往返。KL 系数取多少默认 1.0 先跑通。学生输出变模板化、明显过拟合教师就调低蒸馏对指标没什么帮助就适度调高一般不建议离开 0.5–2.0 区间。能不能一次接多个教师当前接口是单教师的--opd-teacher-load只接受一个路径没有现成的多教师参数确实需要多教师时得在自定义 rollout 里自行合并多个教师的信号。第一次跑 slime 知识蒸馏建议从 Qwen3-8B 示例起步进阶配置见 docs/zh/advanced/完整示例在 examples/on_policy_distillation/。【免费下载链接】slimeslime is an LLM post-training framework for RL Scaling.项目地址: https://gitcode.com/GitHub_Trending/slime12/slime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表