论文阅读-Transformer Layers as Painters

news2024/11/27 8:48:06

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.coloradmin.cn/o/2044971.html

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

相关文章

四路一体行车记录仪,语音提示注意行人,保障车辆行驶安全

在叉车、货车、客车等行业中,随着运输业务量的不断增加,行车安全问题已经成为了一大难题。经常会发生车祸、司乘人身安全无保障、货物损失等意外情况,这些事件不仅会给企业带来经济损失,也会影响对应行业的整体形象。 如何提高运…

服装行业的利器:RFID智能吊挂分拣系统

服装行业的利器:RFID智能吊挂分拣系统 服装业继续走粗放型老路的利润空间越来越小,行业内过度竞争利润降低,原料价格上涨导致成本上升。企业内部生产技术创新不足、工厂生产效率低,导致产出不够、货期竞争乏力。企业为了盈利生存…

C++中STL的sring类常用接口及其源码解析

1. 为什么会有string类? C语言中的字符串 C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数, 但是这些库函数与字符串是分离开的,不太符合OOP的思想&#xff0…

VS2022快速搭建OLLVM

基本参考这篇文章: 构建含有ollvm功能的LLVM(clang-cl)供Microsoft Visual Studio 2022使用 - 哔哩哔哩 前提 已安装VS2022 1.VS开启Clang支持 我们要用自己的Clang,所以无需安装VS提供的clang编译器,而且体积太大了,10多个G&…

Jmeter基础与概念详解

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 JMeter 介绍: 一个非常优秀的开源的性能测试工具。 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来。 从性能…

c++模板进阶——模板特化和模板分离编译

目录 前言: 1. 非类型模板参数 2. 模板的特化 2.1 概念 2.2 函数模板特化 2.3 类模板特化 2.3.1 全特化 2.3.2 偏特化 2.3.3 类模板特化应用示例 3 模板分离编译 3.1 什么是分离编译 3.2 模板的分离编译 3.3 解决方法 4. 模板的优缺点 前言&#xf…

Zotero 常用插件介绍

1. Zotero 插件安装方法 下载以 .xpi 结尾的插件;打开 Zotero → 工具 → 插件 → 右上小齿轮图标 → Install Add-on From File ... → 选择下载好的 .xpi 插件安装 → 重启 Zotero 2. 常用插件介绍 2.1. Scholaread - 靠岸学术 Zotero 英文文献相关插件&#xf…

Spring中使用JdbcTemplate访问数据库

首先在原来的基础上添加jar包&#xff0c;建一个测试数据库pring5&#xff0c;里边新建两个表users&#xff0c;authorities&#xff0c;user_authority&#xff1a; <dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc<…

目标检测之数据增强

一、概述 数据增强是一种通过人工或自动方式对数据进行修改或变换&#xff0c;以增加数据集规模和多样性的技术。在机器学习中&#xff0c;数据增强被广泛应用于解决数据稀缺、数据不平衡、数据噪声等问题&#xff0c;提高模型的泛化能力和鲁棒性。 二、为什么需要数据增强 …

JAVA智慧养老护理帮忙代办陪诊陪护系统小程序源码

&#x1f475;&#x1f3fc;&#x1f496;科技温暖夕阳红 —— 探索“智慧养老护理帮忙代办陪诊陪护系统” 一、引言&#xff1a;科技如何温柔拥抱银发族&#xff1f; 在快节奏的现代生活中&#xff0c;如何给予家中长辈更周全的关怀与照顾&#xff0c;成为了许多家庭面临的难…

Unity 编写自己的aar库,并通过AndroidJavaProxy调用访问和返回

安卓部分 我们首先创建一个空项目&#xff0c;我们不需要Activity&#xff0c;所以可以选择NoActivity。 输入一个包名&#xff0c;我们用不到这个主app包名。 项目创建好后&#xff0c;再创建新Module 左边我们选择AndroidLibrary&#xff0c;然后输入包名&#xff0c;这个…

如果使用finalshell登录linux服务器之后,上传文件失败,可能是没有使用sudo权限

先随便使用sudo命令拷贝一个文件到另外一个地方&#xff0c;然后输入密码&#xff0c;再次上传就可以了 例如&#xff1a; sudo cp index.html eventWeb/ 会提示你输入密码&#xff0c;输入之后&#xff0c;再次使用finalshell上传文件就可以了&#xff1a;

MQ的介绍

一、MQ简介 MQ是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信&#xff0c;主要功能是业务解耦 二、常见的MQ产品 RabbitMQ、RocketMQ、Kafka、ActiveMQ 三、为什么要用MQ&#xff1f;&#xff08;MQ的优点&#xff1a;异步处理、应用解耦、流量削峰&a…

前端 获取时间范围内的所有周数组集合,第一项为首月的首个周一

具体可实现的效果例如&#xff1a; 数据格式&#xff1a; 具体代码实现&#xff1a; /*** 获取当前日期的第一个周一是哪天* params date - YYYY-MM*/function getMonthFirstWeekDay(date) {let year new Date(date).getFullYear();let month new Date(date).getMonth();for …

linux:有关目录、链接文件的函数 Makefil、gdb的使用

目录函数 1.getpwuid struct passwd *getpwuid(uid_t uid); 功能: 根据用户id到/etc/passwd文件下解析获得 结构体信息 参数:uid:用户id 返回值: 成功返回id对应用户的信息 失败返回NULL passwd 结构体的定义通常如下所示 struct passwd { char *pw_nam…

opencv-特征检测

1&#xff0c;Harris角点检测 如果粉色窗口向四周移动&#xff0c;窗口内的像素没有变化则认定为平坦区域&#xff0c;如果窗口向上移动无明显变化&#xff0c;而左右移动有变化则认定为边缘&#xff0c;如果窗口向任意方向移动均有明显变化则为角点&#xff0c;如下图 dst不是…

MSSQL暴力破解

一、基本信息 靶机&#xff1a;IP&#xff1a;192.168.100.70 二、攻击过程 方法一&#xff1a;msfconsole 启动 msfconsole msfconsole 选用攻击模块&#xff0c;并设置参数 use auxiliary/scanner/mssql/mssql_login set rhosts 192.168.100.70 set USER_FILE /userna…

探舟数字与周村古商城景区携手签署AI导游导览合作协议

导语&#xff1a; 近日&#xff0c;国内领先的科技公司广州探舟数字科技有限公司&#xff08;以下简称探舟数字&#xff09;与国家5A级景区创建单位、国家级夜间文化和旅游消费集聚区山东周村古商城正式签署合作协议&#xff0c;共同推进AI导游导览系统的全面应用。此次合作标…

【Java数据结构】---List(ArrayList)

乐观学习&#xff0c;乐观生活&#xff0c;才能不断前进啊&#xff01;&#xff01;&#xff01; 我的主页&#xff1a;optimistic_chen 我的专栏&#xff1a;c语言 &#xff0c;Java 欢迎大家访问~ 创作不易&#xff0c;大佬们点赞鼓励下吧~ 文章目录 前言线性表顺序表&#x…

虚幻5|给武器添加碰撞检测与伤害

本章内容衔接上两章&#xff0c;需要完成上两章才能用本章内容 虚幻5|角色武器装备的数据库学习&#xff08;不只是用来装备武器&#xff0c;甚至是角色切换也很可能用到&#xff09;-CSDN博客虚幻5|普通攻击&#xff0c;使用接口更方便-CSDN博客 如有疑问&#xff0c;可访问…