前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >澜舟科技新突破:大模型实现“持续学习”,应用成本大幅降低

澜舟科技新突破:大模型实现“持续学习”,应用成本大幅降低

原创
作者头像
澜舟科技
发布2024-10-17 17:31:53
1440
发布2024-10-17 17:31:53

研究背景

近年来,随着计算能力和规模的持续增强,大语言模型(LLMs)的性能得到了显著提升。这些模型通过海量数据的预训练,能够成功捕捉到语言的复杂结构和深层语义信息,从而在多种语言任务上取得突破性的成绩。在这个过程中,Scaling Law发挥了至关重要的作用,它帮助研究者理解了模型规模、数据量以及模型性能之间的内在联系,为模型的优化和资源的高效分配提供了理论指导。

然而,从头训练大语言模型往往需要消耗巨大的计算资源。面对日新月异的世界知识和广泛多样的应用场景,如何让大语言模型(LLMs)持续学习新知识以降低应用成本,已成为一个亟待解决且尚未被充分探索的问题。针对这一难题,澜舟科技大模型团队深入研究了持续预训练(Continual Pre-Training,简称CPT)场景下LLMs scaling的特性,并提出了适用于持续训练场景下的Scaling Law。此外,团队还就如何解决持续学习过程中的灾难性遗忘、如何量化知识迁移的规模以及如何选择合理的知识迁移顺序等关键问题进行了探索。

本次研究的相关工作已经作为长文被EMNLP 2024 Main Conference录取,完整论文详情可点击:https://arxiv.org/pdf/2407.02118

研究方法

实验设置

我们将不同的语言视为独立的知识领域,引导大语言模型依次学习英语、汉语、法语、德语、俄语等多种语言。以英语和汉语为例,我们首先让模型在英语语料上进行充分训练,随后转移到汉语预料上继续学习。在此基础上,我们训练了一系列包含40个不同大小(从50M到5B)的模型,并观察这些模型在新知识学习速度、收敛效果以及对旧知识的遗忘程度等方面的表现。所有模型均采用Decoder-Only Transformer架构,并使用了RMSNorm,MQA,ROPE等结构改进。

我们的训练数据由开源数据构成,包括RedPajama、Common Crawl等,经过精心设计的处理流程:

  • 首先,通过结合基于规则和模型的双重过滤机制,确保数据质量;
  • 其次,实施语言与来源的双重筛选,精确定位所需信息;
  • 最后,采用基于基于min-hash做篇章级去重,以及基于embedding做句子级去重,有效消除冗余。

在此基础上,我们使用BPE算法在经过构建的语料上训练tokenizer。

为了保证模型能够充分训练,我们参考Chinchilla(Hoffmann et al., 2022)的策略,为每个模型分配相当于其参数规模20倍的训练数据量。在训练过程中,我们使用deepspeed进行分布式训练,并部署了200张A100进行实验,以加速训练过程并提升模型性能。

实验结果

图1:实验结果汇总

图1实验结果:左图汇总了整体实验结果,其中,红色曲线表示从随机初始化学习汉语的loss变化,蓝色曲线表示相同大小的模型经过英语学习后,继续学习汉语的loss变化,右图放大了一个大小为2B的模型的学习情况。

从图中我们可以观察到,不论是从头开始训练,还是基于已有模型继续训练,模型效果(Validation Loss)、计算资源消耗(FLOPS)及模型大小之间均呈现出幂律(Power Law)的关系。其中,继续训练的模型(蓝色曲线,简称CPT model)在收敛速度上要显著优于不包含任何知识基础的同尺寸模型,其能在训练初始阶段,可以更快地收敛到相同的loss。

如图1(右)所示,CPT model仅需要10%的计算资源就可以达到从零开始的模型效果,即便是在整体训练接近完成时,CPT model也仅需要50%的计算就能达到从零训练相同的模型效果。这也就说明,大模型在具备一定的知识基础后,学习新技能的速度和效果都会变得更好。

CPT Scaling Law

为了更加科学地指导大语言模型(LLMs)进行持续学习,我们研究了CPT场景下的Scaling Law,我们从图1观察到CPT模型的scaling曲线同从零开始预训练(Pre-training from Scratch)类似,并且两者之间存在着一个同模型大小N相关的差异值,因此,我们提出拓展Chinchilla(Hoffmann et al., 2022)中的原始Scaling Law,用于刻画持续学习场景下的Model Scaling:

