Rewriting Pre-Training Data Boosts LLM Performance in Math and Code

该论文提出了两个基于开源许可的预训练数据集 SwallowCode 和 SwallowMath,通过创新的“转换并保留”(transform-and-retain)流水线对公共代码和数学数据进行系统性重写与优化,在固定训练预算下显著提升了 Llama 3.1 模型在代码生成和数学推理任务上的性能。

Kazuki Fujii, Yukito Tajima, Sakae Mizuki, Masaki Kawamura, Hinari Shimada, Taihei Shiotani, Koshiro Saito, Masanari Oi, Taishi Nakamura, Takumi Okamoto, Shigeki Ishida, Kakeru Hattori, Youmi Ma, Hiroya Takamura, Rio Yokota, Jun Sakuma, Naoaki Okazaki

发布于 2026-03-03
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文讲述了一个关于如何“变废为宝”的故事,主角是两位大语言模型(LLM)的“营养师”:一个叫 SwallowCode(专攻编程),一个叫 SwallowMath(专攻数学)。

想象一下,大语言模型就像一个正在长身体的超级天才学生。它的智力水平很大程度上取决于它小时候读了什么书(也就是“预训练数据”)。如果它读的都是乱码、错别字连篇或者逻辑混乱的“垃圾书”,那它就算再聪明,学出来的东西也是歪瓜裂枣。

以前的做法是:从图书馆里挑书,把那些明显有错的书直接扔进垃圾桶(过滤)。但这有个问题:很多书其实内容很好,只是排版乱了、标点错了,或者写得太啰嗦,直接扔掉太可惜。

这篇论文提出的新方法叫 “改写并保留”(Transform-and-Retain)。简单来说,就是不扔书,而是请一位超级编辑把书重新整理、润色,变成一本完美的教科书

1. 核心故事:两位“超级编辑”的诞生

SwallowCode:代码界的“精修大师”

  • 原材料:它从互联网上抓取了海量的 Python 代码(就像从旧货市场买了一堆旧衣服)。
  • 四步改造流程
    1. 剪掉破洞(语法检查):先把那些根本跑不通、全是语法的“烂代码”挑出来扔掉。
    2. 熨烫平整(风格检查):用自动化工具(Pylint)检查代码风格,把那些缩进混乱、变量名乱起的代码挑出来。
    3. 时尚改造(风格重写 SGCR):请一位 AI 编辑(Llama-3.3)给代码“整容”。它把变量名改得通俗易懂,加上注释,把函数拆得更清晰,就像把一件皱巴巴的 T 恤熨平,并配上时尚的标签。
    4. 注入灵魂(自包含优化 SCOR):这是最关键的一步。很多旧代码依赖外部文件,或者算法效率极低(比如用笨办法算数)。AI 编辑会把它们改造成**“独立完整”**的小程序,自动解决依赖问题,并把低效的算法换成高效的,就像把一辆破自行车改装成了高性能赛车。
  • 成果:经过这套流程,原本杂乱无章的代码变成了约 161 亿个高质量的“代码精华”。

SwallowMath:数学界的“解题导师”

  • 原材料:从网上收集了各种数学题和解答(就像收集了一堆学生作业,有的字迹潦草,有的步骤跳跃)。
  • 三步改造流程
    1. 去噪:把题目周围的广告、网页页脚、无关的日期时间统统删掉。
    2. 补全:如果题目缺了条件,或者解答跳步了,AI 编辑会把它补全,让逻辑连贯。
    3. 重写:把原本啰嗦或混乱的解题过程,改写成**“一步步清晰易懂”**的教程,就像把一位数学老师口述的解题思路,整理成一本完美的辅导书。
  • 成果:生成了约 23 亿个高质量的数学题解。

2. 实验结果:吃了“补品”的学生变强了

研究人员用这些经过“精修”的数据,去训练一个中等规模的模型(Llama-3.1-8B),并设定了严格的“考试预算”(只允许看 500 亿个字的书)。

  • 编程考试(HumanEval)

    • 以前用普通数据(Stack-Edu)训练,模型答对率是基准线。
    • 用了 SwallowCode 后,模型答对率暴涨了 17%!这相当于一个普通学生突然变成了奥数金牌得主。
    • 比喻:就像给厨师换了一箱顶级食材,他做出来的菜(生成的代码)瞬间从“能吃的家常菜”变成了“米其林三星大餐”。
  • 数学考试(GSM8K & MATH)

    • 用了 SwallowMath 后,模型在数学题上的准确率也提升了 12.4%
    • 比喻:就像把一本写满乱码的数学笔记,变成了一本逻辑严密、步骤清晰的《五年高考三年模拟》,学生一看就懂,一做就对。

3. 为什么这个方法这么厉害?

以前的方法像**“淘金”**:在沙子里筛,把沙子扔掉,只留下金子。但很多时候,沙子里其实混着很多“镀金”的石头,直接扔掉太浪费。

这篇论文的方法是**“炼金术”**:

  • 不抛弃:即使是看起来质量一般的代码或题目,也不直接扔掉。
  • 深加工:利用强大的 AI 模型,把“次品”改造成“精品”。
  • 效率更高:在同样的学习时间(Token 预算)下,吃“精修后的营养餐”比吃“原始的大杂烩”长身体快得多。

4. 总结与启示

这篇论文告诉我们,数据的质量比数量更重要,而“清洗”数据的方式可以不仅仅是“删减”,更可以是“重塑”

  • 开源精神:作者把这套“精修工厂”的图纸(代码)、原材料(数据集)和成品(模型)全部公开了。这意味着任何人都可以拿着这些“顶级教材”去训练自己的 AI,或者学习如何把烂数据变成好数据。
  • 未来展望:这就像给 AI 社区提供了一套通用的“教材编写指南”。以后我们不需要再花巨资去挖掘新的数据,而是可以把现有的公开数据通过这套方法“点石成金”,让 AI 变得更聪明、更可靠。

一句话总结
这篇论文教我们,与其在垃圾堆里找金子,不如请一位超级编辑,把普通的石头打磨成闪闪发光的宝石,让 AI 吃得更好,学得更快。

在收件箱中获取类似论文

根据您的兴趣定制的每日或每周摘要。Gist或技术摘要,使用您的语言。

试用 Digest →