先遗忘后学习:基于参数计算的大模型知识更新

1f3ae02fb0c1d801b2d8ea2ad7d94d82.png

深度学习自然语言处理 原创
作者:陈定纬
编辑:cola

最近,大型语言模型(LLMs)展示了其令人惊叹的文本理解和生成能力。然而,即使是更为强大的LLMs,仍有可能从训练语料库中学到不正确的知识,以及随时间而过时的知识。直接使用包含新知识的数据进行二次微调可能在更新知识时效果不佳,因为新旧知识之间存在冲突。在本文中,我们提出了一种新的微调范式,被称为F-Learning(先遗忘后学习),它基于参数计算,实现对旧知识的遗忘和对新知识的学习。在两个公开可用的数据集上的实验证明,我们提出的F-Learning显著改善了全量微调和LoRA微调的知识更新性能。此外,我们还发现,通过减去LoRA的参数来遗忘旧知识可以达到与减去全量微调参数相似的效果,有时甚至可以显著超越它。

64f0ae0dea409725237c1dbada37736d.png

论文:
Forgetting before Learning: Utilizing Parametric Arithmetic for Knowledge Updating in Large Language Models

地址:
https://arxiv.org/pdf/2311.08011.pdf

有趣的分享!LLMs时代下,幻觉、对话、对齐、CoT、Agent和事实性评估等领域的前沿研究

研究背景

大型语言模型(LLMs)具有出色的自然语言理解和生成能力。尽管LLMs在学习方面非常强大,但仍有可能在语料库中学到错误的知识。此外,现实世界中的许多知识不断更新,LLMs中的一些最初正确的知识随时间变得过时和无效。例如,“美国总统是谁?”在2020年的答案可能是“唐纳德·特朗普”,而现在的答案是“乔·拜登”。因此,LLMs需要在使用过程中不断更新其发现的过时和错误的知识。现有的模型编辑和知识更新方法通常会添加额外的参数、存储模块、知识库等,而编辑过程不像直接使用新知识进行微调那样简单明了。

目前,学习新知识时最常用的方法仍然是直接微调模型。当人类建立起自己的初始认知时,如果他们接触到与初始认知不一致的新知识,通常会感到冲突,难以学习和接受新知识。如果原始认知和知识被遗忘,那么待学习的新知识就不会与原始认知和知识发生冲突,这使得学习和吸收新知识变得更为简单。例如,如果一个人从小被教育认为“地球是扁平的”,那么当他们成年后接受与之相矛盾的“地球是圆的”知识将会是一项挑战。然而,如果他们能够忘记“地球是扁平的”这个错误的知识,或者在接触到错误信息之前学习和接受“地球是圆的”新知识,就会简单得多。

受以上经验观察的启发,我们提出了一种称为F-Learning(先遗忘后学习)的知识更新新范式。具体而言,我们首先使用旧知识微调初始模型,然后从初始模型参数中减去微调后的模型参数与初始模型参数的差值,这个过程被定义为“旧知识遗忘”。然后,我们使用新知识在遗忘旧知识后的模型上进行微调。这个过程我们定义为“新知识学习”。经过遗忘旧知识和学习新知识的两个阶段后,模型的知识得到更新。

研究方法

与引入外部知识库或额外参数不同,我们的方法主要基于全量微调和参数高效微调。它包括两个阶段:遗忘旧知识和学习新知识。

遗忘旧知识

假设在数据集上进行的有监督微调(SFT)向LLMs注入了新知识或激活了与新知识相关的拟合能力,这反映在模型参数的变化上。在这个阶段,对于给定的大型语言模型及其参数,我们定义增量参数为知识参数,计算如下:c73774016456f906dc3a6268bd68462c.png其中FT表示有监督微调,和分别表示包含知识的数据集以及原始模型的参数。类似地,我们首先在一个包含旧知识的数据集上对进行微调,然后用微调后的模型参数减去原始模型的参数得到表示旧知识的知识参数,如下所示:c195337758a41eb1f9ee74dcad548faf.png其中表示包含我们需要遗忘的旧知识的数据集。受先前工作启发,我们认为从参数θ当中减去参数能够帮助模型遗忘这部分旧知识,所以我们将遗忘旧知识的过程定义如下:2ad7e7265ece2993580dbfab7d57a43d.png其中是控制遗忘比例的超参数。现在我们得到了一个参数为θ的新模型。值得注意的是这一遗忘旧知识的过程只有当模型充分掌握旧知识的情况下才成立,否则模型无需进行遗忘也不需要进行知识更新。

