数据不是凭空出现的,数据管线(收集→转换→过滤→去重→聚合)往往是决定模型能力与差异化的关键。
1. 核心观点:为什么数据最重要?
- Hot take:训练语言模型时,最重要的是把数据搞对。
- 一个理由:看公司披露的信息。
- 开源权重模型(例如 Llama 3)在架构、训练流程上可能比较透明,但对训练数据几乎不公开。
- 数据保密的两个主要原因:
- 竞争优势(数据是壁垒)
- 版权风险(数据来源可能涉及侵权)
- 历史对比:
- 基础模型之前:数据工作更多是“重标注”的监督学习。
- 现在:标注减少,但“筛选、清洗、策划、去重”的工作量依然巨大。
- 数据是一个典型的长尾问题:大量边角情况需要人工与规则打磨;它不像架构/系统那样容易规模化“自动变好”
2. 训练阶段与术语
2.1 训练阶段(现实中边界会模糊)
- Pre-training(预训练):用大量原始文本训练(如网页文档)。
- Mid-training(中期训练):继续用更高质量/更针对的数据训练,以增强特定能力。
- Post-training(后训练):面向指令跟随/对话做微调(或 RLHF 等)。
总体趋势可以理解为:从“大量低质量”逐步过渡到“少量高质量”(但阶段之间不总是清晰分割,也可能有更多中间阶段)
2.2 术语
- Base model:完成预训练 + 中期训练后的模型。
- Instruct / Chat model:完成后训练(指令/对话/对齐)后的模型。
2.3 一个全流程例子:OLMo(AI2)
- OLMo 2:
https://allenai.org/olmo - 1) Pretraining:

- 2) Mid-training:

- 3) Post-training:
https://arxiv.org/pdf/2411.15124

