论文阅读-Transformer Layers as Painters

1. 摘要

尽管大语言模型现在已经被广泛的应用于各种任务,但是目前对其并没有一个很好的认知。为了弄清楚删除和重组预训练模型不同层的影响,本文设计了一系列的实验。通过实验表明,预训练语言模型中的lower和final layers与中间层分布不一致,并且中间层有着惊人的一致性。

2. 模型和benchmark

  • 模型:BERT-Large和Llama2
    • llama-7B:32layers, 每层包括202M参数
    • llava-13B:40layers
    • llava-70B:80layers
    • BERT-large:24layers和340M参数
  • benchmark for llama2
    • ARC:science exam question
    • HellaSwag:commonsense
    • GSM8K:Math Word Problems
    • WinoGrande:Winograd Schema Challenge
    • LAMBADA:word prediction,measures perplexity
  • benchmark for bert:
    • GLUE
      • CoLA (Corpus of Linguistic Acceptability): Acceptability judgments drawn from linguistic
        theory.
      • MRPC (Microsoft Research Paraphrase Corpus): Semantic equivalence for news sentences.
      • QNLI (Stanford Question Answering Dataset): Question answering from paragraphs.
      • RTE (The Recognizing Textual Entailment): Textual entailment
      • SST2 (The Stanford Sentiment Treebank): Sentiment prediction.
      • STSB (The Semantic Textual Similarity Benchmark): Sentence pair similarity.
      • WNLI (The Winograd Schema Challenge): Sentence referent selection.

3. 实验

在这里插入图片描述

3.1 Do layers “speak the same language”?

**实验:**跳过某层或将前后两层调换顺序,实验结果如下图所示:
在这里插入图片描述
从上图中可以看出,对中间的模型层调换前后2层顺序及跳过某层,在benchmark上效果波动不大;但first和last few layers则相反。因此,可以推断出middle layer和first及last few layers有不同的表征空间,且中间层间的表征空间比较相似。
为了更进一步验证这个猜想,衡量了在benchmark上不同层hidden state的activation值间的cosine similarity。结果如下图所示:
在这里插入图片描述
从上图中可以看出,模型基本有三种表征空间,“beginning”,“middle”和“ending”。另外,“beginning”层和“middle”层的层数似乎随着模型总层数的增加而增加,而“ending”层则会固定到单层上。
在这里插入图片描述

3.2 Are all the layers necessary?

实验:跳过N层,将N+1层的输出作为T-N层的输入,T为模型总层数。=> skip
在这里插入图片描述
从上图中可以看出,当有少量的层被跳过时,模型效果并没有降低很多。

3.3 Are middle layers all doing the same thing?

虽然中间层表征空间是一样的,那么是否表示这些层是冗余的呢?
实验:在“middle”中用中心层的参数替换其他层的参数=>middle repeat
在这里插入图片描述
从上图中可以看出,随着替换层数的增加,模型效果下降的越发明显。所以“middle” layer中不同层有着不同的功能。

3.4 Does the layer order matter?

实验:1. 中间层倒过来=>reverse。2. 将中间层随机打乱。
在这里插入图片描述
在这里插入图片描述
不管是随机打乱层还是倒过中间层都对模型效果有不少的影响。但随机打乱要比中间层倒装的效果要好。

3.5 Can we run the layers in parallel?

能否将不同层独立运行,然后将结果合并呢?=> parallel
在这里插入图片描述
除了在GSM8K数学任务上,随着并行层数的增加,模型效果有着合理的降低。

3.6 Does the order matter for some tasks more than others?

是的,在数学和推理任务上,order比较重要。在语义任务上,order就还好。

3.7 Does looping help parallelized layers?

在这里插入图片描述
从上图可知,并行层重复多次能够有效的改善模型效果。
在这里插入图片描述
从上图中可知,最佳的迭代次数(重复次数)与并行层的数量成正比。

3.8 Which variants are least harmful?

在这里插入图片描述
从图中可知,重复单层是效果最差的,随机中间层和并行重复策略(looped-parallel)模型效果损失最小。

  • 为什么skip要比middle repeat策略要差呢?
    在这里插入图片描述
    从图中可以发现,skip策略跟llama2-7B模型的cosine similarity一样。而middle repeat则发生了偏移。

4. 讨论

  • 有三种不同类型的层,“beginning”,“middle”和“ending”
  • 中间层有某种程度的均匀,但是不冗余。
  • 模型层的执行顺序相较于语义任务,在数学和推理任务中更为重要

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线程的退出

方式1 pthread_exit Void pthread_exit (void *retval) 功能: 结束调用的线程 参数: retval //退出状态值 //需要传的是,退出状态值的地址 注意: 1.pthread_exit 本身表示结束线程 如果用在main函数中 表示结束主线程…

【MySQL进阶】事务、存储引擎、索引、SQL优化、锁

一、事务 1.概念 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向 系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 例子:转账,要求扣钱和进账…

渗透实战——为喜欢的游戏“排忧解难”

本文仅用于技术研究学习,请遵守相关法律,禁止使用本文所提及的相关技术开展非法攻击行为,由于传播、利用本文所提供的信息而造成任何不良后果及损失,与本账号及作者无关。 资料查询来源- 安全社区与AI模型结合探索【文末申请免费…

autoware中ROS2学习笔记

文章目录 一、学习资料:1.1、说明1.2、Autoware Documentation1.3、Autoware Universe Documentation1.4、总结 二、概述三、ros2--节点组件什么是组件容器组件的实现原理可组合节点--节点组件什么是节点组件为什么需要可组合节点创建可组合节点时构造函数为什么需要…

