继续预训练对大语言模型的影响

news2024/11/18 8:17:38

翻译自文章:Investigating Continual Pretraining in Large Language Models: Insights and Implications

摘要

本文研究了大型语言模型(LLMs)中不断学习(CL)的不断发展领域,重点是制定有效和可持续的训练策略。我们主要关注持续领域自适应预训练,这是一个旨在使LLMs能够整合来自各个领域的新信息,同时保留先前学到的知识并增强跨领域知识转移的能力,而无需依赖于特定领域的识别过程。与以往主要集中于有限的任务或领域并主要旨在解决遗忘问题的研究不同,我们的研究评估了LLMs在实际场景中适应不断变化的数据环境的能力和特点。为此,我们引入了一个旨在衡量LLMs对这些不断演变的数据环境的适应能力的新基准,提供了全面的评估框架。我们检验了模型大小对学习效果和遗忘的影响,以及新兴领域的进展和相似性对模型内知识转移的影响。我们的研究揭示了几个关键见解:(i)当领域序列显示语义相似性时,持续预训练使LLMs能够与基于单一微调相比更好地专注于当前领域,(ii)跨多个领域的训练增强了向后和向前的知识转移,(iii)较小的模型特别敏感于持续预训练,表现出最显著的遗忘和学习速度。我们认为,我们的研究标志着在LLMs中研究CL建立更为现实的评估基准的转变,并有潜力在引导未来研究方向方面发挥关键作用。

Introduction

自然语言处理(NLP)领域的最新进展受到大型语言模型(LLMs)的发展的显着影响 (Devlin et al.,2018; Radford et al., 2019; Brown et al., 2020)。这些模型在来自不同领域的大规模语料库上进行训练,已经成为许多NLP任务的通用工具。然而,LLMs的规模和复杂性的增加引发了人们对训练它们所带来的经济和生态成本的担忧,这一点在最近的研究中得到了强调 (Luccioni et al., 2022)。这种情况迫使我们需要比每次有新数据流进来就重新训练这些模型更有效的方法。在这种情况下,持续学习(CL)成为了一个关键策略 (Sun et al., 2019; Biesialska et al., 2020),可以减少经济和环境成本,同时保持模型的相关性。特别是通过诸如持续微调等策略,这涉及对LLM逐步进行一系列下游任务的微调 (Wu etal., 2021; Ramasesh et al., 2021; Scialom et al., 2022; Mehta et al., 2023)和持续领域自适应预训练等策略,专注于增量更新以使LLM适应新领域 (Xu et al., 2019; Gururangan et al., 2020; Ke et al., 2023b),避免了在有新数据到来时需要进行透彻的重新训练。在本文中,我们深入研究了CL框架中的领域自适应的挑战,重点关注了LLMs的持续领域自适应预训练。这个过程涉及使用大规模、未标记的领域特定语料库进行持续训练 (Xu et al., 2019; Gururanganet al., 2020; Ke et al., 2023b)。鉴于数据的动态性和新领域的出现,持续领域自适应预训练似乎是一个比从头开始训练更计算和环境友好的替代选择,同时也允许利用预训练网络。持续领域自适应的两个愿景是(i)在不发生灾难性遗忘(CF)的情况下实现跨领域的知识转移 (French, 1999),(ii)在不需要为每个任务明确标识领域的情况下有效运行。
最近针对LLMs的CL方面的进展探索了各种方法,包括参数高效自适应 (Gururangan et al., 2021; Khanet al., 2022; Zhang et al., 2022)和指导微调 (Scialom et al., 2022; Razdaibiedina et al., 2023; Luo et al.,2023b)。这些方法的主要目标是减轻在下游任务微调LLMs时的遗忘,i.e.,并没有强调预训练。我们的研究与Gururangan et al. (2020)的工作最相关,他们评估了RoBERTa (Liu et al., 2019)模型在持续预训练跨四个领域时的转移能力。最近,Cossu et al. (2022)展示了在五个下游任务上测试持续预训练的RoBERTa和BERT (Devlin et al., 2018)模型的稳健性。同样,Ke et al. (2023a)介绍了RoBERTa的持续预训练方法,并在六个下游任务上进行了测试。然而,这些研究还不足以得出持续预训练是否减轻遗忘或促进长期训练时的适应的结论,该领域仍然缺乏对各种规模和体系结构的LLMs在大规模和更现实的环境中的全面评估。
我们的工作试图填补这一空白,通过在不同领域上进行预训练LLMs并在整个预训练过程中评估其语言建模性能,使我们的研究脱离了先前狭窄领域关注的研究(Cossu et al., 2022; Wang et al., 2023; Keet al., 2023b)。我们利用了大规模多领域数据集(M2D2) Reid et al. (2022),其中包含来自维基百科和Semantic Scholar等来源的236个层次化组织的领域。该数据集为在各种LLMs上研究CL提供了一个理想的环境,促进了对遗忘和知识传递的深入分析。我们的研究不仅突出了LLMs的适应能力,还为未来的领域自适应和CL方法研究奠定了基础。我们的主要贡献在于评估预训练LLMs在广泛的持续学习环境中的能力,重点关注模型规模和架构(编码器-解码器与仅解码器)对其学习新任务和保留先前学习信息的能力的影响。我们还研究了领域相似性及出现领域顺序对知识转移和整体CL性能的影响。我们的发现揭示了几个关键的见解:(i) 在100个以上语义有序的域上持续预训练模型优于在每个域上单独微调,(ii) 结合多样化的训练领域可以在长期CL视野内实现积极的向和反向转移,(iii) CL的后期阶段更容易遗忘,(iv) 持续预训练增强了下游性能。

