跳转至

数据配比:典型方案 + 为什么

更新日期: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。思路:

  1. 训一个小 reference model(比如 280M)在均匀配比上
  2. 训一个 "proxy" 模型在不同 candidate 配比上
  3. 用 group DRO(distributionally robust optimization)找出最坏 group 也能学好的配比
  4. 用这个最优配比训目标大模型

实证:在 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%

详见 synthetic-data.md (B4)


六、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 风险更难控

参考链接


上级 · B1. 预训练数据 Pipeline:爬取→清洗→去重→过滤→配比