3. 框架:把“数据”当成可工程化对象(补充框架)
这一部分在代码里作为
framework()给出:用来帮助你在脑中组织“数据管线”和“能力目标”。
3.1 数据对象类型(data objects)
- Live service:在线服务产生的数据(例:Reddit)。
- Raw snapshot:通过爬虫/API/公开 dump 获得的原始快照。
- Processed text:经过转换、过滤、去重等处理后的文本。
- Aggregated datasets:多源聚合后的大数据集(例:Dolma、The Pile)。
3.2 数据来源类型(sources)
- 标注者(例:Llama 2 的部分指令数据)
- 真实用户(例:ShareGPT)
- 策划/爬取(例:从 Common Crawl 清洗)
- 从更强模型蒸馏(例:GPT-4 生成的合成数据)
- 自蒸馏(用正在训练的模型生成合成数据)
3.3 想通过数据增强的能力(capabilities)
- 任务能力(例:信息抽取)
- 指令跟随与对话
- 长上下文(4096 → 100,000)
- Infilling(例:the cat __ the hat)
- 领域能力(代码/数学/医疗等)
- 安全(拒答/对齐)
- 推理(chain-of-thought 等)
预训练数据集纵览(BERT→GPT-2→CCNet→C4→GPT-3→The Pile→Gopher→LLaMA→RefinedWeb/FineWeb→Dolma→DCLM→Nemotron-CC)见下篇:预训练数据集巡礼
5. 法律与伦理:版权(Copyright)
- 生成式 AI 相关诉讼很多,尤其围绕版权:
https://www.bakerlaw.com/services/artificial-intelligence-ai/case-tracker-artificial-intelligence-copyrights-and-class-actions/
5.1 知识产权法(Intellectual property law)
- 目标:激励知识产品的创造
- 类型:版权、专利、商标、商业秘密
5.2 版权法(Copyright law)基础
- 历史:
- 1709 英国《Statute of Anne》:
https://en.wikipedia.org/wiki/Statute_of_Anne - 美国现行主要框架:1976 年版权法:
https://en.wikipedia.org/wiki/Copyright_Act_of_1976
- 1709 英国《Statute of Anne》:
- 保护对象(课程中引用的定义):
- 对“固定在任何有形媒介上的原创作品”的保护(能被感知、复制、传播)
- 关键原则:
- 原创作品才受保护;纯“集合”一般不受保护(如电话簿),除非选择/编排有创意
- 版权保护的是表达(expression),不保护思想/想法(ideas)(例:quicksort 的思想可复现,但不能直接抄具体代码表达)
- 从 1909 年“published”扩展到 1976 年“fixed”
- 不需要注册也自动受保护(对比专利)
- 版权门槛很低(你的网站也可能自动受版权保护)
- 诉讼与期限:
- 起诉前通常需要注册
- 注册费用 $65:
https://www.copyright.gov/about/fees.html - 持续 75 年,之后进入 public domain(如莎士比亚、贝多芬,以及 Project Gutenberg 多数书)
- 小结:互联网上大多数内容其实都有版权。
5.3 使用受版权保护作品的两条路
- 获得许可(license)
- 适用合理使用(fair use)
5.3.1 Licenses(许可)
- 许可(合同法概念):许可方给被许可方授权
- 可理解为:“许可就是承诺不告你”
Creative Commons(CC)许可:
- 允许更自由地分发与使用作品
- 例:Wikipedia、Open Courseware、Khan Academy、Free Music Archive、Flickr 上 3.07 亿图片、MusicBrainz 3900 万图片、YouTube 1000 万视频等
- 2001 年由 Lessig 和 Eldred 创建,试图在 public domain 与传统版权之间搭桥
现实做法:很多模型开发者会直接购买/签订数据授权来训练基础模型,例如:
- Google ↔ Reddit:
https://www.reuters.com/technology/reddit-ai-content-licensing-deal-with-google-sources-say-2024-02-22/ - OpenAI ↔ Shutterstock:
https://investor.shutterstock.com/news-releases/news-release-details/shutterstock-expands-partnership-openai-signs-new-six-year - OpenAI ↔ StackExchange:
https://stackoverflow.co/company/press/archive/openai-partnership
5.3.2 Fair use(合理使用,Section 107)
判断是否合理使用的四个因素:
- 使用目的与性质(教育 > 商业;转换性/transformative > 复制性)
- 原作品性质(事实性 > 虚构;非创作性 > 创作性)
- 使用量与关键性(片段 > 全部)
- 对市场的影响(是否损害原作品市场或潜在市场)
合理使用例子:
- 看完电影写摘要
- 复现算法思想而不复制具体代码表达
- Google Books 建索引并展示 snippets(Authors Guild v. Google, 2002–2013)
一个容易误解的点:
- 版权不只是“逐字记忆/逐字复制”的问题
- 情节与角色(如 Harry Potter)也可能受保护
- 戏仿(parody)更可能被认为合理使用
- 版权更接近“语义 + 经济影响”的问题
对基础模型的考虑(课程讨论方向):
- 即使只是“复制数据进入训练管线”,在法律上也可能已经构成侵权的起点
- 训练模型通常具有转换性(远非 copy/paste)
- 视觉领域直觉:系统学的是“概念/想法”(如 stop sign),而不是某张图片的具体表达细节
- 但语言模型确实可能影响写作者/艺术家的市场,这一点会变得复杂
5.3.3 Terms of service(服务条款)
- 即使你有许可或能主张合理使用,ToS 仍可能施加额外限制
- 例:YouTube ToS 禁止下载视频,即便视频是 CC 许可
进一步阅读:
- Stanford CS324 课程笔记:
https://stanford-cs324.github.io/winter2022/lectures/legality/ - Fair learning(Lemley & Casey):
https://texaslawreview.org/fair-learning/ - Foundation models and fair use:
https://arxiv.org/pdf/2303.15715 - The Files are in the Computer:
https://arxiv.org/abs/2404.12590
6. 中期训练 + 后训练:面向能力的“专项数据”
6.1 长上下文(Long context)
需求:长上下文(例如对整本书做 QA)
- DeepSeek v3:128K tokens
- Claude 3.5 Sonnet:200K tokens
- Gemini 1.5 Pro:1.5M tokens
为什么不直接在预训练阶段就用超长序列?
- Transformer 的计算/显存开销与序列长度近似二次增长
- 因此更常见策略:先在较短上下文上预训练,再在后续阶段“补长上下文”
LongLoRA:https://arxiv.org/pdf/2309.12307
- 把 Llama2 7B 的上下文从 4K 扩展到 100K
- 方法要点:
- shifted sparse attention(论文 Figure 2)
- positional interpolation(Chen+ 2023)
- 训练数据:长文档
- PG-19(书籍)
- Proof-Pile(数学)
6.2 任务型数据(Tasks):把现有 NLP 数据集“改写成提示词”
TL;DR:把大量已有的 NLP 数据集统一转换成 prompts 形式,用来增强任务泛化能力。
Super-Natural Instructions:https://arxiv.org/pdf/2204.07705
- 数据:1600+ 任务(论文 Figure 2)
- HuggingFace 数据集:
https://huggingface.co/datasets/Muennighoff/natural-instructions
- HuggingFace 数据集:
- 用于微调 T5 做 k-shot 学习(Tk-instruct)
- 任务来自社区(通过 GitHub 贡献)
- 每个任务的样例来自既有数据集,再被转成模板化 prompts
- 论文中声称:尽管模型更小,但在对比中优于 InstructGPT(值得进一步对齐评测设置)
Flan 2022:https://arxiv.org/pdf/2301.13688
- 数据:1800+ 任务
- HuggingFace 数据集:
https://huggingface.co/datasets/Muennighoff/flan
- HuggingFace 数据集:
- 对同一任务构造多种形式:zero-shot、few-shot、chain-of-thought(论文 Figure 7)
6.3 指令/对话数据(Instruction + Chat):更开放的指令,合成数据占比高
TL;DR:相比任务型数据,更开放、更接近对话场景;合成数据(由更强模型生成)使用非常普遍。
Alpaca:https://crfm.stanford.edu/2023/03/13/alpaca.html(课程代码中引用:alpaca)
- 用 self-instruct 从
text-davinci-003生成 52K 指令样本:https://arxiv.org/pdf/2212.10560 - 用这些数据对 LLaMA 7B 做监督微调
Vicuna:https://lmsys.org/blog/2023-03-30-vicuna/
- 用 ShareGPT 上 70K 对话微调 LLaMA
- ShareGPT:用户分享 ChatGPT 对话(目前已基本停用)
Baize:https://arxiv.org/pdf/2304.01196
- 用 GPT-3.5 进行 self-chat 生成 111.5K 数据
- 种子问题来自 Quora 与 StackOverflow
- 微调 LLaMA
WizardLM:https://arxiv.org/pdf/2304.12244
- Evol-Instruct:把问题“进化”得更广/更难(论文 Figure 1)
- 用该数据微调 LLaMA
MAmmoTH2:https://arxiv.org/pdf/2405.03548
- 策划 WebInstruct:从 Common Crawl 提取 1000 万条指令
- 过滤:用 fastText 在 quiz sites 上训练分类器
- 抽取:用 GPT-4 与 Mixtral 抽取 QA pairs
- 用这些数据微调 Mistral 7B
- 目标效果:提升数学能力
OpenHermes 2.5:
- 多数据集聚合:
https://huggingface.co/datasets/teknium/openhermes - 用 GPT-4 生成的 100 万样本微调 Mistral 7B:
https://huggingface.co/teknium/OpenHermes-2.5-Mistral-7B
Llama 2 chat:https://arxiv.org/pdf/2307.09288
- 通过供应商标注得到 27,540 条高质量指令数据
- 论文声称:比使用开源数据集的数百万样本效果更好
- 课程评论:也许可以标注更少 SFT 数据,把更多精力留给 RLHF 数据获取/标注
Llama-Nemotron 后训练数据(NVIDIA, 2024):https://huggingface.co/datasets/nvidia/Llama-Nemotron-Post-Training-Dataset
- Prompts:来自公共数据集(如 WildChat)或合成生成,然后再过滤
- 合成回复:由 Llama、Mixtral、DeepSeek r1、Qwen 等生成(相对更具商业可行性,不依赖 GPT-4)
- 包含 reasoning traces
- 示例:
https://huggingface.co/datasets/nvidia/Llama-Nemotron-Post-Training-Dataset/viewer/SFT/code