diff --git a/docs/zh/index.md b/docs/zh/index.md index f6c73db59..881928354 100644 --- a/docs/zh/index.md +++ b/docs/zh/index.md @@ -29,27 +29,27 @@ - [本篇目录](part1/index.md) - [第1章:大语言模型时代的数据革命](part1/ch01_data_change.md) - [第2章:LLM数据生命周期与质量评估框架](part1/ch02_quality_framework.md) -- [第3章 AI原生数据栈与成本治理](part1/ch03_data_stack.md) +- [第3章:AI原生数据栈与成本治理](part1/ch03_data_stack.md) ## 第二篇:文本预训练数据工程 面向大规模文本语料,覆盖数据来源、采集版权、清洗去重、分词序列化、高效加载和质量闭环。 - [本篇目录](part2/index.md) -- [第4章 数据源、采集与版权](part2/ch04_data_sources.md) -- [第5章 清洗、去重与去污染](part2/ch05_cleaning_dedup.md) -- [第6章 分词、序列化与高效加载](part2/ch06_tokenization_loading.md) -- [第7章 数据评估、质量闭环与运营迭代](part2/ch07_data_operations.md) +- [第4章:数据源、采集与版权](part2/ch04_data_sources.md) +- [第5章:清洗、去重与去污染](part2/ch05_cleaning_dedup.md) +- [第6章:分词、序列化与高效加载](part2/ch06_tokenization_loading.md) +- [第7章:数据评估、质量闭环与运营迭代](part2/ch07_data_operations.md) ## 第三篇:多模态数据工程 处理图文、文档、视频、音频与跨模态对齐数据,关注样本结构、质量控制、标注增强和融合训练。 - [本篇目录](part3/index.md) -- [第8章 图文对数据工程](part3/ch08_multimodal_image.md) -- [第9章 重标注与文档理解](part3/ch09_recaptioning_ocr.md) -- [第10章 视频与音频数据工程](part3/ch10_video_audio.md) -- [第11章 跨模态对齐与融合](part3/ch11_cross_modal_alignment.md) +- [第8章:图文对数据工程](part3/ch08_multimodal_image.md) +- [第9章:重标注与文档理解](part3/ch09_recaptioning_ocr.md) +- [第10章:视频与音频数据工程](part3/ch10_video_audio.md) +- [第11章:跨模态对齐与融合](part3/ch11_cross_modal_alignment.md) ## 第四篇:指令微调与偏好数据 diff --git a/docs/zh/part1/ch03_data_stack.md b/docs/zh/part1/ch03_data_stack.md index bb80025a2..4aeaeee0b 100644 --- a/docs/zh/part1/ch03_data_stack.md +++ b/docs/zh/part1/ch03_data_stack.md @@ -1,4 +1,4 @@ -# 第3章 AI原生数据栈与成本治理 +# 第3章:AI原生数据栈与成本治理
diff --git a/docs/zh/part1/index.md b/docs/zh/part1/index.md index c184438c4..c8ce84a2e 100644 --- a/docs/zh/part1/index.md +++ b/docs/zh/part1/index.md @@ -44,7 +44,7 @@ - [第1章:大语言模型时代的数据革命](ch01_data_change.md) - [第2章:LLM数据生命周期与质量评估框架](ch02_quality_framework.md) -- [第3章 AI原生数据栈与成本治理](ch03_data_stack.md) +- [第3章:AI原生数据栈与成本治理](ch03_data_stack.md) ## 建议阅读顺序 diff --git a/docs/zh/part2/ch04_data_sources.md b/docs/zh/part2/ch04_data_sources.md index 19f8448c2..951e82861 100644 --- a/docs/zh/part2/ch04_data_sources.md +++ b/docs/zh/part2/ch04_data_sources.md @@ -1,4 +1,4 @@ -# 第4章 数据源、采集与版权 +# 第4章:数据源、采集与版权 @@ -159,7 +159,7 @@ class AsyncEthicalCrawler: domain = urlparse(url).netloc if domain not in self.rp_cache: await self.fetch_robots(session, domain) - + # 强制合规检查 if not self.rp_cache[domain].can_fetch(self.user_agent, url): print(f"Skipping {url} (disallowed by robots.txt)") @@ -180,7 +180,7 @@ class AsyncEthicalCrawler: async def bounded_fetch(url): async with sem: return await self.fetch_url(session, url) - + tasks = [bounded_fetch(url) for url in urls] return await asyncio.gather(*tasks) ``` @@ -417,7 +417,7 @@ def classify_license(license_text: str) -> dict: 本章从源头质量如何约束模型能力出发,建立了预训练数据源体系的认知框架。章节构建了涵盖八类核心数据源的分层地图,并通过风险矩阵(表4-1)和配比策略矩阵(表4-2)为工程决策提供可操作的量化工具。在采集流水线部分,本章说明了直接使用 WET 的风险,给出了基于 Trafilatura 的高质量 WARC 解析实现,并建立了“每条数据都有出生证明”的元数据存证标准。版权治理部分引入白名单、灰名单、黑名单的三级管理机制,配合许可证自动分类代码,为商业化 LLM 团队提供可落地的合规工程方案。两个案例分别从技术和法律两个维度说明,源头治理是预训练数据工程的第一道质量门禁。 -进入下一章,我们将在本章采集到的原始数据基础上,讨论**第5章 清洗、去重与去污染**。源头治理决定可以送入清洗管线的语料上限,而清洗管线决定哪些样本能够最终进入训练集。两章共同构成文本预训练数据工程的质量守门体系。 +进入下一章,我们将在本章采集到的原始数据基础上,讨论**第5章:清洗、去重与去污染**。源头治理决定可以送入清洗管线的语料上限,而清洗管线决定哪些样本能够最终进入训练集。两章共同构成文本预训练数据工程的质量守门体系。 ## 参考文献 diff --git a/docs/zh/part2/ch05_cleaning_dedup.md b/docs/zh/part2/ch05_cleaning_dedup.md index cf3b3cd84..d188e7b39 100644 --- a/docs/zh/part2/ch05_cleaning_dedup.md +++ b/docs/zh/part2/ch05_cleaning_dedup.md @@ -1,4 +1,4 @@ -# 第5章 清洗、去重与去污染 +# 第5章:清洗、去重与去污染 @@ -640,7 +640,7 @@ class DocumentQualityScore: 本章围绕"清洗为何构成训练数据质量上限"展开,按照清洗生命周期的顺序,系统介绍了规则过滤、模型评分、精确去重、MinHash 模糊去重、PII 脱敏与基准去污染的完整技术体系。两张表格(表5-1 缺陷-检测-代价矩阵、表5-2 清洗动作效果对照)为工程师提供了可直接参考的决策工具。两个匿名化复合案例——"清洗过度导致知识损失"和"PII 遗漏引发安全风险"——从正反两个方向印证了清洗体系的精细化配置要求。 -完成清洗、去重与去污染后,原始语料才具备进入训练输入组织阶段的基础条件。下一章将在清洗完成的数据上,继续讨论预训练数据工程的最后一公里:**第6章 分词、序列化与高效加载**,即如何把干净文本转化为 GPU 可以高效消费的 Token 序列。 +完成清洗、去重与去污染后,原始语料才具备进入训练输入组织阶段的基础条件。下一章将在清洗完成的数据上,继续讨论预训练数据工程的最后一公里:**第6章:分词、序列化与高效加载**,即如何把干净文本转化为 GPU 可以高效消费的 Token 序列。 ## 参考文献 diff --git a/docs/zh/part2/ch06_tokenization_loading.md b/docs/zh/part2/ch06_tokenization_loading.md index b5f675d21..83e90b8d8 100644 --- a/docs/zh/part2/ch06_tokenization_loading.md +++ b/docs/zh/part2/ch06_tokenization_loading.md @@ -1,4 +1,4 @@ -# 第6章 分词、序列化与高效加载 +# 第6章:分词、序列化与高效加载 @@ -472,7 +472,7 @@ dataloader = DataLoader( 本章以一个匿名化复合案例说明 I/O 瓶颈如何导致 GPU 空转和成本浪费,系统建立了训练输入管道的完整技术认知。我们详细梳理了分词算法选型(BPE/SentencePiece 的工程权衡)、数据格式选择(从 JSONL 到 MDS/Arrow 的性能取舍)、Packing 策略(减少 Padding 带来的无效计算)、温度采样与课程学习的混采策略(表6-2),以及系统化的 I/O 瓶颈诊断三步法(图6-1)。附录中的"输入管道优化检查清单"可直接作为生产级预训练任务的启动前核验工具。 -本章与第3章成本治理的视角呼应:在 GPU 算力成本极高的预训练项目中,输入管道的工程质量会直接影响有效训练时间和总预算。进入下一章,我们将视角从"如何把数据送进模型"转向"如何评价模型用这些数据学到了什么":**第7章 数据评估、质量闭环与运营迭代**。 +本章与第3章成本治理的视角呼应:在 GPU 算力成本极高的预训练项目中,输入管道的工程质量会直接影响有效训练时间和总预算。进入下一章,我们将视角从"如何把数据送进模型"转向"如何评价模型用这些数据学到了什么":**第7章:数据评估、质量闭环与运营迭代**。 ## 参考文献 diff --git a/docs/zh/part2/ch07_data_operations.md b/docs/zh/part2/ch07_data_operations.md index 7cf71e9ab..8a46d01b5 100644 --- a/docs/zh/part2/ch07_data_operations.md +++ b/docs/zh/part2/ch07_data_operations.md @@ -1,4 +1,4 @@ -# 第7章 数据评估、质量闭环与运营迭代 +# 第7章:数据评估、质量闭环与运营迭代 @@ -102,7 +102,7 @@ def calculate_perplexity_batch(texts, cache_model_path="llama-1b-ref"): tokenizer = AutoTokenizer.from_pretrained(cache_model_path) model = AutoModelForCausalLM.from_pretrained(cache_model_path).cuda() model.eval() - + ppl_results = [] with torch.no_grad(): for text in texts: @@ -114,7 +114,7 @@ def calculate_perplexity_batch(texts, cache_model_path="llama-1b-ref"): loss = outputs.loss ppl = torch.exp(loss) ppl_results.append(ppl.item()) - + return ppl_results # 返回数组供下游生成直方图 ``` @@ -139,10 +139,10 @@ def calculate_ttr(texts, tokenizer=None): else: # 使用真实的 LLM 分词器 tokens = tokenizer.tokenize(" ".join(texts)) - + total_tokens = len(tokens) unique_types = len(set(tokens)) - + if total_tokens == 0: return 0.0 return unique_types / total_tokens @@ -392,7 +392,7 @@ def calculate_ttr(texts, tokenizer=None): 为此,本章系统说明了建立“离线代理指标(PPL/TTR 等)”的必要性,并由此引出 DVC 版本比对、问题样本库留存、A/B Testing 实验,最终沉淀为包含四大运营动作周期的敏捷工作流。这使得大语言模型的数据研发不再是孤立的黑盒流程,而是一条能够通过效果缺失反推上游采集和清洗策略的质量闭环。 -从原始网页到质量把控、清洗去重、混合配比,再到高效流入 GPU,第二篇完成了文本预训练数据工程的主体链路。下一章将进入第三篇,讨论结构更复杂、成本更高、对齐要求更严格的多模态数据工程:**第8章 图文对数据工程**。 +从原始网页到质量把控、清洗去重、混合配比,再到高效流入 GPU,第二篇完成了文本预训练数据工程的主体链路。下一章将进入第三篇,讨论结构更复杂、成本更高、对齐要求更严格的多模态数据工程:**第8章:图文对数据工程**。 ## 参考文献 diff --git a/docs/zh/part2/index.md b/docs/zh/part2/index.md index aeda5c742..ab764c844 100644 --- a/docs/zh/part2/index.md +++ b/docs/zh/part2/index.md @@ -30,9 +30,9 @@ ## 本篇目录 -- [第4章 数据源、采集与版权](ch04_data_sources.md) -- [第5章 清洗、去重与去污染](ch05_cleaning_dedup.md) -- [第6章 分词、序列化与高效加载](ch06_tokenization_loading.md) -- [第7章 数据评估、质量闭环与运营迭代](ch07_data_operations.md) +- [第4章:数据源、采集与版权](ch04_data_sources.md) +- [第5章:清洗、去重与去污染](ch05_cleaning_dedup.md) +- [第6章:分词、序列化与高效加载](ch06_tokenization_loading.md) +- [第7章:数据评估、质量闭环与运营迭代](ch07_data_operations.md) 建议按第4章至第7章顺序阅读。已有预训练经验的读者可以先读第7章建立质量闭环视角,再回到第4至第6章检查自己的数据管线是否具备可追溯、可诊断和可复现能力。 diff --git a/docs/zh/part3/ch08_multimodal_image.md b/docs/zh/part3/ch08_multimodal_image.md index 83950a8be..6f5b60bf5 100644 --- a/docs/zh/part3/ch08_multimodal_image.md +++ b/docs/zh/part3/ch08_multimodal_image.md @@ -1,4 +1,4 @@ -# 第8章 图文对数据工程 +# 第8章:图文对数据工程 @@ -81,7 +81,7 @@ - **适用场景**:这是当今**生成式 VLM 预训练**的重要数据形态。它教会模型如何根据“前文”和“图片 1”,去推断“后文”或“图片 2”应该是什么。 - **采集挑战与 DOM 解析工程**:交错图文的工程难度庞大。传统的文本爬虫遇到 `