DataFlex:面向大语言模型的统一数据中心动态训练框架
arXiv:2603.26164v1 [cs.LG] 2026年3月27日
¹北京大学,²上海高等算法研究院,³OriginHub Technology,⁴LLaMA-Factory 团队,⁵中关村学院,⁶OpenDataLab·上海人工智能实验室,⁷上海交通大学
DataFlex:面向大语言模型的统一数据中心动态训练框架
Hao Liang, Zhengyang Zhao, Meiyi Qiang 等(共25位作者)
通讯作者:Wentao Zhang (wentao.zhang@pku.edu.cn)
摘要
数据中心训练已成为改进大语言模型(LLM)的一个有前景的方向,它不仅优化模型参数,还在优化过程中优化训练数据的选择、组成和权重。然而,现有的数据选择、数据混合优化和数据重新加权方法通常在独立的代码库中开发,接口不一致,阻碍了可复现性、公平比较和实际整合。本文提出 DataFlex,一个基于 LLaMA-Factory 构建的统一数据中心动态训练框架。DataFlex 支持动态数据优化的三大范式:样本选择、领域混合调整和样本重新加权,同时与原始训练工作流完全兼容。它提供可扩展的训练器抽象和模块化组件,作为标准 LLM 训练的即插即用替代方案,并统一了关键的模型依赖操作(如嵌入提取、推理和梯度计算),支持包括 DeepSpeed ZeRO-3 在内的大规模设置。
我们对多种数据中心方法进行了全面实验。在 Mistral-7B 和 Llama-3.2-3B 上,动态数据选择始终优于静态全量数据训练的 MMLU 表现。在数据混合方面,使用 SlimPajama 以 6B 和 30B token 规模预训练 Qwen2.5-1.5B 时,DoReMi 和 ODM 在 MMLU 准确率和语料库级困惑度上均优于默认比例。DataFlex 还实现了相比原始实现的一致性运行时间改进。这些结果表明,DataFlex 为大语言模型的数据中心动态训练提供了有效、高效和可复现的基础设施。
源代码:https://github.com/OpenDCAI/DataFlex 数据集与演示:https://huggingface.co/collections/OpenDCAI/data-for-dataflex 文档:https://opendcai.github.io/DataFlex-Doc/
1 引言
大语言模型的显著进展不仅得益于模型架构和优化算法的进步,还得益于训练数据的规模、质量和组成。随着 LLM 训练越来越依赖于大规模异构语料库,数据不再仅仅是静态资源,而是直接影响训练效率、泛化能力和下游性能的关键因素。这一转变激发了人们对数据中心训练方法的日益关注,这些方法旨在优化的不仅是模型参数,还包括优化过程中训练数据的选择、组成和权重。
近期工作在这一方向上探索了多种策略。在线方法在训练循环中运行:数据选择方法如 LESS 和 NICE 通过基于梯度的影响力或黑盒优化信号估计样本效用;在线数据混合方法如 ODM 在预训练期间调整领域比例;数据重新加权方法调节每个样本对训练目标的贡献。离线方法则在训练开始前计算数据中心决策:基于分布的选择方法如 TSDS 在嵌入空间中对样本评分和排序,而 DoReMi 通过代理模型推导优化的领域权重,并在主训练中作为静态混合应用。
然而,这种多样性也导致了方法和实现之间的严重碎片化。大多数方法以特定方法的代码库发布,接口不一致、训练和评估协议异构、代码库经常过时,阻碍了在统一实验设置下的可复现性和公平比较。
更根本的是,现有方法通常被设计为孤立的算法组件,而非通用数据-模型交互系统的一部分。在实践中,这些方法无论是在线还是离线,都需要访问模型依赖信号,如样本嵌入、推理输出、验证反馈和梯度。缺乏统一的抽象来管理此类交互,使得将多种数据中心训练算法集成到可扩展的工作流中仍具挑战性。
为解决这些挑战,我们引入了数据中心动态训练系统的概念,并将 DataFlex 作为其具体实现。该系统是一种训练基础设施,将数据视为一等优化变量,提供统一接口来动态控制使用哪些样本、如何混合不同数据源、以及每个样本对优化的贡献强度。这里的"动态"指系统在整个训练生命周期中灵活编排数据使用的能力,而非仅限于在线算法。
DataFlex 基于广泛使用的 LLaMA-Factory 框架构建,作为训练层的即插即用替代,在保持与现有模型管理、数据处理和优化管线兼容性的同时,实现对数据使用的动态控制。
主要贡献:
- 引入数据中心动态训练系统的概念,并提出 DataFlex,一个统一数据选择、数据混合优化和数据重新加权的框架
- 提出基于 LLaMA-Factory 的模块化数据-模型交互架构,具有统一的训练器抽象和可插拔的算法组件
- 开发可复现和可扩展的系统实现,标准化共享的模型依赖操作
- 证明 DataFlex 中实现的数据中心方法始终优于静态基线
2 相关工作
2.1 数据选择
数据选择旨在识别对模型优化最有用的训练数据子集。随着 LLM 训练语料库规模的持续增长,选择高价值数据对于提高训练效率、降低计算成本和增强下游性能越来越重要。
离线数据选择:在模型训练前确定选择的子集,通常基于质量、多样性或难度等信号。常见方法包括使用大语言模型或辅助评分模型评估数据质量。例如 du2023mods 使用 DeBERTa 评分,chen2023alpagasus 利用 ChatGPT 评估指令数据质量。离线选择方法易于部署且不产生额外的训练时间开销,但无法适应优化过程中模型状态的变化。
在线数据选择:在训练期间通过纳入当前模型的反馈来更新选择策略。LESS 通过梯度近似估计每个样本对目标任务的影响力,NICE 将在线选择推广到非可微评估指标的设置。在线数据选择更灵活且通常更有效,但需要与训练循环更紧密的集成。
2.2 数据混合
数据混合关注如何在异构数据源或领域之间分配训练概率,如网页文本、书籍、代码和百科语料库。
离线数据混合:DoReMi 提出两阶段策略,先训练小代理模型推导领域权重,再按这些权重重采样训练完整模型。DoGE 将领域重新加权表述为双层优化问题。
在线数据混合:ODM 将领域分配表述为多臂老虎机问题,根据在线损失观察更新混合比例。Aioli 通过估计领域间交互来自适应更新混合比例。
2.3 在线数据重新加权
在线数据重新加权根据当前损失动态调整每个训练样本的重要性。模型认为困难或信息丰富的样本被赋予更高权重,而简单或冗余的样本随着训练进展被降权。
3 DataFlex:系统设计与核心抽象
3.1 目标与设计理念
DataFlex 的核心目标是将数据从静态训练资源提升为一等优化变量。设计遵循三个原则:
- 统一性:在通用训练框架下支持数据中心训练的代表性范式
- 兼容性:与现有大规模模型训练基础设施无缝集成
- 可扩展性:研究人员可以用最小的工程开销实现和比较新的数据中心算法
3.2 数据模块设计
DataFlex 引入由三层组成的模块化架构:
基础层:继承自 LLaMA-Factory,提供模型管理、数据处理和优化的标准基础设施。
训练器层:DataFlex 的核心,用三种动态训练模式替换原始 LLaMA-Factory 训练器:
- Select Trainer(选择训练器):根据指定策略动态选择样本子集
- Mix Trainer(混合训练器):在训练期间动态调整跨领域的混合比例
- Weight Trainer(权重训练器):在反向传播期间动态修改每个样本的训练权重
组件层:每个训练器关联一组可插拔的策略组件——选择器(Selectors)、混合器(Mixers)和加权器(Weighters)。所有组件通过集中注册表管理,允许新算法通过装饰器注册并在运行时自动发现。

