DataFlex:面向大语言模型的统一数据中心动态训练框架

深度2026年3月27日15 分钟阅读
北京大学等团队提出 DataFlex,基于 LLaMA-Factory 的统一数据中心动态训练框架。支持数据选择、数据混合和数据重新加权三大范式,在 Mistral-7B 和 Llama-3.2-3B 上动态方法 MMLU 准确率比静态训练高 5.8 个百分点。

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 框架构建,作为训练层的即插即用替代,在保持与现有模型管理、数据处理和优化管线兼容性的同时,实现对数据使用的动态控制。

主要贡献

  1. 引入数据中心动态训练系统的概念,并提出 DataFlex,一个统一数据选择、数据混合优化和数据重新加权的框架
  2. 提出基于 LLaMA-Factory 的模块化数据-模型交互架构,具有统一的训练器抽象和可插拔的算法组件
  3. 开发可复现和可扩展的系统实现,标准化共享的模型依赖操作
  4. 证明 DataFlex 中实现的数据中心方法始终优于静态基线

2 相关工作

2.1 数据选择

数据选择旨在识别对模型优化最有用的训练数据子集。随着 LLM 训练语料库规模的持续增长,选择高价值数据对于提高训练效率、降低计算成本和增强下游性能越来越重要。

离线数据选择:在模型训练前确定选择的子集,通常基于质量、多样性或难度等信号。常见方法包括使用大语言模型或辅助评分模型评估数据质量。例如 du2023mods 使用 DeBERTa 评分,chen2023alpagasus 利用 ChatGPT 评估指令数据质量。离线选择方法易于部署且不产生额外的训练时间开销,但无法适应优化过程中模型状态的变化。

在线数据选择:在训练期间通过纳入当前模型的反馈来更新选择策略。LESS 通过梯度近似估计每个样本对目标任务的影响力,NICE 将在线选择推广到非可微评估指标的设置。在线数据选择更灵活且通常更有效,但需要与训练循环更紧密的集成。

2.2 数据混合

数据混合关注如何在异构数据源或领域之间分配训练概率,如网页文本、书籍、代码和百科语料库。

离线数据混合:DoReMi 提出两阶段策略,先训练小代理模型推导领域权重,再按这些权重重采样训练完整模型。DoGE 将领域重新加权表述为双层优化问题。

在线数据混合:ODM 将领域分配表述为多臂老虎机问题,根据在线损失观察更新混合比例。Aioli 通过估计领域间交互来自适应更新混合比例。

2.3 在线数据重新加权

在线数据重新加权根据当前损失动态调整每个训练样本的重要性。模型认为困难或信息丰富的样本被赋予更高权重,而简单或冗余的样本随着训练进展被降权。


3 DataFlex:系统设计与核心抽象

3.1 目标与设计理念

DataFlex 的核心目标是将数据从静态训练资源提升为一等优化变量。设计遵循三个原则:

  1. 统一性:在通用训练框架下支持数据中心训练的代表性范式
  2. 兼容性:与现有大规模模型训练基础设施无缝集成
  3. 可扩展性:研究人员可以用最小的工程开销实现和比较新的数据中心算法

3.2 数据模块设计

DataFlex 引入由三层组成的模块化架构:

基础层:继承自 LLaMA-Factory,提供模型管理、数据处理和优化的标准基础设施。

训练器层:DataFlex 的核心,用三种动态训练模式替换原始 LLaMA-Factory 训练器:

  • Select Trainer(选择训练器):根据指定策略动态选择样本子集
  • Mix Trainer(混合训练器):在训练期间动态调整跨领域的混合比例
  • Weight Trainer(权重训练器):在反向传播期间动态修改每个样本的训练权重

组件层:每个训练器关联一组可插拔的策略组件——选择器(Selectors)、混合器(Mixers)和加权器(Weighters)。所有组件通过集中注册表管理,允许新算法通过装饰器注册并在运行时自动发现。

图1:DataFlex 高层架构

图1:DataFlex 高层架构。每个训练器配备一组可插拔的算法组件。

3.3 算法集成与可扩展性

统一的训练器-组件交互:尽管数据选择、数据混合和数据重新加权的控制目标不同,它们共享共同的交互模式:每种方法观察当前模型状态、计算数据中心决策、并将其反馈到后续优化步骤。

已支持的算法

  • 数据选择:基于梯度的方法(LESS、NICE)、基于损失的方法(Loss、Delta Loss)、基于分布的方法(NEAR、TSDS)
  • 数据混合:离线 DoReMi 和在线 ODM
  • 数据重新加权:基于损失的加权器

配置与易用性:配置文件复用 LLaMA-Factory 的 YAML 格式,仅需添加一个短小的 dataflex 节指定:

  1. train_type:训练范式(如 dynamic_select
  2. component_name:具体算法(如 less
  3. 调度参数(warmup_stepupdate_stepupdate_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:不同数据选择策略的准确率比较

图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)

  1. 分布式训练支持:原始 LESS 仅支持单 GPU,DataFlex 支持 DeepSpeed ZeRO 和 FSDP
  2. 依赖和兼容性:原始代码库锁定特定版本,DataFlex 基于 LLaMA-Factory 保持最新兼容
  3. 工作流集成:DataFlex 将多个独立脚本整合为统一管线

数据混合(DoReMi)

  1. 可扩展的分布式训练:支持多节点训练和 ZeRO/FSDP
  2. 解耦架构和模型兼容性:仅依赖标准 Causal LM 接口
  3. 灵活的数据管线:统一 mixture_manager 和动态重建的分布式数据加载器

觉得有用?分享给更多人

获取每周 AI 工具精选

工具推荐、实战教程和生态洞察,每周更新。

相关文章

Simon Willison 正在重构 LLM Python 库的抽象层,以支持服务器端工具执行等新功能。他利用 Claude Code 分析了四大 LLM 提供商的客户端库,生成了用于测试的 curl 命令和 JSON 输出。这些调研材料已开源,旨在帮助设计更通用的 API 抽象。

深度Simon Willison·4月5日·1 分钟

智能体技能——包含程序性知识和可执行资源的结构化包,供智能体在推理时动态加载——已成为增强 LLM 智能体的可靠机制。然而,推理时技能增强存在根本性限制:检索噪声引入无关指导,注入的技能内容带来大量 token 开销,而模型从未真正习得它所遵循的知识。我们提出一个问题:技能是否可以被内化到模型参数中,使其在无需任何运行时技能检索的情况下实现零样本自主行为?我们提出 Skill0,一个专为技能内化设计的上下文强化学习框架。Skill0 引入了一种训练时课程,从提供完整技能上下文开始,逐步撤除。技能按类别离线分组,并与交互历史一起渲染为紧凑的视觉上下文,教授模型工具调用和多轮任务完成。动态课程机制…

深度·4月5日·17 分钟

评论