Velocitune: A Velocity-based Dynamic Domain Reweighting Method for Continual Pre-training¶
会议: ACL 2025
arXiv: 2411.14318
代码: 无
领域: NLP / 预训练
关键词: 持续预训练, 域权重调整, 学习速度, Scaling Law, 数据混合
一句话总结¶
提出 Velocitune 框架,通过学习速度(learning velocity)动态调整持续预训练中各数据域的采样权重——优先加大学习较慢的域的权重,并利用 scaling law 低成本估计目标损失,在数学/代码推理和系统命令生成任务上显著优于静态混合基线。
研究背景与动机¶
大模型预训练数据通常由多个领域(域)混合构成,域的比例直接影响下游性能。已有方法包括:(1)启发式反复测试不同比例(成本高昂);(2)动态调整方法如 DoReMi 用小代理模型估计最优权重。
但这些方法难以直接应用于域自适应持续预训练,原因有二:(1)持续预训练场景中通常不存在更小版本的基模型作为代理;(2)基于距离(当前 loss 与目标 loss 之差)的方法可能导致某些域被过度强调。
Velocitune 的核心思路是用"学习速度"而非"距离"来衡量各域的学习进度——关注的是相对进度而非绝对差距,从而实现更平衡的跨域学习。
方法详解¶
整体框架¶
两阶段:(1)目标估计阶段——用 Chinchilla scaling law 在子集上训练代理模型并外推目标 loss;(2)速度引导训练阶段——周期性计算各域学习速度并按指数加权更新域权重。
关键设计¶
-
学习速度定义:V_t[i] = (ℓ_t^i - ℓ_target^i) / (ℓ_init^i - ℓ_target^i)。分子是当前评估 loss 与目标 loss 的差距,分母是初始 loss 与目标 loss 的差距,相当于归一化的剩余学习量。V 越大说明学习进度越慢。该定义的关键优势是消除了不同域初始 loss 和目标 loss 的绝对差异,实现跨域公平比较。
-
目标 loss 估计:利用 Chinchilla scaling law \(L(N,D) = E + A/N^α + B/D^β\)。在原始权重下用子集数据训练代理模型,保存多个 checkpoint 的评估 loss 拟合参数,然后外推到全量数据的预期 loss 作为目标。
-
指数加权更新:\(w_t ← w_{t-m}[i]·exp(V_t[i]) / Σ w_{t-m}[i]·exp(V_t[i])\)。学习速度 V 越大(越慢),exp(V) 越大,权重越高——实现了"补短板"的效果。
-
Clamp 操作:将学习速度限制在 [0,1] 范围内,防止过分极端的权重调整。
训练策略¶
使用标准 NLL 损失。每 m 步评估一次各域的学习速度并更新权重。总训练 token 量等于一个完整 epoch。
实验关键数据¶
主实验1 — CodeLlama-7B 在推理数据集上¶
| 模型 | 数学平均 | 代码平均 |
|---|---|---|
| CodeLlama 基础 | 21.6% | 36.8% |
| baseline (静态权重) | 34.3% | 35.5% |
| Velocitune | 35.9% (+1.6%) | 39.3% (+3.8%) |
主实验2 — Llama3/Mistral 在系统命令数据集上¶
| 模型 | CmdGen-NVIDIA Acc | CmdGen-AMD Acc |
|---|---|---|
| Llama3-Baseline | 57.07% | 51.79% |
| Llama3-DBL | 45.85% | 45.64% |
| Llama3-Velocitune | 61.95% (+4.9%) | 54.87% (+3.1%) |
| Mistral-Baseline | 32.20% | 30.77% |
| Mistral-Velocitune | 36.59% (+4.4%) | 33.33% (+2.6%) |
消融实验 — 静态使用 Velocitune 平均权重¶
| 模型 | 数学平均 | 代码平均 |
|---|---|---|
| Baseline(原始权重) | 34.3% | 35.5% |
| Reweighted(静态平均权重) | 36.6% | 36.6% |
| Velocitune(动态调整) | 35.9% | 39.3% |
关键发现¶
- Velocitune 全面优于基线和 DBL:在两个实验设置、三个基模型上一致提升。
- DBL 方法可能适得其反:在 SystemStack 上 DBL 反而低于基线,因为基于距离的方法导致域间学习不平衡。
- 数据排序效应:仅使用 Velocitune 的平均权重做静态混合时,数学任务反而更好但代码任务更差,说明动态调整过程本身(数据排序效应)对结果也有贡献。
- 目标 loss 预测至关重要:去掉目标 loss 后性能显著下降。
- 权重收敛加速:Velocitune 的权重稳定速度比 DBL 快至少 1.5 倍。
亮点与洞察¶
- 学习速度比绝对距离更合理:同样进步 0.1 的 loss,初始 loss 为 5 的域和初始 loss 为 2 的域意味着完全不同的学习进度。
- Scaling law 的巧妙应用:用于估计"模型应该能达到多好",避免了训练完整参考模型的成本。
- 权重动态曲线分析(三阶段变化)提供了对持续预训练学习动态的深入理解。
局限与展望¶
- Scaling law 的预测精度有限,错误估计可能传播到权重调整中。
- 仅在 7B/8B 模型上验证,更大模型上的效果未知。
- 评估间隔 m 的选择需要调优。
- 未探索与其他高级训练策略(如课程学习)的结合。
相关工作与启发¶
- DoReMi 用 Group DRO 但需要全训练参考模型,Velocitune 避免了这一依赖。
- 结合 scaling law 做持续预训练数据比例优化的思路可能广泛适用。
评分¶
- 新颖性: ⭐⭐⭐⭐ — 学习速度概念和 scaling law 估计目标的组合有创意
- 实验充分度: ⭐⭐⭐⭐ — 两个实验设置、三个模型、细致消融分析
- 写作质量: ⭐⭐⭐⭐ — 方法动机清晰,图表直观
- 价值: ⭐⭐⭐⭐ — 对持续预训练的数据配比优化有直接实用价值