用同一个学习率对比不同选择器在选择性在策略蒸馏里根本不公平

内卷王调参侠 中级 1小时前 608 浏览 9 点赞 约 3 分钟

很多人在做选择性在策略蒸馏(Selective On-Policy Distillation)时,习惯于给所有对比组(比如随机选择、基于总变异选择、可教性选择以及全量监督)设置一个相同的学习率,觉得这样是一个中立的控制变量。但 arXiv 2609.22109v1 这篇论文直接给出了结论:学习率根本不是中立的,它和选择器之间存在严重的“纠缠”现象。简单来说,如果你改变学习率,全量监督的效果可能没啥变化,但选择性训练的效果会剧烈波动,这会导致你对哪个选择器更好的结论完全取决于你随机选了哪个学习率。

学习率对不同训练分支的影响完全不对等

研究者在 GSM8K 数据集上做了实验,学生模型用 Qwen2.5-1.5B,老师模型是 7B 版本,采用 LoRA 训练。他们在 8 个不同的学习率格点上做了测试,结果非常离谱:

  • 全量监督(Dense Supervision): 表现非常平稳,在不同学习率之间的波动仅为 1.8 个百分点(pp),且 p 值为 0.26,说明基本没影响。
  • 选择性分支(Selective Arms): 每个分支都随学习率剧烈波动。随机抽取 5% 样本的分支波动了 5.4 pp,总变异选择器波动了 6.7 pp,而可教性选择器(teachability selector)最高波动了 17.7 pp。
这意味着,如果你在 lr=1e-4 时对比全量和选择性训练,差距可能是 10.1 pp;但如果你把学习率降到 5e-5,这个差距就变成了 5.1 pp。仅仅是一个参数的变动,结论就差了两倍。更糟糕的是,在六组选择器两两对比的显著性测试中,有两个结果在相邻的学习率之间直接发生了反转,而此时选择器的排名顺序根本没变。

这种纠缠到底是怎么产生的

为了搞清楚为什么学习率会对选择性分支产生如此巨大的影响,作者分析了 AdamW 的更新幅度。结果发现,尽管不同分支之间的梯度范数(gradient-norm)差异高达 15.5 倍,但 AdamW 的更新幅度与学习率的跟踪误差竟然在 2.2% 以内。这说明问题不在于步长本身,而在于“选择”这个动作本身。

为了排除是“实时评分”导致的反馈循环问题,他们做了一个预注册的消融实验(frozen-scoring ablation):用初始状态的学生模型进行评分,固定预算和标准,且每个单元格跑 12 个随机种子。结果显示:

  • 实时评分确实增加了 3.79+/-1.69 pp 的学习率敏感度(p=0.035)。
  • 但即便评分是冻结的,这种学习率纠缠依然显著存在(p=0.015)。
结论就是:反馈循环虽然加剧了现象,但不是导致这个问题的根本原因。

全量微调时的波动更惊人

如果不用 LoRA 而是用全量微调(Full Fine-tuning),在目前文献中常用的 1e-6 到 1e-5 这个学习率区间内,这种不稳定性被放大了:

  • 全量监督本身就波动了 19.8 pp。
  • 选择性分支的波动高达 49.5 pp。
  • 最终的对比结论从“不显著的 +3.6 pp”直接跳到了“显著的 +34 pp (p=0.005)”,仅仅是因为学习率稍微调高了一档。

不过,这个现象并不是在所有场景下都成立。在 MATH-500 数据集上使用 LoRA 时,这种学习率依赖关系没有复现,但选择性训练带来的约 10 pp 性能损失依然存在。

实际操作的建议

这篇论文给所有做蒸馏实验的人提了一个硬性要求:在对比不同选择器时,不能只报一个“共享学习率”下的结果列,必须报告一个「分支 x 学习率」的矩阵(arm x rate matrix)。如果你只给一个点,由于这种纠缠效应,你的结论很可能是不可靠的。

arxivLoRAGSM8KQwen2.5AdamW

全部回复 (3)

想当场把话说完?进全球 AI 聊天室,登录就能开口。

前端老刘 高级 1小时前

我之前调参就掉过这个坑,为了对齐那个所谓的控制变量把学习率死磕在同一个数上,结果效果差得离谱,原来是选择性分支在作祟。

0 回复
副业中创业者 初级 1小时前

Qwen2.5-1.5B 这种小模型对学习率这么敏感,那你得试多少个格点才能确定那个峰值不是随机抖出来的?

0 回复
小阿伟的日常 初级 1小时前

LoRA 训练下 1.8 个百分点的波动也太离谱了,在这种量级面前谈控制变量纯粹是自欺欺人。

0 回复

发表回复

支持 Markdown 格式