Methodology

在本部分中,我们将描述我们的训练过程,概述用于模型持续预训练和评估的任务(领域),并解释评估流程。
在这里插入图片描述
每个M2D2数据集中的领域都被分割成训练、验证和测试集,并且没有数据泄露,正如Reid et al. (2022)所概述的那样。每个验证和测试集都包含超过100万标记,从而可以在特定领域内进行准确的评估。我们通过在L2领域的测试集上测试困惑度来衡量所有方法的有效性。对于持续的领域自适应预训练实验,当在一个领域上完成一轮训练后,我们对模型进行检查点,并计算当前和以前领域的测试困惑度。

Results and Findings

在本节中,我们讨论我们的主要发现。我们首先讨论持续预训练的困惑度,以及最终模型检查点的困惑度。然后我们分析成功的反向和正向转移的动态过程。我们最后报告下游任务的性能,并进行消融研究。
在这里插入图片描述

Analysis of continual pretraining and the final model

最终模型的困惑度优于零-shot 我们的研究表明,在不同域序列和模型大小上,最终模型在困惑度方面始终优于或与零-shot基线相匹配。我们报告了所有领域的平均困惑度,表明跨学习期间积累的知识平均而言并不会对学习领域的预测产生不利影响。值得注意的是,训练序列的随机化结果比相似顺序的域序列具有更有利的平均困惑度。我们在表 4中对维基和S2ORC数据集的困惑度值进行了详细比较,突显了GPT系列在忘记先前部分的同时,在后面部分的困惑度增加。当领域在语义上排序时,CPT相对于标准FT更有利 将FT列与CPT列进行比较,发现在后续训练域具有高相似性的情况下,持续预训练优于标准微调。这一观察结果符合这样一个前提:模型在当前任务上的性能与其初始检查点有内在联系。也就是说,当培训领域基于相似性排序时,最后的检查点Mi自然而然地比原始模型M0更好地转移到下一个域Di+1。另一方面,当训练领域的顺序是随机的,发现从原始模型M0开始更有益。这一观察结果与最近有关连续测试时适应的研究 (Press et al., 2023)和检查点选择策略的研究 (Fisch et al., 2023)一致,突显了训练序列中起始点的战略价值。最终性能与模型大小相关 与关于缩放规律的最新研究一致(Kaplan et al., 2020; Bahri et al., 2021),更大模型的持续学习结果在CPT和LC性能上更好,无论训练顺序如何。然而,这种一致的模式不仅仅可以归因于持续学习,因为模型大小严重影响零-shot性能。以零-shot性能作为基线(请参见表 2中括号内的值),我们观察到GPT2-small在四种评估场景中有三种情况中最大程度地受益于持续预训练。

详细见https://arxiv.org/html/2402.17400v1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1479124.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库分库分表中间件选择

目前分库分表的中间件有三种设计思路,分别是: 采用分散式架构,适用于用Java开发的高性能轻量级OLTP应用程序,以Sharding-JDBC为代表。采用中间层Proxy架构,提供了静态输入和所有语言支持,适用于OLAP应用程…

云计算 2月26号 (进程管理和常用命令)

一、权限扩展 文件权限管理之: 隐藏权限防止root误删除 文件属性添加与查看 [rootlinux-server ~]# touch file1 file2 file3 1.查看文件属性 [rootlinux-server ~]# lsattr file1 file2 file3 ---------------- file1 ---------------- file2 ---------------- f…

day57 集合 List Set Map

List实现类 List接口特点:元素有序 可重复 Arraylist 可变数组 jdk 8 以前Arraylist容量初始值10 jdk8 之后初始值为0,添加数据时,容量为10; ArrayList与Vector的区别? LinkList:双向链表 优点&#xff1…

linux系统---LNMP架构下部署Discuz社区论坛与Wordpress博客

目录 一、编译安装Nginx 1、关闭防火墙 2、安装依赖包 3、创建运行用户 4、压缩软件包并编译安装 5、软链接路径优化 ​编辑 6、添加Nginx系统服务 二.编译安装MySQL服务 1.安装依赖环境 ​编辑 2、创建运行用户 3、编译安装 ​编辑 4、修改mysql 配置文件 5、…

Opencv基本操作 (上)

