Files
llm-atlas/research/DATA_PRETRAINING_RESEARCH.md
2026-07-29 03:07:40 +08:00

41 KiB
Raw Permalink Blame History

数据工程与预训练配方研究账本

状态:第一轮证据框架
研究截止:2026-07-29
课程位置:专题 05「数据工程与预训练配方」
锚点:Kimi K3 §3、Kimi K2 §2.2 / §2.5、DeepSeek LLM / Math / V2 / V3 / V4
目标:让读者从“一份网页”一路追到“一个进入梯度更新的训练 Token”,同时理解去重、混合、改写、Tokenizer、Packing、课程和审计如何共同决定 Token 的学习价值。
原则:P0 论文 / 正式技术报告优先;P1 作者数据卡 / 实现用于补充;摘要核验只支持摘要中的结论;Grok 只提供 discovery leads。


0. 本章先拆掉三个误区

误区一:预训练数据就是“下载很多文本”

原始网页不是训练样本。它至少要经过:

来源与权限
  → 获取与版本化
  → 正文 / 代码 / 表格 / OCR 解析
  → 语言与领域识别
  → 质量、安全、隐私过滤
  → exact / fuzzy / semantic 去重
  → benchmark 污染隔离
  → domain mixture 与采样
  → 改写 / 翻译 / FIM 等变换
  → Tokenizer
  → 文档 packing 与 attention mask
  → batch / curriculum / learning-rate schedule
  → 训练后审计

每个箭头都可能提升信号密度,也可能误删长尾、引入偏差、破坏文档结构或隐藏来源。

误区二:一个 Token 就是固定价值单位

训练 FLOPs 大致按“处理了多少 Token”记账,但学习价值不同:

  • 完全重复的页面可能几乎只增加记忆;
  • 同一事实的忠实改写可能增加语言表面覆盖;
  • 错误改写会把错误放大成更多 Token;
  • 一个完整代码文件与被截断的碎片即使 Token 数相同,监督结构不同;
  • 数学解答、网页模板、OCR 噪声和多模态坐标 Token 的目标也不同。

因此 Scaling Laws 里的 D 是算术账;本章解释怎样把 D 拆成来源、唯一性、质量、领域、结构与课程。

误区三:“高质量数据”有一个万能分数

没有。质量至少包含:

  • 可解析性与语言连贯;
  • 信息密度与教育价值;
  • 事实 / 代码 / 数学正确性;
  • 来源、许可、隐私和安全;
  • 文档完整性与上下文结构;
  • 与目标领域的相关性;
  • 相对现有 corpus 的新颖性;
  • 不污染独立评测;
  • 在给定模型、阶段与预算下的实际学习价值。

这些目标会冲突。过滤更激进可能让平均文本更“像教科书”,同时损失方言、论坛经验、少数文化和困难反例。

一句话总纲:

数据工程不是把垃圾删光,而是在可追溯约束下,为一个明确模型、预算与能力目标安排最有价值的学习经历。


1. 十二张不能混在一起的账

账本 核心问题 最小可审计字段 常见失败
L1 来源与治理 从哪里来,谁允许怎样使用 URL / dataset id、抓取时间、许可、robots、地域、版本 只写“公开互联网”,来源不可追
L2 提取与解析 机器读到的是否还是原文档 MIME、parser 版本、正文率、结构检查、OCR 置信度 导航栏、乱码、PDF 双栏顺序进入语料
L3 语言与领域 属于什么语言和知识域 language / domain label、置信度、多标签 混语文档被粗暴丢弃,长尾语言消失
L4 质量与安全 为什么保留或删除 规则触发、分类器版本、阈值、人工标注协议 用模型偏好循环定义“高质量”
L5 唯一性 与已有数据重复多少 exact hash、shingle、MinHash、embedding、cluster id 模板和事实重复被当成同一种重复
L6 污染与隐私 是否泄露评测、个人或秘密 benchmark version、match type、PII / secret detector 只查 exact match,漏掉答案改写
L7 混合与采样 每个域被看多少次 source weight、temperature、epoch、upsampling 小而重要的域被网页体量淹没
L8 数据变换 原文怎样被改写或重排 transform id、teacher、prompt、source link、verifier 合成文本失去 lineage,错误被扩增
L9 Tokenizer 相同字节变成多少学习步 vocab、normalizer、pretokenizer、compression / BPB 跨 tokenizer 用 perplexity 比“质量”
L10 Packing 与 mask 哪些 Token 在同一序列中互相可见 document boundary、FIM、mask、truncation 文档跨界泄漏或大量尾部被截断
L11 课程与配方 数据何时、以何种长度进入 token range、LR、batch、context、mixture phase 把总 Token 当均匀的一次训练
L12 价值与反馈 哪些样本真正改善目标 proxy / target model、validation slices、influence 在小代理上最优,放大后失效

任何“数据规模”“保留率”“去重率”都必须先说明属于哪张账、按什么单位计算。


2. 从网页到梯度:完整流水线

2.1 来源与快照:先保留“它从哪里来”

最低要求:

  1. 稳定 source id,而不仅是下载后的文件名;
  2. URL、时间戳、Common Crawl dump / 仓库 commit / 数据集版本;
  3. 获取方式与使用条件;
  4. 原始对象哈希;
  5. 处理 lineage:每一步输入、输出、配置和代码版本;
  6. 删除请求、许可变化和数据修正能反向定位。

