训练大型语言模型 (LLM) 有点像为一位非常挑剔的食客准备一顿饭。你拥有巨大的食材库——包含数学题、编程挑战、医学文献、日常聊天记录等各种数据集。目标是“烹制”出一个能精通所有这些技能的模型。
但挑战在于: 每种食材应该加多少?如果加入太多编程数据,模型可能会忘记如何写诗。如果被医学文本淹没,它可能会丧失解决基础数学问题的能力。
多年来,研究人员一直依赖“启发式方法” (本质上是经验猜测或静态规则) 来平衡这些数据集。他们可能会决定使用 20% 的数学数据和 30% 的代码数据,并在整个训练过程中保持这些比例不变。但学习是动态的。如果模型在早期就掌握了数学概念,但一直在编程方面苦苦挣扎怎么办?静态的配方无法适应这种情况。
在这篇文章中,我们将深入探讨一种名为 MIXTURE-OF-SKILLS (MOS) 的新框架。这项研究提出了一种使用强化学习 (RL) 来自动执行这种平衡行为的方法。MOS 不再猜测数据混合比例,而是让模型在实时中学习最佳的数据使用方式。
静态混合的问题
在看解决方案之前,让我们先了解一下现状。监督微调 (Supervised Fine-Tuning, SFT) 是教导预训练基础模型遵循指令的阶段。
理想情况下,我们希望最小化所有数据集上的损失 (误差) 。如果我们只有一个数据集,目标函数如下所示:

当我们有多个数据集 (如数学、代码和聊天) 时,我们将所有数据集的损失相加:

处理数据集大小差异的标准方法是 温度采样 (Temperature Sampling) 。 这涉及到使用温度项 \(\tau\) 来调整从特定数据集中选取样本的概率。

如果 \(\tau = 1\),我们按数据集大小成比例采样 (大数据集占主导地位) 。如果 \(\tau = \infty\),我们进行均匀采样 (每个数据集获得相同的展示机会) 。这导致了修改后的损失函数:

虽然温度采样有助于防止大数据集压倒小数据集,但它是 静态的 。 它不关心模型当前是觉得数据简单还是困难,或者数据是有帮助还是多余。在一个需要持续关注的过程中,这是一种“一劳永逸”的方法。
解决方案: Mixture-of-Skills (MOS)
研究人员建议用一个动态智能体来取代这些静态启发式方法。 MIXTURE-OF-SKILLS (MOS) 是一个模型无关的强化学习框架。
可以把它想象成一位老师 (评分网络 Scorer Network) 在指导学生 (LLM) 。老师根据学生的表现决定接下来学习哪门科目。
架构
该框架包含两个在循环中交互的主要组件:
- LLM (\(\theta\)): 正在被微调的模型。
- 评分网络 (\(\psi\)): 一个简单的神经网络 (2层 MLP) ,用于确定从每个数据集中选择数据的概率。
这是该过程的高层概览:

该过程作为一个双层优化问题运行。内循环训练 LLM 以最小化基于当前数据分布的损失。外循环训练评分器以找到能改善 LLM 学习的最佳数据分布。
在数学上,这种关系表示为:

评分器如何学习 (“奖励”机制)
评分网络需要反馈。它如何知道提供一批“数学”数据是否是个好主意?研究人员设计了三个特定的 奖励信号 (Reward Signals) 来指导评分器。
由于目标函数对于评分器来说不是直接可微的,他们使用 REINFORCE 算法来更新评分器的参数:

让我们分解驱动该系统的这三种奖励。
1. 可迁移性 (余弦相似度) 有些技能可以很好地迁移到其他技能上。学习编程中的逻辑可能会对数学推理有所帮助。 可迁移性奖励 衡量一批数据与其他数据集的相似程度。
系统使用 LLM 自身的隐藏状态计算小批量数据的嵌入 (\(z^i\)) :

然后,它计算当前数据集与所有其他数据集之间的平均余弦相似度。如果一个数据集与其他数据集具有较高的相似度,它就被认为是“可迁移的”并获得更高的奖励,鼓励模型专注于基础的、共享的技能。

2. 难度 (相对困惑度下降) 我们通常希望模型专注于那些具有挑战性但可学习的数据——即“金发姑娘”区域 (恰到好处的区域) 。衡量难度的一个常用指标是 困惑度 (Perplexity) (模型对文本的惊讶程度) 。

