当前位置: 首页 > article >正文

模型解释新方向!浙大揭秘LLM隐层之间的知识流动!

4859a537ccd42b60e0a403f1ea3cdf81.png

作者:bhn

论文:https://arxiv.org/pdf/2405.17969 - NIPS2024
代码:https://github.com/zjunlp/KnowledgeCircuits

本文中:

  • knowledge editing=知识编辑;

  • machine unlearning=遗忘学习;

  • detoxification=祛毒;

  • knowledge circuits=知识回路;

背景

大量的参数赋予了大模型强大的能力的同时也带来了一些缺陷,如幻觉,不安全的行为。由于模型复杂的知识存储机制,这些问题的解决变得十分复杂。

目前的工作进行两个方向的尝试,一种是认为事实以键值对的形式存储在mlp中,在这个基础上人们使用知识编辑,遗忘学习,祛毒等方法对模型的mlp层修改,以缓解修复模型的缺陷。

11d19096bcd94433bf617d6489ada9c1.png

另一种思路认为,知识不是单独的存储在某一区域的,而是由不同的组件共同构成的,本文中称为知识回路。

9723c85dff11194b63ddd32b01f3dc18.png

这篇论文的工作分为四部分发现Transformer架构中的知识回路:解释知识回路的概念和知识回路是如何发现的。

知识回路揭示隐式神经知识表征:通过一个简单的案例分析知识回路是如何解释知识表征的。

知识回路阐明知识编辑的内部机制:通过知识回路解释对ROMEFT这两种知识编辑方法进行解释。

知识回路促进解释语言模型行为:通过知识回路解释模型的幻觉和上下文学习背后的原因。

本文的工作和结果分析

  1. 发现Transformer架构中的知识回路

    知识回路:相对于知识编辑关注知识的存储区域,知识回路更关注信息的流动。将语言模型看作一个由组件(input,output,attention_head,mlp)为节点,连接组件的边(残差流),共同组成的一个计算图,信息在这些组件中流动。

    下图为模型回答“The official language of France is ”这个问题时,所经过回路,具体的回路发现在下面介绍。

79a7f166b67aebaff62634627432c1a2.png
图3: 在回路中,MLP14类似的点代表着第14层的MLP层;L18H14代表着第18层的第14个注意力头,点之间的褐色连线代表这他们之间的信息流动。

图3: 在回路中,MLP14类似的点代表着第14层的MLP层;L18H14代表着第18层的第14个注意力头,点之间的褐色连线代表这他们之间的信息流动。
回路发现:简单的来讲,回路的发现通过消融节点之间的边(即参数置为0),判断这个边对于知识是否为关键边。对于上图的回路来说,一个事实三元组“(Franch, official language,  French)” ,让模型补全”The official language of France is “这句话,预测客体French,在这个过程中,消融组件之间的边,判断边对于这个事实的重要性,保留重要的边,从而构造出了关于这个事实的回路。(具体实现请查看代码)

  1. 知识回路揭示隐式神经知识表征

3d96d744c8b3883d8faa351b9917dd4b.png 9c04c9bf05d5f0d1f10ef7b1ddf1df32.png
图5:Target Entity at Last Position表示”French“这个词在”is“位置时输出logits的rank。Target Entity at Subject Position表示“French”这个词在“France”位置时输出logits的rank—越低rank越高。Prob. of Entity表示实体的可能性—越高可能性越大。

图5:Target Entity at Last Position表示”French“这个词在”is“位置时输出logits的rank。Target Entity at Subject Position表示“French”这个词在“France”位置时输出logits的rank—越低rank越高。Prob. of Entity表示实体的可能性—越高可能性越大。
从图5可以看出,在MLP17层以后可以的看到Object Entity的可能性开始渐渐上升。让我们注意到图四a,连接MLP17的节点由L14H13、L14H7等。在图四b中可以发现,L14H13的输出logits更加关注“Language”这类关系型token,L14H7则是将信息从主体“France”流动到最后一个位置。

