美文网首页
arXiv'22-(神经元分区)MoEfication: Tra

arXiv'22-(神经元分区)MoEfication: Tra

作者: Caucher | 来源:发表于2023-05-05 18:06 被阅读0次

标题:MoEfication:Transformer前馈层是多个Expert的组合

编者的总结:

  1. 本文提出前馈神经网络有功能分区的概念,即对于某一个输入,只有一部分神经元被激活,大部分神经元静默摸鱼。
  2. 因此提出聚类方法,本质上是预测对于某个输入x,那些神经元最可能被激活,然后只用这些神经元做推理,可以起到加速效果。

编者的思考

  1. 具体方法层面还过于简单,方法有效性仍需广泛验证

Abstract & Introduction

  • 占Transformer参数量2/3的前馈层的计算模式仍不清楚;
  • 作者发现,给定一个输入,大部分的神经元都没有被激活(这里的激活指的是ReLU激活函数输出大于0)
    • e.g.: T5-Large模型中,90%的输入只能激活不到5%的神经元
  • 由此发出疑问,前馈神经网络是否也如人脑一样存在功能分区,每个输入只会用到一部分分区?
  • 因此作者提出idea:首先将神经网络的参数划分成多个分区,然后每次inference只用一部分功能分区。(类似于MoE的思路,Mixture-of-Experts)
  • 接下来就是两个问题,如何划分,如何选取。

3 MoEfication

image.png

3.2 Expert Construction

神经元划分方面:

  • 核心idea就是将经常同时激活的神经元放到同一个分区里面,具体方法有以下两种:
  1. 将参数矩阵做平衡K-means进行聚类,因为可以想到距离较近的参数向量产生的输出值也会相近。
  2. 将神经元表示在图上面,神经元之间的距离使用co-activation度量,这个距离表示两个神经元同时激发时的值的积,需要从训练集中抽样用以计算这个距离。最后使用图分区算法做划分。


    image.png

3.3 Expert Selection

分区选取方面:

  • 核心目标是能选到一组分区,使其输出和全部神经元的输出尽可能接近。
  • 基本思路是给每个分区打分,固定选n个分最高的分区。打分方法有以下三种:
  1. Groundtruth selection:每个分区的都算一遍激活,然后累加正值,作为分数;
  2. Similariyu Selection:每个分区的权重矩阵的所有列直接相加,和输入做cosine相似性作为分数;
  3. MLP Selction:训练一个多层感知机,输入就是x,输出是预测分数,label就是第一种的ground truth,所以本质上是第一种的近似方法。

相关文章

网友评论

      本文标题:arXiv'22-(神经元分区)MoEfication: Tra

      本文链接:https://www.haomeiwen.com/subject/cyrqsdtx.html