作者热门文章
- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
本文地址:https://www.cnblogs.com/wanger-sjtu/p/18352898 。
llama原始模型的FFN计算过程为:
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的方案 。
从训练过程上来看,替换以后收敛性没有影响,结果的评价指标上也没有太大影响.
下一步就是进一步评价下修改以后得稀疏度了。这里没有直接用两个mask的交集,而是按照topk的方法做了评测 。
显然效果显著。不影响模型表现的情况下,稀疏到达到了80%,而牺牲一定精度的条件下可以到达90% 。
最后此篇关于TurboSparse:关于LLM稀疏性的探索的文章就讲到这里了,如果你想了解更多关于TurboSparse:关于LLM稀疏性的探索的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
本文地址:https://www.cnblogs.com/wanger-sjtu/p/18352898 关于llama稀疏性的观察 llama原始模型的FFN计算过程为: \[f(x) =
我是一名优秀的程序员,十分优秀!