三级_网络技术_27_计算机网络环境及应用系统的安装与调试

1.对于频繁改变位置并使用DHCP获取PP地址的DNS客户端,为减少对其资源记录的手动管理,可采取的措施是()。 允许动态更新 使用反向查找区域 增加别名记录 设置较小的生存时间 2.下列Windows 2003系统命令中,可以清空DNS缓存(DNScache)的是…

svn文件定时全量备份

在win11操作系统中,使用定时任务脚本的方式实现对SVN文件的定时备份 SVN备份脚本 1 创建脚本simpleBackup.bat 该脚本主要用于实现备份过程的信息展示 echo 正在备份版本库%1...... md %BACKUP_DIRECTORY%\%2 %SVN_HOME%\bin\svnadmin hotcopy %1 %BACKUP_D…

mongodb连表查询,postman使用

要实现与SQL类似的查询,你需要使用聚合框架(Aggregation Framework) SELECT b.name, a.* FROM user a LEFT JOIN order b ON a.id b.id WHERE b.name LIKE %acd%; 从MongoDB 3.2版本开始,引入了聚合框架中的$lookup阶段&#xf…

AI人工智能 卷积神经网络(CNN)

AI人工智能 卷积神经网络(CNN) 卷积神经网络与普通神经网络相同,因为它们也由具有可学习的权重和偏差的神经元组成。 普通的神经网络忽略了输入数据的结构,所有的数据在送入网络之前都被转换为一维数组。 该过程适合常规数据&…

【Java日志系列】Log4j日志框架

目录 前言 一、Log4j简介 二、Log4j组件介绍 1. Loggers 2. Appenders 3. Layouts 三、快速入门 1. 入门代码 2. 日志级别 四、配置文件的使用 五、自定义日志输出格式 六、配置不同的Appender 1. 输出到文件 2. 输出到数据库 七、自定义Logger配置 总结 前言…

超简单理解LSTM和GRU模型

目录 参考资料 RNN在反向传播时容易遭受梯度消失的问题,而梯度是用于更新神经网络权重的关键因子,梯度消失描述的是梯度在时间序列反向传播中逐渐减小的情况。 若梯度过小,它对于网络的学习贡献甚微。结果是,在RNN中,梯…

unity游戏开发003:深入理解Unity中的坐标系

Unity游戏开发 “好读书,不求甚解;每有会意,便欣然忘食。” 本文目录: Unity游戏开发 Unity游戏开发深入理解Unity中的坐标系前言1. 坐标轴2. 左手坐标系3. 世界坐标系 vs. 局部坐标系4. 坐标变换5. 注意事项 总结 深入理解Unity中…

基于STM32开发的智能家居温控系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 初始化代码控制代码应用场景 家庭智能温控办公室环境监测常见问题及解决方案 常见问题解决方案结论 1. 引言 智能家居温控系统通过整合温度传感器、湿度传感器、风扇和加热器等硬件&#xf…

【数据结构进阶】哈希的应用

🔥个人主页: Forcible Bug Maker 🔥专栏: C || 数据结构 目录 🌈前言🔥位图位图的概念位图的实现位图的变体 🔥布隆过滤器布隆过滤器的概念布隆过滤器的插入布隆过滤器的查找布隆过滤器的删除布…

Windows 10/11和Linux双系统用户请勿安装最新更新 否则将无法启动

据蓝点网报道,Windows 10/11 最新累积更新存在已知问题,如果你同时安装了 Linux 双系统则会在更新后导致系统无法正常启动。 启动时会出现如下报错: Verifiying shim SBAT data failed: Security Policy Violation.Something has gone serio…

Python 绘图入门

数据可视化的概念及意义 数据可视化有着久远的历史,最早可以追溯至10世纪,至今已经应用和发展了数百年。不知名的天文学家是已知的最早尝试以图形方式显示全年当中太阳,月亮和行星的位置变化的图。 图1 数据可视化的发展历程 什么是数据可视…

顶级期刊TMI论文解读┆PLHN: 用于DCE-MRI影像中乳腺肿瘤分割的原型学习引导混合网络

一、论文简介 本推文详细介绍了一篇上海理工大学健康科学与工程学院医学信息工程研究所(以下简称为医信所)周雷副教授课题组的最新论文《Prototype Learning Guided Hybrid Network for Breast Tumor Segmentation in DCE-MRI》,该论文发表在…

【Rust】使用开源项目搭建瓦片地图服务

本文通过获取在线和离线地图数据,使用开源Rust项目搭建瓦片地图服务,并使用DevExpress的MapControl控件使用自建地图服务 获取地图数据 获取地图数据有很多种方式,这里分别用在线和离线地图数据举例说明 在线下载瓦片地图 打开在线瓦片地…

搭建内网开发环境(一)|基于docker快速部署开发环境

引言 最近因需要搭建一套简易版的纯内网的开发环境,服务器采用 centos8.0,容器化技术采用 docker 使用 docker-compose 进行容器编排。 该系列教程分为两大类: 软件安装和使用,这类是开发环境常用的软件部署和使用,涉…

Oracle VM VirtualBox虚拟机内存不够用的解决方案

一、 前言 在使用Oracle VM VirtualBox虚拟机的过程中,随着时间的推移,我们会感觉我们的内存越来越不够用,今天就来给大家分享一下我们如何解决虚拟机内存不够用的问题。 二、解决方法 1.虚拟机碎片化整理 我们第一步要做的是碎片整理&…

VScode找python环境 (conda)

CtrlshiftP 会弹出如下框: 框里输入: Python:Select Interpreter 会得到: