数据配比:典型方案 + 为什么¶
更新日期:2026-04-26
数据配比(data mixture / data weighting)= 训练时不同 source 的采样概率分布。这是预训练最被低估的 hyperparameter —— 同样的 token 总量,配比差 5% 在下游 eval 上能差 1-3 个点。
一、为什么配比关键¶
朴素直觉:把所有数据混一起按自然频率训。错。
- CC 占比 90% 但质量分布 fat-tail(大量 boilerplate / spam),按自然频率训 = 让模型见太多低质
- 代码 在自然 web 占 < 1%,但对模型 reasoning / agentic 能力贡献 30%+
- 数学 / 学术 自然占 < 0.1%,但对 reasoning chain 长度直接相关
- 多语言 默认 web 是英语为主,但目标用户群体可能 50% 中文
配比是显式工程决策,不是把数据扔进去自生自灭。
二、典型 frontier 配比¶
下面是公开论文给出的几个 reference。实际数字各家差异巨大。
2.1 LLaMA-1(2023 年初)¶
67% — Common Crawl + C4 (English web)
4.5% — GitHub (code)
4.5% — Wikipedia
4.5% — Books (Books3 + Project Gutenberg)
2.5% — arXiv
2.0% — Stack Exchange
LLaMA-1 论文 Table 1。Total ~1.4T tokens trained.
2.2 LLaMA-2(2023 年中)¶
未公开精确配比。Meta 强调:
- 不去掉 Books3(版权风险 → 后来 Anna's Archive 类被诉讼)
- 更多代码(GitHub 比例上调)
- 更多 dialog data 进 SFT,pretrain 也少量加
2.3 LLaMA-3 / 3.1(2024)¶
公开数字:
- 15T tokens total
- 5% code
- 8% multilingual(30+ 语言)
- 5% math
- 剩余 82% general English web
英语下降到 ~80% 是 trend:从 LLaMA-1 的 ~85% 英语 → LLaMA-3 ~80% → 后续 multilingual + 代码进一步上升。
2.4 DeepSeek-V3 (2024)¶
DeepSeek-V3 论文 给出的训练数据:
- 14.8T tokens
- 双语优化(英 + 中),中文比例 较 LLaMA 显著高(具体未公开但估计 20%+)
- 大幅加强 数学 + 代码(推理能力提升的来源)
- 详细的 quality filter pipeline
2.5 Mistral / Phi 系列¶
- Mistral 7B(2023):未公开精确配比
- Phi-3 / Phi-4(Microsoft 2024-2025):走极端 synthetic-heavy 路线
- "Textbook is all you need" — 大量 LLM 生成的"教科书风格"数据
- 真实 web 占比 < 50%(其他类似 Phi 配方未尝试者无法复现)
2.6 共同 pattern¶
| 类别 | LLaMA / DeepSeek 路线 | Phi 路线 |
|---|---|---|
| Web (CC 衍生) | 60-80% | < 50% |
| 代码 (Stack v2) | 5-15% | 10-15% |
| 数学 (OpenWebMath / Math-Pile) | 1-5% | 15-25% |
| 多语言 | 5-15% | 5% |
| 书 / 学术 (arXiv / PMC / Stack Exchange) | 5-10% | 5-10% |
| 合成 | < 5% | 15-30% |
三、配比的科学:DoReMi / data mixing law¶
朴素配比是手动调,science 路线:让算法学最优配比。
3.1 DoReMi(Stanford 2023)¶
arXiv:2305.10429。思路:
- 训一个小 reference model(比如 280M)在均匀配比上
- 训一个 "proxy" 模型在不同 candidate 配比上
- 用 group DRO(distributionally robust optimization)找出最坏 group 也能学好的配比
- 用这个最优配比训目标大模型
实证:在 The Pile 上 DoReMi 找的配比让 8B 模型 perplexity 降 5-10%,下游任务平均 +1-2pt。
3.2 Data Mixing Laws(DeepMind 2024)¶
arXiv:2403.16952。把"配比对 loss 的影响"建模成可外推的 scaling law。在小规模 ablate 找规律,外推到大规模选最优配比。
3.3 RegMix(ByteDance 2024)¶
arXiv:2407.01492。用回归模型预测"特定配比下大模型的最终 loss",比 DoReMi 更轻量。
3.4 实操真相¶
frontier lab 实操:
- 小规模 ablation(1B / 7B 模型,1-5% 的 token 跑各 candidate 配比)
- 用 ablation 结果插值 + DoReMi/Mixing-Law 类工具
- 大规模训练前再做一次 sanity-check(10% token,看 loss curve 不发散)
- 训练中途调整配比("curriculum",详见下节)
四、Curriculum:训练中调配比¶
朴素:单一 mixture 从头训到尾。进阶:分阶段调。
4.1 简单 curriculum¶
- 早期(前 50% token):高比例 web(多样性 + 通用语言),少量 code
- 中期:稳定 mixture
- 后期(后 10-20% token):高质量 + 长文本 —— 上调代码、数学、长 context 文档比例
效果:模型在 long-context benchmark / 推理任务上表现显著好。
4.2 Mid-training annealing(DeepSeek / 部分 frontier)¶
主要训练完后做一次 "annealing" / "cooldown":
- 用高质量小 dataset(精选论文 / 教科书 / instruction-tuned-style)
- 学习率 cosine 降到接近 0
- 几 hundred-billion token 量级
让模型 "fine-tune to high-quality distribution" 但仍保留 base model 性质。
4.3 Phi 路线的极端 curriculum¶
Phi-3 / Phi-4 不只调比例,几乎全程用合成 + 精选。LLaMA / DeepSeek 用 web → high quality 渐变,Phi 用 high quality → high quality 整段。
五、各类数据的"为什么"¶
5.1 代码(5-15%)¶
为什么不仅仅对代码任务有用:
- 逻辑结构:代码强迫模型学严格的语法树和因果关系
- 推理 chain:调用栈 = 推理 chain 的天然形式
- 形式化:code 是 most-formal 的人类语言,提升 reasoning rigor
实证:Codex / Code-LLaMA 比 base model 在数学 / 逻辑题上普遍提升。
5.2 数学(1-5% pre-LLaMA / 5-25% Phi)¶
为什么需要单独:
- 数学符号 / LaTeX 在 web 中分布稀疏
- 推理链长(10+ 步)的样本极少
- 来源:OpenWebMath(~14B tokens)/ Math-Pile / Algebraic-Stack / 自己合成
LLaMA-3 在数学上加 ~5% 是当前 frontier 标准。Phi 路线 25% 是极端。
5.3 多语言(5-15%)¶
权衡:
- 加多语言 → 目标语言能力提升
- 加多语言 → 英语能力轻微下降(zero-sum at finite parameters)
- 过度倾斜小语种 → 罕见语言 pidgin / 偏 hallucination
DeepSeek-V3 中英双语 ~50/50 是一个非典型选择,target Chinese market;西方 frontier 通常 英 80% / 其他 20%。
5.4 书 / 学术(5-10%)¶
为什么:
- 长 context 训练样本(书一本 100K+ tokens)
- 正式语体 / 论证结构
- knowledge density 高于 web
来源:arXiv(公开 LaTeX)/ PubMed Central(公开 XML)/ Project Gutenberg(公版书)/ Books3 类(版权高风险,2023-2024 frontier 在退出)。
5.5 合成数据(< 30%)¶
为什么近年比例飙升:
- 自然 web 数据有"质量上限"(boilerplate / spam fat-tail)
- LLM 已经能生成"高于平均 web 质量"的内容
- 可控生成 specific skill 训练样本(Phi-Cosmopedia 风格)
为什么不能 100%:
- Model collapse(Shumailov 2024,Nature):纯合成训练几代后分布塌缩
- 实证 frontier 心照不宣的安全比例 < 30%
六、Megatron 配比写法¶
# 训练命令: 通过 --data-path 指定多 dataset 加权
python pretrain_gpt.py \
--data-path 0.50 cc_en_data \
0.10 cc_multi_data \
0.10 stack_v2_data \
0.05 openwebmath_data \
0.05 arxiv_data \
0.05 stackexchange_data \
0.05 wikipedia_data \
0.05 finewebedu_data \
0.05 synthetic_phi_data \
...
权重 = 该 dataset 的 token 在 batch 中的期望占比。Megatron sampler 用 weighted-stream,每个 step 按比例 sample。
七、常见错配¶
| 错配 | 后果 |
|---|---|
| Web 80%+, code < 1% | reasoning 弱,agent / coding 任务差 |
| Math < 1%, 不加 OpenWebMath | GSM8K / MATH benchmarks 显著差 |
| 多语言 < 5% | 非英语 zero-shot 跌 5-10pt |
| Books3 / 高版权风险 source 占比高 | 法律风险 + verbatim memorization 测试出问题 |
| 全 synthetic 训练 | model collapse,分布塌缩 |
| 单 mixture 一训到底 | 没有 curriculum 加成,long-context / 推理 task 不及预期 |
八、追问延伸¶
| 问题 | 方向 |
|---|---|
| 配比可以从小模型迁移到大模型吗? | 主流认为可以。DoReMi / Mixing-Law 都基于此假设。但 trillion-参数模型可能有 emergent shifts,要有大规模 sanity-check |
| 中文模型应该多少中文比例? | DeepSeek-V3 ~50% 是上限;30-40% 是相对稳定的工业选择 |
| 同一数据训多 epoch vs 增加多样性? | 优先增加多样性。MoE / capacity 大模型可以 train 1-1.5 epoch 后下降明显,小模型可以 2-3 epoch |
| 配比怎么 ablate? | 小模型 + 短训,跑 10-20 个 candidate 配比,对比下游 eval(HellaSwag / MMLU / GSM8K 等多个) |
| Phi 路线为什么不被 frontier 普遍采纳? | 1) 模型小(3-7B)→ 范围验证不全 2) 合成数据生成成本高 3) 大模型上 hallucinate 风险更难控 |
参考链接¶
- LLaMA-1 论文 — Table 1 配比
- LLaMA-3 模型卡 — 数据描述
- DeepSeek-V3 论文
- Phi-4 论文
- DoReMi 论文
- Data Mixing Laws (DeepMind)
- RegMix
- Model Collapse (Nature 2024)