Llama-3-SynE:实现有效且高效的大语言模型继续预训练

© 作者|陈杰‍‍‍

机构|中国人民大学

研究方向|自然语言处理、大语言模型

继续预训练是使语言模型适应特定领域或任务的一种重要方法。为了使继续预训练更具可追溯性,本研究展示了一份技术报告,通过继续预训练显著增强了 Llama-3(8B)的中文语言能力和科学推理能力。为了在增强新能力的同时保持原有能力,我们利用现有数据集并合成高质量数据集,设计了特定的数据混合和数据课程策略。我们将继续预训练后的模型命名为 Llama-3-SynE(Synthetic data Enhanced Llama-3)。

5ec0cfe58d5f7839713ad3dbd4f8fa2b.png

论文题目:Towards Effective and Efficient Continual Pre-training of Large Language Models

论文链接:https://arxiv.org/abs/2407.18743

GitHub链接:https://github.com/RUC-GSAI/Llama-3-SynE

引言

大语言模型(large language model,LLM)相关研究在推动人工智能发展方面取得了重大进展,但在特定场景中仍然存在知识缺口问题。例如,主要在英文语料上预训练的 Llama-3 在中文任务上的表现较差,作为通用模型,它在多学科科学知识上的表现也不足。为了解决这些问题,继续预训练(continual pre-training,CPT)是一种广泛使用的方法,通过在特定领域数据上进行 CPT,增强模型在新领域的能力。然而,CPT 过程中的一个技术难题是“灾难性遗忘”,即新能力得到增强但原有能力大幅下降。尽管现有工作广泛开展了 CPT,但在如何通过有限的训练预算提高模型的综合能力方面,关键的训练细节(如数据选择、混合和课程设计)尚未得到充分讨论。

为了使 CPT 更具可追溯性,本研究展示了一份技术报告,通过 CPT 显著增强了 Llama-3(8B)的中文语言能力科学推理能力。为了在增强新能力的同时保持原有能力,我们利用现有数据集并合成高质量数据集,设计了特定的数据混合和数据课程策略。我们将 CPT 后的模型命名为 Llama-3-SynESynthetic data Enhanced Llama-3)。此外,我们还进行了相对较小模型——TinyLlama 的调优实验,并将得出的结论用于对 Llama-3 的 CPT。我们在十几余项评估基准上多维度测试了Llama-3-SynE的性能,结果表明我们的方法在不损害原有能力的情况下,大大提高了Llama-3的性能,包括通用能力(C-Eval 提升了 8.81,CMMLU 提升了 6.31)和科学推理能力(MATH 提升了 12.00,SciEval 提升了 4.13)。我们的研究贡献如下:

  • 我们提出了对 Llama-3(8B)进行 CPT 的完整训练过程,包括数据选择、混合和课程设计。大量实验表明,我们的 CPT 方法是有效(在中文和科学基准测试上取得了巨大提升,同时不影响英文基准测试的性能)且高效(仅消耗约 100B token)的。

  • 我们广泛探索了数据合成技术,生成了高质量的科学和代码数据。我们证明了这些合成数据可以大幅提升 LLM 的相应能力。据我们所知,这是首个公开报告如何合成和利用大规模多学科科学数据进行 CPT 的工作。

  • 我们发布了用于 CPT 得到 Llama-3-SynE 的完整数据集,包括 98.5B token 的通用语料和 1.5B token 的专注于科学推理和代码任务的合成数据,我们还公开了模型和代码用于后续研究。我们的数据集十分有助于训练 LLM,这在我们针对代理模型 TinyLlama 的实验中得到了证明。

方法

本研究提出的基于 Llama-3 的 CPT 过程分为两个主要阶段:双语适应阶段合成增强阶段

  1. 双语适应阶段

  • 目标:提高 Llama-3 的中文能力,维持或提升原有能力。

  • 数据比例:将中文和英文语料的比例设置为 2:8。

  • 数据策略

    • 基于主题的数据混合:通过手动设定的主题分类标签,训练分类器对网页数据进行主题识别,动态调整各主题语料的比例,以保持模型在各主题上的综合能力。

    • 基于困惑度(Perplexity,PPL)的数据课程:根据模型在训练数据上的 PPL 分数,逐步增加训练数据的复杂性。

合成增强阶段

  • 目标:通过合成数据提高 Llama-3 的多学科科学推理能力,维持或提升代码能力。

  • 数据比例:将中文、英文和合成数据的数据比例调整为 1:7:2。

  • 数据合成

    • 科学问答数据:基于科学领域的网页内容,使用 LLM 生成相关的科学问答对。

    • 代码问答数据:利用现有的编程题库,生成新的编程问题及其答案。

对 CPT 过程的介绍详见论文。

实验与结果

我们首先在相对较小的模型 TinyLlama 上进行了广泛的探索性实验,验证了数据合成的有效性,并对合成数据的质量、数据比例及数据课程策略进行探索,同时对比了我们的合成数据与现有开源数据,对探索性实验的详细介绍请见论文。我们将实验得出的结论应用于对 Llama-3 的 CPT。实验结果表明,我们的方法在不损害原有能力的情况下,大大提高了基础模型的中文语言和科学推理能力。我们在十几余项常使用的主要基准测试和科学基准测试上对 Llama-3-SynE 进行了评估,结果如下图所示。

5883efa7a2ac4063c02fd0f84a859844.png 7516fc78277921afbc56839dbd7585c1.png

值得注意的是,在前期实验中,我们发现中文自适应的 CPT 模型很难在英语和代码等基准测试(例如 MMLU 和 MBPP)中保持原有的性能,这可能是预训练数据和 CPT 数据之间存在数据分布差异的原因,这也在我们对比的那些基线模型上得到体现。实验结果表明,我们的方法可以有效地平衡原有能力和新能力,这主要体现在以下两个方面。

  1. 主要基准测试

  • 中文评估基准(如 C-Eval 和 CMMLU)上,Llama-3-SynE 显著优于基础模型 Llama-3(8B),表明我们的方法在提高中文语言能力方面非常有效。

  • 英语评估基准(如 MMLU、MATH 和代码评估基准)上,Llama-3-SynE 表现出与基础模型相当或更好的性能,表明我们的方法有效解决了 CPT 过程中灾难性遗忘的问题。

科学基准测试

  • 科学评估基准(如 SciEval、GaoKao 和 ARC)上,Llama-3-SynE 的表现明显优于基础模型,尤其在中文科学基准上表现出显著提升(如 GaoKao 生物子榜提升了 25.71)。

总结

本研究提出了一种高效的 CPT 方法,通过精心设计的数据选择、混合和课程策略,显著提升了 Llama-3(8B)的中文语言能力和科学推理能力,同时保持其原有能力。实验结果验证了我们方法的有效性和高效性,为在有限训练预算下进行 CPT 提供了重要参考。

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)

0d5a7ebd1e2d379e2d2f1914f7d5f632.jpeg


4510492eb3a9a9c9af78dcd420ba4b7f.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值