ReLU Strikes Back: Exploiting Activation Sparsity in Large Language Models

本文主要是介绍ReLU Strikes Back: Exploiting Activation Sparsity in Large Language Models,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

iclr 2024 oral reviewer 评分 688

1 intro

  • 目前LLM社区中通常使用GELU和SiLU来作为替代激活函数,它们在某些情况下可以提高LLM的预测准确率
  • 但从节省模型计算量的角度考虑,论文认为经典的ReLU函数对模型收敛和性能的影响可以忽略不计,同时可以显着减少计算和权重IO量\
    • ​​​​​​​

2 激活函数影响效果吗?

  • 选用了开源的大模型 OPT,Llama和Falcon
  • 训练数据使用RefinedWeb
  • 分别进行了预训练和finetune两个实验

2.1 不同激活函数对比

2.2 平均激活稀疏度

2.3 从头训练,各个激活函数的效果

使用不同的激活函数时,模型的性能非常相似。

3 ReLU充当预训练LLM的润滑剂

  • 通过上一节的实验,LLM的预测准确率并不依赖于激活函数的类型
  • 但现有大多数LLM均使用ReLU之外的激活函数进行训练
    • —>为了在推理阶段使这些LLM结合ReLU激活的计算优势,论文进行了各种架构改进实验
      • 将ReLU插入到预训练LLM中,模型在微调过程中可能快速的恢复性能,同时提高推理时的稀疏性
      • 作者将这一过程称为对LLM的“再润滑”(ReLUfication)

3.1 阶段1:替换非ReLU激活函数成ReLU

  • 阶段1:使用ReLU替换到LLM中的其他激活函数
    • 在Falcon 和 Llama分别替换 GELU 和 SiLU
    • 由于 OPT 模型已经使用 ReLU 激活,因此这里保持不变

3.1.1 替换后的激活稀疏程度

3.1.2 替换后的网络预测倾向

  • 论文测量了Falcon 和 Llama 预训练模型的预激活分布情况
  • 可以看出,在微调阶段,这个分布本身的变化并不明显
  • ——>表明网络的预测倾向在引入稀疏性时并不会改变,具有良好的稳定性

3.1.4 模型预测准确率随ReLU不断微调的变化情况

模型在微调阶段很快恢复了其原本的性能,其中Llama(绿色线条)完美的达到了ReLU插入之前的预测准确率

3.2阶段2:进一步稀疏化

  • 在一阶段中,作者插入了ReLU来替代其他激活函数,这会导致模型down projection层的输入变稀疏
  • 除了down projection层之外,transformer的解码器层中还有其他复杂的矩阵向量乘法
    • 例如注意力层中的QKV projection,这些矩阵向量乘法大约占总计算量的约 55%
    • ——>对这一部分进行二次稀疏也非常重要
  • 在现代transformer层中,注意力层和 FFN 层的输入都来自归一化层(LayerNorm)
    • 这些层可以被视为 MLP 的一种特定形式,因为它们并不是学习参数,而是学习如何对输入数据进行缩放
    • ——>将ReLU接在归一化层之后来进行二阶段的稀疏激活

3.2.1 进一步稀疏化之后,模型的稀疏程度和zero-shot预测精度

对LLM的不同部位进行稀疏化后,模型的zero-shot精度变化并不明显,但是计算量的差异很大

这篇关于ReLU Strikes Back: Exploiting Activation Sparsity in Large Language Models的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/893619

相关文章

shader language学习(1)——shader language简介背景

shader language,称为着色语言,shade在英语是阴影、颜色深浅的意思。shader language基于物体本身属性和光照条件,计算美格橡塑的颜色值。 实际上这种解释具有明显的时代局限性,在GPU编程发展的早期,shader language的提出目标是加强对图形处理算法的控制,所以对该语言的定义也针对于此。但随着技术的进步,目前的shader language早已经用于通用计算

Retrieval-Augmented Generation for Large Language Models A Survey

Retrieval-Augmented Generation for Large Language Models: A Survey 文献综述 文章目录 Retrieval-Augmented Generation for Large Language Models: A Survey 文献综述 Abstract背景介绍 RAG概述原始RAG先进RAG预检索过程后检索过程 模块化RAGMo

AI 大模型企业应用实战(10)-LLMs和Chat Models

1 模型 来看两种不同类型的模型--LLM 和聊天模型。然后,它将介绍如何使用提示模板来格式化这些模型的输入,以及如何使用输出解析器来处理输出。 LangChain 中的语言模型有两种类型: 1.1 Chat Models 聊天模型通常由 LLM 支持,但专门针对会话进行了调整。提供者 API 使用与纯文本补全模型不同的接口。它们的输入不是单个字符串,而是聊天信息列表,输出则是一条人工智能

C++ std::vector 的 emplace_back 能否完全取代 push_back

区别: push_back:先在调用处构造一次 class,传递进 push_back 内后再进行拷贝到缓冲区。 emplace_back:在内部直接将构造 class 的参数转发构造到缓冲区。   如果以上说法不好理解,那么用代码来表示。 // 该 Class 支持隐式构造class Class{public:Class(int a) : _a(a) {}int _a;};ve

OSS报错The difference between the request time and the current time is too large

目录 一、问题描述二、问题原因三、解决方法 一、问题描述 文件上传阿里云 OSS 报错: The difference between the request time and the current time is too large 二、问题原因 请求发起的时间超过 OSS 服务器当前时间 15 分钟,OSS 判定该请求无效,返回报错。 三、解决方法 OSS

Kivy tutorial 008: More kv language

Kivy tutorial 008: More kv language – Kivy Blog Central themes: Event binding and canvas instructions in kv language 中心主题: 事件绑定 和 kv语言里的画布结构 This tutorial directly follows on from the previous, so s

阅读笔记——《Large Language Model guided Protocol Fuzzing》

【参考文献】Meng R, Mirchev M, Böhme M, et al. Large language model guided protocol fuzzing[C]//Proceedings of the 31st Annual Network and Distributed System Security Symposium (NDSS). 2024.(CCF A类会议)【注】本

从同—视角理解扩散模型(Understanding Diffusion Models A Unified Perspective)

从同—视角理解扩散模型 Understanding Diffusion Models A Unified Perspective【全公式推导】【免费视频讲解】 B站视频讲解 视频的论文笔记 从同一视角理解扩散模型【视频讲解笔记】 配合视频讲解的同步笔记。 整个系列完整的论文笔记内容如下,仅为了不用—一回复,共计14个视频讲解笔记,故设定了一个比较低的价格(粉丝仅6毛),大家可以自取。

Autoencoder(AE)、Variational Autoencoder(VAE)和Diffusion Models(DM)了解

Autoencoder (AE) 工作原理: Autoencoder就像一个数据压缩机器。它由两部分组成: 编码器:将输入数据压缩成一个小小的代码。解码器:将这个小代码还原成尽可能接近原始输入的数据。 优点和应用: 简单易懂:用于学习数据的特征和去除噪声。应用场景:例如可以用来缩小图像的大小但保留关键特征,或者去除文本数据中的错误。 挑战: 数据损坏:如果输入数据太乱,编码器可能无法有

Mistral AI最新力作——Mistral Large媲美GPT-4

Mistral AI自豪地宣布,他们的最新力作——Mistral Large,已经正式面世。这款尖端的文本生成模型不仅在多语言理解上表现出色,更在推理能力上达到了顶级水平。Mistral Large能够处理包括文本理解、转换和代码生成在内的复杂多语言推理任务。 Mistral Large(预训练版本)与其他顶级语言模型(如 GPT-4、Claude 2、Gemini Pro 1.0、GPT