标题:MoEfication:Transformer前馈层是多个Expert的组合
编者的总结:
- 本文提出前馈神经网络有功能分区的概念,即对于某一个输入,只有一部分神经元被激活,大部分神经元静默摸鱼。
- 因此提出聚类方法,本质上是预测对于某个输入x,那些神经元最可能被激活,然后只用这些神经元做推理,可以起到加速效果。
编者的思考
- 具体方法层面还过于简单,方法有效性仍需广泛验证
Abstract & Introduction
- 占Transformer参数量2/3的前馈层的计算模式仍不清楚;
- 作者发现,给定一个输入,大部分的神经元都没有被激活(这里的激活指的是ReLU激活函数输出大于0)
- e.g.: T5-Large模型中,90%的输入只能激活不到5%的神经元
- 由此发出疑问,前馈神经网络是否也如人脑一样存在功能分区,每个输入只会用到一部分分区?
- 因此作者提出idea:首先将神经网络的参数划分成多个分区,然后每次inference只用一部分功能分区。(类似于MoE的思路,Mixture-of-Experts)
- 接下来就是两个问题,如何划分,如何选取。
3 MoEfication
![](https://img.haomeiwen.com/i19530395/857900ad9445d3bd.png)
3.2 Expert Construction
神经元划分方面:
- 核心idea就是将经常同时激活的神经元放到同一个分区里面,具体方法有以下两种:
- 将参数矩阵做平衡K-means进行聚类,因为可以想到距离较近的参数向量产生的输出值也会相近。
-
将神经元表示在图上面,神经元之间的距离使用co-activation度量,这个距离表示两个神经元同时激发时的值的积,需要从训练集中抽样用以计算这个距离。最后使用图分区算法做划分。
image.png
3.3 Expert Selection
分区选取方面:
- 核心目标是能选到一组分区,使其输出和全部神经元的输出尽可能接近。
- 基本思路是给每个分区打分,固定选n个分最高的分区。打分方法有以下三种:
- Groundtruth selection:每个分区的都算一遍激活,然后累加正值,作为分数;
- Similariyu Selection:每个分区的权重矩阵的所有列直接相加,和输入做cosine相似性作为分数;
- MLP Selction:训练一个多层感知机,输入就是x,输出是预测分数,label就是第一种的ground truth,所以本质上是第一种的近似方法。
网友评论