为什么版本重要:

  • 网页会更新或消失;
  • benchmark 会增加新题;
  • 代码仓库历史包含之后泄露的测试;
  • 同名开放数据集可能有多个清洗版本;
  • 模型发布后,互联网上会出现大量模型生成内容。

课程边界:技术报告写“open-source collections + in-house pipelines”不等于公开了 source-by-source 许可与权利链。

2.2 提取与解析:先判断“文档还完整吗”

文本网页常见噪声:

  • 导航、cookie banner、推荐栏、评论模板;
  • 复制站、SEO 页、自动聚合;
  • 不可见文本、编码破损、JavaScript 占位;
  • 页面标题与正文错配;
  • 列表、表格、公式顺序丢失。

代码数据额外需要:

  • 文件类型、仓库级结构、依赖关系;
  • generated / vendored / minified code 识别;
  • license、secret、credential 扫描;
  • commit 与文件去重不能只做行级字符串比较。

PDF / OCR / 多模态额外需要:

  • 双栏阅读顺序、页眉页脚、公式与图注对应;
  • 图片与周围文本的配对;
  • OCR bbox 与坐标系;
  • 视频帧、字幕、镜头与时间戳一致性。

K3 §3.4 对长文档明确加入 structural validation,因为 binary blobs、truncated files 与 invalid machine-generated logs 即使很长也不是长上下文监督。

2.3 语言与领域:分类不是身份判决

语言识别至少要区分:

  • 文档主语言;
  • 段落 / 句子级混语;
  • 代码中的自然语言;
  • 音译、方言与低资源语言;
  • OCR 导致的伪语言。

领域分类最好多标签:

一篇 Jupyter 教程
= English + Code + Mathematics + Knowledge + Programmatic Visual

粗粒度单标签会把真正有价值的跨域文档塞进一个桶,随后 mixture 无法表达它的多重作用。

2.4 质量过滤:规则、分类器与消融各做什么

规则适合可解释硬故障:

  • 字符 / 标点异常;
  • 重复行、极端短文、乱码;
  • HTML / code 比例不合理;
  • 成人、恶意软件或明确 PII 模式;
  • 无效文件结构。

分类器适合软判断:

  • 连贯性、教育价值、专业程度;
  • 是否像参考答案 / 教程;
  • 是否由模板批量生成;
  • 领域相关性。

小模型消融回答更接近最终问题:

  • 同预算下,过滤版本 A / B 对 held-out loss 和任务切片有何影响;
  • 哪些语言 / 领域收益,哪些被伤害;
  • 结论是否随模型尺度、Token 预算和 curriculum 改变。

K3 §3.1 的 domain-specific sampling rate 就由 smaller-model ablation 决定;报告未公开全部候选配比、阈值和消融表,所以课程不得补造最终 mixture。


3. 去重:不是一个按钮,而是三类近邻问题

3.1 Exact dedup

典型做法:

  • 对规范化文档或段落做 cryptographic hash
  • 完全相同只保留一个 canonical item
  • 记录 duplicate cluster,而不是直接让其他来源消失。

它擅长:

  • 镜像、重复抓取、同 dump 内副本;
  • 完全相同代码文件;
  • 重复 benchmark 文件。

它漏掉:

  • 页眉 / 日期不同的复制文;
  • 空格、标点、HTML 包裹变化;
  • 截断或拼接版本;
  • 语义相同的改写。

3.2 Fuzzy lexical dedup

常见做法:

  1. 文档变成 word / byte shingles
  2. 计算 MinHash signature
  3. 用 LSH 找候选近邻;
  4. 对候选计算 Jaccard 等精确相似度;
  5. 在 cluster 中选择保留代表。

阈值降低:

  • recall 增加;
  • 计算和误删风险增加;
  • 模板相同但正文不同的页面可能被错误合并。

Lee et al. 2021 的一手摘要与论文说明:近重复广泛存在,能造成 validation overlap 和长串记忆;去重在其设置中减少记忆、缩短训练并改善评估。但这不证明“删除越多越好”。

3.3 Semantic dedup

流程:

  • 用 embedding 表示文档;
  • 近邻搜索 / clustering
  • 删除或降权语义高度相似样本。

它能找到:

  • 表面词不同的复述;
  • 模板变化后的同内容;
  • 跨来源的高语义重合。

它也可能误伤:

  • 同一主题下不同立场;
  • 数学题的相似题干但不同条件;
  • 代码中相似结构但不同 bug
  • 多语言互译所保留的语言能力;
  • 稀有文化表达。

SemDeDup、D4 与 SoftDedup 提供三种不同哲学:

  • SemDeDup:在表示空间删除语义重复;
  • D4:先去重,再主动保留多样性;
  • SoftDedup:不硬删全部常见片段,而按频率降低权重。

三者的作者报告收益来自不同数据、模型与评测,不能拼成统一排名。

3.4 DeepSeek LLM 的全局去重案例

DeepSeek LLM §2.1 将 pipeline 明确拆成:

deduplication → filtering → remixing

其 Table 1 按 Common Crawl dump 数报告文档去重率:

