Nemotron预训练中基于任务种子合成的问答数据生成
Nemotron预训练中基于任务种子合成的问答数据生成
在大型语言模型开发中,问题已不再只是模型能看多少数据,还在于数据是否包含足够结构化的学习信号。通用的网页、代码、数学、多语言和领域数据提供了一个广泛的基础。任务种子合成问答数据通过添加紧凑、任务结构化的示例来补充它们——这些示例具有明确的信息需求、受限的响应空间,以及将证据与答案联系起来的解释。在Nemotron-3 Nano模型的100B token继续训练实验中,任务种子SDG在MMLU-Pro上提升了+1.8,平均代码得分提升+1.9,常识理解提升+1.6,GPQA提升+11.1,同时平均数学得分保持稳定。
本文描述了一个为Nemotron系列训练(包括Ultra和Super训练运行)开发的任务种子合成问答生成工作流。该工作流使用来自广泛公共任务族的训练集分割作为能力种子,生成新的任务对齐示例,用推理和相关知识丰富它们,并过滤成精选的合成数据集。保留的评估和测试数据被排除在生成之外。下游训练配方可以决定如何将这些数据集与更广泛的语料库混合。
TL;DR
- 我们使用公共任务训练集分割作为能力种子,而不是作为要记忆的示例。 - 我们通过跨任务族的迁移学习来构建数据:模型可以从广泛的种子任务中学习可重用的行为,然后将它们应用于相关的应用和评估。 - 该流水线生成相似的问答题和带有推理及任务相关上下文的答案丰富示例。 - 多项选择题更容易验证;开放生成任务需要特定于任务的提取和过滤。 - 在Nemotron-3 Nano模型的100B token继续训练实验中,任务种子SDG提升了MMLU-Pro +1.8,平均代码 +1.9,常识理解 +1.6,GPQA +11.1,同时平均数学保持稳定。
概览
| 元素 | 值 | |------|-----| | 种子来源 | 通过lm-eval-harness可用的公共任务训练集分割 | | 规模 | 约70个任务、约700个子任务 | | 数据类型 | 相似问答题、答案丰富样本、推理/上下文追踪 | | 验证 | 模式检查、格式检查、去重、多数投票答案检查 | | 训练使用 | Nemotron系列训练后期阶段,包括Ultra/Super工作流 | | 主要结果 | 在Nemotron-3 Nano的100B token继续训练中,MMLU-Pro、代码、常识和GPQA均有提升 |
生成流水线
生成工作流是一个紧凑的循环:收集训练集分割种子、标准化异构任务记录、生成新示例、丰富答案,并过滤结果数据。在内部流水线中,我们使用了来自lm-eval-harness的大约70个公共任务数据集,覆盖约700个子任务。对于每个任务,我们只使用合适的训练集分割作为SDG种子;保留的测试数据不用于生成,没有合适训练数据的任务被排除在种子收集之外。
种子池涵盖了知识密集型和推理密集型任务:
| 种子组 | 大致覆盖范围 | 目的 | |--------|--------------|------| | 知识密集型任务 | 39个任务,约300个子任务,约3百万种子样本 | 改进事实性、科学性、多语言和领域特定问答行为 | | 推理密集型任务 | 34个任务,约400个子任务,约150万种子样本 | 改进分析推理、逻辑推理、数学、代码和常识推理 |
对于Nemotron Ultra和Super预训练,我们使用了生成数据中适合商业模型训练的许可兼容子集。
端到端流程包含五个阶段:
1. 收集种子任务。 枚举可用的lm-eval-harness任务,按输出类型分组,只保留有合适训练集分割的任务。 2. 标准化记录。 由于每个lm-eval-harness任务在YAML中定义了自己的字段和格式,我们将任务记录转换为统一的JSONL风格模式。对于多项选择题,标准化记录包含问题和候选选项。对于生成式任务,它包含问题或提示,以及任务提供时的上下文。 3. 生成相似示例。 给定一个种子示例,生成器创建一个保留底层能力但改变内容的新问题。 4. 丰富答案。 生成器解决生成的问题,并添加最终答案以及相关的推理、知识或上下文。 5. 过滤和打包。 流水线应用模式检查、格式检查、去重,并在可能的情况下进行任务特定的答案验证。多项选择数据更容易直接验证;生成式数据需要更谨慎的任务特定处理。
一个实际格式选择是尽可能存储语义答案文本而不是仅存储选项标签。例如,将答案写为“指甲缝里夹着的污垢”比只写“B”能给模型更清晰的训练信号。
为什么使用任务种子数据?
公共任务数据集并不完美,但它们的训练集分割包含了关于信息如何被请求、约束和解决的紧凑示例。它们捕捉了任务框架、领域知识、推理深度、候选答案和最终响应形式之间的有用相关性。模型在预训练期间可能会看到大量原始文本,但仍然可以从使这些相关性显式化的合成数据中受益。
任务种子合成数据通过将公共任务训练集分割转化为数据生成模板来弥补这一差距。仅使用来自广泛任务族的合适训练集分割,我们生成保留源交互有用属性的新示例:
- 任务框架,例如示例要求选择、生成、分类还是解释; - 答案结构,例如多项选择选项、简短回答、自由形式回答或格式受限输出; - 领域和上下文,例如科学、常识、事实知识、数学、代码、多语言问答或阅读理解; - 难度和推理深度,例如示例是否需要直接事实、选项比较或几个推理步骤; - 解释信号,例如有助于连接问题与答案的任务相关知识、推理或上下文。
这使我们能够向模型展示跨任务族可重用的推理和知识使用模式,而无需将数据集绑定到单一数据源的表面格式。
为什么使用更广泛的种子任务?
解读此流水线的一个有用方式是通过跨任务族的迁移学习。许多改进并非来自学习单个任务的表面格式,而是来自强化跨多个任务出现的可重用行为:识别信息需求、应用相关领域知识、区分合理的备选项、遵循响应约束、进行多步推理,以及在正确上下文中确定最终答案。
因此,我们不会从一个狭窄的任务格式集生成数据;相反,我们从lm-eval-harness收集更广泛的训练集分割种子样本,并用它们覆盖许多相邻的能力区域。一个科学问答种子可以帮助常识物理推理;一个逻辑推理种子可以帮助仔细比较选项;一个数学或代码种子可以帮助多步规划,即使最终应用并非完全相同的任务。目标是跨任务族的正迁移学习,同时降低模型仅学习单一数据源怪癖的风险。
这一动机也与Nemotron Nano预训练中的早期证据一致。我们发现使用AGIEval训练数据改进了MMLU-Pro,表明来自一个任务族的结构化问答数据可以改善原始任务族之外的行为。此处使用的更广泛种子集合扩展了这一想法:它不依赖于单一任务源,而是使用许多训练集分割任务族,使可迁移的推理、知识使用和答案选择行为有更多出现机会。
为什么添加上下文和推理?
答案本身通常是一个弱的训练信号,尤其是对于科学、常识和多步推理示例。添加任务相关知识或推理轨迹为模型提供了从问题到答案的路径,并帮助它学习为什么合理的干扰项是错误的。
图2中的PIQA风格示例在紧凑的设置中展示了这一区别。生成的问题可以仅靠正确选项来回答,但答案生成变体添加了定义、历史背景和干扰项分析,使记录成为更强的学习信号。
[图2:一个具体的SDG转换:PIQA风格的种子产生新的相似问答题,一个生成的问题被扩展为两个答案丰富的记录。]
在一次内部的“有上下文 vs. 无上下文”消融实验中,上下文丰富的变体在几个知识和推理密集的评估上给出了更强的数字:
| 评估 | 无上下文 | 有上下文 | 变化 | |------|----------|----------|------| | ARC-Challenge | 91.89 | 92.24 | +0.35 | | CommonsenseQA | 80.02 | 80.26 | +0.24 | | PIQA | 82.86 | 84.44 | +1.58 | | WinoGrande | 79.87 | 80.51 | +0.64 | | AGIEval-en CoT | 63.16 | 69.32 | +6.16 | | GPQA-Diamond CoT n-shot | 34.85 | 45.96 | +11.11 | | MMLU-Pro 5-shot | 64.45 | 66.89 | +2.44 | | MBPP+ sampled | 73.77 | 74.82 | +1.05 |
训练使用
任务种子合成数据被混合到Nemotron系列训练的后期阶段。在Nemotron-3 Nano模型的一个100B token继续训练实验中,添加新合成的任务种子数据改进了几个能力组:
| 指标组 | 之前 | 之后 | 变化 | |--------|------|------|------| | MMLU-Pro | 64.8 | 66.6 | +1.8 | | 平均代码 | 73.2 | 75.1 | +1.9 | | 平均数学 | 87.6 | 87.9 | +0.3 | | 常识理解 | 72.9 | 74.5 | +1.6 | | GPQA | 30.8 | 41.9 | +11.1 |
这些结果令人鼓舞,原因有二。首先,改进并不局限于最直接的目标:MMLU-Pro、代码、常识理解和GPQA都有提升,而数学保持稳定。其次,GPQA的大幅提升表明,用相关知识和推理丰富的示例可以帮助模型处理更困难的科学推理问题。
这种模式与上述迁移学习解释一致:增益出现在多个能力组,而不是仅在一个密切相关的评估上。
该结果也揭示了一个有用的权衡:定向的任务种子数据必须谨慎混合。一个评估上的增益应与广泛的一般知识保持检查,而不是孤立地看待。
我们学到的
几个实际发现值得注意:
- 广泛的种子覆盖改进了泛化。 使用许多任务族降低了过度拟合到一种评估风格的风险。 - 上下文有帮助。 推理和任务相关知识使合成答案比仅标签更有用。 - 输出格式是训练信号的一部分。 看似小的选择,例如答案字母与答案文本,可能会影响下游行为。 - 多项选择题比开放生成任务更容易验证。 生成任务需要特定于任务的答案提取,可能需要单独处理。 - 混合设计很重要。 自然样本计数分布可能会使大型任务过重,因此重要的任务族可能需要明确的采样控制。 - 基准测试的改进应针对广泛能力保持进行检查。 当数学、代码、常识和一般知识保持稳定时,MMLU-Pro或GPQA的增益更有意义。
结论
任务种子合成数据为模型构建者提供了一种实用的方式,可以在后期训练中针对重要技能。通过收集广泛的训练集分割任务种子、生成新示例、用推理和知识丰富答案并仔细过滤结果数据,我们可以在保持广泛能力的同时,提高模型在困难推理和知识任务上的性能。
对于Nemotron Ultra和Super预训练,此工作流提供了一种可扩展的配方,使合成数据更具意图性。关键不仅是生成更多数据,而是生成具有正确结构、正确解释信号和足够元数据以支持下游混合决策的数据。