Thinking Machines Lab最新研究结果如何复现?On-Policy Distillation让训练成本直降10倍

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: Thinking Machines Lab提出On-Policy Distillation技术,让小模型高效继承大模型能力。相比传统强化学习,训练成本降低90%,效率提升十倍,支持本地部署、降低成本与延迟。结合vLLM加速与独立DeepSpeed配置,MS-SWIFT框架实现开箱即用的高效蒸馏训练,助力轻量模型具备“会思考、能纠错、可进化”的智能。

随着大模型能力的持续突破,其参数规模不断攀升,训练成本也日益高昂。如何让轻量级的小模型掌握大模型的"真本事"?Thinking Machines Lab(TML)最新提出的 On-Policy Distillation 技术为此提供了全新答案——训练效率提升一个数量级,所需成本仅为传统强化学习方法的十分之一。


在AI领域,有一个经典话题:如何让小模型具备接近大模型的能力? 为什么我们要追求小模型?原因非常现实:

  • 成本更低:推理阶段资源消耗少,部署更经济
  • 隐私更好:支持本地化部署,用户数据无需上传云端
  • 速度更快:延迟更低,带来更流畅的用户体验


然而,挑战也随之而来:小模型本身容量有限,如何让它胜任复杂任务?

这就引出了大模型训练中经典的 "师徒关系":

  • 教师模型(Teacher Model):能力强大的大参数模型(如 GPT-5、Qwen3-32B,甚至235B)
  • 学生模型(Student Model):我们想要训练的轻量级目标模型(如 Qwen3-8B)


核心目标:让学生模型(小模型)学会教师模型(大模型)的能力,这个过程就叫做 知识蒸馏(Knowledge Distillation)。        


但是,怎么教?教什么内容?这些问题直接决定了训练效果和成本。接下来,就让我们走进模型训练的"课堂",一探不同教学策略背后的智慧与差异。


📚 相关资源

TML blog:https://thinkingmachines.ai/blog/on-policy-distillation/

MS-SWIFT:https://github.com/modelscope/ms-swift 提供复现On-Policy Distillation的开源实现

On-Policy Distillation 文档:https://swift.readthedocs.io/zh-cn/latest/Instruction/GKD.html


示例脚本:https://github.com/modelscope/ms-swift/blob/main/examples/train/on_policy_distillation.sh

OpenThoughts 训练数据集:https://www.modelscope.cn/datasets/open-thoughts/OpenThoughts3-1.2M


01训练范式之争:On-Policy vs Off-Policy

在大模型的后训练(Post-training)阶段,一个比较核心的问题是:学生模型应该从什么样的数据中学习?根据数据来源的不同,训练方法可以分为两大类:

Off-Policy(离策略):向别人学习

学生模型从外部来源的数据中学习——这通常是教师模型的示范或人类专家的标注。

典型代表:监督微调(SFT)

  • 学习方式:给学生模型一批精心准备的"标准答案"(教师模型生成的高质量回答),让它模仿
  • 优点:每个 token 都有明确指导,反馈密集,学习高效
  • 缺点:学的都是教师的"标准操作",一旦学生模型自己犯错进入陌生状态,就不知道如何恢复


这就像学习象棋时只看大师棋谱,看到的都是完美对局。但真正自己下棋时,一旦走错一步,局面就偏离了棋谱,接下来就不知所措了。

On-Policy(同策略):从自己的经验学习

学生模型从自己生成的数据中学习,直接面对自己会遇到的情况。

典型代表:强化学习(RL)

  • 学习方式:让学生模型自己做题、自己犯错,通过奖惩信号来学习
  • 优点:学习的是学生模型自己真正会遇到的场景,不会出现"纸上谈兵"的问题
  • 缺点1:反馈稀疏——做完一整道题才知道对错,但不知道哪一步错了
  • 缺点2:探索成本极高——需要大量试错才能找到正确策略,计算资源消耗巨大

这就像闭着眼下棋练习,需要下成千上万局才能慢慢摸索出门道,训练成本高昂。


看起来是个死循环:

  • 想要高效学习?用 Off-Policy,但学生模型学不到如何处理自己的错误
  • 想要学到真本事?用 On-Policy,但要付出 10 倍甚至百倍的训练成本

