---
title: WSAI-Math-Distill
canonical_url: "https://www.modelscope.cn/datasets/wangshenai/WSAI-Math-Distill"
md_url: "https://www.modelscope.cn/datasets/wangshenai/WSAI-Math-Distill.md"
repository: wangshenai/WSAI-Math-Distill
chinese_name: WSAI-Math-Distill
last_updated: 2026-08-30
license: "Apache License 2.0"
downloads: 89
stars: 1
---

# WSAI-Math-Distill

> WSAI-Math-Distill - wangshenai 在 ModelScope 开源的数据集。WSAI-Math-Distill 是一个严格验证的数学长思维链蒸馏数据集，包含 train（3,867 条，经严格判分确认正确）与 rejected（2,582 条，供拒收分析研究）两个 split。题目选自 OpenR1-Math-220k 的 AMC/AIME、奥赛及 AoPS 论坛来源（去污染后 6,245 题），思维链由 DeepSeek deepseek-v4-flash（thinking…

wangshenai/WSAI-Math-Distill 是 ModelScope 魔搭社区上的数据集，采用 Apache License 2.0 许可。

- **Repository**: wangshenai/WSAI-Math-Distill
- **License**: Apache License 2.0
- **Downloads**: 89
- **Stars**: 1
- **Last updated**: 2026-08-30

Source: https://www.modelscope.cn/datasets/wangshenai/WSAI-Math-Distill

---

# WSAI-Math-Distill

严格验证的数学长思维链蒸馏数据集（Strictly-verified mathematical long chain-of-thought distillation dataset）。

## 动机

现有开源数学推理蒸馏数据集普遍存在两类问题：一是**答案未逐条严格验证**（或采用宽松的规范化匹配，把格式不同、实质错误的回答判为正确）；二是**评测集污染**（训练题与 AIME 等评测题同源重叠，导致榜单虚高）。本数据集的构建把这两点作为一等公民：

> **每一条训练样本的回答，都在最严格口径下与题库标准答案精确匹配；每一道题，都经过对 AIME 2024/2025 与 HLE 的 8-gram 去污染。**

## 数据构成

| Split             | 条数        | 用途                                             |
| ----------------- | --------- | ---------------------------------------------- |
| `train`（verified） | **3,867** | SFT 训练：教师答案经严格判分确认正确、思维链完整非空                   |
| `rejected`        | 2,582     | 研究分析：判分不通过（真实错误或格式不匹配），保留全部字段与 `reject_reason` |