dump 数 1 2 6 12 16 22 41 91
去重率(% 22.2 46.7 55.7 69.9 75.7 76.3 81.6 89.8

正确解释:

  • 跨 91 个 dump 能发现大量跨时间快照重复;
  • 89.8% 是该报告对应 pipeline 的文档去重率;
  • 不是说 89.8% 的互联网“没有价值”;
  • 不是 Token 比例、字节比例或 universal Common Crawl 常数;
  • 全局去重还需要决定 cluster 中保留哪个版本。

这是 DeepSeek 数据工程最值得亮点讲的早期节点:先扩大比较范围,才能看见单 dump 内不可见的重复。


4. 污染、记忆与隐私:三件相关但不同的事

4.1 Benchmark contamination

至少分:

  • text contamination:题干 / 上下文出现;
  • ground-truth contamination:标签、答案或标准解出现;
  • format contamination:同模板大量出现;
  • semantic contamination:改写、翻译、答案解释出现;
  • temporal contamination:数据快照晚于 benchmark / 评测截止。

检查顺序:

  1. exact id / hash
  2. n-gram / shingle overlap
  3. normalized answer match
  4. embedding / semantic retrieval
  5. 人工检查高风险簇;
  6. 训练前隔离;
  7. 评测报告披露匹配定义与阈值。

n-gram 查不到不等于未污染。2024 contamination 研究强调 text overlap 与 ground-truth overlap 对评测的影响不同。

4.2 Memorization

记忆不是只有“会背 benchmark”:

  • 常见短语的统计学习;
  • 训练串的逐字复现;
  • 被 prompt 触发的稀有长串;
  • 个体 PII、联系方式或密钥;
  • 代码许可证文本与实现复现。

Carlini et al. 2020 从 GPT-2 中抽取出大量逐字训练片段并包含 PII;实验说明即便单文档序列也可能被提取,且其设置下更大模型更易受影响。它是风险证据,不是所有模型、所有数据的固定泄露率。

4.3 合法可取不等于适合训练或适合发布

至少要把以下问题分开:

  • 能否访问;
  • 能否复制;
  • 能否用于模型训练;
  • 能否再分发原始 / 处理数据;
  • 能否发布权重;
  • 是否包含个人敏感信息;
  • 是否符合地区与组织政策;
  • 删除或权利主张如何传递到派生物。

本课程不把 license 名称简化成绿 / 红灯;应在数据卡中记录具体条款和不确定性。


5. Mixture:总量之外的能力配方

设 domain i 的采样权重为 w_i

Σ w_i = 1
seen_tokens_i = total_tokens × w_i
effective_epochs_i = seen_tokens_i / unique_tokens_i

同样 15.5T Token,以下情况完全不同:

  • 四域均匀;
  • Web 占绝大多数;
  • Math / Code 小语料高倍率 upsample
  • 长文档只在 cooldown 集中进入;
  • synthetic rephrase 与 raw source 同时出现。

5.1 手工 mixture

优点:

  • 可加入产品和治理约束;
  • 重要小域不会被体量淹没;
  • 易解释。

风险:

  • 大量昂贵消融;
  • 权重随模型尺度变化;
  • 平均 benchmark 可能掩盖退化域。

5.2 温度采样

可用:

p_i ∝ n_i^α
  • α = 1 接近按原始体量;
  • α < 1 抬高小域;
  • 它只改变采样概率,不自动判断小域质量。

5.3 DoReMi

DoReMi 用小代理模型学习对 worst-group excess loss 有利的 domain weights,再把权重迁移到更大模型。作者摘要报告:

  • 280M proxy 学习 Pile domain weights
  • 权重用于 8B 模型,相差约 30×;
  • 其设置中平均 few-shot 提升 6.5 个百分点;
  • 达到 baseline accuracy 的训练步数减少约 2.6×。

边界:

  • 目标是指定 validation domains
  • proxy-to-target transfer 不是无条件成立;
  • domain 内部质量和未知新域仍需另做账。

5.4 DCLM 与可比较数据实验

DCLM 建立统一的 240T-token candidate pool、模型尺度和 53 项评测。作者摘要中,DCLM-Baseline

  • 7B 模型训练 2.6T Token
  • 5-shot MMLU 64%
  • 比 MAP-Neo 高 6.6 个百分点;
  • 达到该结果使用少 40% 计算。

这些数字只适用于 DCLM 协议。它的重要性在于把“数据 pipeline 更好”放进统一训练预算,而不是宣布一个永久最优过滤器。

5.5 数据价值是模型和阶段相关的

MATES、Group-MATES、JEST 等路线试图用模型状态估计样本 / group 的训练价值。

必须记录:

  • 谁计算 influence:当前模型、proxy 还是外部 encoder
  • 目标 validation set 是什么;
  • selection 多久更新;
  • 额外选择成本是否计入;
  • 是否牺牲未进入目标集的语言 / 领域;
  • 小模型得出的排序能否迁移。

“难样本”“高 loss 样本”“高质量样本”不是同义词:高 loss 也可能只是噪声或错标。


6. 改写、重复与合成:Token utility 的三条路

6.1 原文重复

优势:

  • 成本低;
  • 保持事实与来源形式;
  • 小数据域能被看到更多次。

风险:

  • 边际收益下降;
  • 逐字记忆与过拟合;
  • 不增加表达表面;
  • 错误也被原样重复。

6.2 忠实改写

理想目标:

事实 / 推理结构保持
+ 表达、视角、组织变化
+ lineage 保持
- hallucination
- teacher style collapse

WRAP 作者摘要在其 C4 设置中报告约 3× 预训练速度、Pile 子集 perplexity 平均超过 10% 改善、13 个 zero-shot QA 平均超过 2% 改善。课程必须注明这些是作者在指定模型 / 数据 / 预算下的结果。

6.3 Kimi K2 的 rephrasing pipeline

知识数据:

  1. style- and perspective-diverse prompting
  2. 长文档分 chunk
  3. 前文作为上下文,autoregressive 逐块改写;
  4. 拼回完整文档;
  5. 与源文做 fidelity verification。

K2 Table 1 的早期 checkpoint / SimpleQA 对照:

数据策略 改写次数 epoch SimpleQA
raw wiki-text 0 10 23.76
改写一次再重复 1 10 27.39
十种改写各一遍 10 1 28.94

必须同时讲的边界:

  • 这是三个组合条件,不是只改变一个变量的完整因果分解;
  • 指标只有 SimpleQA
  • 报告说生产扩展到其他大 corpus 后,每个 corpus 最多改写两次;
  • 表中 10 rephrases 不等于生产 mixture
  • 不能推出改写次数越多越好。

数学数据:

  • 改写为 learning-note style,沿用 SwallowMath 思路;
  • 将其他语言的高质量数学材料翻译为英文;
  • K2 自己承认 factual accuracy、hallucination、toxicity 与大规模扩展仍是开放问题。

K2 总语料:

  • 15.5T Token
  • Web Text、Code、Mathematics、Knowledge 四个主域;
  • 报告没有公开四域最终占比和 source-by-source 许可表。

6.4 Kimi K3 的继承与扩展

K3 §3.1 继续使用同四文本域,并增加 large-scale vision corpus

  • caption
  • interleaved imagetext
  • OCR
  • perception
  • video
  • visual coding。

文本 pipeline

  • rule-based heuristics
  • classifier-based quality scoring
  • deduplication
  • smaller-model ablation 决定 domain sampling rate
  • Knowledge / Mathematics 继续做多样提示、chunk-wise AR 与 fidelity verification。

视觉 pipeline

  • open-source collections + in-house filtering / synthesis / dedup
  • 绝对坐标与 [0,1] 归一化坐标共同监督;
  • code + rendered visualSVG、3D assets、Webpage、Game、CAD。

未知项:

  • 总训练 Token
  • 四文本域和各视觉域 mixture
  • synthetic / raw 比;
  • 过滤阈值与保留率;
  • 完整数据来源与许可映射。

因此不得把 K3 的 2.78T parameters 误写成 Token,也不得从模型参数反推数据总量。

6.5 Synthetic data 的失效路径

  • teacher 的事实错误被批量复制;
  • teacher 的句式变成 corpus 单一风格;
  • verifier 与 teacher 共享盲点;
  • 原始低资源语言被统一翻成英语;
  • 答案 / benchmark 被改写后躲过 exact decontamination
  • 生成成本没有计入“数据效率”;
  • 来源链在改写后断裂;
  • 互联网中模型生成内容继续被下一代模型抓取,形成 feedback loop。

所以每个 synthetic item 至少需要:

source_id
transform_type
teacher_version
prompt_version
generation_time
verifier_version
fidelity / safety result
dedup cluster

7. Tokenizer:数据的计量仪也是归纳偏置

7.1 为什么不能跨 tokenizer 直接比 perplexity

PPL = exp(mean token NLL)

同一句话被切成 5 个或 12 个 Token,平均 token NLL 的分母不同。跨 tokenizer 更适合比较:

  • bits per byteBPB);
  • bits per character(需谨慎语言差异);
  • byte-normalized loss
  • 同 tokenizer 的 perplexity。

