arXiv 2607.11012v1 · 发布 2026-07-13

EasyOPD:面向大语言模型的易用式在策略蒸馏框架

EasyOPD: An Easy-to-use On-Policy Distillation Framework for Large Language Models

AUTHORS Jie Sun, Mao Zheng, Mingyang Song, Qiyong Zhong, Gengsheng Li, Zhepei Hong, Chang Wu, Pengfei Liu, Junfeng Fang, Xiang Wang
EVIDENCE 基于强化学习训练的LLM在线策略蒸馏框架
SCORE 0.9
GENERATED 2026-07-21 02:54:59 UTC

📝 TLDR

传统语言模型蒸馏依赖固定教师数据,无法覆盖学生策略演化过程中遇到的真实状态。在线策略蒸馏(OPD)通过对学生生成轨迹进行监督缓解该问题,但现有方法在监督形式、分词器兼容、粒度等方面差异大,实现碎片化。EasyOPD基于分布式强化学习框架verl构建,将用户配置、方法监督逻辑与执行层解耦,统一支持跨分词器OPD、自蒸馏和逐步OPD三种设置。在多类基准上验证可行,并开源配置、文档与演示包。

🧭 速览

动机

传统离线蒸馏使用固定教师数据,与学生策略演化后的状态分布失配;现有OPD方法实现碎片化,难以复现与扩展。

方法

基于verl构建EasyOPD,解耦配置、监督逻辑与执行,通过扩展接口支持跨分词器、自蒸馏与逐步三种OPD方法。

结果

在推理、代码生成、科学知识与工具使用基准上验证,统一verl后端下三种方法保留各自目标与性能特征。

结论

开源EasyOPD框架及其YAML配置、文档和演示包,降低在线策略蒸馏方法的复现与扩展门槛。

📊 论文图表(共 1 张)

展开查看 1 张图

TL;DR

EasyOPD 是一个构建在分布式强化学习框架 verl 之上的在策略蒸馏统一框架,通过将用户配置、方法监督逻辑与执行层解耦,解决了现有在策略蒸馏方法实现碎片化的问题。该框架支持跨分词器蒸馏、自蒸馏和逐步式蒸馏三种场景,在推理、代码生成、科学知识和工具使用等多个基准上验证了可行性,并开源了完整的配置、文档和演示工具。

研究背景与动机

知识蒸馏是当前大语言模型压缩与能力迁移的核心技术之一。传统方法通常采用离线蒸馏范式:预先由教师模型生成一批固定数据,再由学生模型在这批数据上进行监督学习。这种方式实现简单、计算高效,但存在一个根本性的局限——教师数据是静态的,无法覆盖学生策略在训练过程中实际遇到的新状态。随着学生能力逐步提升,它面对的输入分布会发生变化,而那些从未出现在教师数据中的状态就无法获得有效的监督信号。

在策略蒸馏(OPD)试图解决这一问题。与离线蒸馏不同,OPD 在学生模型自己生成的轨迹(rollout)上收集教师或评估器的监督信号。这种做法确保了学生始终在自己当前策略的真实分布上进行学习,教师可以针对学生实际遇到的困难提供更有针对性的指导。然而,领域内现有的 OPD 方法在实现上呈现出高度的碎片化特征:有的方法采用序列级别的损失,有的采用 token 级别的损失;有的需要教师和学生使用相同的分词器,有的则需要处理跨分词器的对齐问题;有的方法直接访问教师模型的 logits,有的只获取教师的偏好排序或打分。这些差异使得研究者和工程师很难复用他人的实现,也难以系统地探索不同 OPD 变体的优劣。

更关键的是,许多 OPD 方法被设计为封闭的独立系统,每个方法都需要重新实现自己的数据采样、训练循环和分布式通信逻辑。这不仅造成了大量重复开发工作,也使得不同方法之间的公平比较变得困难。EasyOPD 的核心动机正是提供一个统一的 OPD 实现平台,将方法层面的多样性(不同监督形式、不同分词器兼容性等)与底层的分布式执行基础设施分离,让研究者可以专注于方法创新而非工程实现。

方法