然而,研究人员发现了一个缺陷。 数学数据集通常困惑度较低 (因为符号经常重复) ,但对 LLM 来说它们在概念上非常困难。如果我们使用原始困惑度,评分器可能会认为数学很“简单”而忽略它。
为了解决这个问题,MOS 使用 相对困惑度下降 。 它比较微调后的模型 (\(\theta\)) 与原始基础模型 (\(\theta_0\)) 的困惑度。

大幅下降意味着模型正在从这些数据中积极学习 (缩小差距) ,因此评分器会分配高奖励。
3. 学习轨迹 (EMA) 训练是充满噪声的。某个特定的批次可能会仅仅因为偶然因素产生奇怪的奖励峰值。为了防止评分器对每一次更新做出不稳定的反应,研究人员使用 指数移动平均 (EMA) 来平滑奖励。

这保持了数据分布的稳定性,并确保评分器对长期趋势而非短期噪声做出反应。
它有效吗?实验结果
为了验证 MOS,作者在三个不同的 LLM 上进行了测试: Qwen1.5-0.5B、Gemma-2B 和 Llama-3-8B 。 他们使用了四个多样化的数据集: 数学、医学、通用聊天 (ShareGPT) 和 NLP 任务。

他们将 MOS 与标准基线进行了比较,如比例采样 (\(\tau=1\))、均匀采样 (\(\tau=\infty\)) 以及其他动态选择方法 (如 MultiDDS) 。
结果 1: 显著的性能提升
在 MMLU 和 MT-Bench 基准测试上的结果非常清晰。MOS 始终优于静态启发式方法。

如上表 (表 2) 所示,查看 Llama-3-8B 部分,最佳启发式方法 (温度采样) 得分为 61.40 。 使用难度 + EMA 的 MOS 实现得分为 63.26 。 虽然这看起来可能只是几个百分点的差异,但在 LLM 基准测试领域,接近 2 分的提升是相当显著的。
结果 2: 更快的收敛速度
也许比原始分数更令人印象深刻的是效率。MOS 能迅速找到“正确”的数据组合,从而加快训练速度。

图 3 显示了训练损失。绿线 (MOS) 下降的速度比灰线 (启发式方法) 快得多。注释指出 MOS 快了 2.2 倍 , 这意味着你可以在获得更好结果的同时,节省大量的计算资源。
结果 3: 动态数据分布
那么,评分器实际上学到了什么?它只是找到了一个“更好”的静态比例吗?不——它随时间进行了调整。

在图 2(b) 中,我们看到了 基于难度 的 MOS 的行为。看看绿线 (通用数据) 和蓝线 (医学) 。模型动态调整了它们的重要性。它开始时增加了通用数据的权重 (可能是为了学习基本的指令遵循) ,并改变了医学数据的权重。这证明了最佳数据组合是一个移动的目标,而不是一个固定的点。
从通才到专才: MOSPEC
最后,论文探讨了一种称为 MOSPEC (Mixture-of-Skills for Specialization) 的变体。有时,你并不想要一个通用的聊天机器人;你想要一个数学专家。
标准做法是仅在数学数据上进行微调。然而,研究人员假设保留一些通用数据有助于模型更好地推理,即使是在数学方面。
他们修改了奖励系统,以重点偏向目标领域 (数学) ,同时仍允许评分器通过可迁移性引入其他有帮助的数据。

上面的图表展示了 MOSPEC 的实际运行情况。红线 (数学) 在概率分布中占主导地位,这对于数学专家模型来说是预期的。然而,它并没有达到 100%。它保留了一小部分其他数据的混合。
结果如何?MOSPEC 模型在 GSM8K 和 MATH 基准测试中的表现优于仅在数学数据上训练的模型。这表明即使是专家也需要数据的“均衡饮食”才能发挥最佳水平。

结论
“Mixture-of-Skills” 框架强调了大型语言模型时代的一个重要见解: 数据量是不够的;数据构成也很重要。
通过将数据集选择视为一个强化学习问题,我们可以摆脱手动试错和静态启发式方法。MOS 允许模型发出信号,表明它需要什么以及何时需要——无论是增加难度、复习可迁移技能,还是转向新的领域。
对于学生和研究人员来说,这就好像是一个很好的例子,展示了辅助网络 (如评分器) 如何用于优化大规模基础模型的训练,使过程更快、更高效,并最终更有效。
](https://deep-paper.org/en/paper/2406.08811/images/cover.png)