PALOMA 提倡固定训练顺序、细粒度 domain evaluation、去污染和 BPB,用于提高语料比较的可复现性。

7.2 DeepSeek tokenizer 谱系

DeepSeek LLM

  • BBPE
  • 预分词阻止 newline、punctuation、CJK 跨类别合并;
  • 数字按 digit 拆分;
  • 约 24GB multilingual corpus 训练 tokenizer
  • 100,000 conventional tokens + 15 special tokens
  • 模型实际 vocabulary padding 到 102,400。

DeepSeek-V2

  • 沿用 100K BBPE
  • 8.1T tokenized corpus
  • 报告称 Chinese Token 数约比 English 多 12%。

DeepSeek-V3

  • 128K BBPE
  • 为 multilingual compression 修改 pretokenizer 与 tokenizer data
  • 新增 punctuation + newline 合并 Token
  • 发现 multi-line prompt 的 boundary bias
  • 训练时随机拆分一部分合并 Token,增加边界变体。

DeepSeek-V4

  • 继承 V3 tokenizer、token splitting 与 FIM
  • 增加少量 context construction special tokens
  • vocabulary 仍为 128K。

这条谱系展示了一个重要方法:tokenizer trick 不是只报告压缩率,还要寻找它制造的评测 / 提示边界偏差。


8. Packing、截断、mask 与 FIM

8.1 naive packing 的问题

把文档依次塞入固定长度:

  • 长文档尾部经常被截断;
  • 短文档留下 padding
  • 文档边界可能被模型跨越;
  • sample A 的 Token 可能注意到 sample B
  • epoch / source 统计与实际可见关系不同。

Best-fit Packing 的核心目标不是创造新 Token,而是减少 truncation、保留文档完整性并提高长度利用率。

8.2 sample-level attention mask

两种常见选择:

  • packed sequence 内所有之前 Token 都可见:吞吐简单,但跨文档形成伪上下文;
  • 每个 sample 内 causal,跨 sample 屏蔽:语义干净,但 mask / kernel 更复杂。

DeepSeek 报告提供清晰演化:

  • V3document packing做 cross-sample attention masking
  • V4:继续跨来源 pack,但改为 sample-level attention masking。

课程不能把二者都概括成“packing 保证数据完整性”而省略可见性差异。