图1:DataFlex 高层架构。每个训练器配备一组可插拔的算法组件。
3.3 算法集成与可扩展性
统一的训练器-组件交互:尽管数据选择、数据混合和数据重新加权的控制目标不同,它们共享共同的交互模式:每种方法观察当前模型状态、计算数据中心决策、并将其反馈到后续优化步骤。
已支持的算法:
- 数据选择:基于梯度的方法(LESS、NICE)、基于损失的方法(Loss、Delta Loss)、基于分布的方法(NEAR、TSDS)
- 数据混合:离线 DoReMi 和在线 ODM
- 数据重新加权:基于损失的加权器
配置与易用性:配置文件复用 LLaMA-Factory 的 YAML 格式,仅需添加一个短小的 dataflex 节指定:
train_type:训练范式(如dynamic_select)component_name:具体算法(如less)- 调度参数(
warmup_step、update_step、update_times)
工作流几乎与标准 LLaMA-Factory 使用相同。安装后用 dataflex-cli train 启动训练。
3.4 系统效率与可扩展性
DataFlex 继承了 LLaMA-Factory 对混合精度训练、分布式数据并行和 DeepSpeed 集成的支持。
关键挑战在于梯度获取:DataFlex 通过与 DeepSpeed ZeRO-3 兼容的分布式梯度收集机制解决此问题,利用 safe_get_full_grad 接口从分区碎片重建完整梯度。
4 实验
4.1 实验设置
数据选择与重新加权:
- 数据集:Open-Hermes-2.5 的 10 万样本子集
- 模型:Mistral-7B-v0.1 和 Llama-3.2-3B
- 使用 LoRA(rank=32,α=64)进行参数高效微调
- 8 × NVIDIA H20 GPU
数据混合:
- 数据集:SlimPajama(七个文本领域),6B 和 30B token 规模
- 模型:Qwen2.5-1.5B(从零训练)
- DoReMi 的参考/代理模型:Qwen2.5-0.5B
4.2 数据选择与重新加权结果

