1. 大模型训练数据选择新方法解析
最近在研读两篇关于大模型训练数据选择的前沿论文,分别是《Less is Enough: Synthesizing Diverse Data in Feature Space of LLMs》和《OPUS: Towards Efficient and Principled Data Selection in Large Language Model Pre-training in Every Iteration》。作为从业者,我发现这两篇论文提出的方法在实际应用中具有很高的参考价值,特别是对于解决当前大模型训练中数据选择效率低下的痛点问题。
2. Less is Enough:基于特征空间的数据合成方法
2.1 核心思路与创新点
这篇论文的核心思想是在Post-training阶段,利用稀疏自编码器(SAE)对训练集进行"查漏补缺"。具体来说,作者提出了一种数据合成方案,通过增加少量精心设计的合成样本,就能显著提升模型在特定任务上的表现。
这种方法的关键在于两个前提条件:
- 需要一个"潜在的全集"作为参考
- 需要能够对这个全集进行有效拆解和分类
在实现上,作者使用了一个与任务相关但无标签的数据集作为"全集"的替代品。为了拆解这个全集,他们采用了SAE进行特征分解,但重点在于筛选出与任务相关的特征。而要确定哪些特征是任务相关的,就需要人工构造一个明确的任务描述,让LLM能够基于特征的激活样本进行自动化筛选。
2.2 具体实施步骤详解
假设我们已经具备以下三个要素:
- 任务相关语料集A(无标注)
- 任务的详细描述B(如"识别不良价值回复")
- 现有训练样本集C(已标注,可能与A有部分重叠)
具体操作流程如下:
- 训练SAE:使用语料集A训练一个稀疏自编码器
- 特征筛选:基于描述B,让LLM在SAE中筛选出相关特征
- 特征比对:找出在语料A中激活但在样本集C中未激活的相关特征
- 样本生成:利用这些特征,让LLM生成C中缺失的样本作为正样本
- 模型训练:将生成的少量合成样本与原训练集合并进行训练
2.3 关键技术细节与实验结果
2.3.1 特征筛选机制
作者基于日常对话训练了一个包含6.5万个特征的SAE。对于每个特征,他们挑选了使该特征激活值最大的Top-10个文本,然后让LLM定义这个特征的功能。接着,作者让LLM生成能够激活这些特征的例句,通过观察SAE特征是否被激活来判断生成是否成功。
这种方法的一个潜在风险是SAE训练不能保证特征维度能完全覆盖某个业务方向的所有特征。作者通过实验证明,即使故意漏掉部分特征不补,在总补充样本量固定的情况下,只覆盖30%未覆盖特征相比全覆盖会使识别AUC下降4个点。
2.3.2 跨模型适用性
一个有趣的问题是:用A模型训练的SAE能否用于B模型?作者测试了三种变量组合:
- 用于训练嫁接SAE的模型
- 用于生成补充样本的模型
- 实际执行任务的模型
实验结果表明,当LLama同时作为SAE嫁接模型和样本生成模型时效果最好,比用Qwen指导的效果高出3个点。这说明样本生成模型产出的数据即使经过SAE特征激活过滤,仍然存在质量差异。
2.4 实际应用效果
作者测试了多个应用场景,包括Instruction Following、不良价值回复检测、控制模型谄媚行为和建立奖励模型。在Instruction Following任务上,作者方法的Win Rate显著超过了市面上常用的IF数据集。即使在开源数据集作为对比的情况下,作者构建的能覆盖SAE特征的样本组也表现出了明显优势。
3. OPUS:基于梯度对齐的预训练数据选择
3.1 方法概述
OPUS的核心思想是使用一个小型"导游"数据集来引导每个训练步骤中样本的选择方向。具体来说,训练样本与导游数据集的梯度越接近,就越容易被选中参与训练。这种方法的目标是使训练出的模型在导游数据对应的任务上表现更好。
虽然基于"梯度对齐"的数据筛选方法并不新鲜,但将其应用于预训练阶段(作者认为更适合mid-training)需要解决计算导游梯度的巨大开销问题。令人意外的是,作者在实际实验中使用的导游"数据集"仅包含随机抽取的8个样本,训练样本筛选采用32选16的半淘汰制。
3.2 关键技术实现
3.2.1 梯度对齐原理
为了衡量模型训练一个step带来的影响,OPUS引入了一个观测数据集(即导游数据集)作为参照。通过泰勒展开,可以将模型训练前后在观测集上的表现变化近似转化为两个梯度的内积:
⟨∇θf(Dtest),∇θL(Dtrain)⟩
这个内积越大,代表当前步的训练数据对观测集的增益越明显。
3.2.2 计算优化技巧
直接计算上述内积需要对整个参数向量θ∈R^d求和,d是模型总参数量,这在存储和计算上都是不可行的。作者采用了两种优化方法:
-
Ghost变换:将内积形式转化为外积形式,大幅降低计算复杂度。以Transformer中的线性层为例,原本需要O(d_in×d_out)次乘加的大矩阵内积,被简化为两个小向量的内积(各需O(d_in)和O(d_out)次乘加)。
-
CountSketch:使用快速的维度压缩技术,将d×d的运算映射成m×m的运算(m≪d)。这类似于一个随机初始的稀疏线性映射,能够保持相对距离的一致性。
3.3 实验效果分析
3.3.1 继续预训练效果
作者使用Qwen3-8B-Base作为基础模型,SciencePedia(3B token)作为训练语料,在OlympicArena和SciAssess等科学推理测试集上评估。结果显示:
- 在生物、化学、数学、医疗等领域,当训练数据量达到1.5B(可用训练集的一半)时,OPUS在数学和医疗上展现出显著优势。
- 整体来看,OPUS方法并未全面领先其他方法,提升幅度有限。
3.3.2 效率优势
尽管效果提升有限,但OPUS在训练效率上表现出色。Ghost+CountSketch的组合使训练时间大幅减少,接近随机选择样本的训练时间。这表明该方法在实际应用中可能具有较高的性价比。
4. 方法对比与实践建议
4.1 两种方法的异同点
| 特性 | Less is Enough | OPUS |
|---|---|---|
| 适用阶段 | Post-training | Pre-training/mid-training |
| 核心思想 | 特征空间数据合成 | 梯度对齐样本选择 |
| 数据需求 | 需要无标注语料集 | 需要小型导游数据集 |
| 计算开销 | 中等(需训练SAE) | 较低(经优化后) |
| 效果提升 | 较显著 | 有限但稳定 |
| 跨模型适用性 | 较好 | 需验证 |
4.2 实际应用建议
-
Less is Enough适用场景:
- 当已有部分标注数据但覆盖不全时
- 需要快速提升模型在特定任务上的表现
- 有足够的计算资源训练SAE
-
OPUS适用场景:
- 大规模预训练过程中的数据选择
- 有明确的目标任务方向(可构建导游数据集)
- 对训练效率要求较高
-
组合使用可能性:
- 先用OPUS筛选预训练数据
- 再用Less is Enough进行针对性微调
- 形成完整的数据选择与增强pipeline
5. 现存问题与未来方向
5.1 Less is Enough的局限性
- SAE特征覆盖不全的风险:无法保证特征维度能完全覆盖业务方向的所有特征。
- 生成样本质量依赖基础模型:不同模型生成的样本效果差异明显。
- 任务描述需要精确:模糊的任务描述会导致特征筛选偏差。
5.2 OPUS的改进空间
- 效果提升有限:与随机选择相比优势不够明显。
- 导游数据集构建:目前随机抽取8个样本的方法可能不够科学。
- 适用性验证:需要在更多模型和任务上进行测试。
5.3 未来研究方向
- 结合两种方法的优势,开发更高效的数据选择与合成方案。
- 探索更稳定的跨模型特征迁移方法。
- 研究自动构建高质量导游数据集的技术。
- 开发降低知识冲突的训练数据优化方法。
在实际应用中,我发现这两种方法都体现了"数据质量重于数量"的理念。特别是在当前大模型训练成本居高不下的背景下,如何通过智能化的数据选择与合成来提升训练效率,将成为未来重要的研究方向。对于工业界应用而言,能够指导实际生产的数据优化方法仍然有很大的发展空间。