8.3 Fill-in-the-Middle

FIM 是训练数据变换,不是新架构。PSM 示例:

<fim_begin> prefix
<fim_hole>  suffix
<fim_end>   middle
<eos>

FIM 论文在其设置中表明,大比例 FIM 变换可以获得补中间能力且不必牺牲标准 left-to-right 能力;实际效果依赖变换率、文档边界和 prompt 格式。

DeepSeek-V3

  • document level
  • pre-packing 阶段;
  • PSM
  • rate 0.1

V4 继承 V3 FIM。不能把 0.1 外推成所有代码 / 通用模型的最佳值。


9. Curriculum:总 Token 数背后的时间顺序

9.1 训练配方要画成多轨时间轴

至少同时画:

累计 Token
├─ learning rate
├─ global batch
├─ context length
├─ domain mixture
├─ raw / synthetic / FIM
├─ optimizer / loss coefficient
└─ dense / sparse attention stage

只给总 Token 会丢掉最重要的“什么时候学什么”。

9.2 Kimi K2

主预训练:

  • context 4,096
  • MuonClip
  • WSD
  • 总计 15.5T Token
  • 500-step warmup 后,前 10T 维持 2e-4
  • 后 5.5T cosine 2e-4 → 2e-5
  • weight decay 0.1
  • global batch 67M Token。

末期:

  • learning rate 2e-5 → 7e-6
  • 400B Token @ 4K
  • 60B Token @ 32K
  • YaRN 扩到 128K。

注意:报告把 15.5T corpus 与 main pretraining schedule 都写为 15.5T,末期 annealing / activation 的 460B 是否计入读者理解中的“总训练处理 Token”需要按原文阶段表述,不擅自相加成新官方数字。

9.3 Kimi K3

  • 原生多模态:语言与视觉从训练开始共同优化;
  • visual / textual Token 在同一 next-token prediction objective 中交错;
  • Per-Head Muon + weight clipping + QB
  • cosine schedule
  • 1% linear warmup
  • weight decay 0.1
  • pretraining context 8K → 64K
  • cooldown context 256K → 1M
  • 昂贵长序列计算集中在整体预算的小部分。

K3 长上下文数据:

  • exact + fuzzy dedup
  • video frame perceptual hash
  • heuristic + classifier quality filter
  • structural validation
  • 上采样稀缺长文 / 长视频;
  • permute + concatenate 文档和子任务,要求跨全上下文找分散信息。

“长度长”不等于“需要远程依赖”是这里的核心:长而局部的文档不能单独训练出百万 Token 检索 / 推理。

9.4 DeepSeek-V3

  • 14.8T Token
  • math / programming ratio 高于 V2
  • multilingual 扩展到中英以外;
  • 4K context 主预训练;
  • 2,000 step warmup 到 2.2e-4
  • 到 10T 基本恒定;
  • 之后 4.3T cosine 到 2.2e-5
  • final 500B333B @ 2.2e-5167B @ 7.3e-6
  • batch 在前 469B 从 3,072 sequences 增到 15,360
  • MTP loss weight:前 10T 为 0.3,余下 4.8T 为 0.1
  • context extension32K、128K,各 1,000 steps,使用 YaRN。

这些是一个多段配方,不能被压成“14.8T @ 128K”。

9.5 DeepSeek-V4

数据:

  • 基于 V3,增加多样性、质量与有效长上下文;
  • 过滤批量自动生成和模板内容,以减轻 model collapse 风险;
  • Math / Code 仍为核心;
  • mid-training 加 agentic data
  • 扩多语言和文化长尾;
  • 强调科学论文、技术报告等长文档;
  • Flash 32T、Pro 33T。

课程:

  • 4K → 16K → 64K → 1M
  • Flash 前 1T Token 使用 dense attention warmup
  • 64K 阶段引入 sparse attention
  • 先短阶段 warm up sparse indexer,再进入主 sparse 训练;
  • V4 公开承认训练中出现明显 instability / spike,需要额外缓解设计。

V3 的“没有不可恢复 loss spike / 无 rollback”与 V4 的公开 instability 并不矛盾:模型、架构、数据、context 与优化器都变了。课程不写成“DeepSeek 已永久解决稳定性”。


10. DeepSeek 数据工程谱系

10.1 DeepSeek LLM:把 pipeline 命名清楚

全局跨 dump 去重
→ 语言 + 语义质量过滤
→ 对欠代表领域 remix
→ multilingual BBPE

亮点:

  • 91-dump global dedup 表是罕见的公开规模效应;
  • 用 non-embedding FLOPs/token 做 scaling 也提醒数据 Token 与模型算术要统一口径。

未知:

  • 最终各 source mixture
  • 每个 filter 的 precision / recall
  • 完整许可与 benchmark contamination 清单。

10.2 DeepSeekMath:从目标能力反推语料

构造:

  1. 从 deduplicated Common Crawl 约 40B HTML pages 起步;
  2. 用种子数学域训练 fastText classifier
  3. 迭代发现相关 URL / domain
  4. 做 benchmark decontamination
  5. 形成 120.2B multilingual math corpus。

论文用同一 1.3B 模型比较 MathPile、OpenWebMath、Proof-Pile-2 与 DeepSeekMath corpus;表中 DeepSeekMath 在八个英 / 中数学 benchmark 的作者报告结果领先。它证明“针对目标能力的 corpus construction 可以受控比较”,但 benchmark 结果仍同时受体量和平均质量影响。

