- 人工智能
- 大模型
- 预训练
- 深度学习
- NLP
- 计算机视觉
- 多模态
- 语音
【免费下载链接】unilm
Large-scale Self-supervised Pre-training Across Tasks, Languages, and Modalities
导读
本文聚焦 ReSA(Rectified Sparse Attention) 项目中minerva_math评测数据集的来源、数据结构与消费方式。该数据集位于 ReSA/math_data/minerva_math/,其 README 明确指出数据源自 MIT OpenCourseWare,并引用了 Minerva 论文《Solving Quantitative Reasoning Problems with Language Models》。阅读本文后,你将掌握该数据集的字段格式、课程构成、在 ReSA 数学评测体系中的定位,以及从数据加载、Prompt 构造到答案抽取与准确率统计的完整调用链。
Minerva 数据集的来源:MIT OpenCourseWare 与定量推理评测
ReSA/math_data/minerva_math/README.md 的全文只有两行,但信息量并不小:
MIT OpenCourseWare: - Solving Quantitative Reasoning Problems with Language Models. https://openreview.net/forum?id=IFXTZERXdM7它点明了两件事:
- 数据出处:
minerva_math的题目来自 MIT OpenCourseWare(MIT OCW),即麻省理工学院公开课程中真实布置的作业题与考题; - 评测范式出处:评测方式沿用《Solving Quantitative Reasoning Problems with Language Models》(即 Google 的 Minerva 论文,发布于 OpenReview)中提出的定量推理评测设定——要求模型面对大学水平的数学、物理、化学、经济等学科题目,输出带有
\boxed{}标记的最终答案。
因此,minerva_math在本仓库中是一份大学级跨学科定量推理(quantitative reasoning)基准,与 Gaokao2023En、OlympiadBench、AIME24、AMC23 等一起构成 ReSA 的长上下文数学推理评测矩阵。这一点可以从 ReSA/llm/eval_math.py 的默认评测列表得到印证:
data_names = "minerva_math,gaokao2023en,olympiadbench,aime24,amc23" # data_names = "gsm8k,math,svamp,asdiv,mawps,carp_en,tabmwp,minerva_math,gaokao2023en,olympiadbench,college_math,aime24,amc23"在 ReSA/README.md 的数学推理任务性能对比表中,Minerva 列与 Gaokao2023En、OlympiadBench、AIME24、AMC23 并列,且在 R1-Qwen-Distill 1.5B / 7B 两个规模下均统计了 Dense、Sparse、ReSA 三种解码方式下的准确率与平均生成长度(1.5B 下 Avg Length 6390.8,7B 下 4018.7),是检验 ReSA 在超长推理链场景下保持近无损质量的关键数据集之一。
数据文件与字段结构:test.jsonl 逐行剖析
minerva_math目录下除 README 外只有一个数据文件:ReSA/math_data/minerva_math/test.jsonl,共 272 行(每条 JSON 一行)。每一行包含 4 个字段:
| 字段 | 类型 | 说明 |
|---|---|---|
problem | str | 题目文本,通常内嵌 LaTeX 公式(如$6.5 \mathrm{~m}$) |
solution | str | 官方参考答案,以 LaTeX 撰写,最终答案用\boxed{...}包裹 |
type | str | 题目来源课程,如Introduction to Astronomy (8.282J Spring 2006) |
idx | int | 样例编号,从 0 开始且与行序一致(已排序) |
以下面这条真实样例(idx=0)为例:
{"problem": "Each of the two Magellan telescopes has a diameter of $6.5 \\mathrm{~m}$. In one configuration the effective focal length is $72 \\mathrm{~m}$. Find the diameter of the image of a planet (in $\\mathrm{cm}$ ) at this focus if the angular diameter of the planet at the time of the observation is $45^{\\prime \\prime}$.", "solution": "Start with:\n\\[\ns=\\alpha f \\text {, }\n\\]\nwhere $s$ is the diameter of the image, $f$ the focal length, and $\\alpha$ the angular diameter of the planet. For the values given in the problem:\n\\[\ns=\\frac{45}{3600} \\frac{\\pi}{180} 7200=\\boxed{1.6} \\mathrm{~cm}\n\\]", "type": "Introduction to Astronomy (8.282J Spring 2006)", "idx": 0}课程分布
统计整个文件可得 272 条数据覆盖 9 门 MIT 课程(数字为条数):
- Introduction to Solid State Chemistry (3.091 Fall 2010):97
- Introduction to Astronomy (8.282J Spring 2006):53
- Differential Equations (18.03 Spring 2010):48
- Dynamics and Control (2.003 Spring 2005):26
- Principles of Microeconomics (14.01 Fall 2011):18
- Relativity (8.033 Fall 2006):11
- Physical Chemistry (5.61 Fall 2017):11
- Ecology I (1.018J Fall 2009):5
- Information and Entropy (6.050J Spring 2008):3
从样本内容看,这些题目涵盖天文(望远镜分辨率、视差、星等、多普勒红移)、物理(玻尔模型、斯涅尔定律、流体静力学平衡)、微分方程、微观经济学、信息熵等学科,数学符号密度高、推导链条长,且不少题目包含 "Preamble/Subproblem" 多步结构,天然适合检验模型在长序列生成 + 数学推导条件下的推理质量。
答案格式特点
272 条solution全部包含\boxed{...}包裹的最终答案,个别条目还带The final answer is ... I hope it is correct.的表述(如 idx=5 中的\boxed{np.arcsin(10/13)})。这一格式约定直接影响评测代码的答案抽取逻辑(见下文),也是 Minerva 论文所定义的"答案必须放入 boxed"范式的直接体现。
评测管线:minerva_math 如何被 ReSA 消费
1. 数据加载与对齐
评测入口 ReSA/llm/eval_math.py 通过load_data(data_name, 'test', '../math_data')读取ReSA/math_data/{data_name}/test.jsonl,并做两件事:
- 若首条样例缺少
idx字段,则按行序补写idx; - 按
idx排序去重。
随后prepare_data按--limit截取样本(本地脚本默认 512),并将输出文件命名为{checkpoint_dir 的 basename}_{save_feature}.jsonl,例如DeepSeek-R1-Distill-Qwen-1.5B_resa_0.1_32_local.jsonl,存放在{output_folder}/{data_name}/下。
2. 题目解析与 Ground Truth 抽取
ReSA/llm/utils/math_utils.py 的parse_question对minerva_math走通用分支:按question → problem → Question → input的优先级取出题干文本。
Ground Truth 的抽取在 ReSA/llm/utils/math_utils.py 的parse_ground_truth中完成,minerva_math与math走同一分支:
if data_name in ["math", "minerva_math"]: gt_cot = example["solution"] gt_ans = extract_answer(gt_cot, data_name)即把solution字段作为官方 CoT(gt_cot),并调用extract_answer从其中提取\boxed{}内的答案作为标准答案(gt)。
3. Prompt 构造:R1 模板与 few-shot 示例
ReSA/llm/utils/math_utils.py 的construct_prompt依据args.prompt_type选择模板。由于 ReSA/llm/eval_math.py 检测到 DeepSeek-R1-Distill 检查点时会强制prompt_type = 'r1',实际生效的是 ReSA/llm/utils/math_utils.py 中的模板:
"r1": ( "Please reason step by step, and put your final answer within \\boxed{{}}. {input}\n\n<think>\n", "{output}", "\n\n", ),当num_shots > 0时,load_prompt会从 ReSA/llm/utils/math_utils.py 定义的examples["minerva_math"]中取前 N 条官方示例拼入 prompt(默认num_shots = 0,即 zero-shot 直答)。
4. 模型生成与 ReSA 稀疏解码接入
生成阶段 ReSA/llm/eval_math.py 先调用create_kv_cache(来自 ReSA/llm/arch/model.py)创建 KV 缓存,再通过model._model_generate执行生成,并把 ReSA 的两个核心参数传入生成过程:
--resa_rec_freq(整流频率):每隔多少步做一次 dense forward 刷新 KV cache;--resa_sparse_ratio(稀疏比例):block-sparse 注意力保留的 KV 比例。
这是 ReSA 论文方法(block-sparse 注意力 + 周期性 dense 整流)在数学评测上的实际落地参数。
5. 答案抽取与归一化:处理 boxed 与特殊格式
模型输出在 ReSA/llm/utils/math_utils.py 的extract_answer中按优先级抽取答案,其中针对 Minerva 风格的专门处理包括:
- 命中
"final answer is $...$. I hope"模式时,截取$...$内的内容(ReSA/llm/utils/math_utils.py); - 命中
boxed时,用栈匹配取出\boxed{...}花括号内的内容; - 兜底策略:取文本中最后一个数字。
抽取结果随后交给strip_string做 LaTeX 字符串归一化。值得注意的是,ReSA/llm/utils/math_utils.py 中STRIP_EXCEPTIONS = ["carp_en", "minerva_math"],即minerva_math在归一化时跳过单位(unit)剥离——因为天文/物理类答案本身携带单位语义(如cm、ergs/s),不能当作噪声删除。同时math_equal支持数值等值(含容差is_close)与符号表达式等值(通过 sympy/latex2sympy 体系)两种判定路径,保证1.6与\frac{45}{3600}\frac{\pi}{180}7200这类等价答案能正确判对。
实战:在本地复现 Minerva 数据集的 ReSA 评测
步骤 1:准备预训练模型
参考 ReSA/README.md 的指引,用 huggingface-cli 下载模型到本地目录:
huggingface-cli download deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B \ --local-dir /path/to/pretrained/ \ --local-dir-use-symlinks False步骤 2:运行数学评测
ReSA/scripts/local_eval_math.sh 提供了开箱即用的评测脚本,其中已包含 minerva_math 所需的全部参数:
export TORCH_IND_SYM_NODE_NO_SYMPY=1 cd llm/ torchrun --nproc_per_node=1 --nnodes=1 --master_port=29388 eval.py \ --limit 512 --batch_size 4 \ --checkpoint_dir /path/to/DeepSeek-R1-Distill-Qwen-1.5B --downstream_task math \ --save_feature resa_0.1_32 \ --output_folder /path/to/result/ \ --resa_rec_freq 32 \ --resa_sparse_ratio 0.1需要替换的参数:
--checkpoint_dir:改为实际预训练模型路径;--output_folder:改为结果保存目录;--save_feature:本次实验的配置标识,会拼入输出文件名(如..._resa_0.1_32_local.jsonl);--resa_rec_freq/--resa_sparse_ratio:ReSA 整流频率与稀疏比例,可按需调整。
脚本执行后会在{output_folder}/minerva_math/下生成按 idx 命名的结果文件。评测过程中 ReSA/llm/eval_math.py 会以save_freq=128为粒度分批生成并增量落盘,中断后可自动续跑(跳过已完成的 idx)。由于minerva_math的 R1 生成长度设为 16384,且 ReSA/llm/eval_math.py 将max_seq_len上限设为 32768,这正好覆盖了 ReSA README 表格中观测到的 6390.8 平均生成长度,也解释了为什么该数据集适合检验 ReSA 在超长解码场景下的近无损能力。
步骤 3:收集并统计结果
先安装评测依赖:
bash scripts/setup_math_eval.sh然后运行结果收集脚本 ReSA/scripts/math_eval_result.sh:
bash scripts/math_eval_result.sh /path/to/output/ file_name其中file_name为结果文件名(不含目录),例如DeepSeek-R1-Distill-Qwen-1.5B_resa_0.1_32_local.jsonl。脚本内部对minerva_math等任务逐个调用 ReSA/scripts/math_eval_result_length.py,该脚本会:
- 用
LlamaTokenizerFast统计每条回答的 token 长度; - 以 2048 为阈值分别统计短/长回答的准确率与条数;
- 调用 ReSA/scripts/math_utils.py 中的
evaluate对每条样本计算 acc; - 输出各任务总 acc、阈值分段 acc 与平均长度,便于与 ReSA README 中 Dense/Sparse/ReSA 三列进行对比。
至此,"数据 → 生成 → 抽取 → 统计" 的闭环全部打通,你可以用同一套流程复现 ReSA 论文中 Minerva 一列的数值,或在调整--resa_rec_freq、--resa_sparse_ratio后对比 ReSA 配置对大学级定量推理准确率的影响。
小结
minerva_math是 ReSA 数学评测矩阵中唯一以 MIT OpenCourseWare 真实考题为来源的跨学科大学级数据集,其 272 条样本覆盖 9 门课程、全部携带\boxed{}答案标记,并通过 ReSA/llm/eval_math.py 与 ReSA/llm/utils/math_utils.py 中的解析、prompt 构造、答案抽取与归一化逻辑无缝接入 ReSA 稀疏解码评测。理解这份数据集的字段约定与消费路径,是复现 ReSA 数学推理实验、进一步调优整流频率与稀疏比例的基础。
- 人工智能
- 大模型
- 预训练
- 深度学习
- NLP
- 计算机视觉
- 多模态
- 语音
【免费下载链接】unilm
Large-scale Self-supervised Pre-training Across Tasks, Languages, and Modalities
相关推荐
OptiScaler 实战指南:DLSS、FSR、XeSS 自由切换的完整教程
OptiScaler 实战指南:DLSS、FSR、XeSS 自由切换的完整教程 OptiScaler 是一款免费开源的图形增强工具。它挂进游戏进程,把游戏内部的
图形学游戏开发lm-evaluation-harness 中的 AfriMGSM:非洲语言数学推理基准的完整评测指南
lm evaluation harness 中的 AfriMGSM:非洲语言数学推理基准的完整评测指南 导读 AfriMGSM 是 IrokoBench 基准套
人工智能模型评测AI 评测Ultravox评测基准:自定义数据集测试方法
Ultravox评测基准:自定义数据集测试方法 Ultravox作为语音AI领域的创新工具,其评测体系直接影响模型迭代效率。本文将系统讲解如何使用自定义数据集测
人工智能大模型语音音频多模态预训练模型评测
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考