论文题目: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-SynE(Synthetic 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 过程分为两个主要阶段:双语适应阶段和合成增强阶段。
- 双语适应阶段:
-
- 目标:提高 Llama-3 的中文能力,维持或提升原有能力。
- 数据比例:将中文和英文语料的比例设置为 2:8。
- 数据策略:
-
- 基于主题的数据混合:通过手动设定的主题分类标签,训练分类器对网页数据进行主题识别,动态调整各主题语料的比例,以保持模型在各主题上的综合能力。
- 基于困惑度(Perplexity,PPL)的数据课程:根据模型在训练数据上的 PPL 分数,逐步增加训练数据的复杂性。
- 合成增强阶段:
-
- 目标:通过合成数据提高 Llama-3 的多学科科学推理能力,维持或提升代码能力。
- 数据比例:将中文、英文和合成数据的数据比例调整为 1:7:2。
- 数据合成:
-
- 科学问答数据:基于科学领域的网页内容,使用 LLM 生成相关的科学问答对。
- 代码问答数据:利用现有的编程题库,生成新的编程问题及其答案。
对 CPT 过程的介绍详见论文。
实验与结果
我们首先在相对较小的模型 TinyLlama 上进行了广泛的探索性实验**,验证了数据合成的有效性,并对合成数据的质量、数据比例及数据课程策略进行探索,同时对比了我们的合成数据与现有开源数据,对探索性实验的详细介绍请见论文。我们将实验得出的结论应用于对 Llama-3 的 CPT。实验结果表明,我们的方法在不损害原有能力的情况下,大大提高了基础模型的中文语言和科学推理能力。我们在十几余项常使用的主要基准测试和科学基准测试上对 Llama-3-SynE 进行了评估,结果如下图所示。
值得注意的是,在前期实验中,我们发现中文自适应的 CPT 模型很难在英语和代码等基准测试(例如 MMLU 和 MBPP)中保持原有的性能,这可能是预训练数据和 CPT 数据之间存在数据分布差异的原因,这也在我们对比的那些基线模型上得到体现。实验结果表明,我们的方法可以有效地平衡原有能力和新能力,这主要体现在以下两个方面。
- 主要基准测试:
-
- 在中文评估基准(如 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 提供了重要参考。
如何系统的去学习大模型LLM ?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业
?”“谁的饭碗又将不保了?
”等问题热议不断。
事实上,抢你饭碗的不是AI,而是会利用AI的人。
继科大讯飞、阿里、华为
等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?
与其焦虑……
不如成为「掌握AI工具的技术人
」,毕竟AI时代,谁先尝试,谁就能占得先机!
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
一、LLM大模型经典书籍
AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。
二、640套LLM大模型报告合集
这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
三、LLM大模型系列视频教程
四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)
LLM大模型学习路线 ↓
阶段1:AI大模型时代的基础理解
-
目标:了解AI大模型的基本概念、发展历程和核心原理。
-
内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践
- L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
-
目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
-
内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例
- L2.2 Prompt框架
- L2.3 流水线工程
- L2.4 总结与展望
阶段3:AI大模型应用架构实践
-
目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
-
内容:
- L3.1 Agent模型框架
- L3.2 MetaGPT
- L3.3 ChatGLM
- L3.4 LLAMA
- L3.5 其他大模型介绍
阶段4:AI大模型私有化部署
-
目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
-
内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
这份 LLM大模型资料
包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