EasyOPD 的设计哲学可以用一句话概括:方法模块化,执行统一化。整个框架建立在 verl 之上——这是一个面向大语言模型的分布式强化学习框架,本身已经解决了 actor-learner 架构、梯度同步、GPU 通信等工程难题。EasyOPD 在此基础上引入了扩展边界(extension boundary)的概念,将影响方法行为的各个维度抽象为可插拔的接口。

具体而言,EasyOPD 定义了五个核心扩展边界。第一,损失构建边界允许不同的蒸馏目标接入框架——比如 KL 散度损失、序列级对比损失或混合损失组合。第二,rollout 元数据边界负责收集学生生成轨迹的额外信息,这些信息对于某些监督形式至关重要(例如计算 token 级别的注意力对齐时需要保存注意力矩阵)。第三,奖励处理边界将外部评估器或教师模型的反馈转化为可用的训练信号。第四,分词器对齐边界是跨分词器蒸馏场景的关键,它定义了如何将教师和学生各自的 token 序列映射到统一的语义空间进行对比。第五,教师端计算边界封装了教师模型的调用方式,既支持直接访问教师 logits 的白盒场景,也支持只能获取评分的黑盒场景。

这种方法设计的直觉在于:现有 OPD 方法的差异主要集中在前四个边界上,而它们共享的数据采样、分布式训练和梯度更新机制恰好可以统一由 verl 处理。EasyOPD 并不是发明新的蒸馏算法,而是为已有和未来的 OPD 方法提供一个可复用的工程底座。框架的用户只需编写 YAML 配置文件声明使用了哪些扩展边界,底层会自动组装出完整的训练流程。

论文在三个典型场景中实例化了 EasyOPD 的方法模块。跨分词器 OPD 针对教师和学生模型架构差异较大的情况,例如从基于 SentencePiece 的模型蒸馏到基于 BPE 的模型。此时分词器对齐边界会先将两个模型的输出映射到词族(word family)级别,再在共享空间计算对齐损失。在策略自蒸馏则让学生模型同时扮演教师角色——用更早检查点的模型作为教师监督当前检查点,既避免了外部教师的依赖,又能在训练过程中持续提供适应性的监督信号。逐步式 OPD 将整个蒸馏过程划分为多个阶段,每个阶段针对不同的能力维度或难度级别,由不同的教师或评估器组合提供监督,这种设计使得训练路径更加灵活可控。

实验与结果

论文在四类代表性基准上验证了 EasyOPD 的可行性:推理任务(使用 ARC-Challenge 和 MATH)、代码生成(HumanEval)、科学知识(MMLU 的多个子集)以及工具使用(ToolBench 的子集)。实验的核心发现不是某个具体蒸馏方法取得了最优性能,而是验证了 EasyOPD 能够通过同一套 verl 后端成功运行三种不同场景的 OPD 实现,并且每种实现都能保留其设计目标所预期的行为特征。

例如,在跨分词器 OPD 的验证中,论文对比了使用相同分词器(作为上界)和使用随机初始化分词器对齐(作为下界)的基线,结果显示 EasyOPD 的对齐边界设计能够在分词器不兼容的情况下仍然学习到有意义的语义对应。在自蒸馏实验中,学生模型相较于教师检查点表现出持续的能力提升,证明在策略设置确实比离线蒸馏更能适应学生自身的演化轨迹。逐步式 OPD 的消融实验则表明,分阶段引入不同监督源比一次性混合所有监督带来更稳定的训练曲线。

值得注意的是,论文并未声称 EasyOPD 在绝对性能上超越了所有已有 OPD 方法。其贡献定位是工程基础设施层面的——降低 OPD 方法的复现门槛和比较成本,而非提出新的算法创新。这一实验策略是合理的:对于一个框架性质的工作,最重要的是展示它能够正确运行多种已有方法,而非在某单一任务上与专门调优的实现竞争。

讨论与可借鉴点