有没有可能鱼和熊掌兼得?


02On-Policy Distillation:打破训练范式的魔咒

Thinking Machines Lab 提出的 On-Policy Distillation(同策略蒸馏) 给出了一个惊艳的答案:

保持 On-Policy 的优势(学生在自己的状态中学习),但用 Off-Policy 的方式提供密集反馈(教师对每一步打分)!

换句话说:让学生模型自己做题(on-policy),但请教师模型对每一步都打分(dense reward)——这就是"两全其美"的方案。


具体来说

  1. 由学生自己生成答案:用学生模型(如 Qwen3-8B)解数学题,生成完整的推理过程
  2. 教师逐步评分:用强大的教师模型(如 Qwen3-32B)对学生的每个动作(token)进行评分
  3. 精准学习纠错:学生模型知道自己哪一步对、哪一步错,针对性改进


这就像有一个 AI 教练实时观看你自己下的每一步棋,在每一步后都告诉你这步是"妙手"还是"昏招",并展示正确的走法应该是什么。


03实验结果:成本暴降,效果不减

Thinking Machines Lab 在论文中展示了惊人的实验结果:

数学推理任务

训练 Qwen3-8B-Base(学生模型)解决数学竞赛题(AIME'24)时,使用 Qwen3-32B 作为教师模型。


第一阶段:使用 OpenThoughts 数据集 https://www.modelscope.cn/datasets/open-thoughts/OpenThoughts3-1.2M 进行全参数 SFT,在训练 40 万条数据后,Qwen3-8B-Base 模型的 AIME'24 得分达到了 60 分。


第二阶段:基于该模型检查点,对比三种训练方法将模型分数提升到 70 分所需的成本:

方法 所需数据量/计算量
SFT(异策略) 根据训练趋势估算,约需 160 万条数据
RL(强化学习) 根据 Qwen3 技术报告,需要 17,920 GPU 小时
估算约等同于 200 万条 SFT 数据的训练成本
On-Policy 蒸馏 只需要 1,800 GPU 小时

结论:On-Policy 蒸馏相比 RL 只需要约 十分之一的计算量!

更神奇的是,实验发现即使只用一道题反复训练,On-Policy 蒸馏也能让学生模型学会解题能力,而不会简单地死记硬背答案。这是因为它学的是"分布"而不是"答案"。


个性化助手训练

研究人员还测试了一个实际场景:给通用助手模型注入医疗领域知识,同时保持原有的对话能力。

结果显示:

方法 医疗知识 对话能力 评价
传统 SFT ✅ 学会 ❌ 严重下降 灾难性遗忘
On-Policy 蒸馏 ✅ 学会 ✅ 成功保留 持续学习成功

为什么 RL 探索成本高,而蒸馏可以避免?

强化学习(RL) 之所以训练成本高,是因为它需要在庞大的"策略空间"中通过大量随机尝试和试错来摸索有效策略,这个过程消耗了绝大多数计算资源。


On-Policy 蒸馏 则完全不同——教师模型已经掌握了正确的策略,能够直接向学生模型展示"标准答案",让学生无需盲目探索,只需模仿学习即可。


打个比方:RL如同蒙眼闯迷宫,全靠试错;On-Policy蒸馏则是有人实时指路,在自主探索中少走弯路、高效抵达终点。

04技术细节:反向 KL 散度的妙用

对于技术爱好者,这里简单介绍一下核心原理:

On-Policy 蒸馏使用反向 KL 散度作为损失函数:


这个公式的含义是:

  • 从学生模型自己的分布中采样(on-policy 关键)
  • 让学生在每个时间步都向教师模型靠拢(提供密集反馈信号)
  • 学生模型学习的是"在我这种情况下,老师会怎么做"

05训练实践

理论虽然精彩,但如何将其应用到实际项目中?在真正动手实践 On-Policy 蒸馏时,我们会遇到两个核心挑战:

挑战一:在线生成的性能瓶颈

与 SFT 使用离线数据不同,On-Policy 蒸馏需要学生模型实时生成数据。这意味着:

  • 每个训练批次都要先运行学生模型推理,生成完整的回答序列
  • 这个在线生成过程会显著拖慢训练速度,成为性能瓶颈
  • 如果使用传统的训练模式加载学生模型,推理效率低下


解决方案:vLLM 加速

vLLM 是目前开源社区主流的 LLM 推理加速引擎,通过 PagedAttention 等技术实现了数倍的吞吐提升。将学生模型的在线采样交给 vLLM 处理,可以大幅缓解性能瓶颈。

挑战二:教师与学生的资源需求不对称

在 On-Policy 蒸馏中,教师模型和学生模型扮演不同角色,资源需求差异显著:

  • 教师模型:参数量大(如 32B),主要用于推理打分,需要更高的显存优化等级(如 Deepspeed ZeRO-3)
  • 学生模型:参数量小(如 8B),需要频繁更新梯度,使用较低的优化等级(如 Deepspeed ZeRO-2)反而训练更快

如果对两个模型使用相同的 DeepSpeed 配置,要么教师模型显存不足,要么学生模型训练效率低下。


解决方案:独立的 DeepSpeed 配置

理想的方案是为教师和学生模型分别配置 DeepSpeed 策略:教师使用高等级显存优化保证能加载,学生使用低等级配置加速训练。


MS-SWIFT:一站式解决方案

好消息是,魔搭ModelScope社区自研的 SWIFT (Scalable lightWeight Infrastructure for Fine-Tuning) 框架已经内置了上述优化,让 On-Policy 蒸馏的实践变得简单高效。


核心特性:

  • vLLM 集成:支持 Server/Colocate 两种模式,无缝加速学生模型采样
  • 独立 DeepSpeed 配置:通过 teacher_deepspeed 参数为教师模型单独指定策略
  • 开箱即用的 On-Policy Distillation 训练流程
  • 支持多种教师-学生模型组合


快速开始示例

以下是使用 SWIFT 进行 On-Policy Distillation 训练的完整示例,我们使用博客中的实验设置:使用 Qwen3-32B 模型在线蒸馏 Qwen3-8B-Base 模型。


安装 SWIFT

# 安装 SWIFT 源码版本
git clone https://github.com/modelscope/ms-swift.git
cd ms-swift
pip install -e .
# 安装相关依赖
pip install vllm==0.11.0
pip install deepspeed
pip install flash-attn --no-build-isolation

启动 vLLM Server

首先启动一个 vLLM server 用于加速学生模型的在线采样过程:

CUDA_VISIBLE_DEVICES=0 \
swift rollout \
    --model Qwen/Qwen3-8B-Base \
    --vllm_max_model_len 24192 \
    --port 8000


On-Policy Distillation 训练

NPROC_PER_NODE=7 \
CUDA_VISIBLE_DEVICES=1,2,3,4,5,6,7 \
swift rlhf \
    --rlhf_type gkd \
    --model Qwen/Qwen3-8B-Base \
    --teacher_model Qwen/Qwen3-32B \
    --train_type full \
    --dataset open-thoughts/OpenThoughts3-1.2M
#10000
 \
    --seq_kd false \
    --lmbda 1 \
    --beta 1 \
    --torch_dtype bfloat16 \
    --num_train_epochs 1 \
    --per_device_train_batch_size 1 \
    --learning_rate 1e-5 \
    --gradient_accumulation_steps 1 \
    --max_length 16000 \
    --max_completion_length 8192 \
    --save_only_model true \
    --dataloader_num_workers 64 \
    --dataset_num_proc 4 \
    --deepspeed zero2 \
    --teacher_deepspeed zero3 \
    --use_vllm true \
    --vllm_mode server \
    --vllm_server_host 127.0.0.1 \
    --vllm_server_port 8000

资源占用

06结语

On-Policy Distillation 给出了大模型后训练阶段除了SFT和RL的另一条路,通过构造这样一条“继承式”的智能成长路线,让大模型成为在决策中不断反思和精进的学习者。未来的 AI 不一定越来越重,但一定会越来越聪明。而这种聪明,不再局限于少数巨无霸模型,而是可以通过高效的蒸馏机制,像种子一样播撒到千千万万的小模型之中。或许不久的将来,每位开发者都能轻松打造属于自己的“会思考、能纠错、可进化”的智能助手。


点击即可跳转相关实现文档:https://swift.readthedocs.io/zh-cn/latest/Instruction/GKD.html


目录
相关文章
|
18天前
|
人工智能 自然语言处理 语音技术
Soul App联合西工大和上交大开源语音合成模型SoulX-Podcast,已登顶Hugging Face TTS趋势榜!
Soul AI Lab联合西工大、上交大开源SoulX-Podcast,支持中英粤川等多语种方言及副语言生成,可稳定输出超60分钟自然流畅的多人对话音频,已在Huggingface登顶TTS趋势榜。
293 0
Soul App联合西工大和上交大开源语音合成模型SoulX-Podcast,已登顶Hugging Face TTS趋势榜!
|
22天前
|
机器学习/深度学习 人工智能 自然语言处理
UI-Ins:让 GUI 智能体真正“看懂”用户指令的新范式
通义实验室联合人大发布全新GUI Grounding模型UI-Ins,首创“指令即推理”范式,通过多视角动态推理实现SOTA性能,在五大基准全面领先,支持开源复现与应用。
380 1
|
23天前
|
机器学习/深度学习 人工智能 文字识别
全新框架 Glyph 开源:用视觉理解文本,3–4 倍上下文压缩,近 5 倍推理提速!
清华CoAI与智谱AI提出Glyph新范式,将长文本渲染为图像,通过视觉语言模型实现高效长上下文处理。3-4倍压缩比,性能媲美主流大模型,显存占用降2/3,低成本支持百万token任务,开源可商用。
449 26
|
25天前
|
传感器 人工智能 API
仅100多元,他给视障人群装上AI“眼睛”
上海两名开发者为验证AI助盲实效,亲手打造百元AI眼镜,蒙眼实测过马路、识盲道,并开源项目鼓励更多人参与。技术导航,人心照亮。
628 6
仅100多元,他给视障人群装上AI“眼睛”
|
11天前
|
人工智能 IDE Java
我们从零开始实现了一个cursor的codebase功能(踩了很多RAG的坑)
VoidMuse 是一个以学习为目标的开源AI IDE插件,支持IntelliJ IDEA与VS Code,集成20+优秀开源组件,助力开发者在实践中掌握AI工程化技术。本文深入解析其基于混合检索的Codebase实现,涵盖向量化、索引构建与检索优化,助你真正理解并应用Function Call等核心技术。
156 5
我们从零开始实现了一个cursor的codebase功能(踩了很多RAG的坑)
|
17天前
|
IDE 编译器 开发工具
嵌入式开发必备!Keil uVision5 C51 V9.61 安装激活 + 汉化完整教程, 含(Keil MDK 5.39)
Keil C51 V9.61是一款专用于8051系列单片机的集成开发环境,支持主流厂商芯片,集编辑、编译、仿真于一体,基于μVision5平台,操作便捷。提供C编译器、汇编器、调试器等全套工具,适用于嵌入式开发。附带安装与激活教程,可实现汉化界面,提升使用体验。(237字)
537 7
|
2月前
|
缓存 自然语言处理 并行计算
腾讯自研 FastMTP 重磅开源:推理速度暴涨 203%,消费级显卡也能跑出无损速度翻倍!
腾讯自研 FastMTP 重磅开源:推理速度暴涨 203%,消费级显卡也能跑出无损速度翻倍!
276 2
|
15天前
|
人工智能 搜索推荐 API
蚂蚁百宝箱联手深铁打造全国首个地铁 AI 智能体「深铁宝」:你的全能城市向导来啦~
蚂蚁百宝箱联合深铁集团、深圳通推出全国首个“公共出行+城市服务”AI智能体「深铁宝」,上线于深圳地铁、深圳通及支付宝APP,实现一句话直达、秒级响应的智慧出行体验,涵盖出行规划、乘车码快捷调取、周边生活服务推荐等一站式功能,助力城市交通与服务数字化升级。
190 30

热门文章

最新文章