DataArc-SynData-Toolkit:用于多路径、多模态和多语言数据合成的统一闭环框架
摘要
本文介绍了 DataArc-SynData-Toolkit,这是一个开源框架,旨在简化多路径、多模态和多语言合成数据的生成。它通过统一的、基于配置的流水线,旨在降低技术门槛并提高在训练大型语言模型过程中的可用性。
arXiv:2605.08138v1 公告类型:新论文
摘要:合成数据已成为解决大型语言模型(LLM)数据稀缺瓶颈的关键方案,特别是在专业领域和低资源语言方面。然而,现有合成数据工具的广泛采用受到复杂的工作流、碎片化的数据标准以及跨模态扩展能力有限等问题的严重阻碍。为了解决这些局限性,我们开发了 DataArc-SynData-Toolkit,这是一个开源框架,具有以下特点:(1) 一个基于配置、端到端的流水线,配备直观的可视化界面和简化的命令行界面(CLI),以实现卓越的易用性;(2) 一个统一的、质量可控的合成范式,标准化多源数据生成以确保高可重用性;以及 (3) 一个高度模块化的架构,旨在实现无缝的多模态、多语言和多任务适配。我们在多个应用场景中应用了该工具包。实验结果表明,我们的工具包在生成效率和数据质量之间实现了最佳平衡。通过提供端到端且可视交互的流水线,DataArc-SynData-Toolkit 显著降低了合成数据生成及后续模型训练的技术门槛,加速了其在现实世界应用中的实际部署。
查看缓存全文
缓存时间: 2026/05/12 06:52
# DataArc-SynData-Toolkit:一种用于多路径、多模态及多语言数据合成的统一闭环框架 来源:https://arxiv.org/html/2605.08138 史智超^1,2,3,4,杨泽昊^1,2,5[^1],周浩^1,2[^1],吴小军^1,2,5,李华杰^1,2,蒋徐辉^1,2[^2],徐成金^1,2[^2],王元卓^4,郭健^2 ^1 DataArc Tech Ltd.,^2 IDEA 研究(国际数字经济学院),^3 中国科学院大学高等交叉科学研究院,^4 中国科学院计算技术研究所,^5 香港科技大学(广州) https://github.com/DataArcTech/DataArc-SynData-Toolkit [^1]: 前两位作者对本研究贡献相同。 [^2]: 通讯作者:[email protected]; [email protected] ###### 摘要 合成数据已成为解决大语言模型(LLMs)数据稀缺瓶颈的关键方案,特别是在专业领域和低资源语言方面。然而,现有合成数据工具的广泛采用受到复杂工作流、碎片化的数据标准以及跨模态扩展性有限的严重阻碍。为解决这些局限性,我们开发了 DataArc-SynData-Toolkit,这是一个开源框架,具有以下特点:(1)一个配置驱动的端到端管道,配备直观的可视化界面和简化的命令行界面(CLI),以实现卓越的可操作性;(2)一种统一的、质量可控的合成范式,标准化多源数据生成以确保高可重用性;(3)一个高度模块化的架构,旨在无缝适应多模态、多语言和多任务场景。我们将该工具包应用于多个应用场景。实验结果表明,我们的工具包在生成效率和数据质量之间实现了最佳平衡。通过提供端到端的可视化交互管道,DataArc-SynData-Toolkit 显著降低了合成数据生成及后续模型训练的技术门槛,加速了其在实际应用中的部署。 ## 1 引言 大语言模型(LLMs)的快速演进指数级地推动了对高质量训练语料库的需求 [OpenAI, 2023; Touvron et al., 2023]。然而,大规模获取真实世界数据仍然是一个巨大的挑战,特别是在专业领域和低资源语言方面 [Barati et al., 2025; Abdalla et al., 2025]。因此,合成数据生成已成为扩展训练语料库的关键范式。虽然 Synthetic Data-RL [Guo et al., 2025] 和 DataFlow [Liang et al., 2025] 等先驱性框架极大地推动了该领域的发展,但它们的主要设计往往更偏向于算法探索,而非开箱即用的端到端工程可用性。 **表 1:DataArc 与其他开源合成数据框架的功能比较。** Data Prep. 指数据预处理;Struct. 和 Multi. 分别指结构化数据和多模态数据。对于合成策略,“Local” 表示基于本地语料的合成,“Distill” 指知识蒸馏,“Web” 表示通过网页搜索进行的合成。如图所示,DataArc 是唯一一个提供涵盖多种策略、多模态合成及下游模型微调的端到端管道的框架。 具体而言,如表 1 所示,当前的合成数据工具在实际场景中面临三大挑战: 1. **陡峭的学习曲线和有限的可用性**:现有工具主要面向 AI 专家。缺乏专业背景的用户难以驾驭数据生成、模型训练和验证的碎片化流程,往往需要借助复杂的多工具脚本。 2. **碎片化的工作流和非标准化的管道**:缺乏处理多源数据的统一范式 [Chen et al., 2024]。这种碎片化导致数据质量不可预测,并严重限制了跨项目的可重用性。 3. **受限的模态和语言扩展性**:大多数框架缺乏用于多模态和低资源语言合成的通用接口,导致扩展和维护成本高昂。 为应对这些挑战,我们提出了 **DataArc-SynData-Toolkit**,这是一个配置驱动的端到端系统,用于数据合成、模型训练和评估。该工具包将数据收集、合成、质量控制、后训练和评估统一到一个支持持续迭代的单一闭环工作流中。用户可以通过简洁的配置文件构建复杂的合成数据集并优化模型。此外,该工具包将执行逻辑封装为简化的命令,并提供直观的可视化界面,从而显著提高了可用性。 该工具包采用高度模块化且基于代理(agent-based)的系统设计。它统一了多源合成数据的合成管道和数据格式,包括本地语料、开源网络数据集和模型蒸馏。这种设计确保了高数据质量和强可重用性。此外,该系统抽象出了多模态和多语言数据的统一适配接口,大大降低了未来扩展的成本。 总之,DataArc-SynData-Toolkit 以可用性、标准化和扩展性为核心进行设计。其主要贡献如下: * 我们介绍了一个配置驱动的闭环系统,涵盖数据合成、模型训练和评估,可通过简化的 CLI 和直观的 UI 访问,从而普及合成数据生成。 * 我们设计了一种统一的、标准化的多源数据合成范式,并配备了强大的质量控制机制,从而保证数据的可靠性和可重用性。 * 我们提供了一个高度可扩展、模块化的框架,天生具备多模态和多语言合成能力,显著降低了未来学术界和工业界应用的工程开销。 ## 2 框架 **图 1:DataArc-SynData-Toolkit 概览。** * **用户端**:用户只需在文件或可视化界面中设置配置,即可获得所需的合成数据、模型和评估结果。 * **系统端**:工具包将端到端管道分为三个阶段:(1)数据合成:基于配置合成数据;(2)质量控制:过滤和重写数据以确保质量;(3)模型后训练和评估。 我们的目标是开发一个对用户和开发者都友好的合成数据工具包。该工具包应为开发者提供高度可扩展的框架,并为用户提供端到端管道和易于使用的操作范式。 因此,DataArc-SynData-Toolkit 采用统一且模块化的基于代理的设计。我们概括并抽象了从多源合成数据到模型输出的过程。基于管道中的收敛节点,并考虑不同步骤的可合并性,我们将整个端到端工作流分为三个关键阶段:数据合成、数据质量控制以及模型后训练和评估,如图 1 所示。在本节中,我们介绍 DataArc-SynData-Toolkit 实现这些关键阶段的设计。 ### 2.1 数据合成 为解决现有工具中缺乏统一工作流和数据标准的问题,DataArc-SynData-Toolkit 抽象出一种统一的数据合成范式,包括 **任务解析**、**数据源准备**、**约束构建**、**数据获取** 和 **结构化处理**。 1. **任务解析**:将任务定义解析为任务指令和领域边界等信息。 2. **数据源准备**:根据配置选择并准备数据源,包括本地语料、网络数据集或待蒸馏的模型。 3. **约束构建**:构建数据合成的约束,包括参考段落、字段限制或模式约束。 4. **数据获取**:基于解析的信息和定义的约束,从选定源中生成或过滤所需数据。 5. **结构化处理**:将合成数据规范化为统一格式。 基于这一统一范式,DataArc-SynData-Toolkit 设计了 `BaseTaskExecutor`。如图 2 所示,`BaseTaskExecutor` 实现了基本执行逻辑。开发者可以通过重写抽象函数来灵活扩展不同的合成路径。为了确保数据规范化和可重用性,工具包在 `structure_process` 函数中将所有数据处理为相同格式。 我们实现了三条路径:本地语料驱动合成(`LocalTaskExecutor`)、基于网络数据集的过滤(`WebTaskExecutor`)和基于指令蒸馏的合成(`DistillTaskExecutor`),涵盖了当前实践中的常见合成路径。 ```python from sdg.system.tasks import BaseTaskExecutor executor = BaseTaskExecutor(configurations, llm) parsed_information = executor.task_parsing() sources = executor.prepare() constraints = executor.construct_constraints(parsed_information) raw_data = executor.data_acquisition( sources, constraints, parsed_information ) syn_data = executor.structure_process(raw_data) ``` **图 2:抽象类 `BaseTaskExecutor` 中数据合成的代码实现** #### 2.1.1 本地任务 (Local Task) 该路径基于本地语料合成数据。`task_parsing` 函数从配置中的任务指令和领域中提取关键词用于检索。`prepare` 函数加载本地语料的检索器并为合成准备生成器。`construct_constraints` 函数调用检索器,使用 BM25 [Robertson et al., 2009] 或密集方法 [Karpukhin et al., 2020; Khattab and Zaharia, 2020] 从本地语料中检索参考段落。`data_acquisition` 函数结合任务指令、参考段落、格式约束和可选示例形成提示(prompt)。LLM 生成器被提示以合成数据。 #### 2.1.2 网络任务 (Web Task) 该路径从开源网络数据集中选择所需数据。`task_parsing` 函数与本地任务相同。`prepare` 函数根据提取的关键词从开放平台(如 HuggingFace)搜索候选数据集。`construct_constraints` 函数采用 LLM 根据配置选择最符合任务的数据字段。`data_acquisition` 函数提取选定字段中的内容,并根据这些内容的任务一致性和质量对数据集进行评分。最终数据优先从高评分数据集中采样,直到达到所需的数据量。 #### 2.1.3 蒸馏任务 (Distill Task) 该路径基于任务指令从更强的教师模型中蒸馏数据。`task_parsing` 函数解析配置以获取教师模型的参数。`prepare` 函数部署教师模型。`construct_constraints` 函数查询教师模型,从任务指令和可选示例中提取高质量的生成模式。`data_acquisition` 函数使用任务指令、模式约束和格式约束提示教师模型以生成数据。 ### 2.2 数据质量控制 由于样本难度不当等因素 [Tong et al., 2024; Ferracci et al., 2024],直接在初始合成数据上训练模型可能导致性能下降。因此,DataArc-SynData-Toolkit 设计了一个质量控制阶段以确保数据质量。该阶段分为两个关键功能:评估和重写。通过评估、重写和重新评估,生成高质量的合成数据。 为了支持不同算法的可扩展性,我们将评估和重写步骤高度抽象为基类 `Evaluator` 和 `BaseRewriter`。评估器以原始合成数据为输入,输出相应的评估分数。重写器以原始数据及其分数为输入,并根据这些分数生成重写后的样本。开发者可以重写抽象函数并设计不同的策略,从而实现质量控制策略的灵活扩展。以下是工具包中质量控制代码实现的示例。 ```python from sdg.system.evaluation import Evaluator from sdg.system.generation.rewriter import DifficultyAdjustRewriter evaluator = Evaluator(configs, base_model, llm) rewriter = DifficultyAdjustRewriter(configs, llm) init_eval = evaluator.evaluate(dataset) rewritten_dataset = rewriter.rewrite( dataset, init_eval, ) final_eval = evaluator.evaluate( rewritten_dataset ) solved, learnable, unsolved = rewritten_dataset.categorize_by_score(final_eval) ``` **图 3:工具包中质量控制策略代码实现的示例** ### 2.3 模型后训练和评估 为了便于用户检查合成数据的训练效果,DataArc-SynData-Toolkit 集成了模型后训练和评估模块,建立了闭环模型迭代。 对于训练,该工具包集成由 verl [Shen et al., 2025] 提供支持训练模块,使用户能够直接在合成数据上训练模型。该工具包支持两种训练方法:监督微调(SFT)和组相对策略优化(GRPO)[Shao et al., 2024]。 对于评估,该工具包提供由 DeepEval^[1] 支持的模型评估模块。该模块使用户能够在用户提供的评估数据集上评估后训练模型,并应用 G-Eval [Liu et al., 2023] 来判断模型响应。该工具包支持三项指标:答案正确性、格式合规性和成对偏好。 ^[1]: https://github.com/confident-ai/deepeval ### 2.4 其他可扩展模块 为了便于开发者将各种算法和策略集成到工具包中,我们采用了高度模块化的设计。在前面的小节中,我们描述了工作流三个关键阶段的基于代理的抽象和封装。在本节中,我们介绍其他可扩展模块,重点介绍多模态和多语言适配模块。 对于多模态适配器,我们开发了 `MMProjector`,在提供用于冷启动初始化的种子图像数据后,执行合成多模态指令的任务。
相似文章
设计合成讨论生成系统:在线引导案例研究
本文介绍了合成讨论生成(SDG),一种新颖的NLP框架,用于创建模拟讨论,从而在社会科学研究中实现低成本的预实验。作者证明,较小的量化模型(7B-8B参数)可以以比GPT等专有模型低44倍的成本生成有效的模拟,并将该框架应用于评估在线讨论中的LLM引导者。
@cjzafir: 这是我的微调数据集生成流程:> Codex 5.5 作为编排器 > Deepseek v4 Pro 作为生成器 简而言之…
本文描述了一个微调数据集生成流程,使用 Codex 5.5 作为编排器,Deepseek v4 Pro 作为生成器,通过自主质量门控和迭代改进,以低成本生成高质量合成数据。
CoCoDA:用于工具增强型智能体的协同演化组合式 DAG
本文介绍了 CoCoDA,这是一个利用协同演化的组合式有向无环图(DAG)来管理增强型智能体工具库的框架。该框架使小型语言模型能够高效地检索和组合工具,从而使 8B 模型在推理基准测试上的性能能够匹敌甚至超越 32B 模型。
DeepCode:开放式智能体编程
DeepCode 是一个完全自主的框架,用于从文档到代码库的合成,通过原则性的信息流管理将科学论文转化为生产级代码,在 PaperBench 上取得了最先进的结果,并超越了博士级人类专家。
@tom_doerr: 通过自学习智能体实现数据标注自动化 https://github.com/HumanSignal/Adala…
Adala 是一个开源框架,用于构建自主数据标注智能体,这些智能体通过与基准数据集和 LLM 运行时交互,迭代式地学习技能。