返回学习路线

AI 学习路线 · 深入

Part 18 · 训练数据与模型评估

数据决定模型上限,评估决定你"能不能交付"。


Section 1 · 训练数据来源

Subsection 1 · 记两类数据

通用数据  互联网语料(网页/书/论文/代码)→ 训练"基础能力"专业数据  领域语料(医学/法律/工业日志)→ 训练"领域能力"
  • 预训练用通用数据"打底",微调用专业数据"定向"。

过关:能说出两类数据各自作用 = Section 1 完成。


Section 2 · 数据清洗实操

Subsection 1 · 记清洗维度

低质过滤   去掉乱码/广告/重复废话冗余去除   去重(近义重复也要去)隐私消除   去掉个人信息/密钥(合规必须)

Subsection 2 · 跑清洗脚本 新建 clean_corpus.py:

python
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:

python
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 · 看排行榜

过关:能说 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 天)。