北大联合Llama-Factory推出DataFlex:工业级数据动态训练系统
当大模型训练进入深水区,竞争的关键已经不再只是「模型参数怎么调」,而逐渐转向一个更核心、也更难系统解决的问题:模型在训练过程中究竟看到了什么数据、以什么比例看到、哪些样本应该被更频繁地学习。
这些因素正在越来越直接地决定训练效率、泛化能力以及最终模型性能。
围绕数据选择、数据混合和样本重加权,学术界已经提出了不少方法。但长期以来,这些方法大多分散在彼此独立的代码仓库中:接口不统一、训练流程不一致、复现门槛高、横向比较困难。
更重要的是,很多方法依赖 embedding、模型打分、梯度或中间推理信号,真正难的从来不是「提出一个方法」,而是把这些方法稳定、可复现地接入主流训练流程,并纳入一套统一的训练闭环。
近日,北京大学张文涛教授、鄂维南院士团队,联合 LLaMA-Factory Team、OpenDataLab、上海 AI Lab 等机构,推出了面向大模型训练过程的数据中心动态训练框架 DataFlex。
它并不是单一算法或若干脚本的简单堆叠,而是一套建立在 LLaMA-Factory 之上的统一训练基础设施:将动态样本选择、动态数据混合、动态样本加权三类核心能力真正纳入训练过程,使「数据如何参与训练」从经验式配置,升级为可控制、可优化、可复现的系统能力。
换句话说,DataFlex 试图解决的,并不只是某一个训练技巧是否有效,而是一个更底层的系统问题:如何让数据像模型参数一样,成为训练过程中可以持续调度和优化的核心对象。
这使它既可以作为研究平台,用于系统比较不同数据中心训练算法;也可以作为实用系统,直接服务于大模型预训练、后训练和领域适配等场景。
DataFlex 发布后,在 Hugging Face Daily Papers 榜单中迅速获得广泛关注并拿到了月榜第一。这种关注背后所反映的,本质上是社区对「数据中心动态训练」从理论走向工程闭环的里程碑式认可。
DataFlex 不只是一个算法仓库,而是一套数据中心训练基础设施
- 可复现的研究平台:在统一训练框架下系统比较动态数据混合、样本选择和样本加权等数据中心训练方法,覆盖在线与离线场景,显著降低研究复现与方法对比成本;
- 面向真实训练的优化系统:将数据选择、数据配比和样本权重调节真正接入训练闭环,使数据从「静态输入」变成「可持续调度的优化对象」,从而提升训练效率与最终模型效果。
技术报告:https://arxiv.org/abs/2603.26164
官方文档:https://opendcai.github.io/DataFlex-Doc/
Github 仓库:https://github.com/OpenDCAI/DataFlex
DataFlex:大模型工业化数据调用的最后一块拼图
设计哲学:告别静态投喂,把「数据调度」变成开箱即用的系统能力
1.核心概念:Data-Centric Dynamic Training System
DataFlex 的核心,不仅仅是再发一遍「数据很重要」的老生常谈,而是直击行业的最痛点:如何把「模型看什么数据、按什么比例看、优先强化哪些样本」这种玄学经验,真正固化为可配置、可调度、可复现的标准化系统能力。它不仅仅关注参数的梯度更新,更死死盯住了数据在每一步训练中的真实参与度。
1.1从「填鸭式静态输入」到「数据主动调度」
传统的大模型训练中,数据往往被视为预先准备好的静态输入:数据集先确定,采样方式先写死,训练过程中主要被持续优化的是模型参数本身。但当训练数据规模越来越大、来源越来越复杂时,真正决定效果的,已经不只是「有没有更多数据」,而是「训练时能否更聪明地使用数据」。
Data-centric dynamic training 的核心思想,是把数据从「被动输入」提升为「主动调度对象」。系统不仅要决定模型看哪些数据,还要动态决定不同数据源如何配比、哪些样本应被优先学习、哪些样本应被降低权重。
DataFlex 的价值,正是在于把这种原本零散、分散在不同方法和代码中的能力,推进为统一、标准化的训练机制。
1.2零成本迁移的统一框架
好的系统不应成为开发者的负担。在动态调度之外,DataFlex 更进一步解决的是系统层问题:如何把原本分散的数据选择、数据配比和数据重加权方法,统一纳入同一套训练基础设施。
一方面,DataFlex 建立在 LLaMA-Factory 之上,尽量复用已有的模型管理、数据处理和训练组件;另一方面,它在训练层引入统一的数据中心控制能力,使不同数据策略能够在同一个训练闭环中被实现、比较和扩展。
因此,DataFlex 不是若干数据算法的简单集合,而是一套面向大模型训练过程的统一数据中心动态训练系统。
2.三个设计原则
统一性:系统将数据中心训练中的三个代表性范式统一纳入了同一训练框架;
兼容性:系统能够融入现有的大规模模型训练基础设施,而不是额外引入一套工作流;
可扩展性:研究者可以以较低的工程成本实现并比较新的数据中心算法。
整体架构
DataFlex 延续了 LLaMA-Factory 易用、清晰的设计思路,但在整体架构上做了关键升级。其在不破坏现有训练生态的前提下,把数据中心训练真正做成了一套统一、可扩展、可复现、可落地的系统能力。整个系统大致可以分为三层:
- 基础层(Base Layer):这一层继承自 LLaMA-Factory,负责模型管理、数据处理、优化器等通用训练能力。系统在尽量保持原有训练流程与使用习惯的同时,把扩展重点集中在数据中心训练本身,降低了用户从现有训练流程迁移到 DataFlex 的门槛。
- 训练器层(Trainer Layer):它没有沿用单一的原始 trainer,而是将训练过程抽象为三种数据中心训练模式,分别对应数据选择、数据混合和样本加权。这一层把训练器从只负责参数更新,扩展为同时负责数据决策与参数优化。
- 策略组件层(Component Layer):这里挂载的是具体算法组件,例如不同的 selector、mixer 和 weighter。它们各自封装了不同方法的策略逻辑,并对训练器暴露了统一接口。
这种架构实现了轻量替换,而不是重构一切。DataFlex 并没有在 LLaMA-Factory 外面再包一个复杂编排系统,而是聚焦于替换训练层,并仅在需要时对数据加载等模块做最小扩展。
对用户来说,这接近一种「即插即用」的增强:已有的模型、数据集、训练参数配置都可以保留,只需要增加 DataFlex 相关配置,就能切换到以数据为中心的动态训练模式。
此外,DataFlex 还统一封装了数据中心方法普遍依赖的模型中间信号,比如 embedding 提取、模型推理、梯度计算等。很多数据选择和数据加权方法真正难落地,不是因为思想复杂,而是因为它们依赖的中间信号获取成本高、工程耦合重。DataFlex 把这类共享能力抽象出来,降低了实现和扩展门槛,也为后续大规模训练提供了基础。
核心功能
1.三个核心训练器
对应当前数据中心训练中典型的三种优化方向,DataFlex 支持三类核心训练器:
- 动态样本选择训练器(Dynamic Select Trainer):在训练过程中动态筛选更有价值的训练样本,减少低价值或冗余样本对训练预算的消耗,从而提升训练效率。
- 动态数据混合训练器(Dynamic Mix Trainer):面向多来源、多领域训练数据场景,在训练过程中动态调整不同数据源的采样比例,使模型能够根据当前学习状态更合理地分配训练注意力。
- 动态样本加权训练器(Dynamic Weight Trainer):针对不同样本赋予不同训练权重,使模型能够对更关键、更困难或更具代表性的样本进行更有效学习,从而改善模型性能与泛化能力。
2.算法集成与可扩展性
DataFlex 为三类训练器集成了 LESS、DoReMi、ODM、Loss Reweighting 等代表性方法。所有方法都以可插拔组件的形式,在统一接口下实现,从而能够在受控条件下进行公平比较。
科研上许多极具代表性的动态训练方法,要么缺乏官方仓库,要么其官方实现存在难以复现的问题。DataFlex 通过系统化的重构,让这些处于「失联」或「半停滞」状态的算法重新具备了工业级生产力。
三类训练器分工不同,但背后遵循的是同一种数据 — 模型交互逻辑:先观察当前模型状态,再给出新的数据决策,随后把这一决策反馈到后续训练中。
DataFlex 正是把这种共性的交互模式抽象成统一接口,从而让不同算法能够共享训练流程、基础能力以及扩展方式。 DataFlex 的配置文件继续沿用了 LLaMA-Factory 的基于 YAML 的格式,用于指定模型、数据集和训练超参数。
唯一新增的是一个简短的 dataflex 配置段,用于告诉框架要采用哪种数据中心策略,以及如何对其进行调度。
使用方式
DataFlex 完全兼容 LlamaFactory 的配置和使用方式:
- 配置兼容:在 LlamaFactory 配置基础上添加 DataFlex 参数;
- 命令一致:使用 dataflex-cli 替代 llamafactory-cli;
- 功能保持:支持所有 LlamaFactory 的原有功能;
- 无缝切换:可以通过 train_type: static 回退到原始训练模式。
环境配置、参数说明以及自定义组件接入方式,可进一步参考官方文档。除此之外,我们还提供了两期视频教程,分别演示了动态数据混合与动态数据选择的具体操作流程,便于初次上手的用户快速理解。
- 官方文档:https://opendcai.github.io/DataFlex-Doc/
- Github 仓库:https://github.com/OpenDCAI/DataFlex
- 视频教程:
- 自动数据选择与动态训练:https://b23.tv/BV1pHrKBoE6s
- 自动优化数据配比:https://b23.tv/LYYx1hG
实验效果
为了验证 DataFlex 的有效性,团队围绕样本选择、数据混合和系统效率三方面进行了系统实验,覆盖 7 种数据选择、2 种数据混合和 1 种数据重加权方法。整体结果表明,DataFlex 不仅能够统一复现不同数据中心方法,还能在模型效果和训练效率上带来稳定提升。
数据选择与样本加权:动态方法整体优于静态训练
在 Open-Hermes-2.5 子集上的实验显示,无论是在 Mistral-7B 还是 Llama-3.2-3B 上,大多数动态数据中心方法都优于静态全量训练基线。这表明在模型容量有限的情况下,能够实时感知模型状态的动态选择策略对于达到性能上限至关重要 。
3.2 数据混合:动态配比优于默认配比
在 SlimPajama 的 6B 和 30B 设置下,DoReMi 和 ODM 两种数据混合算法都表现出了明显优势。在 6B token 规模下,动态数据混合方法已经展现出明显优势:ODM 在通用能力评测中的准确率高于默认静态配比,而 DoReMi 则在整体困惑度上进一步取得更优结果,说明动态调整不同数据域的配比,确实能够带来更好的训练收益。
系统效率:统一框架不仅易用,而且高效
除了效果提升,DataFlex 在效率上也有不错表现。以 LESS 为例,在单卡设置下,DataFlex 在多个采样比例上都实现了更低训练耗时,例如在 1.0 比例下,训练时间从 30,239 秒降到 28,734 秒,同时准确率从 40.38% 提升到 42.37%。进一步在 8 张 H20 GPU 上,训练时间减少了 57.13%。
对于 TSDS 这类离线选择方法,DataFlex 的重实现也在不同数据规模下取得了稳定的 1%—3.5% 提速。
构筑 AI 时代的数据生态
当大模型技术演进跨越了架构探索的初级阶段,行业的角逐核心已跃迁至「数据应用」的深水区。
团队(PKU-DCAI)致力于在 Data-Centric AI(以数据为中心的 AI)浪潮中,构筑支撑下一代 AI 应用的数据基础设施。本次开源的 DataFlex 与团队另一核心工作 DataFlow(3k+ Stars),共同为 AI 时代的数据应用确立了从源头到闭环的全新范式。
Github 仓库:
https://github.com/OpenDCAI/DataFlow
https://github.com/OpenDCAI/DataFlex
面向 AI 时代海量且混沌的真实世界信息,DataFlow 的使命是打造「高智力密度」的数据提炼工场。承接 DataFlow 提炼的高阶数据,DataFlex 真正将「数据应用」的触角深入到了模型训练的原子层。它不仅是在加速模型的收敛,更是在系统层面控制模型的泛化能力与知识吸收轨迹,确保数据的潜在价值被极致地变现为 AI 的顶尖实战能力。
作者信息
作者是来自北京大学的 DCAI 团队,深耕于 AI 数据侧的底层革新与系统落地,拥有该领域最前沿的算法储备与工程经验。
梁昊:北京大学大数据科学研究中心博士,开源项目 DataFlow leader,第一作者 / 共同第一作者发表 9 篇 CCF-A 论文。
赵正阳:北京大学大数据科学研究中心博士,开源项目 DataFlow 核心开发者,元枢智汇高级算法研究员。
强美伊:北京大学软件与微电子学院硕士,开源项目 DataFlow 核心开发者,发表期刊 / CCF-A 论文 7 篇。
本文来自微信公众号 “机器之心”(ID:almosthuman2014),作者:机器之心,36氪经授权发布。















