【自然语言处理】Transformer中的一种线性特征

news2024/11/25 4:19:12

相关博客
【自然语言处理】【大模型】语言模型物理学 第3.3部分:知识容量Scaling Laws
【自然语言处理】Transformer中的一种线性特征
【自然语言处理】【大模型】DeepSeek-V2论文解析
【自然语言处理】【大模型】BitNet:用1-bit Transformer训练LLM
【自然语言处理】BitNet b1.58:1bit LLM时代
【自然语言处理】【长文本处理】RMT:能处理长度超过一百万token的Transformer
【自然语言处理】【大模型】MPT模型结构源码解析(单机版)
【自然语言处理】【大模型】ChatGLM-6B模型结构代码解析(单机版)
【自然语言处理】【大模型】BLOOM模型结构源码解析(单机版)

论文名称:Your Transformer is Secretly Linear

论文地址:https://arxiv.org/pdf/2405.12250

一、简介

  • 本文揭示了transformer decoder独有的一种线性特征。分析相邻层的embedding变换,发现其具有接近完美的线性关系。
  • 由于transformer层输出的范数一直很小,当移除残差链接时,线性度下降。
  • 实验显示,当移除特别接近于线性的模块或者使用线性近似这些模块,对loss或者模型表现几乎没有影响。
  • 通过在预训练中引入基于cosine相似度的正则化项来降低层的线性度,改善了模型在TinyStories和SuperGLUE上的效果。

二、线性评分

在这里插入图片描述

​ 将Procrustes相似度推广到任意线性变换,从而实现了一种评估两组向量线性依赖程度的度量指标。

​ 令 X , Y ∈ R n × d X,Y\in\mathbb{R}^{n\times d} X,YRn×d表示embedding集合。为了计算线性评分,先计算规范化矩阵 X ~ = X / ∥ X ∥ 2 , Y ~ = Y / ∥ Y ∥ 2 \tilde{X}=X/\parallel X\parallel_2,\tilde{Y}=Y/\parallel Y\parallel_2 X~=X/X2,Y~=Y/Y2。那么线性评分为
linearity_score = 1 − min ⁡ A ∈ R d × d ∥ X ~ A − Y ~ ∥ 2 2 \text{linearity\_score}=1-\min_{A\in R^{d\times d}}\parallel\tilde{X}A-\tilde{Y}\parallel_2^2 \\ linearity_score=1ARd×dminX~AY~22
这个形式与Procrustes相似度几乎一致。仅有的差别是在考虑最小化时考虑所有线性变换,而不仅仅是正交变换,从而找出最优映射的均分误差。

​ 这种方式在评估embedding线性度方面更具鲁棒性。不同于 L 2 L_2 L2范数,其缺少尺度不变性,Procrustes normalization能够提供一个介于[0,1]的有界度量指标。令人惊讶的是,所有测试的transformer decoders的线性分数都接近于1,也就表明embedding的变换高度地线性(如上图1左所示)。

​ 通过将每层的embedding值减去前一层embedding来评估main stream的线性度(即是否使用残差链接的embedding),发现线性程度显著下降。此外,每个块对于范数的贡献较低会导致相邻层的embedding的cos相似度接近。

​ 从另一个角度来看,看似线性块的组合可能导致非线性的结果。之前的一些研究也表明,应用了注意力头的transformer可以跨神经网络组件编码复杂特征。这也表明线性变换的累计影响可能会编码复杂的非线性表示。

三、预训练和微调中的线性动态

在这里插入图片描述

​ 进一步探索在预训练和微调过程中的线性度动态。

​ 如上图2所示,随着模型预训练的进行,main stream的线性度逐步下降。这种现象在所有测试的模型中都存在,这表明其是transformer-decoder学习动态的一个基础性质。

​ 跨各种任务的微调阶段与预训练阶段相反,所有模型在微调过程中的线性度会增加。这个发现表明,任务相关的微调倾向于强化transformer模型中的线性特征。

四、使用正则化预训练改善线性度

​ 为了理解transformer模型中线性度的影响,使用尺寸大小为150M和650M的Mistral架构进行预训练实验。这些模型在精心挑选的干净数据集上预训练,包括TinyStories和Tiny-textbooks。

​ 引入特定的loss项来调整transformer层之间embedding的关系:

  • MSE正则化项
    对连续层之间的embedding使用MSE正则化项,最小化这些embedding的距离,促进层间一致性。
    L MSE = λ ∑ ( ∥ emb i − emb i − 1 ∥ 2 ) L_{\text{MSE}}=\lambda\sum(\parallel\text{emb}_i-\text{emb}_{i-1} \parallel^2) \\ LMSE=λ(embiembi12)

  • Cosine相似度正则化项
    使用cosine相似度正则化项将相邻层的embedding角度差异降低至0。
    L cosine = λ ∑ ( 1 − cos ⁡ ( emb i , emb i − 1 ) ) L_{\text{cosine}}=\lambda\sum(1-\cos(\text{emb}_i,\text{emb}_{i-1})) \\ Lcosine=λ(1cos(embi,embi1))

​ 使用基于cosine的方法能够实现最好的结果,能够使得cosine相似度接近于1。该方法在增强模型效果方面很有前景。通过GPT-4在TinyStories、线性探针技术和SuperGLUE基准上评估方法有效性。结果如下表2和下表3所示。
在这里插入图片描述
在这里插入图片描述

​ 此外,如下图4所示,使用这种正则化项进行预训练后,线性评分更低。

在这里插入图片描述

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

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

相关文章

【RuoYi】实现二级页面跳转

一、前言 在我们写项目的时候,很多时候都会用到二级页面的跳转,RuoYi框架中也不例外,RuoYi虽然前端用的是vue,但是因为其有权限设置,在实现二级页面跳转的时候和普通的页面跳转有所区别,博主这里进行记录&a…

基于朴素贝叶斯算法的新闻类型预测,django框架开发,前端bootstrap,有爬虫有数据库

背景 在当今信息爆炸的时代,新闻内容的分类和预测对于用户个性化推荐和信息检索至关重要。基于朴素贝叶斯算法的新闻类型预测系统结合了机器学习和自然语言处理技术,能够根据新闻内容自动进行分类,提高新闻处理效率和准确性。采用Django框架…

LeetCode-47 全排列Ⅱ

LeetCode-47 全排列Ⅱ 题目描述解题思路代码说明 题目描述 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 : 输入:nums [1,1,2]输出: [[1,1,2], [1,2,1], [2,1,1]] b站题目解读讲的不好&…

【机器学习】Transformer模型大小与性能探究

Transformer模型大小与性能:不仅仅是尺寸的问题 一、Transformer模型的挑战二、经验标度定律的局限性三、记忆过程与性能动态五、结论与展望 在人工智能和机器学习的领域里,模型的大小与性能之间的关系一直是研究人员关注的焦点。然而,最近的…

CUDA学习(2)

什么是CUDA CUDA(Compute Unified Device Architecture),统一计算设备架构,英伟达推出的基于其GPU的通用高性能计算平台和编程模型。 借助CUDA,开发者可以充分利用英伟达GPU的强大计算能力加速各种计算任务。 软件生…

下载安装node.js,查看node.js版本

目录 一、下载安装node.js 二、查看node.js版本 三、使用nvm管理node.js版本 一、下载安装node.js 文档 nodejs中文网•学习教程•入门•如何安装 Nodejshttps://nodejs.cn/en/learn/getting-started/how-to-install-nodejs 步骤 1.进入node.js官网 nodejshttps://nodejs.…

解决:写路由文件时引入页面路径没有提示