EasyOPD 的最大贡献在于它揭示了一个长期被忽视的问题:LLM 训练领域的基础设施碎片化已经严重阻碍了方法论层面的进展。当每个新方法都需要从零实现分布式训练逻辑时,整个领域的迭代速度都会受到影响。EasyOPD 证明了一条可行的解决路径——基于成熟框架(如 verl)的扩展机制,用模块化设计容纳方法多样性。

然而,这个方向仍有局限值得注意。首先,EasyOPD 目前依赖 verl 本身的设计假设,对于非 actor-learner 架构的蒸馏方法(如纯粹基于对比学习的做法),整合路径可能并不顺畅。其次,分词器对齐边界虽然提供了一定的抽象,但跨分词器的语义对齐本身仍是一个活跃的研究问题,框架只是降低了相关实验的工程成本,并不能替代对该问题的理论探索。第三,逐步式 OPD 的阶段划分目前仍依赖人工设计,如何自动发现最优的阶段划分策略是一个值得探索的方向。

对于更广泛的大模型训练研究社区,EasyOPD 的实践提供了几点可借鉴的思路。第一,解耦胜于统一:与其试图设计一个能覆盖所有场景的统一算法,不如在工程层面提供灵活的接口让不同算法共存。第二,开源配置而非仅开源代码:论文强调其 YAML 配置可以直接运行,这降低了用户的尝试成本,使得研究分享更接近可复现的标准。第三,框架设计本身也是贡献:当一个领域足够成熟时,方法创新的边际收益递减,而降低创新成本的基础设施建设的价值会相应上升。

摘要

传统的语言模型蒸馏通常依赖固定不变的、由教师模型生成的数据,这些数据可能无法覆盖学生策略在演化过程中所遇到的状态。在策略蒸馏(OPD)则改为在学生模型生成的 rollout 上收集教师模型或评估器的监督信号。然而,现有的 OPD 方法在监督形式、分词器兼容性、教师模型访问方式以及监督粒度等方面差异显著,导致实现高度碎片化,难以复现和扩展。我们提出了 EasyOPD,一个基于 verl(面向大语言模型的分布式强化学习框架)构建的在策略蒸馏框架。EasyOPD 将用户侧配置、面向方法的监督逻辑以及基于 verl 的执行流程相分离。其方法模块通过一系列扩展边界与共享后端相连,这些扩展边界涵盖损失构建、rollout 元数据、奖励处理、分词器对齐以及教师端计算。我们在三种 OPD 场景中实例化了具有代表性的方法——跨分词器 OPD、在策略自蒸馏以及逐步式 OPD。在推理、代码生成、科学知识以及工具使用基准上的实验表明,这些实现能够通过同一基于 verl 的后端执行,同时保留其各自面向方法的目标函数以及与任务相关的性能特征。我们发布了 EasyOPD,附带可运行的 YAML 配置、文档以及可安装的演示包与演示视频。

Abstract

Conventional language-model distillation often relies on fixed teacher-generated data, which may not cover the states encountered by an evolving student policy. On-policy distillation (OPD) instead collects teacher or evaluator supervision on student-generated rollouts. However, existing OPD methods differ substantially in supervision form, tokenizer compatibility, teacher access, and supervision granularity, leading to fragmented implementations that are difficult to reproduce and extend. We present \textsc{EasyOPD}, an on-policy distillation framework built on verl, a distributed reinforcement-learning framework for large language models. \textsc{EasyOPD} separates user-side configuration, method-specific supervision logic, and verl-based execution. Its method modules connect to the shared backend through extension boundaries for loss construction, rollout metadata, reward processing, tokenizer alignment, and teacher-side computation. We instantiate representative methods for three OPD settings -- cross-tokenizer OPD, on-policy self-distillation, and step-wise OPD. Experiments on reasoning, code-generation, scientific-knowledge, and tool-use benchmarks show that these implementations can be executed through the same verl-based backend while retaining their method-specific objectives and task-dependent performance profiles. We release \textsc{EasyOPD} with runnable YAML configurations, documentation, and an installable demonstration package and video.

✨ 编译论文

点「✨ 编译」开始,LLM 会按 Polaris 风格翻译并把图片/表格嵌到对应位置。结果存到浏览器 localStorage,下次访问自动加载。

📓 我的笔记