首页 > 其他分享 >Turbo Sparse:关于LLM稀疏性的探索

Turbo Sparse:关于LLM稀疏性的探索

时间:2024-08-10 22:56:59浏览次数:13  
标签:Turbo LLM text self 稀疏 FFN Sparse xW silu

本文地址:https://www.cnblogs.com/wanger-sjtu/p/18352898

关于llama稀疏性的观察

llama原始模型的FFN计算过程为:

\[f(x) = \text{silu}(xW_{Gate}) \odot xW_{UP} \times W_{Down} \]

class FeedForward(nn.Module):
    def forward(self, x):
        return self.w2(F.silu(self.w1(x)) * self.w3(x))
Model Sparisty
Llama-2-7B 40%
ReLULlama-7B 67%
ShiftedReLULlama-7B 71%

论文统计首层transformer block FFN层的稀疏性质,原生FFN的稀疏性仅有40%,激活函数由silu替换为Relu后可以达到67%,而ShiftedReLU可进一步提高到71%。
从FFN层的计算上来看,表面上是Gate部分作为门控控制了计算的稀疏性,实际上Up、Gate共同控制了计算的稀疏性,所以很自然的就引出了drelu的方案

\[\text{Combined dReLU} (x) := max(0, xW_{gate} ) \odot max(0, xW_{up} ) \]

从训练过程上来看,替换以后收敛性没有影响,结果的评价指标上也没有太大影响。

下一步就是进一步评价下修改以后得稀疏度了。这里没有直接用两个mask的交集,而是按照topk的方法做了评测

\[\text{Mask}(x) := Top_k(|\text{Combined}(x)|) \]

\[ \text{Gated-MLP}(x) := (\text{Combined}(x) ∗ \text{Mask}(x))W_{down} \]

显然效果显著。不影响模型表现的情况下,稀疏到达到了80%,而牺牲一定精度的条件下可以到达90%

Sparsity of Sparsifi ed Models

标签:Turbo,LLM,text,self,稀疏,FFN,Sparse,xW,silu
From: https://www.cnblogs.com/wanger-sjtu/p/18352898

相关文章

  • pydantic实现LLM ReAct
    在今天的AI项目中,大模型的集成几乎成为了一种常态,但如何在保证输出的可控性和解释性的同时利用这些模型执行各种下游任务,一直是一个技术挑战。本文将介绍一个名为ReAct的系统,该系统通过结合大规模语言模型的输出与Python开发紧密合作,提供了一种新颖的解决方案。代码开源在G......
  • LLM大模型的书那么多,如何快速选到适合自己的那一本?
    大模型的书这么多,该怎么选呢?今天就来教大家怎么快速地从众多大模型书中选到你想要的那一本!朋友们如果有需要这些大模型书扫码获取~​大模型基础大模型入门不可错过的一本书,就是这本大模型界的经典畅销书《大规模语言模型》!系统性强,内容适合初学者,如果你想知道如何构......
  • LLM大模型:LLaVa多模态图片检索原理
    训练安全垂直领域的LLM,会用到很多著名安全论坛(52pojie\kanxue\xianzhi\freebuf等)、博客的数据,这些数据100%都有很多图片(文不如图嘛,图片比文字更直观,更容易表达业务意义),之前微调LLM只能使用文字,图片只能丢弃,非常可惜,需要利用多模态的技术充分提取图片信息! 1、以前做传......
  • LLM-文心一言:Gradle依赖配置
    Gradle依赖配置是Gradle构建系统中的一个重要部分,它允许开发者指定项目所需的各种库和模块。Gradle提供了多种依赖配置选项,以满足不同的项目需求。以下是对Gradle依赖配置的详细说明:一、依赖配置类型implementation作用:用于声明编译时依赖,但不会对模块的消费者(即使用此模块作为......
  • LLM-文心一言:connectTimeout , readTimeout
    在网络编程和HTTP客户端库(如ApacheHttpClient、OkHttp、Retrofit等)中,connectTimeout和readTimeout是两个重要的超时设置,它们用于控制网络请求的行为,以提高应用的健壮性和用户体验。connectTimeout(连接超时)connectTimeout指的是客户端尝试与服务器建立TCP连接时等待的最长时......
  • 全网最全:一文入门最热的LLM应用开发框架LangChain_langchain框架
    f####1.LangChain简介1.1.LangChain发展史LangChain的作者是HarrisonChase,最初是于2022年10月开源的一个项目,在GitHub上获得大量关注之后迅速转变为一家初创公司。2017年HarrisonChase还在哈佛上大学,如今已是硅谷的一家热门初创公司的CEO,这对他来说是......
  • 主打一个免费:英智LLM推理API,主流大模型API任你选!
     人工智能(AI)技术的飞速发展已经成为各行各业的关键驱动力,尤其是大语言模型(LLM)正在成为推动下一波技术创新浪潮的颠覆性力量。开发者如何享受LLM带来的红利,创造出优秀的应用?实践证明,使用大语言模型API,可以有事半功倍的效果! 部署过大模型的小伙伴应该都清楚,在本地部署L......
  • 简短而精辟: 用什么样的约束思路能提高 (LLM) 成绩?
    欢迎来到[云闪世界](www.cloud88.xyz)。有时几个词就足够了:减少输出长度以提高准确性![](https://img2024.cnblogs.com/blog/3500014/202408/3500014-20240808135437935-347603220.png)简洁是雄辩的一大魅力。——马库斯·图留斯·西塞罗简洁和简练是纠正之父。——何西阿·巴......
  • 下载量10w+!LLM新书《大型语言模型:语言理解和生成》pdf免费分享
    下载量10w+!LLM新书《大型语言模型:语言理解和生成》pdf免费分享近年来,人工智能在新语言能力方面取得了显著进展,深度学习技术的快速发展推动了语言AI系统在文本编写和理解方面的表现。这一趋势催生了许多新功能、产品和整个行业的兴起。书旨在为Python开发者提供实用......
  • 一文搞定:LLM并发加速部署方案(llama.cpp、vllm、lightLLM、fastLLM)
    llama.cpp、vllm、lightllm、fastllm四种框架的对比:llama.cpp:基于C++,①请求槽,②动态批处理,③CPU/GPU混合推理vllm:基于Python,①PagedAttention高效管理注意力KV内存,②连续动态批处理,③量化GPTQ/AWQ/SqueezeLLM等。lightllm:基于Python,①三进程异步协作,②动态批处理,③Fla......