1、首先安装插件: Path Autocomplete 2、配置settings.json 文件 复制下面代码到settings.json配置文件中: "path-autocomplete.pathMappings": {"": "${folder}/src/","views": "${folder}/src/views/&…

Python考试复习---day5

1.打印商品名 ainput().split() print("商品列表:") for i,name in enumerate(a):print("{}\t{}".format(i,name))enumerate----枚举--利用它可以同时获得索引和值 enumerate多用于在for循环中得到计数 例如: list1 ["这&qu…

centos7_VNC_install

文章目录 1. overview2, 开始安装3. VNC调试参考4. 常见错误 1. overview VNC,全称为Virtual Network Computing,它是一个桌面共享系统。它的功能,类似于windows中的远程桌面功能。VNC使用了RFB(Remote FrameBuffer,远程帧缓冲&a…

[数据集][目标检测]猫狗检测数据集VOC+YOLO格式8291张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):8291 标注数量(xml文件个数):8291 标注数量(txt文件个数):8291 标注…

装饰画行业要怎么做

在当今社会,随着人们生活水平的提高和审美需求的多样化,装饰画行业迎来了新的发展机遇。面对激烈的市场竞争和消费者日益挑剔的眼光,装饰画行业需要不断创新,以适应市场的变化和满足消费者的个性化需求。 装饰画行业要紧跟时代潮流…

【深度学习】安全帽检测,目标检测,yolov10算法,yolov10训练

文章目录 一、数据集二、yolov10介绍三、数据voc转换为yolo四、训练五、验证六、数据、模型、训练后的所有文件 寻求帮助请看这里: https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tabBB08J2一、数据集 安全帽佩戴检测 数据集:https://github.com/njvi…

【力扣】LCR 130. 衣橱整理

一、题目描述 二、算法思路 这是⼀道非常典型的「搜索」类问题。 我们可以通过「深搜」或者「宽搜」,从 [0, 0] 点出发,按照题目的要求(选择 向右移动一格 或 向下移动一格,但不能移动到衣柜之外 )一直往 [m - 1, …

免费的VMware ?就是它了!【送源码】

在 Docker 没有出来之前,很多项目的的部署方案是使用虚拟机,在一台服务器上创建好几个虚机出来,配置一下网络,就可以把一台服务器当做多个服务器用了。 而作为开发者来说,我们经常碰到需要使用不同操作系统的需求&…

汇编:x86汇编环境搭建与基础框架(32位)

32位汇编代码编写环境:Visual Studio(笔者用的版本为2017);先来说一下在Visual Studio 2017中编写汇编代码的准备操作: ①创建空项目 ②设置项目属性:平台工具集设置为Visual Studio 2015(v140)&#xff0…

初识Spring Cloud Gateway

文章目录 一、网关简介1.1 网关提出的背景1.2 网关在微服务中的位置1.3 网关的技术选型1.4 补充 二、Spring Cloud Gateway的简介2.1 核心概念:路由(Route)2.2 核心概念:断言(Predicate)2.3 核心概念&#…

【初阶数据结构】栈和队列(附题目)

目录 1.栈 1.1栈的概念及结构 1.2栈的实现 1.2.2实现结构的选择 a.数组 b.链表 c.更优的选择 1.2.3实现结构 a.栈的结构体 b.栈的初始化 c.栈的销毁 d.入栈 e.出栈 f.获取栈顶元素 g.获取栈中有效元素个数 h.检测队列是否为空,如果为空返回非零结…

BioVendor—sHLA-G ELISA试剂盒

人类白细胞抗原-G (HLA-G)与其他MHC类基因的不同之处在于它的低多态性和产生七种HLA-G蛋白的选择性剪接,这些蛋白的组织分布局限于正常的胎儿和成人组织,这些组织对先天和后天免疫细胞都具有耐受性。可溶性HLA-G是一种免疫抑制分子,诱导活化的…

掌握这三点软文营销秘诀,快速实现品牌用户增长

在信息爆炸的时代,品牌用户如何快速实现增长已成为每个企业发展的必经之虑。而软文营销,作为品牌推广中不可或缺的一环,也正逐渐受到越来越多企业的青睐。它与传统的硬广告相比,不会直接的进行产品销售,软文更注重与读…

[初始计算机]——计算机网络的基本概念和发展史及OSI参考模型

🏡作者主页:点击! 🤖网络通信基础TCP/IP专栏:点击! ⏰️创作时间:2024年5月30日11点59分 🀄️文章质量:96分 ​ 目录 🌐计算机网络概述 💯…