从这个简单的例子,该论文猜想,不同的注意力头起不同的作用,L14H13这类头更加关注关系信息,而L14H7则是在主体位置提取关系信息。而MLP层则是结合之前组件提供的信息,提高目标token的最高rank。

  1. 知识回路阐明知识编辑的内部机制

bca5ea8bb7c7abf24d8948bb294774d9.png

对于同一个问题“Platform Controller Hub is created by Microsoft.”,原始模型在L15H3更加聚焦于一些firmware这类词,并且正确答案“Intel”的可能性一直为0。而对于ROME编辑过的模型从15层开始“Intel”的可能性渐渐上升。而对于FT编辑方法,“Intel”从第0层就开始上升。

从ROME图中Subject Position的曲线总是在Last Position上面,并且他们在一起下降,并且在15层开始慢慢上升(L15H3已经开始获取了真确的答案)。可以得出ROME方法会将正确的信息添加到主体token位置,并且由注意力头进行信息提取。

FT图中,Last Position的rank一开始就降到了最低,Object Entity的可能性在MLP0就开始上升,可以推断出,FT编辑方法会直接将知识写入组件中去。

从“Windows Server 2003 is created by Intel.”问题可以看出知识编辑这类方法会带来一些副作用,会影响到不相关的知识。

  1. 知识回路促进解释语言模型行为

f37e5b2435ded013f8b851be6a3eca63.png

图7a可以看出当幻觉发生时,模型没有在早些层将正确的知识传递到最后的token,在15层L15H10这个注意力头选中了错误的信息,尽管在20-22层,正确实体的rank也快速的上升。

图7b中,ICL为回路添加了额外的注意力头,并且可以注意到,L12H13更加注意示例文本:“The comparative form of small is smaller”。

局限性

目前通过回路对知识编辑的解释还不够完善,并不能阐明知识编辑造成副作用的原因。

目前回路偏向于解释,可操作性比较低。

:由于论文工作内容很深入,如感兴趣,推荐亲自阅读。


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

acaaa623b804fada274bde96ec2803d7.png

id:DLNLPer,记得备注呦


http://www.kler.cn/a/389818.html

相关文章:

  • spring中r类是什么
  • 解决表格出现滚动条样式错乱问题
  • Java 堆内存管理详解:`-Xms` 和 `-Xmx` 参数的使用与默认内存设置
  • 字节跳动核心技术:TT推荐系统从0-1落地应用
  • 实战指南:理解 ThreadLocal 原理并用于Java 多线程上下文管理
  • Python如何用正则表达式匹配并处理文件名
  • 使用 FFmpeg 进行音视频转换的相关命令行参数解释
  • 解决C盘空间不足的三种方案
  • 使用LNMP搭建私有云存储
  • C/C++中指针
  • 【MATLAB源码-第209期】基于matlab的MSK调制解调仿真,对比三种解调方法的误码率分别是相干解调,1比特差分,2比特差分。
  • MSTP多实例生成树:避免单点设备故障,流量负载均衡。
  • SDL线程
  • 了解什么是数据库(简介)
  • 数据结构与算法:双指针之“最长连续不重复子序列” +位运算之“求二进制中第k个数字”、“求二进制表示”、“二进制中1的个数” +整数离散化
  • 在PyCharm中打包Python项目并将其运行到服务器上的方法
  • 15分钟学 Go 第 47 天 :并发进阶——深入了解Go语言的并发模型!
  • 【Go】-gRPC入门
  • gitlab ci/cd搭建及使用笔记
  • 高效工位管理:Spring Boot企业级系统
  • 【K8S系列 】在K8S集群怎么查看各个pod占用的资源大小与详细解决方案【已解决】
  • itextpdf打印A5的问题
  • 【一步步开发AI运动小程序】二十一、如果将AI运动项目配置持久化到后端?
  • 【非关系型数据库】【IOT设备】InfluxDB、TimescaleDB、Cassandra和MongoDB
  • Qml 中的那些坑(七)---ComboBox嵌入Popup时,滚动内容超过其可见区域不会关闭ComboBox弹窗
  • C++ | Leetcode C++题解之第559题N叉树的最大深度