论文

ShortOPD: 利用短到长在策略蒸馏恢复修剪后的大语言模型

ShortOPD: 利用短到长在策略蒸馏恢复修剪后的大语言模型

结构化剪枝是一种硬件友好的大语言模型压缩方式,但在自由生成任务(部署实际需求)上常导致模型崩溃。本文发现两个关键现象:贪婪解码(greedy pass@1)在压缩后几乎失效,但重复采样(pass@k)能大幅恢复;恢复失败主要源于后缀重复。 为此提出 ShortOPD,一种短到长的在策略蒸馏(On-Policy Distillation)调度:利用压缩前模型(冻结教师)检测重复后缀,仅保留有效前缀作为当前展开长度,并动态分配后续预算。该方法在数学、代码、开放生成任务上,将压缩模型分数提升至未恢复值的9倍,是标准恢复方法(SFT w/o KD、KD、SeqKD)的1.6–4.4倍。 训练效率上,ShortOPD以8.5小时(vs 35.9小时)和71%更少的展开token,达到固定8192 token展开范围的效果。该工作推动结构化剪枝从困惑度/多选基准的边际增益,迈向部署可用的生成质量。

论文精读

TL;DR ShortOPD 通过重复感知的短到长蒸馏调度,高效恢复剪枝后 LLM 的生成能力,仅用 1/4 训练量实现 9 倍性能提升。

问题

结构化剪枝因其硬件友好的特性,成为大型语言模型(LLM)压缩的关键方向。然而,现有方法主要在多选题识别任务上验证性能,压缩后的模型在自由文本生成任务上往往出现严重退化,这成为落地部署的核心障碍。

现有恢复方案主要依赖监督微调(SFT)、传统知识蒸馏(KD)或序列级蒸馏(SeqKD),它们要么使用离策略数据,要么缺乏对生成质量问题的针对性反馈。具体局限为:

  • 离策略训练 (off-policy) 无法覆盖压缩模型自身的错误分布,导致恢复信号效率低下。
  • 稀疏 token 级监督 (如仅对齐 teacher 输出) 忽略了生成过程中 token 之间的依赖性,难以纠正结构性退化。
  • 固定长序列采样 将大量计算预算浪费在低信息的重复后缀上,延缓有效损失的下降。

该问题的挑战性在于:压缩并没有消除正确生成的能力,而是将其在采样排序中严重降级——贪婪解码 (pass@1) 接近零,但多次采样 (pass@k) 能显著恢复。这表明退化主要表现为后缀重复(suffix repetition),而非完全遗忘。因此,恢复训练需要在线策略 (on-policy)且稠密 token 级的反馈,同时高效分配训练预算,避免冗长无效序列干扰。这一问题的解决直接关系到剪枝模型能否真正用于对话、代码、数学推理等生成式场景。

类似地,在自主驾驶感知模型压缩中,若剪枝导致远距离目标检测能力降级而非消失,也需要通过在线策略微调来恢复被"掩埋"的知识,而非简单重训。

核心洞察

  • 结构化剪枝后 LLM 的生成崩溃并非能力抹除,而是有用输出在 greedy decoding 下被降级。作者发现 pass@1 接近零时 pass@k 可大幅恢复,表明模型仍具备正确生成能力,只是概率排序退后。这解释了为何传统 SFT 或离线 KD 效果有限——它们未能直接修正模型自身的错误生成分布,因而需要 on-policy 密集监督来重新校准 token 级置信度。
  • 长序列 on-policy 蒸馏中早期训练预算大量浪费在低信息重复后缀上,这是过去恢复方法低效的核心原因。ShortOPD 设计了一个短到长的闭环调度:利用 teacher 检测重复片段,将有效前缀长度作为当前策略的生成上限,随着恢复推进逐步延长。此调度在不牺牲最终质量的前提下,将训练时间缩短至四分之一,rollout token 减少 71%,为实际部署提供了可行的恢复管线。

方法

输入

  • 预压缩模型(教师):原始完整 LLM,作为冻结的知识源提供密集 token 级监督。
  • 压缩模型(学生):经结构化剪枝后的模型,生成质量退化,尤其在自由文本生成中易出现后缀重复。
  • 提示集合:用于构造 on-policy rollout 的 queries,例如数学、代码或开放式生成任务提示。

关键模块

  1. On-Policy Distillation (OPD) 基础框架

    从压缩模型(学生)采样一条完整 rollout,将每一步生成的 token 与教师在该状态下给出的概率分布进行对比,计算 token 级 KL 散度或交叉熵损失。这种 on-policy 训练保证学生暴露于自身真实推理分布,避免 off-policy 教师强制带来的分布偏差。

  2. 重复后缀检测与有效长度界定

    观察到压缩模型的生成失败主要表现为低信息量的后缀重复。利用冻结教师对每个生成 token 进行确认:若教师预测与学生的采样 token 一致,则视为信息有效;当教师开始持续预测不同 token(即不同意学生重复的 token)时,触发重复终止点。取重复发生前的前缀作为该 rollout 的有效长度。检测器采用终端周期性循环判定(terminal periodic-loop detector),判断连续 token 是否构成重复模式。

  3. 短到长调度(Short-to-Long Scheduling)

    在恢复训练初期,学生模型仅限于较短的连贯生成,过长的 rollout 只会产生大量重复后缀消耗训练预算。调度器维护一个当前可用的有效长度阈值(horizon budget),只将有效长度内的 token 用于 OPD 损失计算。随着训练推进和学生能力的逐步恢复,有效长度阈值动态提升(例如基于验证集指标或有效长度统计),使训练从短生成序列逐步过渡到长序列,最终匹配所需的最大输出长度(如 8192 token)。

输出

  • 恢复后的压缩模型,其生成质量在多类任务(数学、代码、开放式生成)上提升至未恢复模型的约 9 倍,且显著优于标准恢复方法(SFT、KD、SeqKD)。训练效率大幅提高,仅需全固定长 OPD 四分之一的训练时间和 71% 的 rollout token 总量。

与同类方法的差异

ShortOPD 区别于固定长 OPD 或标准蒸馏方法的核心在于:它通过在线检测教师确认的重复后缀,将 rollout 预算精准聚焦于学生当前能力边界内的有效生成前缀,从而消除低质量重复 token 对损失下降的延迟效应,实现更高效且针对性的恢复。

实验

实验设计

论文在 数学、代码、开放性生成 三类任务上验证 ShortOPD 的效果。核心流程为:首先对 LLM 进行结构化剪枝,得到 压缩后学生模型;然后使用 On-Policy Distillation (OPD) ,以未压缩的原始模型作为冻结教师,在学生自身生成轨迹(on-policy rollout) 上进行逐 token 的密集知识蒸馏。

关键创新在于 ShortOPD 的短到长调度策略

  1. 检测教师确认的重复后缀(重复门控,repetition gating)
  2. 将未重复的前缀视为该 rollout 的有效长度
  3. 后续训练中逐步分配预算到当前策略可用的有效长度,由短及长。

对比基线包括 SFT w/o KD、标准 KD 和 SeqKD,同时测试了密集/稀疏信号、on/off-policy 等消融设置。

关键发现

  • 压缩导致的是“降级”而非“抹除”:greedy pass@1 近乎为零,但 pass@k 通过重复采样大幅回升,说明有用生成被推后,未彻底消失。
  • 重复后缀是主要失效模式:长 rollout 中大量 token 消耗在低信息重复上,传统 OPD 早期预算浪费严重。
  • ShortOPD 通过动态控制有效长度,将训练聚焦在高价值前缀,避免无效重复 token 的干扰,从而大幅加速损失下降和提升最终质量。

与基线对比

ShortOPD 在所有任务上显著优于传统恢复方法。相对 未恢复模型,性能提升约 9 倍;对比 标准 KD 和 SeqKD,提升达 1.6–4.4 倍。更关键的是,在使用 仅 25% 的训练时间和 71% 更少的 rollout token 的情况下,ShortOPD 的分数与固定 8192-token rollout 的 OPD 差距在 2 个点以内。这证明短到长调度不仅能加速训练,还能保持甚至逼近长序列训练的生成质量,为结构化剪枝走向实际部署提供了实用的恢复方案。

行业影响

落地场景