目录 图像基本操作 阈值与平滑处理 图像阈值 图像平滑处理 图像形态学操作 图像梯度计算 Sobel 算子 Canny 边缘检测 图像金字塔与轮廓检测 图像轮廓 接口定义 轮廓绘制 轮廓特征与相似 模板匹配 傅里叶变换 傅里叶变换的作用 滤波 图像基本操作 读取图像&…

electron 项目环境变量使用注意 public

问题 最近项目中,electron需要调用唤醒本地的另一个客户端程序,但是这个客户端程序报错了。sqlite3 报out of memory. apiSHGetFolderPathW 获取CSIDL_COMMON_DOCUMENTS报 1008,试图引用不存在的令牌。 排查 一看到这个,首先想…

javaWeb学习04

AOP核心概念: 连接点: JoinPoint, 可以被AOP控制的方法 通知: Advice 指哪些重复的逻辑,也就是共性功能(最终体现为一个方法) 切入点: PointCut, 匹配连接点的条件,通知仅会在切入点方法执行时被应用 目标对象: Target, 通知所应用的对象 通知类…

Django Web架构:全面掌握Django模型字段(上)

Django Web架构 全面掌握Django模型字段(上) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article…

数电学习笔记——逻辑函数及其描述方法

目录 一、逻辑函数 二、逻辑函数的描述方法 1、逻辑真值表 2、逻辑函数式 3、逻辑图 4、波形图 三、逻辑函数的两种标准形式 1、最小项与最大项 最小项 最小项的性质 最大项 最大项的性质 2、最大项与最小项的关系 3、逻辑函数的最小项之和形式 4、逻辑函数的最…

Unity(第二十四部)UI

在游戏开发中,用户界面(UI)是至关重要的一部分。它负责与玩家进行交互,提供信息,并增强游戏的整体体验。Unity 提供了强大的工具和功能来创建和管理 UI。 ui的底层就是画布,创建画布的时候会同时创建一个事…

k8s部署mysql

(作者:陈玓玏) 一、前置条件 已部署k8s,服务端版本为1.21.14 二、部署mysql 拉取镜像; docker pull mysql将账号密码等信息写到configmap,创建configmap; apiVersion: v1 kind: ConfigMap m…

C++笔记(五)--- 虚函数(virtual)

目录 虚函数介绍 虚函数、覆盖和重载区别 虚函数介绍 C的虚函数是多态性的表现 1.构造函数不能为虚函数2.子类继承时虚函数仍为虚函数3.虚函数类外实现时,不需要加virtual4.有虚函数的类,析构函数一定要写成虚函数(否则可能会造成内存泄漏&…

Docker实战——容器

目录 Docker 容器的基本概念与操作1.使用“docker create”创建容器。这里基于Nginx的镜像创建了一个容器,名字为mycontainer。2.使用“docker ps -a”命令查看所有的容器,这时的容器不一定是运行状态。3.使用 “docker start” 命令可以启动容器。4.使用…

SpringBoot整合rabbitmq-主题交换机队列(四)

说明:Topic主题交换机它的大致流程是交换机和一个或者多个队列绑定,这个绑定的Routingkey是包含通配符的,满足通配符的队列会接收到消息。 通配符规则: #:匹配一个或多个词 *:匹配一个词 例如&#xff…

android TextView 实现富文本显示

android TextView 实现富文本显示,实现抖音直播间公屏消息案例 使用: val tvContent: TextView helper.getView(R.id.tvContent)//自己根据UI业务要求,可以控制 图标显示 大小val levelLabel MyImgLabel( bitmap 自己业务上的bitmap )va…

Prometheus 安装指南

目录 介绍 安装 介绍 Prometheus是一款开源监控系统,适用于容器化和微服务。它使用多维数据模型,支持PromQL查询语言,可以通过多种方式采集数据。具备灵活的告警和通知机制,可集成图形工具创建仪表盘。通过本地存储高效保存时间…

ywtool check命令及ywtool clean命令

一.ywtool check命令 1.1 ywtool check -I 1.2 ywtool check all 1.3 ywtool check io 1.4 ywtool check elk 1.5 ywtool check php 1.6 ywtool check mysql 1.7 ywtool check nginx 1.8 ywtool check system 1.9 ywtool check docker_nbip [容器名称] 1.10 ywtool check 1.10…

buuctf_crypto_丢失的MD5+Quoted-printable+RSA

丢失的MD5 题目:(就一python文件,MD5.py) for i in range(32,127):for j in range(32,127):for k in range(32,127):mhashlib.md5()m.update(TASCchr(i)O3RJMVchr(j)WDJKXchr(k)ZM)desm.hexdigest()if e9032 in des and da in d…

吴恩达《机器学习》学习笔记

本笔记资料来源于 http://www.ai-start.com/ml2014/,该笔记来自于https://blog.csdn.net/dadapongi6/article/details/105668394,看了忘,忘了看,再看一遍。 时间统计:2024.2.29 5个番茄钟,从week1开始&…

游戏陪玩精品系统源码优化版3.0

下载地址:游戏陪玩精品系统源码优化版.zip 截图: