LLM2D
预先训练数据的重写提高了数学和代码生成的LLM性能
Rewriting Pre-Training Data Boosts LLM Performance in Math and Code
作者: Kazuki Fujii, Yukito Tajima, Sakae Mizuki, Hinari Shimada, Taihei Shiotani, Koshiro Saito, Masanari Ohi, Masaki Kawamura, Taishi Nakamura, Takumi Okamoto, Shigeki Ishida, Kakeru Hattori, Youmi Ma, Hiroya Takamura, Rio Yokota, Naoaki Okazaki
发布日期: 5/13/2025
arXiv ID: oai:arXiv.org:2505.02881v2

摘要

arXiv:2505.02881v2 宣告类型: replace-cross 摘要:大型语言模型(LLMs)在程序合成和数学推理方面的性能从根本上受限于它们的预训练语料库质量。我们引入了两个开放许可的数据集,发布在Llama 3.3社区许可之下,通过系统地重写公共数据显著增强了LLM的性能。SwallowCode(大约161亿个令牌)通过一项新颖的四阶段流水线对The-Stack-v2的Python片段进行精细调整:语法验证、基于pylint的样式筛选,以及一个两阶段的LLM重写过程,该过程确保样式一致性并把片段转换为自包含且算法高效的示例。与依赖排除性筛选或有限转换的先前方法不同,我们的转换并保留方法升级了低质量代码,最大化了数据的可用性。SwallowMath(大约23亿个令牌)通过去除样板代码、恢复上下文并将解决方案格式化为简洁的按步骤解释来增强Finemath-4+。在固定500亿令牌的预训练预算内,持续对Llama-3.1-8B进行SwallowCode的预训练,使得HumanEval上的pass@1提高了+17.0,HumanEval+提高了+17.7,相比Stack-Edu,超过了基线模型的代码生成能力。同样,替换SwallowMath在GSM8K上提高了+12.4的准确率,在MATH上提高了+7.6。消融研究表明,每个流水线阶段的贡献是逐步增加的,重写带来了最大的收益。所有数据集、提示和检查点都是公开可用的,这使得可重现的研究成为可能,并推动了专门领域的LLM预训练。