ShortOPD 使结构化剪枝后的 LLM 能够在自由文本生成任务上恢复高质量输出,可直接应用于对延迟、吞吐和硬件成本敏感的线上服务。典型场景包括:

  • 端侧智能助理:智能手机、IoT 设备上的离线语音助手与文本补全,需要模型体积小但生成质量不打折。
  • 实时交互式对话系统:客服机器人、虚拟角色需要低响应延迟,剪枝后模型通过 ShortOPD 恢复,可在 CPU 或边缘 GPU 上稳定运行。
  • 代码生成与补全:IDE 插件中的代码建议服务,对延迟极度敏感,压缩模型可本地部署,同时保持 pass@k 表现。

商业价值

  • 降低推理成本:结构化剪枝直接减少参数与计算量,ShortOPD 的短到长蒸馏策略将恢复训练时间缩短约 75%,rollout token 减少 71%,加速模型上市周期,显著节省算力投入。
  • 提升用户体验:解决了剪枝后模型常见的后缀重复、生成崩溃问题,使压缩模型在 pass@1 指标上接近原模型,保证真实场景下的一次生成质量,避免重试开销。
  • 拓展部署边界:让原本因资源限制无法落地的场景(如嵌入式系统、浏览器端推理)变成可能,扩大 LLM 市场覆盖面。

与现有产品/工作流的接口

ShortOPD 可作为模型压缩管线中的后处理恢复模块,无缝对接现有 MLOps 流程:

  • 上游:接收任意结构化剪枝算子(如 LLM-Pruner、SliceGPT)输出的压缩模型。
  • 自身:复用预压缩模型作为冻结 teacher,通过 on-policy rollout 并配合重复后缀门控动态调整有效序列长度,实现从短到长的调度训练。
  • 下游:输出可直接用于推理的 checkpoint,无需额外的架构修改或硬件定制。 集成只需在训练框架中加入该 recovery step,可利用现有分布式训练基础设施,与 SFT、普通 KD 等步骤并列。

具体落地 Use Case

  1. 全球电商多语言客服:平台部署支持 20+ 语言的对话模型,通过剪枝 + ShortOPD 将模型体积压缩 40%,推理延迟降低 60%,同时保持回答的连贯性与准确性,在高峰时段支撑每节点 200+ QPS,避免重复输出导致的糟糕体验。
  2. 自动驾驶座舱交互:车载系统资源有限,需要低延迟理解自然语言指令并生成回复。剪枝后的模型经 ShortOPD 恢复,在车载芯片上实时运行,感知到用户重复问题自动截断,保证交互流畅度,且训练调整周期从数周缩短到几天,加速 OTA 迭代。

局限

  • **重复检测依赖 teacher 模型质量**:ShortOPD 的核心机制假设冻结的原始模型(teacher)能够准确识别重复后缀,从而决定有效前缀长度。当 teacher 与压缩模型(student)在特定领域分布差异较大时,teacher 自身的判断可能出现偏差,比如将非重复但模式固定的高信息内容误判为冗余,导致过早截断 rollout,损失有意义的上下文,方法鲁棒性尚未在弱 teacher 场景或极端域偏移下得到验证。
  • **实验覆盖的模型规模与任务类型有限**:论文主要在 8B 左右规模的 dense 模型上验证,虽然展示了与固定 8192 token rollout 相当的效率,但未报告在更大规模模型(如 70B+)或 MoE 结构上的恢复效果与缩放行为。此外,任务集中在 math、code 和开放生成类别,对事实知识、长文本连贯性等维度的评估缺失,限制了其在通用部署场景下的直接适用性。
  • **动态调度引入敏感的超参数**:方法通过门控重复检测器控制 horizon 增长,其阈值设计可能对任务和剪枝程度敏感。论文未充分讨论该阈值的选择策略及其在不同恢复阶段的自适应调整,实际落地时可能需要额外的超参搜索与验证成本,削弱了其宣称的“闭环”自动化优势。此外,前期有效长度的估计依赖 teacher 确认,计算开销虽小于长 rollout 但并非零成本,在超大规模批处理场景下仍可能成为瓶颈。
论文Qingyu Zhang2026-07-14原文

相关内容