POST
Gaokao-Math-DS:高考数学 LLM 数据集工程(开篇)
Gaokao-Math-DS:高考数学 LLM 数据集工程(开篇)
上个月开始构思一个项目:构建一个高质量的高考数学领域数据集,用来微调一个小尺寸 LLM(目标 1.5B-7B 级别),看能不能在 MATH、GSM8K 这类 benchmark 上拿到可量化的提升。
为什么选高考数学
几个原因:
- 领域封闭 — 高考数学的知识点、题型、难度层级都很明确,不像"通用对话"那样边界模糊。数据质量可控。
- 答案可验证 — 数学题有精确答案,可以用符号计算(sympy)做自动验证,不会出现 LLM 合成数据里常见的"看起来对但实际错"的问题。
- 个人匹配 — 我平时兼职做高中数学家教,对这个领域的内容很熟悉,知道哪些题是好题、哪些是废题。
- 多模态扩展空间 — 远期可以加几何图像、函数图像这类视觉输入,但现阶段先聚焦纯文本的公式题目。
Phase 0:先学数据工程
我不打算一上来就写爬虫。LLM 的数据处理和常规的数据工程不太一样——要去重、要合成、要验证、要防评测集污染。先把这些基础打扎实再动手。
目前整理的技能树:
- 数据集格式 — Alpaca、ShareGPT、ChatML,各有适用场景
- 去重体系 — 从 URL 去重到全文 hash 到 MinHash 近似去重
- 数据合成 — Self-Instruct、Evol-Instruct、参数化变体生成
- 质量过滤 — perplexity 过滤、LLM-as-judge、规则校验
- 评测方法论 — 基准选择、污染检测、难度分层报告
这些内容后续会陆续整理成博客。
项目结构
gaokao-math-ds/
├── docs/ # 路线图、学习笔记、知识体系
├── pipeline/ # 采集→清洗→标注→合成 管线
├── config/ # 数据源注册、schema 定义
└── evaluation/ # 评测基准
项目地址:github.com/freezetheflame/gaokao-math-ds
下一步计划:调研训练数据的格式设计,确定本项目的标准结构,然后开始收集真题。