DeepSeekMath-Base 7B

  • 从 DeepSeek-Coder-Base-v1.5 7B 继续训练;
  • 500B Token
  • 56% DeepSeekMath
  • 4% AlgebraicStack
  • 10% arXiv
  • 20% GitHub code
  • 10% 中英 Common Crawl 自然语言。

这份公开 mixture 特别适合教学:数学模型仍保留代码与自然语言,避免把领域继续预训练理解成“100% 数学”。

10.3 DeepSeek-V2:恢复误删数据与语言再平衡

  • 沿用 DeepSeek-67B stages
  • 优化清洗,恢复被误删的好数据;
  • 增加中文;
  • 改进 quality filter
  • 过滤 contentious content
  • 8.1T Token
  • 中文 Token 约比英文多 12%。

附录承认价值敏感过滤在区域 benchmark 上可能造成性能代价,且人工标注者会有分歧。这个节点说明“安全 / 价值过滤”既是治理选择,也是会改变能力分布的数据变换。

10.4 DeepSeek-V3:完整性、FIM 与 tokenizer 边界

  • 14.8T
  • Math / Code 提权;
  • 更广 multilingual
  • 减少冗余同时保留多样性;
  • best-fit document packing
  • 无 cross-sample attention mask
  • document-level PSM FIM rate 0.1
  • 128K BBPE
  • random token splitting 修复 punctuation-newline boundary bias。

10.5 DeepSeek-V4:长文、agentic 与合成生态反制

  • 32T corpus

  • 过滤批量自动生成 / 模板网页;
  • 强化长文档;
  • agentic data 在 mid-training 引入;
  • sample-level attention mask
  • 4K → 1M curriculum
  • 数据、attention sparsity 和 indexer warmup 共同分阶段。

这条谱系最值得强调的不是 Token 从 8.1T → 14.8T → 32/33T,而是问题发生了变化:

全局网页去重
→ 中英与过滤取舍
→ 代码 / 数学、文档完整性、FIM、token boundary
→ 自动生成互联网、长文档、agentic 中训与百万上下文

11. Kimi 数据工程谱系

11.1 K2Token utility

K2 将高质量数据稀缺问题具体化为:

原文多 epoch
vs
同一知识的多表面忠实改写

贡献:

  • 给出可读的 chunk-wise pipeline
  • 给出明确消融表;
  • 同时披露生产中改写次数更克制;
  • 主动列出 hallucination / toxicity / factuality / scalability 风险。

11.2 K3:从文本改写到原生多模态

K3 继承 K2 / K2.5 pipeline,并让:

  • 文本四域;
  • 视觉六类;
  • programmatic code-render pair
  • multimodal coordinate
  • 长文 / 视频;
  • context curriculum

进入同一 native multimodal pretraining。

K3 §3.2 的 2.5×

  • 比较 K2 / K3 fitted scaling curves
  • 指标是 held-out OOD validation loss
  • 报告说 architecture + data + training improvements 共同定义新模型族;
  • 同时重新搜索 batch、LR、TPP 和 shape
  • 因而不是 rephrasing、vision data、Muon 或 cosine 任一单项收益。

K3 schedule 对照:

  • cosine 与 WSD 的 peak LR、batch optimum 不同;
  • 分别独立 search
  • 在各自 optimum 下 cosine 最终 loss 更低。

这提供了本章的重要实验规范:比较数据或 schedule 时,其他最优超参可能也会移动;共享一套超参可能造成假胜负。


12. 原生多模态数据:不只是“给文本模型接一个眼睛”

12.1 三种不同路线

  1. 冻结 LLM + 视觉 encoder + connector
  2. 已预训练 LLM 上做 multimodal continued pretraining
  3. 从训练开始共同优化 visual / text token。

K3 选择第三种,并用 single next-token prediction objective 学习交错 Token。

12.2 数据 mixture 决定什么

MM1 的作者报告消融指出:

  • caption、interleaved image-text 与 text-only 的组合非常关键;
  • image encoder、resolution、visual token 数在其研究中比 connector 设计更重要;
  • 研究覆盖 dense / MoE,最大约 30B。

它与 K3 形成教学互补:

  • MM1 更适合讲 data mix 的受控消融;
  • K3 更适合讲 native multimodal frontier model 的完整 taxonomy 与课程;
  • 两者的模型、数据、规模不同,不能直接比较指标。

12.3 Programmatic multimodal data

代码和渲染结果天然提供可验证对应:

SVG source ↔ rendered shape
HTML/CSS/JS ↔ webpage
game code ↔ frame / interaction
CAD program ↔ schematic
3D asset description ↔ rendering

潜力:

  • 文字 / 代码 / 像素之间结构明确;
  • 可自动生成变化;
  • 可做坐标、布局、因果编辑监督。

风险:

  • renderer bug 与环境差异;
  • 样式模板单一;
  • 代码泄漏来源 / license
  • 渲染正确不等于任务语义正确;
  • synthetic distribution 与真实界面差异。

13. 四个课程实验室的证据设计

Lab APipeline Ledger

教学问题:100 万文档怎样逐步变成训练 Token?

控制项:

  • parse pass
  • language / domain
  • quality threshold
  • PII / license quarantine
  • exact / fuzzy dedup
  • contamination exclusion。

输出必须分开:

  • document
  • byte
  • unique Token
  • language / domain retention
  • unknown provenance
  • quarantine。

禁止:

  • 把“删得更多”画成天然更绿;
  • 把 synthetic expansion 混入 unique source Token
  • 用单一 retention 数掩盖少数语言损失。

Lab BDedup Lens

教学样本:

  • 完全相同;
  • 只改导航栏;
  • 相同模板不同正文;
  • 同事实不同立场;
  • 翻译;
  • 数学近题;
  • 语义改写 benchmark。

控制项:

  • exact
  • shingle size / Jaccard
  • semantic similarity
  • cluster representative policy。

输出:

  • true duplicate removed
  • false positive
  • false negative
  • rare-viewpoint loss
  • benchmark leakage。

Lab CMixture Studio

领域:

  • Web
  • Code
  • Math
  • Knowledge
  • Multimodal。

控制项:

  • weights
  • unique size
  • quality multiplier(明确为教学假设);
  • proxy / target model
  • training stage。

输出:

  • 每域 seen Token
  • effective epoch
  • 五个独立 validation slices
  • Pareto frontier
  • average 仅作为可选聚合。

必须让读者看到:提高 Math 不必然让所有能力下降,也不保证免费提升;结果由 transfer matrix 与预算约束共同决定。

Lab DRewrite & Curriculum

控制项:

  • raw repeat
  • rephrase count
  • fidelity
  • teacher error
  • long-doc upsampling
  • context stage
  • FIM rate。

输出:

  • source facts
  • surface variants
  • erroneous facts
  • token / generation cost
  • long-range dependency coverage
  • schedule timeline。

预设:

  • K2 early-checkpoint 表;
  • “生产克制”每 corpus ≤2 rephrase
  • K3 8K → 64K → 256K → 1M
  • V3 4K + 32K / 128K extension
  • V4 4K → 16K → 64K → 1M。

所有非论文直接给出的组合结果必须标为“教学模型”,不能伪装成真实 loss。


14. 历史主线

年份 节点 课程意义
2019 T5 / C4 Common Crawl 清洗成为现代预训练基线
2019 CCNet 去重、语言识别和质量过滤形成可复用流水线
2020 The Pile 825GiB、22 子集,把 mixture 明确写出来
2020 Carlini extraction 训练串记忆与 PII 不再只是理论风险
2021 ROOTS 多语言 corpus 建设与治理进入中心
2021 Gopher data pipeline 质量分类与大模型语料消融
2021 Deduplicating Training Data 近重复、validation overlap 与记忆统一观察
2022 Chinchilla 数据 Token 与参数配比成为 scaling 主角
2022 FIM 通过数据重排获得中间补全能力
2023 DoReMi proxy model 学习 domain weights
2023 ROOTS paper 1.6TB、59 种语言与协作治理总结
2023 SemDeDup embedding 空间语义去重
2023 D4 去重之后继续优化多样性
2024 Dolma 3T English Token、工具和开放文档
2024 DeepSeek LLM 91-dump global dedup、filter、remix
2024 DeepSeekMath 目标领域发现、120.2B corpus 与公开 mixture
2024 DeepSeek-V2 8.1T、中英平衡与价值过滤代价
2024 FineWeb 大规模网页过滤消融
2024 DCLM 统一数据 pool、训练和评测协议
2024 WRAP 文档改写作为 Token utility 路线
2024 Best-fit Packing 文档完整性与截断成为独立变量
2024 SoftDedup 从硬删除转向频率降权
2024 MATES 模型感知动态数据选择
2024 MM1 多模态 mixture 的受控消融
2024 DeepSeek-V3 14.8T、FIM、packing、128K tokenizer
2025 Kimi K2 15.5T、rephrasing 与 Token utility
2025 Swallow Code / Math 合成数据的受控持续预训练
2025 Common Pile 更强调公开许可的语料组合
2025 Group-MATES group-level influence
2026 DeepSeek-V4 32/33T、自动生成过滤、agentic 与长文课程
2026 Kimi K3 四文本域、视觉 taxonomy、原生多模态与 1M curriculum

这条历史不是“数据越来越多”,而是:

能清洗
→ 能说明组成
→ 能治理与审计
→ 能控制去重 / mixture
→ 能通过变换提高 Token utility
→ 能让数据、模型与训练阶段联合优化

15. 一手来源矩阵与核验状态

等级:

  • A:本地全文 / 正式报告相关章节已读;
  • B:官方 arXiv / 作者摘要已核对,正文仍需逐图精读;
  • C:候选线索,尚不得支撑正文数字;
  • P1:作者数据卡 / 代码 / dataset page,待与论文互证。
来源 年份 主题 当前等级 首版可用范围
T5 / C4 1910.10683 2019 清洗、统一任务 A C4 定义与历史节点
CCNet 1911.00359 2019 去重、语言、质量 A pipeline 主张
Extracting Training Data 2012.07805 2020 记忆 / PII B 作者摘要与风险边界
The Pile 2101.00027 2020 22 子集 mixture A 825GiB / 22 subsets
ROOTS 2303.03915 2023 多语言治理 B 1.6TB / 59 languages 摘要
Deduplicating Training Data 2107.06499 2021 fuzzy dedup B 摘要数字与方法主张
FIM 2207.14255 2022 数据变换 B PSM / SPM 与边界
DoReMi 2305.10429 2023 mixture B 摘要中的 proxy / 8B 结果
SemDeDup 2303.09540 2023 semantic dedup B 作者摘要结果
D4 2308.12284 2023 去重 + 多样性 B 作者摘要结果
Dolma 2402.00159 2024 开放语料 B 3T English Token
DCLM 2406.11794 2024 统一数据实验 B 摘要中的 pool / 7B 结果
FineWeb 2406.17557 2024 网页过滤 B 标题、总体主张;数字待全文
WRAP 2401.16380 2024 改写 B 摘要中的设置与收益
Best-fit Packing 2404.10830 2024 packing B 文档完整性主张
SoftDedup 2407.06654 2024 降权 B 摘要中的作者结果
MATES 2406.06046 2024 influence B 摘要中的 410M / 1B 设置
Group-MATES 2502.14709 2025 group influence B 路线节点;数字待正文
Data Contamination 2401.06059 2024 污染 B text / ground-truth 区分
MM1 2403.09611 2024 multimodal mixture B 摘要中的核心消融
PALOMA 2312.10523 2023 corpus evaluation B BPB / fixed order / contamination 指南
JEST 2406.17711 2024 multimodal selection B 联合选择路线;数字待正文
DeepSeek LLM 2401.02954 2024 dedup / filter / remix A Table 1、tokenizer、pipeline
DeepSeekMath 2402.03300 2024 Math corpus A 120.2B、构造与 500B mixture
DeepSeek-V2 2405.04434 2024 8.1T / multilingual A data §3.1、Appendix E
DeepSeek-V3 2412.19437 2024 14.8T / FIM / packing A data 与 hyperparameters
DeepSeek-V4 2606.19348 2026 32/33T / long / agentic A §4 data、schedule、instability
Kimi K2 2507.20534 2025 15.5T / rephrasing A §2.2、Table 1、§2.5
Swallow 2505.02881 2025/2026 v4 synthetic CPT B 摘要中的 corpus / 50B / 作者结果
Kimi K3 2607.24653 2026 native multimodal A §3.1–§3.4
Kimi K2.5 2602.02276 2026 vision taxonomy C K3 引用入口;待逐节核验
Common Pile 2025 licensed corpus C / P1 仅候选;待数据卡与论文
DSIR 2023 importance resampling C 仅候选;待全文
RegMix 2024 mixture regression C 仅候选;待全文
Data Mixing Laws 2024 mixture scaling C 仅候选;待全文

首版页面只允许 A / B 级事实;C 级来源可出现在“下一步阅读”,不能承担数字和结论。


16. 关键证据边界

已知

  • K2 / K3、DeepSeek 各代报告公开的语料总量(若报告给出)、主要领域、部分 pipeline、tokenizer、packing、FIM 和 schedule
  • K2 SimpleQA rephrasing 表;
  • DeepSeek LLM 91-dump dedup 表;
  • DeepSeekMath 的 corpus 与 500B mixture
  • K3 原生多模态和长上下文 curriculum。

合理机制解释,但不是报告直接数字

  • 改写增加 surface diversity
  • packing 减少截断能保留监督结构;
  • sample mask 阻止跨文档伪因果;
  • 稀缺域 upsample 增加 effective epoch
  • tokenizer 改变同一语料的 Token 计量。

页面要标“机制推导”或“教学模型”。

公开未知

  • K3 总训练 Token
  • K3 / K2 最终 source-level mixture
  • K3 各视觉域数量;
  • DeepSeek V3 / V4 完整 source / license map
  • 工业 pipeline 的所有阈值、人工标注协议、误删率;
  • benchmark contamination 的完整内部审计;
  • synthetic / human / raw 的最终占比;
  • 单一数据改进对 frontier run 的因果贡献。

“未披露”本身必须在课程里可见,不能用二手猜测填空。


17. 页面写作门槛

每个数字旁至少能回答:

  1. 来自哪篇论文哪一节 / 表;
  2. 单位是文档、字节、Token、sequence 还是 FLOPs
  3. tokenizer 是什么;
  4. 数据是 unique 还是 seen
  5. 模型与预算是什么;
  6. 是作者报告、复现还是教学推导;
  7. 能否外推;
  8. 哪些域可能被平均数掩盖;
  9. 是否公开了许可、污染和隐私边界;
  10. 失败时会怎样被监测。

18. 首版课程结构

  1. 一粒 Token 的来路;
  2. 十二张数据账;
  3. 数据 pipeline 全景;
  4. 解析与质量;
  5. exact / fuzzy / semantic 去重;
  6. 污染、记忆、隐私与许可;
  7. mixture 与模型感知选择;
  8. 重复、改写、翻译与合成;
  9. Tokenizer
  10. Packing / mask / FIM
  11. curriculum 与 learning-rate / batch 联动;
  12. DeepSeek 五代数据谱系;
  13. Kimi K2 → K3 谱系;
  14. 原生多模态数据;
  15. 四个交互实验室;
  16. 失败模式;
  17. 一手论文路线;
  18. 已知 / 推断 / 未知。

19. 首版完成检查

  • K3 §3.1–§3.4 原文核验;
  • K2 §2.2 / §2.5 与 Table 1 原文核验;
  • DeepSeek LLM / Math / V2 / V3 / V4 数据章节原文核验;
  • Grok leads 与正式证据分离;
  • 十二张账与历史主线建立;
  • 四实验定义与禁止性规则建立;
  • FineWeb / DCLM / Dolma / ROOTS 逐图精读;
  • 去重、mixture、污染和多模态选择重点论文全文缓存;
  • 课程长文实现;
  • 四实验组件实现;
  • 论文库扩充并标注 source level
  • Astro check、构建、内部引用与浏览器断言;
  • 公开 Forgejo 提交;
  • 不可变镜像发布与生产核验。

研究账本不是完成标志;它是后续页面每个可交互结论的证据合同。