图3:两种骨干模型上不同数据选择和采样策略的 MMLU 准确率比较。
总体趋势:在两种骨干模型上,大多数动态数据中心方法优于静态全量数据训练基线,确认了在优化期间主动控制数据使用的价值。
Mistral-7B:LESS 达到最佳最终准确率 0.452,比静态基线(0.394)高 5.8 个百分点。Reweight 方法排名第二(0.429)。离线方法在早期训练(步骤 200-600)中收敛更快。
Llama-3.2-3B:动态方法与静态基线的差距更为明显。静态基线仅达到 0.319,而所有在线方法均超过 0.427。Reweight 达到最佳最终准确率 0.453。离线方法(NEAR 0.344,TSDS 0.345)表现明显弱于在线方法,表明在模型容量有限时,动态的模型感知选择更为关键。
4.3 数据混合结果
SlimPajama-6B:两种动态方法在 MMLU 上均优于静态基线。ODM 最高准确率(26.04%),DoReMi 最佳困惑度(4.134)。DoReMi 在大领域(CommonCrawl、C4)表现最优,ODM 在小领域(StackExchange、ArXiv、Book)表现最优。
SlimPajama-30B:扩展到 30B token 放大了动态数据混合的优势。DoReMi MMLU 最高(25.97%),ODM 整体困惑度最佳(3.429)。ODM 在 7 个领域中 5 个达到最低困惑度。静态基线不再在任何领域取得最佳结果。
讨论:DoReMi 和 ODM 具有互补特性——DoReMi 通过极小极大优化改善高资源领域的困惑度,ODM 通过在线老虎机探索更积极地探索和提升少数领域。
4.4 DataFlex 的效率
在线数据选择:在单 GPU 设置下,DataFlex 在 0.05 采样率时减少 3.72% 运行时间,在 0.5 采样率时减少 7.09%。使用 8 × H20 GPU 时,运行时间从 28,734 秒降至 12,965 秒,减少 57.13%。
离线数据选择:DataFlex 实现在所有测试规模上始终更快,改进约 1-3.5%。
5 结论
本文提出 DataFlex,一个基于 LLaMA-Factory 构建的统一数据中心动态训练框架。DataFlex 将数据视为一等优化对象,提供了在 LLM 优化过程中动态控制训练数据如何被选择、混合和加权的实用基础设施。
DataFlex 的关键优势在于其系统设计:用可扩展的训练器抽象和模块化算法组件替换 LLaMA-Factory 的训练层,实现与现有训练工作流的无缝集成。通过统一嵌入提取、模型推理和梯度计算等共享的模型依赖操作,DataFlex 使动态训练方法的实现更具可扩展性和可复用性。
实验结果表明,DataFlex 中实现的动态数据中心方法在数据选择的 MMLU 准确率上始终优于静态全量数据训练,在数据混合方面同时改善了 MMLU 准确率和语料库级困惑度,同时实现了相比原始代码库的运行时间改进。
附录:作者贡献
- Hao Liang:项目负责人、项目创始人、核心贡献者
- Zhengyang Zhao:项目创始人、核心贡献者;数据选择和重新加权接口设计与实现
- Meiyi Qiang:核心贡献者;NICE 数据选择算法,改进 LESS 选择器
- Mingrui Chen:核心贡献者;数据混合接口设计与实现
- Wentao Zhang:通讯作者、项目主管
附录:与原始实现的比较
数据选择(LESS)
- 分布式训练支持:原始 LESS 仅支持单 GPU,DataFlex 支持 DeepSpeed ZeRO 和 FSDP
- 依赖和兼容性:原始代码库锁定特定版本,DataFlex 基于 LLaMA-Factory 保持最新兼容
- 工作流集成:DataFlex 将多个独立脚本整合为统一管线
数据混合(DoReMi)
- 可扩展的分布式训练:支持多节点训练和 ZeRO/FSDP
- 解耦架构和模型兼容性:仅依赖标准 Causal LM 接口
- 灵活的数据管线:统一 mixture_manager 和动态重建的分布式数据加载器
觉得有用?分享给更多人