AI 学习路线 · 深入
Part 18 · 训练数据与模型评估
数据决定模型上限,评估决定你"能不能交付"。
Section 1 · 训练数据来源
Subsection 1 · 记两类数据
通用数据 互联网语料(网页/书/论文/代码)→ 训练"基础能力"专业数据 领域语料(医学/法律/工业日志)→ 训练"领域能力"- 预训练用通用数据"打底",微调用专业数据"定向"。
过关:能说出两类数据各自作用 = Section 1 完成。
Section 2 · 数据清洗实操
Subsection 1 · 记清洗维度
低质过滤 去掉乱码/广告/重复废话冗余去除 去重(近义重复也要去)隐私消除 去掉个人信息/密钥(合规必须)Subsection 2 · 跑清洗脚本
新建 clean_corpus.py:
import redef clean_text(text: str) -> str: # 1. 去掉 URL text = re.sub(r"https?://\S+", "", text) # 2. 去掉 HTML 标签 text = re.sub(r"<[^>]+>", "", text) # 3. 去掉多余空白 text = re.sub(r"\s+", " ", text) # 4. 过滤太短的 if len(text.strip()) < 20: return "" # 5. 过滤乱码(含过多异常字符) if sum(1 for c in text if ord(c) > 0xFFFF) > 10: return "" return text.strip()samples = [ "这是一段正常的中文内容,讲的是如何学习大模型开发。", "<p>有HTML标签的<strong>内容</strong></p>", "https://example.com 这有个链接", "短",]for s in samples: r = clean_text(s) print(f"清洗后: {r if r else '(被过滤)'}")- 预期看到:URL/标签被清掉,太短的被过滤。
过关:清洗脚本跑通 = Section 2 完成。
Section 3 · 开源数据集盘点
Subsection 1 · 记四个数据集
Pile 800GB 英文通用语料ROOTS 欧洲 BigScience 多语言语料RefinedWeb 互联网清洗语料(很干净)SlimPajama 可商用的大规模语料Subsection 2 · 上 HuggingFace 看
- 打开 https://huggingface.co/datasets 搜
Chinese,找几个中文预训练数据集(如shibing624/nli_zh、HuggingFaceFW/fineweb-edu)。 - 看数据集卡片(size/字段/用途)。
过关:能报出 4 个数据集 = Section 3 完成。
Section 4 · 评估体系
Subsection 1 · 记三层评估
知识与能力 模型懂多少、能不能干(做题/推理/代码)伦理与安全 有没有毒输出/偏见/幻觉垂直领域 医学/法律等专业场景准不准- 面试点:“不能只测准确率,要分维度评估”。
过关:能说三层 = Section 4 完成。
Section 5 · 评估指标(BLEU / ROUGE)
Subsection 1 · 记指标
BLEU 机器翻译/生成:看"生成的词和参考文本重合多少"(越像参考越高)ROUGE 摘要/文本生成:看"参考文本里的词有没有被生成出来"准确率/召回/F1 分类任务三大件- 注意:这些指标对"开放式生成"意义有限(好答案可以不唯一),所以还要配合人工/LLM 评判。
过关:能说 BLEU/ROUGE 大概 = Section 5 完成。
Section 6 · 用 HF Evaluate 跑指标
Subsection 1 · 装
cmd:pip install evaluate sacrebleu
Subsection 2 · 跑 BLEU
新建 eval_bleu.py:
from evaluate import loadbleu = load("bleu")# 假设:模型生成 vs 参考答案predictions = ["I love AI development."]references = [["I love AI development."]] # 完全一样 → 高分result = bleu.compute(predictions=predictions, references=references)print("BLEU 分数:", round(result["bleu"], 3))# 换个明显不对的predictions2 = ["The weather is nice."]result2 = bleu.compute(predictions=predictions2, references=references)print("不相关内容 BLEU:", round(result2["bleu"], 3))- 预期看到:第一组高分,第二组很低。
过关:能跑出 BLEU = Section 6 完成。
Section 7 · GLUE / SuperGLUE(基准榜)
Subsection 1 · 记概念
GLUE / SuperGLUE = 一整套 NLP 任务的"考试题" (情感分类/自然语言推理/问答等,共几十项)跑完拿综合分 → 横向对比模型能力SuperGLUE = GLUE 的更难版本Subsection 2 · 看排行榜
- 打开 https://paperswithcode.com/ 搜 GLUE / SuperGLUE,看排行榜(了解即可)。
过关:能说 GLUE 是什么 = Section 7 完成。
Section 8 · 安全/伦理评估
Subsection 1 · 用安全测试集
- 打开 https://github.com/thu-coai/Safety-Prompts (清华安全测试集)看它的测试分类。
- 用你已部署的模型跑几个安全用例(如诱导输入恶意指令),记录模型反应。
- 写笔记:模型的"拒答"表现如何。
过关:跑过安全用例 = Section 8 完成。
Section 9 · 综合评估项目
Subsection 1 · 评估你的 RAG 用Part 6 的 RAGAS + 今天的指标,对你的 rag_tool 出一份完整评估报告:
- RAGAS 三指标(忠实度/相关度/上下文相关度)
- 20 个测试问题的正确率
- 安全测试结果
- 改进建议(Top3)
- 预期看到:一份像样的"评估报告"(这就是你面试能展示的文档)。
过关:评估报告写完 = Section 9 完成。
Section 10 · 站 16 验收
勾选
- 能说通用/专业数据作用
- 清洗脚本跑通,知道三维度
- 能报出 4 个开源数据集
- 能说评估三层体系
- 能说 BLEU/ROUGE/准确率
- BLEU 代码跑通(Section 6)
- 知道 GLUE/SuperGLUE
- 跑过安全测试用例
- RAG 评估报告写完(Section 9)
写 300 字Part 16 总结:你的模型/RAG 强在哪、弱在哪、怎么改进。
全勾选 = Part 18 通过 → 进入下一站 Part 19 · 多模态应用,20 天)。
