中文

编程每个示例:以专家水平提升预训练数据质量

计算与语言 2025-02-17 v2 人工智能 机器学习

摘要

大型语言模型预训练传统上依赖人类专家构建规则以提升语料库质量,迄今为止已developed诸多规则。然而,这些规则缺乏灵活性,无法有效应对单个样本的独特特征。同时,将针对性规则灵活加用于每个样本对人类专家而言不可行。本文展示,即使是规模仅为0.3B参数的小型语言模型,�可展现出相当于人类专家的显著数据精炼能力。我们引入编程每个示例(ProX)框架,将数据精炼视为编程任务,使模型能够通过生成并执行细粒度操作(如字符串规范化)来对每个样本进行规模化精炼。实验结果表明,基于ProX精炼后的数据在各种下游基准测试中,相较于原始数据或其他选择方法筛选的数据,性能提升超过2%。其有效性适用于各种模型规模和预训练语料库,包括C4、RedPajama-V2、FineWeb、FineWeb-Edu和DCLM。此外,ProX在特定领域持续预训练中展现出巨大潜力:无需特定领域设计,训练于ProX精炼后的OpenWebMath数据的模型,在Mistral-7B上实现平均准确率提升7.6%,Llama-2-7B提升14.6%,CodeLlama-7B提升20.3%,仅用100亿token即可达到类似在2000亿token上训练的Llemma-7B的性能。进一步分析表明,ProX显著节省训练FLOPs,为高效LLM预训练提供了可行路径。我们开源ProX及其超过5000亿语料、模型,并公开所有训练和实现细节,以便可重复的研究和未来创新。代码:https://github.com/GAIR-NLP/ProX

关键词

引用

@article{arxiv.2409.17115,
  title  = {Programming Every Example: Lifting Pre-training Data Quality Like Experts at Scale},
  author = {Fan Zhou and Zengzhi Wang and Qian Liu and Junlong Li and Pengfei Liu},
  journal= {arXiv preprint arXiv:2409.17115},
  year   = {2025}
}

备注

47 pages, 13 figures, 34 tables