综述论文解读:Editing Large Language Models: Problems, Methods, and Opportunities
本文为大语言模型知识编辑综述,发表于自然语言处理顶会ACL(原文链接)。由于目前存在广泛的模型编辑技术,但一个统一全面的分析评估方法,所以本文:
1、对LLM的编辑方法进行了详尽、公平的实证分析,探讨了它们各自的优势和劣势。
2、构建了一个新的数据集,旨在揭示当前模型编辑方法的缺点,特别是泛化和效率方面。
3、概述了模型编辑领域未来潜在的研究机会。
问题定义
假设原始模型为$f_\theta(x):\mathbb{X}\to\mathbb{Y}$,对于某个样本$(x_e,y_e)$,或称编辑描述符,有$f_\theta(x_e)\neq y_e$,则模型编辑就是使得编辑后的模型$f_{\theta_e}$有$f_{\theta_e}(x_e)= y_e$。
模型编辑会影响与所编辑样本$(x_e,y_e)$相关的样本的预测,把这样的样本集合称为编辑域$I(x_e,y_e)$,也就是$(x_e,y_e)$和与它相似的邻域样本$N(x_e,y_e)$构成的样本集合。一个成功的模型编辑仅影响编辑域内部的模型行为,而不影响编辑域外部的模型行为。如文中式(1)所示,其中$O(x_e,y_e)$表示编辑域之外的样本。
编辑后的模型$f_{\theta_e}$通常要满足可靠性、普适性和局部性(reliabilty, generality, locality):
1、可靠性 (Reliability):文中式(2),即修改后的模型对编辑样本正确预测的期望,越大越好。
2、普适性 (Generality):文中式(3),即修改后的模型对编辑样本的邻域$N(x_e,y_e)$的样本正确预测的期望,越大越好,本文的意思就是同义句也要满足。
3、局部性 (Locality):文中式(4),即修改后的模型对编辑域之外的样本的预测与原始模型预测一致的期望,越大越好。
现有LLM编辑方法
现有LLM编辑方法可分为两类。总结看表1,示意图看图2.
使用额外参数而保持原始模型参数不变
SERAC: 一种使用检索增强反事实模型(SERAC)实现的半参数编辑。该模型将编辑存储在显式存储器中,并学会对其进行推理,从而根据需要调整原始模型的预测。
T-Patcher和CaliNET: 将额外的可训练参数引入到PLM的FFN层中,并在修改后的数据集上训练额外添加的参数。
修改模型内部参数
基于定位和修改
1、KN: 使用知识归因方法定位模型FFN中表达知识的神经元,并进行更新。
2、ROME: 使用因果中介分析来定位编辑区域。与在FFN中修改知识神经元不同,ROME修改整个矩阵。
3、MEMIT: 修改一系列的模型层,支持同时执行数千个修改。
以上方法基于事实知识的局部性假设,尚未得到广泛验证,某些参数的变化可能会影响不相关的知识,并产生不可预见的结果。
基于元学习
1、KE:训练一个超网络(双向LSTM)来预测每个数据点的权重更新,从而实现对目标知识的编辑,而不破坏其他知识。但这种方法对于LLM效果不佳。
2、MEND: 使用梯度的低秩分解来学习转换经过微调的语言模型的梯度。这种方法能够以较少的资源消耗应用于LLMs。
初步实验
表2展示了以上模型在三个指标上的实验对比结果,其中,FT表示直接对原始模型进行微调。
数据集:ZsRE一个问答 (QA) 数据集,使用反译生成的问题改写作为样本邻域,并使用自然问题 (NQ) 作为编辑域之外的数据来评估局部性。COUNTERFACT通过用一个与主语实体相似但共享相同谓词的近似主语实体替换事实中的主语实体来构建超出范围的数据。
模型:实验实施在T5-XL(3B)和GPT-J(6B)两个大模型上,T5-XL包含编解码器结构,GPT-J仅包含解码器。由于ROME和MEMIT只适用于解码器,因此只在GPT-J上进行了实验。
微调:为了减小计算量,仅对ROME定位的层进行微调。
结果分析:SERAC、ROME、MEMIT效果最好,在修改模型权重的方法中,ROME最好。
综合分析
可移植性 (Portability)
除了前面的指标以外,模型将修改的某个知识转移到相关内容的有效性也是一个重要的指标。因此使用GPT-4来构建一个新的数据集来评估编辑方法的相关性能。简单来说,当将模型关于某个提问$(s,r,?)$的预测$o$修改为$o^*$时,对于已知事实$(o^*,r^*,o'^*)$,能对问题$(s,r,r^*,?)$预测出$o'^*$,也就是把$o^*$当做一个跳板。如果模型能正确回答出$o'^*$,则可以推断模型正确修改了$(s,r,o^*)$。数据集构建方式如文中表6所示。B.1好像是,对于GPT-4生成的问题答案的已知事实$(o^*,r^*,o'^*)$,选择T5和GPT-J共享的作为最终的可移植性数据集,但是符号写的却是原始的。
可移植性指标定义为文中式(5),其中$P(x_e,y_e)$表示由新生成的数据组成的样本。
结果如表3所示,可以看出MEMIT效果最好。
局部性
图4可视化了不同指标概念对于某个样本的分布。对于某个问题的模型编辑,一个好的编辑应该使模型同步修改整个灰色虚线内部的所有问题的答案,而不修改虚线外的问题的答案。
效率
表4展示了各方法10次编辑所需的时间,不计入模型训练时间。
图5对比各方法的显存消耗。
批量编辑分析
图6展示了各方法批量编辑的结果。在基于定位和修改的方法中,MEMIT效果最好。尽管SERAC效果不错,但是MEND和SERAC需要为每一批编辑训练一个独特的模型,在实践中不可行。
序列编辑分析
图7展示了各方法在连续实施多次编辑编辑后的模型指标,横坐标为编辑次数。可以看出冻结模型参数而进行外部修改的方法SERAC和T-Patcher最稳定。另外三个方法由于需要修改原始模型,所以会性能产生退化,其中MEMIT的效果和稳定性最强。
总结
在所有方法中,可靠性、普适性、局部性、可移植性综合来说最高的方法是MEMIT,并且它还支持批量编辑,缺点是它只适用于解码器,并且随着连续编辑次数增加,模型会退化,但这是基于定位和修改的方法的通病。
在基于外部参数的方法中,SERAC的可靠性、普适性、局部性最好,对连续编辑的鲁棒性强,但可移植性较差。
问题
1、不太清楚ChatGPT的机制,使用ChatGPT时感觉模型自身可以通过prompt来修改原有的知识。对比人脑的机制,我们是通过外部对话的方式来修正人脑之前学习的错误知识,而不是通过对人脑进行外科手术。
想法
1、模型编辑的范围:不仅仅是对某个具体的事实进行编辑,还可以对抽象的语言现象、情感、观点等进行编辑。
2、In-context Editing
3、模型编辑目前的改进方向:批量编辑、多次编辑的鲁棒性提升。
综述论文解读:Editing Large Language Models: Problems, Methods, and Opportunities的更多相关文章
- 论文阅读 | Transformer-XL: Attentive Language Models beyond a Fixed-Length Context
0 简述 Transformer最大的问题:在语言建模时的设置受到固定长度上下文的限制. 本文提出的Transformer-XL,使学习不再仅仅依赖于定长,且不破坏时间的相关性. Transforme ...
- 论文解读(SDNE)《Structural Deep Network Embedding》
论文题目:<Structural Deep Network Embedding>发表时间: KDD 2016 论文作者: Aditya Grover;Aditya Grover; Ju ...
- BERT论文解读
本文尽量贴合BERT的原论文,但考虑到要易于理解,所以并非逐句翻译,而是根据笔者的个人理解进行翻译,其中有一些论文没有解释清楚或者笔者未能深入理解的地方,都有放出原文,如有不当之处,请各位多多包含,并 ...
- 论文解读(SelfGNN)《Self-supervised Graph Neural Networks without explicit negative sampling》
论文信息 论文标题:Self-supervised Graph Neural Networks without explicit negative sampling论文作者:Zekarias T. K ...
- 论文解读(KP-GNN)《How Powerful are K-hop Message Passing Graph Neural Networks》
论文信息 论文标题:How Powerful are K-hop Message Passing Graph Neural Networks论文作者:Jiarui Feng, Yixin Chen, ...
- itemKNN发展史----推荐系统的三篇重要的论文解读
itemKNN发展史----推荐系统的三篇重要的论文解读 本文用到的符号标识 1.Item-based CF 基本过程: 计算相似度矩阵 Cosine相似度 皮尔逊相似系数 参数聚合进行推荐 根据用户 ...
- 【NLP】Recurrent Neural Network and Language Models
0. Overview What is language models? A time series prediction problem. It assigns a probility to a s ...
- zz扔掉anchor!真正的CenterNet——Objects as Points论文解读
首发于深度学习那些事 已关注写文章 扔掉anchor!真正的CenterNet——Objects as Points论文解读 OLDPAN 不明觉厉的人工智障程序员 关注他 JustDoIT 等 ...
- CVPR2020论文解读:CNN合成的图片鉴别
CVPR2020论文解读:CNN合成的图片鉴别 <CNN-generated images are surprisingly easy to spot... for now> 论文链接:h ...
- 图像分类:CVPR2020论文解读
图像分类:CVPR2020论文解读 Towards Robust Image Classification Using Sequential Attention Models 论文链接:https:// ...
随机推荐
- QWidget的isHidden和isVisible
文章目录 QWidget的isHidden和isVisible 问题的出现 QWidget的show()函数 QWidget的isVisible和isHidden 源码追溯 QWidget的isHid ...
- [tldr]windows使用scoop安装make工具辅助程序编译
make是一个好用的GNU工具,用来辅助我们进行自动化的程序编译,只需要一个Makefile文件,即可实现一行指令自动编译 scoop是windows的一个包管理工具 安装 scoop bucket ...
- linux 源码安装完php后在目录下找不到php.ini的问题
首先,我们需要确定php版本的php.ini文件需要放在个目录下 我们先执行以下命令查看php的php.ini目录应该放在那个地方 php -i |grep php.ini 效果如下,现在我们确定好了 ...
- composer init
$ composer init Do not run Composer as root/super user! See https://getcomposer.org/root for details ...
- 容器一直处于Create状态
通过命令排查 docker inspect b5be1d9e71de报错 "Error": "Could not attach to network fabric-tbc ...
- bug|初始化项目|sass-loader报错:TypeError: this.getResolve is not a function at Object.loader
Module build failed: TypeError: this.getResolve is not a function at Object.loader的解决 npm uninstall ...
- swich语句
1.switch语句格式 括号内的是待匹配内容,然后case后的是被匹配内容,如果括号内的内容与case后的内容一致,则会打印语句体 . 2.实操(后面的省略了) 3.注意事项 1.case后面的值不 ...
- 阿里云ECS安装 CoreOS
没事重装了下阿里云的ECS,无意发现竟然有了 CoreOS 的选项,有点小激动,于是乎,果断选择安装尝试了下. 阿里云ECS安装 CoreOS 其他阿里云注册啥的就不多说了,来个主要的图说明下: 题外 ...
- HTML5 定时通知
通过setInterval()和Notification来实现定时通知功能. demo <script> window.onload = function () { //每10秒弹出一个桌 ...
- ThreadLocal 内存泄漏原因和解决方法
一.ThreadLocal 内存泄漏的原因 ThreadLocal 的内存泄漏问题主要与其底层实现 ThreadLocalMap 的结构和垃圾回收机制有关.以下是核心原因: 1.ThreadLocal ...