学习新知识

对于经历过遗忘旧知识过程的模型,接着我们将通过监督微调向注入新知识,以进行知识更新。同样地,我们定义学习新知识的过程如下:35bdd57097c3433dc27cadc360cf4e68.png其中表示有监督微调,表示学习了新知识的模型的参数,表示包含需要更新的的新知识的数据集。

实验

在实验中我们采用了ZsRE和COUNTERFACT两个广泛使用的数据集,并选择Reliability、Generality、Locality作为主要评测指标,分别评估知识更新的准确率、泛化性以及对无关知识的影响程度。我们将直接对原始模型进行新知识有监督微调得到的结果作为基线。实验结果如下所示:b3a2e00fa5cfb2f2a1c01bad0093248a.png我们使用LLAMA2-7B作为实验的基础模型。我们主要评估将旧知识更新为新知识的能力,因此模型将首先在旧知识上进行为期3个时期的微调。表1中F-Learning中设置的超参数λ分别取值为0.3、0.7、0.1和1.5。所有实验的学习率和时期都设置为5e-5和3。为了确保模型输出的唯一性,在测试期间我们将模型的温度设置为0。在硬件方面,我们使用了总共4个A100-80G GPU进行实验。

实验表明在首次遗忘之后,无论是全量微调还是LoRA,在学习方面都有显著的提升。具体而言,与直接进行全量微调相比,F-Learning FT在ZsRE数据集上将Reliabilty和Generality分别提高了2.71和4.84点。与此同时,Locality指标基本保持不变,仅下降了0.43点。与直接进行全量微调相比,F-Learning LoRA在ZsRE数据集上将Reliabilty和Generality分别提高了2.71和4.84点。Locality指标基本保持不变,仅下降了0.43点。与LoRA微调相比,F-LearningLoRA在ZsRE数据集上将Reliabilty、Generality和Locality指标分别提高了3.81、4.01和1.67点。同样,在COUNTERFACT数据集上,与直接进行全体积微调相比,F-LearningLoRA将Reliabilty、Generality和Locality指标分别提高了3.54、1.48和0.07点。与LoRA微调相比,F-LearningLoRA在ZsRE数据集上将Reliabilty、Generality和Locality指标分别提高了0.61、0.39和0.34点。总体而言,全量微调比LoRA更具学习新知识的能力,而我们的F-Learning在一定程度上相对于全量微调和LoRA取得了提升。

LoRA遗忘然后全量学习

在上述实验设置中,我们采用的方法是同时基于全量微调(或LoRA)执行旧知识遗忘和新知识学习。然而,我们发现在某些情况下,通过减去全量微调的知识参数(即通过全量微调遗忘旧知识)会完全破坏我们基础模型的核心功能,导致评估指标显著下降。鉴于LoRA是一种参数高效的微调方法,与全量微调相比对参数的影响较小,我们尝试了一种新的方法,即通过LoRA遗忘旧知识,然后通过全量微调学习新知识,以寻求一种平衡。与上文类似,我们对这一过程定义如下:d6ee19f580d9ce62f05e91301c816c2b.png为了验证,我们保持与上述相同的实验设置并进行实验。结果如表2所示。注意,在表2中,F-Learning中设置的超参数λ分别取值为0.3、3、0.1和3。结果支持了通过LoRA遗忘旧知识,然后通过全量微调学习的方法完全超越了直接的全量微调,几乎实现了对遗忘并通过全量微调学习的方法的近似甚至超越。具体而言,与方法F-Learning FT相比,F-Learning LoRA−FT在COUNTERFACT数据集上将Reliabilty和Generality分别提高了9.20和6.11点。尽管F-Learning LoRA−FT在ZsRE数据集上的表现约低1-2点,但仍然在全量微调方面具有很大优势,并有提升的空间。至于Locality指标,F-Learning LoRA−FT在zsRE和COUNTERFACT数据集上都取得了约1点的提升。我们经验性地认为这是因为基于LoRA的遗忘对参数的影响较小,从而对无关知识造成的损害较小。实验证明通过减去LoRA的参数进行遗忘可以达到近似于减去全量微调参数的效果,这具有很大的价值,因为在大多数情况下,LoRA的时间成本和计算成本都远远低于全量微调。e3897de9001aef8f07d20ca2407eb1f0.png

