NeMo Data Designer:一个多模态合成数据生成的可扩展框架
摘要
NeMo Data Designer (NDD) 是一个开源、可扩展的多模态合成数据生成框架,专为人工智能模型开发中的直观使用和可重现性而设计。
arXiv:2609.17699v1 公告类型:新
摘要:我们介绍 NeMo Data Designer (NDD),一个开源的通用多模态合成数据生成 (SDG) 框架。旨在直观易用,NDD 提供一种声明式配置格式,其中人类和/或代理用户可以定义每个数据集列,列类型涵盖文本、代码、结构化输出、图像、嵌入和统计采样器,这些都显式配置以引导数据集多样性。额外的列类型和功能可以通过框架的灵活插件系统引入。NDD 的配置是一个可检查的工件,支持工作流共享和可重现性。SDG 本质上是一个迭代过程。因此,NDD 在其核心工作流中构建了预览与修订循环,允许用户生成并检查少量记录,精化规范,并以全规模重新运行生成。在运行时,NDD 解析依赖关系,调度对用户提供的模型端点的调用,并重试失败的请求。我们描述 NDD 的架构和编程模型,并展示涵盖结构化、代理、多模态和领域特定任务的案例研究,包括在 Nemotron 模型开发和生产企业部署中使用的数据集。
查看缓存全文
缓存时间: 2026/09/17 09:23
# NeMo数据设计器:可扩展的多模态合成数据生成框架
来源:https://arxiv.org/html/2609.17699
Nabin Mulepati、Andre Manoel、Eric Tramel、Kirit Thadaka、Mike Knepper、Dhruv Nathawani、Dane Corneil、Yev Meyer、Alex Watson、Maarten Van Segbroeck
###### 摘要
我们推出NeMo数据设计器(NDD),这是一个面向多模态合成数据生成(SDG)的开源通用框架。NDD设计直观易用,提供声明式配置格式,人类和/或智能体用户可定义每个数据集列,列类型涵盖文本、代码、结构化输出、图像、嵌入向量,以及显式配置以引导数据集多样性的统计采样器。通过框架的灵活插件系统可引入额外的列类型和功能。NDD的配置文件是可审查的工件,支持工作流共享与可重复性。SDG本质上是一个迭代过程,因此NDD在其核心工作流中构建了预览-修正循环,允许用户生成并检查少量记录,精炼规范,然后以完整规模重新运行生成。运行时,NDD会解析依赖关系、调度用户提供的模型端点调用,并重试失败的请求。本文描述了NDD的架构与编程模型,并展示了涵盖结构化、智能体、多模态及领域专业化任务的案例研究,包括用于Nemotron模型开发和生产环境企业部署的数据集。
## 1 引言
合成数据生成(SDG)长期以来在科学与技术领域扮演重要角色。从蒙特卡洛实验中模拟虚拟中子历史(Richtmyer和von Neumann, 1947),到提升不平衡数据集中的少数类别(Chawla等人, 2002),再到利用合成教科书训练大语言模型(LLMs)编写代码(Gunasekar等人, 2023),合成数据使研究人员和工程师能够创建真实世界数据的有效近似——这些数据原本稀缺、昂贵、敏感、危险或无法获取,同时为最终数据集的规模、组成和特性提供了更强的控制力。如今,SDG在LLM及其驱动的智能体系统的整个生命周期中发挥着核心作用。在预训练阶段,高质量人类撰写的文本无法满足需求增长(Villalobos等人, 2024),经合成改写和增强的网络语料通常贡献了数百亿至数万亿词元(Maini等人, 2024;Ben Allal等人, 2024;Su等人, 2025)。对该模式的大规模研究表明,改写文本与自然文本混合使用时可减少达到特定损失所需的训练词元,但单独使用则不然(Kang等人, 2025),且改写提示的选择与多样性对下游性能有显著影响(Hugging Face, 2026)。在后训练阶段,合成指令、偏好和推理轨迹被用来教授模型新行为(Wang等人, 2023;Taori等人, 2023;Xu等人, 2023;Honovich等人, 2023)。对过滤后的指令集、受限词汇故事和教科书级代码的研究表明,此类数据的构成和质量可能比其数量更重要(Zhou等人, 2023;Chen等人, 2023;Liu等人, 2024;Eldan和Li, 2023;Gunasekar等人, 2023)。教授模型智能体和多模态能力同样高度依赖SDG。对于多步骤任务(如网络搜索),会大规模生成合成交互轨迹(Nakano等人, 2021;Qin等人, 2024;Kimi团队, 2025)。在视觉理解方面,会为图像、文档和视频生成文本注释,且非文本模态本身也越来越多地被直接合成(Yang等人, 2025b;Chen等人, 2025;NVIDIA, 2026a)。Nemotron 3模型的报告描述了代码、STEM推理、结构化输出遵循、SQL、搜索、工具使用、文档提取和引用行为的合成数据流程(NVIDIA, 2025b;NVIDIA, 2026b;NVIDIA, 2026c)。一个新兴主题是:合成数据的有效性取决于对其构成和多样性的刻意控制、对其正确性和质量的验证,以及其与现实世界数据的融合与关联。在实践中,SDG流程通常通过定制脚本和粘合代码实现这一点,这使得它们难以解释、共享和复现。
参见图1:典型的NeMo数据设计器用户工作流。定义数据集列,生成并评估小型预览样本,迭代直至满意。随后根据相同配置创建完整数据集,并保存连同有用的运行工件。
在本报告中,我们介绍NeMo数据设计器(NDD)[代码可访问:https://github.com/NVIDIA-NeMo/DataDesigner],这是一个面向多模态SDG的开源通用框架。NDD旨在让人类和智能体都直观易用。数据集通过声明式配置指定,该配置本身是一个可审查、可共享的工件,使生成流程具有可重复性。内置列类型包括模型生成的文本、代码、结构化输出、图像和嵌入向量。采样器列从统计分布中抽取值以引导多样性,验证器和评判器列则验证生成的值。新的列类型可通过灵活的插件系统添加,结合内置列和自定义列,上述大多数生成策略都可在NDD中表达。SDG本质上是一个迭代过程,因为数据集要求很少在第一次生成尝试时就能满足。因此,NDD在其核心设计中融入了迭代功能。我们在图1中展示了典型的用户工作流。在迭代设计循环中,用户声明数据集的列,生成并审阅小型预览样本,根据观察结果更新配置,并重复此过程直至满意。然后根据相同配置大规模生成完整数据集。运行时,NDD解析列之间的依赖关系,调度用户提供的模型端点调用,并重试失败的请求。使用NDD构建的合成数据集已用于Nemotron模型开发,以及涵盖结构化、智能体、多模态和领域专业化任务的生产环境企业部署(第4节)。本工作的主要贡献如下:
- • 面向多模态SDG的开源通用框架。NDD用声明式配置替代了一次性流程脚本,该配置对人类和智能体都直观易用。相同的规范驱动预览、迭代和全规模生成,使SDG流程易于解释、共享和复现。
- • 对数据集多样性的显式统计控制。统计采样器是一等列类型,其值遵循用户指定的分布并作为生成提示的输入,使用户能直接控制数据集的构成和多样性。
- • 可扩展性。灵活的插件系统允许在不修改核心框架的情况下添加新的列类型和功能,使得在NDD中实现新颖的生成策略和探索新模态成为可能。
- • 来自研究与生产的真实世界影响。我们重点介绍了使用NDD构建的涵盖结构化、智能体、多模态和领域专业化任务的数据集,包括用于Nemotron模型开发和企业部署的数据,并总结了其报告的下游结果。
报告的其余部分组织如下:第2节描述NDD的架构;第3节介绍贯穿各应用的流水线设计方法论;第4节描述代表性工作流及其案例研究与评估结果;第5节为结论,随后是局限性、更广泛影响和可用性说明。
## 2 架构
参见图2:组件架构与外部服务边界。实线箭头显示主要配置和执行路径;虚线箭头显示插件扩展点。模型端点、MCP工具和远程验证器保持在NDD的进程边界之外。
在面向用户的工作流背后,NDD将数据集设计、执行和外部服务分离。图2展示了这些部分如何组合以及系统边界所在位置。
### 2.1 概述
设计API收集列及其支持模型、工具、种子、处理器和分析器的声明式定义。通过插件注册表发现已安装的插件包;其配置类型参与编译,其实现进入与内置组件相同的执行路径。DAG编译器验证配置并将其解析为列的有向无环图(DAG)。每列产生一个命名值,该值可能出现在最终数据集中或作为下游列的输入。某些列还会发出辅助副作用字段,例如消息跟踪。依赖关系从显式配置以及提示和表达式中的Jinja2引用中推断,因此使用`{{ schema }}`或`{{ persona.age }}`的列会自动等待这些值存在。在配置编译时(生成开始前)即拒绝循环依赖。异步运行时调度此图中就绪的工作,并将模型支持的任务路由到模型运行时,其中自适应请求准入机制调节对外部端点的调用。MCP工具和远程验证器通过显式服务边界调用。物化过程写入完成的行组、跟踪、处理器视图和最终数据集工件,而不将外部服务作为声明式图的一部分。这种分离使得数据集设计、模型选择、验证策略和执行机制保持独立可见。因此,同一配置可以在不假设模型权重托管位置或端点容量配置方式的情况下描述一个数据集。
### 2.2 设计接口
数据集设计可以写成声明式YAML,或使用`DataDesignerConfigBuilder`在Python中构建。`preview()`和`create()`使用默认执行设置,而可选的`RunConfig`允许用户在需要时覆盖这些设置。将执行设置保持在列图之外,允许同一数据集设计既能预览又能全规模运行。附录B.1展示了相同的YAML和Python设计。在两种接口中,字段独立声明,其依赖关系编码在数据中而非命令式编排代码中。诸如`{{ audience }}`和`{{ goal }}`之类的引用同时标识提示替换和上游依赖关系,允许NDD将规范编译成可执行的列图。工作流作者声明每个字段需要什么,而运行时确定相应工作何时准备就绪。模型支持的列遵循相同模式:它们命名一个逻辑模型别名,而不将端点、凭据或服务细节嵌入列定义中。第2.4节描述了这些别名如何解析到运行时模型栈。
### 2.3 列作为流水线构建块
图3总结了从记录输入到物化输出的依赖感知路径。种子列和采样器列建立记录群体和受控变化;中间列和模型支持的列分阶段构建候选记录;验证器和LLM评判器应用结构化和语义化质量门控。通过的记录可以由处理器为训练或评估重新整形,而被拒绝的记录保留失败的检查和分数以供诊断。消息和工具调用跟踪保持为模型生成的独立、可检查的副作用。保持这些阶段分离,将流水线暴露为一系列设计选择,而非单个过载的提示。这种词汇表让工作流作者能够将生成分解为可检查的阶段。检索流水线可以分离文档分块、工件提取、问题生成、基于嵌入的去重、评判器评分和导出。文本到SQL流水线可以分离模式采样、提示合成、SQL生成、方言验证和评分标准评分。因此,失败会关联到某个阶段,而不是隐藏在一个提示内部。覆盖规划在第3.2节讨论。
### 2.4 模型和提供商
模型别名将NDD的声明式编程模型扩展到推理。模型支持的列命名其所需的逻辑模型角色,而非端点。因此,一个流水线可以为创意生成、低方差评判和嵌入使用不同的别名,即使某些别名指向相同的底层模型。别名也可以从托管API重新绑定到企业网关或自托管端点,而不更改提示或依赖图。NDD通过两个配置对象保持这种分离。`ModelProvider`描述服务边界,包括请求相似文章
DataArc-SynData-Toolkit:用于多路径、多模态和多语言数据合成的统一闭环框架
本文介绍了 DataArc-SynData-Toolkit,这是一个开源框架,旨在简化多路径、多模态和多语言合成数据的生成。它通过统一的、基于配置的流水线,旨在降低技术门槛并提高在训练大型语言模型过程中的可用性。
@neural_avb: https://x.com/neural_avb/status/2072294078805684613
本论文介绍了Autodata,这是一种利用智能“数据科学家”AI的方法,通过迭代生成、验证和优化来自动创建高质量合成数据集,该方法特别针对强化学习(GRPO)进行了优化,以提升语言模型的推理能力。
使用 NVIDIA NeMo Automodel 和 🤗 Diffusers 大规模微调视频和图像模型
NVIDIA NeMo Automodel 与 Hugging Face Diffusers 集成,支持对扩散模型进行可扩展的分布式微调,用于图像和视频生成,支持的模型包括 FLUX.1-dev、Wan 2.1 和 HunyuanVideo。
智能体数据
NVIDIA 讨论了开放数据和合成数据对于构建稳健 AI 智能体的重要性,并重点介绍了他们用于训练、推理和工具使用的 Nemotron 开放数据集。
设计合成讨论生成系统:在线引导案例研究
本文介绍了合成讨论生成(SDG),一种新颖的NLP框架,用于创建模拟讨论,从而在社会科学研究中实现低成本的预实验。作者证明,较小的量化模型(7B-8B参数)可以以比GPT等专有模型低44倍的成本生成有效的模拟,并将该框架应用于评估在线讨论中的LLM引导者。