数据工程·工具栈与未来展望
《AI 数据全书》· 第 30 章 · 端到端案例、工具与未来展望全书最后一章回答两个问题:用什么做,以及接下来往哪去。四个 Tab 各抓一个可以动手算的东西: 编排层决定的是「改一个参数后要付多少钱」——有分片和断点续跑,重跑成本是 O(变更的 step),没有就是 O(全管线),这条结论在第一个 Tab 里是可拖的对比条; 15 周的项目里数据只花 5% 的钱,却占 60-70% 的时间——数据工程的成本不在云账单上,在人的日历上; 「我们爬了网页」不再是合规答案——EU AI Act 要求按数据量列出前 10% 的域名,没做域名维度聚合就得回扫全部原始数据; 「合成数据占比 60%」这个数字在问清口径之前毫无意义——同一份数据切四个开关,能从百分之十几变到百分之九十。 成本树、3% 阈值、域名累加、DPI 风险条数、16 种口径占比、Popoviciu 上界全部在浏览器里真算; GPU 单价、分阶段精力比例、曝光次数、下游依赖率、构造数据集与域名、供给曲线是教学模型或构造值,已逐一标灰。
🧭原书 §30.10 的一句话是本 Tab 的全部出发点:「编排层决定的是『改一个参数后要付多少钱』」。 算子开发是一 次性的,重跑是反复发生的 —— 下面第二块把这个 O(...) 变成可以拖的对比条。
🧱工具栈三层分工(§30.8 + §30.10)
📖 §30.8 / §30.10点击任一工具查看用途与踩坑。分层严格按原书 §30.10 表格:算子层 = 单个变换,编排层 = DAG / 分片 / 断点续跑,加速层 = 把算子搬到 GPU。 原书只把 DataTrove 归为编排层、NeMo Curator 归为加速层,本工具据此给 vLLM 也归入加速层(PagedAttention 提速 5-10 倍),其余按算子层处理。
DataTrove编排层预训练栈 · §30.8 / §30.10
用途:分布式数据处理管线框架
⚠ 踩坑 / 局限:它管的是「改一个参数后要付多少钱」,不是算子本身
💸改一个参数要付多少钱(重跑成本沙盘)
🧮 浏览器内真算有分片 + 断点续跑,但没有产物 hash 链:不知道下游哪些 step 真受影响,只能保守地把变更 step 之后的全部分支重跑。
管线 step 总数8
分片数(shards)500
本次变更的 step 数1
变更发生在第几个 step3
其后还有 5 个下游 step
单个 step × 单个 shard 的成本$0.60
单个 step × 单个 shard 的耗时3.0 分钟
落在 §30.10 判据一的「分钟级」经验区间
并行度(同时跑多少 shard)64
下游真依赖比例(无 hash 链时不可知)35%
只在「hash 链」模式下生效
一年改几次配方12 次
实际要重跑的 step
6 / 8
其中下游 5 个
单次重跑成本
$1.8K
3,000 个 step·shard
墙钟时间
2.3 小时
并行度 64
相比全管线重跑
−25.0%
省 $600
无分片:全管线重跑$2.4K
当前模式:6 个 step$1.8K
年度重跑成本(当前模式)
$21.6K
12 次/年
年度重跑成本(无分片)
$28.8K
12 次/年
⚠ ⚠ 下游真依赖比例 与 ⚠ ⚠ 单 step·shard 成本/耗时 为本工具设定,绝对值无意义 —— 只有「三种模式之间的相对关系」来自原书 §30.10 的结论:有分片和断点续跑,重跑成本是 O(变更的 step);没有,则是 O(全管线)。 年度次数按你自己填的滑杆乘出来,用于展示「重跑是反复发生的」这句话的量级含义。
🔧DataTrove:编排层的定位(§30.10)
📖 §30.10- · 把数据处理抽象为 PipelineStep 的组合,每个 step 独立处理一个数据分片(shard)
- · 天然支持断点续跑 —— 某个 step 失败只需重跑该 step,不必从头再来
- · 三种 executor:本地多进程 / Slurm 集群 / Ray 集群,同一份 pipeline 代码可从笔记本调试直接切到上百节点
- · FineWeb、FineWeb-Edu、SmolLM 的公开数据管线都以 DataTrove 为基础构建
⭐它是目前复现 SOTA 开源数据配方时最省力的起点 —— 你要改的通常不是算子,而是 orchestrator 里的参数。
✅§30.10 四条工程判据:落地自查
0/4已满足0 / 4
判据一(分片粒度)当前实测分钟级 ✓
判据二(产物 hash 链)当前模式未具备 ✗
这个工具里哪些数字是真的
📖 文献值(原书 / 论文引文,非本工具实算)
- · §30.8 预训练 12 工具 + 后训练 11 工具清单;§30.9 的踩坑(favor_precision / num_perm=128 + threshold=0.7 / Presidio 中文弱 / TRL 大规模不如 OpenRLHF)
- · §30.10 三层分工表、DataTrove 三个 executor、四条工程判据、溯源 JSON 四字段结构
- · §30.6 15 周时间线与成本树($800K / $130K / $35K / $65K / $5K → $1.03M;$52K;$90K;总计 $1.17M)
- · §30.7 七条要点(60-70% 时间 / 400M 代理 / 420B→42B→4B→2B / 30% 回放 / 100 条种子 / 可验证奖励 / 5 个版本)
- · §30.2 代理实验结果表(baseline / code_heavy / math_heavy / balanced_plus 四组 × 四项基准)
- · §30.18 EU AI Act 四个时间节点与罚则(3% 或 1500 万欧元取高)、六类来源、3% 数据集阈值、10% / 5% 域名阈值
- · DPI 审计(Nature Machine Intelligence 2024):1,858 个数据集 / 未指定 >70%(HF 72%、PwC 83%)/ 类别不符 66% / 偏宽松 27-29% / 可降到 30.7%
- · §30.12 数据墙 10-15T、数据集扩张表、Chinchilla 倍数(1950× / 370× / 300×)
- · §30.13 四代演进与崩溃率(~5% / <2%);§30.15 六层架构与 MCP 9,700 万安装量
- · ESAT(arXiv:2607.16900,已 abs 验真):30,000 → 9,352 / 84.2% / 79% / +4.1-15.3%
- · RODS(arXiv:2606.19047,已 abs 验真):400 种子 ≈ 17K 离线(20-42×)/ 56.0 vs 50.0 vs 50.5
- · 合成占比 26%(2023)→ 60%+ / 68%(2026)—— 必须连同口径一起引用,禁止单独引用
🧮 浏览器内真算
- · 重跑成本:three 个模式各自从 step / shard / 单价 / 并行度算出实际 step 数、美元、墙钟时间与节省比例
- · 成本树:GPU 日单价 × 数量 × 天数 逐条结算,三项汇总 + 环形图占比(默认复现 88 / 5 / 7)
- · 数据工程时间占比:七个阶段的 (周数 × 精力比例) 加权,与书中 60-70% 绿带对照
- · 400M vs 7B 的 FLOPs = 6ND 与 H100 卡·天(MFU 可拖)
- · 3% 阈值:按模态分组重算每个公开数据集的占比,触发清单逐条列出
- · 域名披露:1,200 个构造域名按 token 降序累加到 10% / 5%,算出需列出的个数
- · DPI 风险条数:两种策略 + 「偏宽松」两种分母 + 未指定当 作可商用的比例,全部实时重算
- · 四口径合成占比:12 个来源 × 16 种开关组合 = 16 个真算值,唯一函数
ratio = Σw(合成)/Σw(全部) - · RODS 的 Popoviciu 上界 μ(1−μ) 与累积错误率 1 − acc^N 直接计算
⚠ 教学模型 / 示意值 / 构造参数
- · GPU 日单价(H100 $104 / A100 $67):由 §30.6 的成本条目反解,非市场报价
- · 各阶段 dataShare(1.0 / 1.0 / 0.5 / 0.5 / 0.15 / 0.1 / 0.2):原书只给全项目 60-70%,未给分阶段比例
- · 四阶段曝光次数(1 / 2 / 3 / 16):原书未给;16 落在 §30.9 vLLM 一节「N=8-64」区间内
- · 下游真依赖比例(默认 35%)、单 step·shard 成本/耗时、一年改几次配方:全部为本工具设定
- · MFU 40% 与 H100 bf16 989 TFLOPS:算力估算的常用教学假设,非本项目实测
- · 12 个公开数据集的名称 / 模态 / token 数:构造示例,用于演示 3% 阈值机制
- · 1,200 个爬取域名:按 1/√i 确定性生成,非真实爬取日志
- · 四口径切换器的整份 fixture(12 个来源):教学构造,绝对值不代表任何真实配方
- · ESAT 漏斗中间三层:等比插值(原书只给 30,000 → 9,352 两个端点)
- · 集合型数据集的 5 个子集:构造示例
- · DPI 沙盘里「未指定」与「类别不符」按不相交处理:原书未交代两者关系
- · 供给曲线:按 §30.12 的 ASCII 图形状设定,非任何机构实测
⚠ 本工具不调用任何模型或后端服务。所有成本、阈值、占比、FLOPs 都是在显式公式与构造数据上真跑。 本轮已 abs 三件套验真的 arXiv:2607.16900(ESAT,2026-07-18)、2606.19047(RODS,2026-06-17)。 ⚠ ch30 引用的 arXiv:2603.14712 虽已验真,但标题为 Towards Next-Generation LLM Training: From the Data-Centric Perspective(2026-03-16), 与书中「Agent-based Data Preparation Systems 综述」的描述不完全一致,故本工具未引用它。 DPI 数字本轮未逐个回源 dataprovenance.org,直接采用原书转述值。