总结

主要贡献:

  • 提出了一种新颖的大型语言模型知识更新微调范式,称之为“先遗忘后学习”(F-Learning),

  • 实验结果表明,我们提出的F-Learning显著改善了各种微调方法的知识更新性能,

  • 实验结果显示,通过减去LoRA的参数进行遗忘可以达到近似于减去全量微调参数的效果。

46c229483fb94dc908af1090cf202f02.png


备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群

f71f67ea96e8cb70cbe31cff02f92b4c.png

id:DLNLPer,记得备注呦

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

k8s安装学习环境

目录 环境准备 配置hosts 关闭防火墙 关闭交换分区 调整swappiness参数 关闭setlinux Ipv4转发 时钟同步 安装Docker 配置Yum源 安装 配置 启动 日志 安装k8s 配置Yum源 Master节点 安装 初始化 配置kubectl 部署CNI网络插件 Node节点 检查 环境准备 准…

LASSO vs GridSearchCV

LASSO VS GridSearchCV LASSO定义目的使用方法原理示例总结 GridSearchCV定义目的使用方法原理网格搜索(Grid Search)交叉验证(Cross-Validation)总结 示例总结 总结 LASSO 定义 LASSO(Least Absolute Shrinkage and…

【ArcGIS Pro微课1000例】0040:ArcGIS Pro创建北极点、南极点

文章目录 一、创建北极点图层二、创建北极点三、不同投影系下北极点的位置一、创建北极点图层 选择一个数据库,在上面右键→新建→要素类。 输入名称:北极点。 空间参考:WGS 1984 点击创建。 二、创建北极点 在编辑选项卡下,点击【创建】。 在创建要素窗口中,点击北极点…

【RT-DETR改进】InnerIoU思想结合传统 EIoU、SIoU、WIoU损失思想(小目标涨点效果明显)

论文地址:官方Inner-IoU论文地址点击即可跳转 官方代码地址:官方代码地址-官方只放出了两种结合方式CIoU、SIoU 本位改进地址: 文末提供完整代码块-包括InnerEIoU、InnerCIoU、InnerDIoU等七种结合方式和其AlphaIoU变种结合起来可以达到二十…

轻盈悦耳的运动型气传导耳机,还有条夜跑灯,哈氪聆光体验

我平时出门不管是散步、骑行,还是坐公交的时候,都喜欢戴上耳机听音乐,这可以让我放松心情。现在市面上的耳机还是以真无线为主,选择虽多,但不适合户外使用,听不见外界的声音,运动时还容易脱落&a…

牛客在线编程(SQL大厂面试真题)

1.各个视频的平均完播率_牛客题霸_牛客网 ROP TABLE IF EXISTS tb_user_video_log, tb_video_info; CREATE TABLE tb_user_video_log (id INT PRIMARY KEY AUTO_INCREMENT COMMENT 自增ID,uid INT NOT NULL COMMENT 用户ID,video_id INT NOT NULL COMMENT 视频ID,start_time d…

链表【1】

文章目录 🍈2. 两数相加🍌1. 题目🍏2. 算法原理🍓3. 代码实现 🍉445. 两数相加 II🍍1. 题目🍐2. 算法原理🫐3. 代码实现 🍈2. 两数相加 🍌1. 题目 题目链接&…

【数据结构高阶】AVL树

上期博客我们讲解了set/multiset/map/multimap的使用,下面我们来深入到底层,讲解其内部结构: 目录 一、AVL树的概念 二、AVL树的实现 2.1 节点的定义 2.2 数据的插入 2.2.1 平衡因子的调整 2.2.1.1 调整平衡因子的规律 2.2.2 子树的旋…

对一个多维随机变量作为线性变换以后的协方差矩阵

假设是一个n维的随机变量,它的协方差矩阵 对做线性变换,其中是一个矩阵(当然也可以是一个标量),的协方差矩阵 证明如下: 将代入,得

git如何关联克隆远程仓库

一、添加远程仓库 之前我们仅仅是在本地创建了一个Git本地仓库,这里我们再在GitHub创建一个Git远程仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作开发。 1.…

【无标题】我们只能用成功来摧毁我们,原来的自己只会破败自己的事情。

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

JavaWeb 添加页面和用户图像展示

add.jsp(需要登录之后才可以访问 ) -> 不是和login.jsp同级了那就 在images目录下加上默认图像 js目录下加入common.js javaWeb项目中,页面的路径 img的src form的action link的href script的src a的href推荐使用绝对路径 这个绝对路径…

【海思SS528 | VO】MPP媒体处理软件V5.0 | 视频输出模块——学习笔记

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

Project 1: The Game of Hog(CS61A)

(第一阶段)问题 5a(3 分) 实现该函数,该函数模拟了完整的 Hog 游戏。球员 交替轮流掷骰子,直到其中一名玩家达到分数。playgoal 您现在可以忽略 Feral Hogs 规则和论点; 您将在问题 5b 中实现它。feral_h…

(学习笔记)Xposed模块编写(一)

前提:需要已经安装Xposed Installer 1. 新建一个AS项目 并把MainActvity和activity_main.xml这两个文件删掉,然后在AndriodManifest.xml中去掉这个Activity的声明 2. 在settings.gralde文件中加上阿里云的仓库地址,否则Xposed依赖无法下载 m…

Elasticsearch:什么是向量数据库?

向量数据库定义 向量数据库是将信息存储为向量的数据库,向量是数据对象的数值表示,也称为向量嵌入。 它利用这些向量嵌入的强大功能来对非结构化数据和半结构化数据(例如图像、文本或传感器数据)的海量数据集进行索引和搜索。 向…

操作系统相关--面试和笔试高频

操作系统 计算题 页面置换算法 先进先出(FIFO)更新算法:总是淘汰最先进入内存的页面。即目前出现次数最多的页面 最近最久未使用(LRU)更新算法:当需要更新一页时,选择在最近一段时间内最久没…

TensorRT安装及使用教程(ubuntu系统部署yolov7)

1 什么是TensorRT 一般的深度学习项目,训练时为了加快速度,会使用多 GPU 分布式训练。但在部署推理时,为了降低成本,往往使用单个 GPU 机器甚至嵌入式平台(比如 NVIDIA Jetson)进行部署,部署端也…

Xshell会话文件解密获取密码

Xshell会话文件解密获取密码 开发了一个小工具用于获取已存储的xshell会话密码功能简介截图展示下载地址 开发了一个小工具用于获取已存储的xshell会话密码 在日常开发中,服务器太多,密码记不住。使用xshell管理服务器会话,记住密码&#xf…

Docker容器(一)概述

一、虚拟化概述 1.1引⼊虚拟化技术的必要性 服务器只有5%的时间是在⼯作的;在其它时间服务器都处于“休眠”状态. 虚拟化前 每台主机⼀个操作系统; 软硬件紧密结合; 在同⼀个主机上运⾏多个应⽤程序通常会遭遇冲突; 系统的资源利⽤率低; 硬件成本⾼昂⽽且不够灵活…
最新文章