- **教师模型**：`deepseek-v4-flash`（DeepSeek 官方 API，thinking 模式，`reasoning_content` + `content` 双输出）
- **题源**：[open-r1/OpenR1-Math-220k](https://huggingface.co/datasets/open-r1/OpenR1-Math-220k)（Apache-2.0，派生自 NuminaMath）中的 AoPS/竞赛来源题面
- **题库构成**（去污染后 6,245 题）：amc_aime 2,845 / olympiads 2,600 / aops_forum 800
- **教师通过率**：61%（3,867 / 6,449 次独立求解）

## 构建流水线

```
OpenR1-Math-220k (93,733 题)
  │ ① 题面清洗: 去空/去重(md5)/长度过滤(≤2,500字符) + 来源筛选(amc_aime/olympiads/aops_forum)
  ▼
候选题池
  │ ② 去污染: 对评测集做 8-gram 指纹重叠检测 (详见下节), 剔除 3,444 题
  ▼
干净题库 (6,245 题, 均带 gold 标准答案)
  │ ③ 教师蒸馏: v4-flash 逐题求解 (max_tokens=16384, 每题独立请求)
  ▼
6,449 条教师记录
  │ ④ 严格判分 (最严格原始口径, 详见下节)
  │ ⑤ 质量过滤: 思维链非空且 ≥300 字符、正式解答非空
  ▼
train (3,867) + rejected (2,582)
```

## 判分协议（最严格原始口径）

对每条教师回答：

1. **仅**提取正式解答（`content`）中**最后一个** `\boxed{...}` 的内容作为预测；
2. 预测与 gold 按以下三种方式判等，全部通过才记为正确：
   - 去首尾空白后的**精确字符串相等**；
   - `math_verify` 严格语义验证（无任何预处理）；
   - 纯数字情形下的浮点精确相等（误差 < 1e-9）；
3. **不做任何规范化**：不补 LaTeX 花括号、不去 `\text{}` 包裹、不剥离选项字母、不提取子串数字、不做模糊匹配。格式不同即判错，宁缺毋滥；
4. 多答案/选择题字母等无法在原始口径下对齐的样本，一律进入 `rejected`。

> 因此 61% 的通过率是**下界**口径：`rejected` 中含部分实质正确但书写形式与 gold 不一致的样本（如 `\boxed{\text{(C) }50}` vs gold `50`），供拒收分析研究使用。

## 去污染方法

- **指纹构建**：评测集题目文本规范化（小写、剥 LaTeX 命令、仅保留字母数字）后切 8-gram（词级），共计 264,265 个指纹：
  - AIME 2024（30 题）+ AIME 2025（30 题）
  - Humanity's Last Exam 文本子集（2,158 题，仅指纹用途，从不入库）
- **判定规则**：训练题的任一 8-gram 命中指纹即整题剔除（题库阶段剔除 3,444 题；已入库记录经二次回滤，额外剔 27 条后归零）；
- **已知局限**：8-gram 重叠可拦截原题与近原题，无法拦截彻底改写的同构题。

## 字段说明

| 字段              | 类型   | 说明                                             |
| --------------- | ---- | ---------------------------------------------- |
| `problem`       | str  | 题目原文（LaTeX，英文）                                 |
| `gold`          | str  | 标准答案（题库自带，非模型生成）                               |
| `pred`          | str  | 从 `content` 提取的最后一个 `\boxed{}` 内容              |
| `correct`       | bool | 严格判分结果                                         |
| `reasoning`     | str  | 教师思维链（`reasoning_content`，推理过程，不含最终排版解答）       |
| `content`       | str  | 教师正式解答（以 `\boxed{}` 收尾）                        |
| `problem_hash`  | str  | 题面 md5 前 16 位（去重/溯源）                           |
| `reject_reason` | str  | 拒收原因（`train` 中恒为空；`rejected` 中如 `short_trace`） |

### 示例记录（train）

```json
{
  "problem": "4. Evaluate the sum $$ \\frac{1}{2\\lfloor\\sqrt{1}\\rfloor+1}+\\cdots $$",
  "gold": "\\frac{190}{21}",
  "pred": "\\frac{190}{21}",
  "correct": true,
  "reasoning": "We need answer problem. Need solve sum n=1 to 100 of 1/(2 floor(sqrt n)+1). ...(约2.7k字符的思维链)...",
  "content": "For each integer \\(k\\), ... \\[ \\boxed{\\frac{190}{21}} \\]",
  "problem_hash": "a1b2c3d4e5f60718",
  "reject_reason": null
}
```

## 统计

| 项               | p10 | p25   | p50   | p75   | p90    | p99    | max    |
| --------------- | --- | ----- | ----- | ----- | ------ | ------ | ------ |
| `reasoning`（字符） | 630 | 1,103 | 2,721 | 7,483 | 17,472 | 41,603 | 58,614 |
| `problem`（字符）   | 135 | 199   | 281   | 384   | 505    | 900    | 1,992  |
| `content`（字符）   | 113 | 307   | 527   | 785   | 1,035  | 1,549  | 2,677  |

- 教师（v4-flash）思维链为简练跳跃风格（短句、草稿式），中位数约 2.7k 字符（约 800 token）；
- 思维链语言：英文（3,866/3,867，1 条含少量 Unicode 数学符号）；
- `content` 全部以 `\boxed{}` 收尾（100%）；无空链、无 <300 字符短链。

## 使用方法

### 加载

```python
from datasets import load_dataset
ds = load_dataset("wangshenai/WSAI-Math-Distill")  # train split
```

### Qwen3 / Qwen3.5 系列（直接映射 chat 模板字段）

```python
messages = [
    {"role": "user", "content": rec["problem"]},
    {"role": "assistant",
     "reasoning_content": rec["reasoning"],   # 自动包进 <think>...</think>
     "content": rec["content"]},
]
text = tokenizer.apply_chat_template(messages, tokenize=False)
# 仅对 assistant 段计算 loss（prompt masking 由模板定位）
```

### 通用格式

```
<|user|>
{problem}
<|assistant|>
<think>
{reasoning}
</think>

{content}
```

## 与相关数据集对比

| 数据集                   | 规模            | 教师答案验证               | 判分口径          | 去污染                        |
| --------------------- | ------------- | -------------------- | ------------- | -------------------------- |
| **WSAI-Math-Distill** | 3,867 + 2,582 | **逐条 vs gold**       | **最严格（无规范化）** | **AIME24/25 + HLE 8-gram** |
| OpenR1-Math-220k      | 93.7k         | 逐条（math_verify 等多口径） | 含宽松口径         | 发布方声明，未附方法细节               |
| OpenMathReasoning     | 525k          | 大规模验证                | 常规            | 发布方声明                      |

本数据集规模小但**每条可溯源、判分零水分**，适合作为小模型数学推理冷启动的高置信种子集，或作为更大混合配方中的"纯度锚点"。

## 局限

1. 规模有限（3,867 条）；
2. `rejected` 未区分"真实错误"与"格式不匹配"两类；
3. 题源为英语言竞赛数学（AMC/AIME 难度带为主），未覆盖中文题、多学科与 HLE 式跨域推理；
4. 教师思维链为简练风格，长链难题（需 >16k token 推理）覆盖不足；
5. 8-gram 去污染的固有盲区（见上）。

## 引用与致谢

- 题目来自 [open-r1/OpenR1-Math-220k](https://huggingface.co/datasets/open-r1/OpenR1-Math-220k)（Apache-2.0），其派生自 NuminaMath，谨致谢意；
- 教师思维链由 DeepSeek `deepseek-v4-flash` 生成；依 DeepSeek 服务条款，API 输出归调用方所有。

## 许可

Apache-2.0