其中,N表示模型大小,D表示训练数据量(token数),E,A,B等都是学习的参数,相比原始Scaling Law,我们引入了知识迁移项 N^\lambda,用于刻画模型在持续学习过程中的知识迁移量,这一知识迁移项同模型大小有关,也就是说,越大的模型,所能迁移的知识量(token数)就越高。

为了学习参数E、A、B等,我们采用最小化预测loss和观测loss之间的Huber loss方法。首先,我们使用原始Scaling Law公式拟合从零训练的的参数,并将这些学习到的参数作为初始化值。随后,我们基于这些初始化值,进一步学习CPT Scaling Law中的新参数。我们使用Optuna库进行超参数搜索,并使用L-BFGS算法进行局部最优搜索,以找到最佳的超参数,最终学习到的参数如下:

表1:CPT scaling law参数

相较于原始Scaling Law,在继续训练场景中,模型对先前学习内容的敏感度和重视程度显著增加。这也说明,大语言模型(LLMs)在持续学习中展现出的潜力,一旦其应用场景业务和数据反馈形成闭环,通过多次循环迭代,模型就可以得到更进一步的提升。

灾难性遗忘

在持续学习场景中,灾难性遗忘是另一个不容忽视的问题。为了缓解这一问题,常见的解决方案是通过回放(replaying)一部分训练数据来达到缓解灾难性遗忘。我们以一个1.4B大小的模型为例,研究了回放数据规模(token数)和模型效果之间的关系,如下图2所示:

图2:LLMs的遗忘问题和数据回放的影响。

在图2(左)中,红色曲线展示了模型在初始阶段学习英语时的loss变化情况,图2(右)蓝色曲线则反映了模型在学习完英语后继续学习汉语的loss变化情况。为了探究在继续学习汉语过程中,不同比例的英语数据回放对模型效果的影响,我们观察了模型在学习汉语后,在英文数据上的validation loss(左图中的蓝色曲线,作为衡量遗忘程度的指标)。

我们发现,在没有任何回放的情况下,大语言模型(LLMs)虽然能在汉语上很快收敛,但是会很快遗忘所学习到的英文知识。然后。通过加大回放数据的比例,可以显著改善模型对于英文数据的遗忘问题。并且,随着足够多的训练,不同的回放比例都可以在新知识(汉语)上达到相似的收敛效果。此外,不论回放比例如何,模型在持续学习过程中都需要经历对原始知识的遗忘和加深记忆的过程(如左图蓝色曲线所示),这也就说明大语言模型(LLMs)需要首先打破对过去知识的固有记忆,然后将新知识和老知识融会贯通,找到一个新的途径来理解(压缩)这些信息。

CPT中的知识迁移

图3:CPT中的知识和算力迁移

通过将CPT Scaling Law与原始Scaling Law进行相减,我们就可以清楚了解在持续学习过程中算力(FLOPS)的复用情况以及知识的迁移规模(token数),结果如图3(左)所示。我们发现,持续学习策略可以节省25%-50%的计算资源,特别是在资源受限的场景下,采用这种策略可以大大降低大语言模型(LLMs)的开发成本。

图3(右)展示了知识迁移情况,我们发现,对于不同尺寸的模型来说,原始知识学习的越牢固(见过的数据越多),所能迁移的知识量就越多,两者基本上具备线性关系;同时,模型尺寸越大,其天然具备的知识迁移能力越强。

图4:不同知识对迁移效果的影响。

此外,在持续学习过程中,知识之间的关联性也扮演着重要的角色。图4展现了一个1.4B的模型,在学习英文后,继续在法语、俄语和汉语上训练的效果变化。我们发现,虽然继续训练总能提升模型在目标领域上的效果,但是新知识同旧知识的关联程度对模型效果提升有显著影响,具体而言,新旧知识关联性越强,模型效果的提升幅度越大。

总结

在这篇论文中,我们深入探索了大语言模型的持续预训练(CPT)问题,系统分析了其基本原理、影响因素和最佳实践。通过对不同规模、语言分布和训练条件的多个大型语言模型(LLMs)进行训练,我们成功推导出了CPT的Scaling Law。研究结果显示,CPT能够显著提升训练效率,实现更快地达到更低损失的目标,同时节省了25%到50%的训练资源。此外,我们还深入探讨了知识迁移量、算力迁移量、解决灾难性遗忘问题的解决方案,以及新旧知识关联性对CPT的效果影响。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 研究背景
  • 研究方法
    • 实验设置
      • 实验结果
        • CPT Scaling Law
          • 灾难性遗忘
            • CPT中的知识迁移
            • 总结
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档