Skip to content

swiglu融合优化

问题分析

swiglu常见于LLaMA、LLaMA2、Baichuan等大模型中的激活层,由于torch侧没有提供swiglu算子的接口,因此在模型中通常是以小算子的形式出现,这种形式的执行效率相对较低。

解决方法

MindSpeed将swiglu操作合并成一个融合算子,减少数据传输和临时存储。算子接口见link

使用场景

模型使用swiglu作为MLP层激活函数,脚本中设置了--swiglu

使用方法

Legacy分支下,设置--use-fused-swiglu即可调用swiglu融合算子。mcore分支下默认使能该融合算子,与竞品策略保持一致。

使用效果

开启融合算子可以节省内存,提升性能。

Maintained by Robin