引入稀疏激活机制!Uni-Perceiver-MoE显著提升通才模型的性能
点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
点击进入—> CV 微信技术交流群
Uni-Perceiver-MoE: 稀疏激活的通才模型
论文标题:Uni-Perceiver-MoE: Learning Sparse Generalist Models with Conditional MoEs
论文地址:https://arxiv.org/abs/2206.04674
作者:Jinguo Zhu, Xizhou Zhu, Wenhai Wang, Xiaohua Wang, Hongsheng Li, Xiaogang Wang, Jifeng Dai
引言:本文提出的Uni-Perceiver-MoE首次成功将Mixture of Experts应用到“通才”模型,MoE中动态稀疏激活的机制能够有效去除通才模型由于多任务参数共享而引入的任务干扰,从而显著提升通才模型在下游任务上的表现,同时维持模型在新任务上的零样本泛化能力。
构建一个如人脑一样的能同时处理所有任务的“通才”模型一直是AI领域研究员追求的目标。近来已有多个通才模型被相继提出,如商汤提出的Uni-Perceiver、阿里提出的OFA、Deepmind提出的Gato等。通过将所有任务都建模成一个统一的范式,并在多任务大规模预训练之后,通才模型不仅仅可以使用同一套模型权重同时完成多个不同的任务,还能够在不引入任何新参数时在全新任务上进行零样本推理。
尽管通才模型在模型通用性方面已经取得了长足进步,但是相较于特定于任务而设计的算法模型,通才模型往往在一些任务上有着性能下降的现象。本论文发现通才模型共享参数在优化不同任务时由于任务干扰可能存在不同的优化梯度方向,这种优化过程中梯度的不一致性将会导致参数更新的方向相较于每个任务的最优方向来说都是不确定的,从而使得网络最终性能的下降。
本篇论文旨在于消除通才模型优化过程中存在的任务干扰问题,从而提升模型在下游任务上的性能表现。一个很自然的解决办法是在不同任务间使用独立的参数 (图3中),但是这种特定于任务的设计将会破坏通才模型的通用性。本篇论文选择了使用Mixture of Experts (MoE)来解决通才模型中的任务干扰。MoE是一种依赖于当前输入的条件计算方式,可以在不引入任何特定任务设计的前提下让网络自适应地稀疏激活部分子网络,从而为解决共享参数中的任务干扰提供了新思路。除此之外本论文还探讨了MoE如何选择有效的信息可靠激活子网络,从而在保持一个高效的计算效率的同时维持通才模型在新任务上的泛化能力。
为了消除通才模型中的任务干扰,本论文将MoE应用到了通才模型Uni-Perceiver中(表示为Uni-Perceiver-MoE)。实验结果发现MoE能够在引入较小的计算成本时有效去除通才模型中的任务干扰。在多数下游任务中,Uni-Perceiver-MoE表现出了极为理想的效果,仅使用1%的数据进行prompt tuning即能达到SOTA性能。此外,Uni-Perceiver-MoE在从未见过的新任务上面仍然保持着不错的zero-shot推理能力。图1和图2可视化了Uni-Perceiver-MoE稀疏激活情况。
图1 网络中各self attention层的稀疏激活情况 (动图)
图2 网络中各FFN层的稀疏激活情况(动图)
方法介绍:
1. 验证模型中存在的任务干扰
基于以上任务相互影响的表示方式,论文将Uni-Perceiver中训练过程中的3个任务相互影响的情况进行了统计。如表1所示,任务干扰的情况真实存在,并且在模型高层中表现明显。
表1 Uni-Perceiver中不同层中不同任务的相互影响情况
2 .解决办法
需要注意的是,没有被激活的experts将不会参与计算,因此MoE带来的额外计算是很少的。此外还可以结合重参数化技巧进一步减少计算成本。
图3 在通才模型Uni-Perceiver中引入MoE
接下来论文描述如何构建路由函数,从而将MoE成功应用到通才模型中。
3. 不同等级的路由函数
论文构建了以下五种不同等级的路由函数,并将其进行了对比:
其中是预先定义的输入token的属性向量。8维二值向量的每一维的值由表2确定。
表2:基于属性描述的8维二值向量表
图4对上述五种路由函数在多任务训练时token分配特点进行了对比。
图4 不同路由函数的对比
实验:
论文首先验证了不同路由函数的MoE在去除任务干扰时的有效性。如表3所示,任何一种MoE都能有效地减少任务之间的干扰从而提升uni-perceiver性能。在五种不同等级的路由函数中,task level和attribute level利用了任务层面的信息会取得相对更好的效果。考虑到对新任务的泛化性,论文后续实验都采用attribute level的MoE。
表3 不同路由函数对MoE性能的影响
论文也对训练结束之后attribute-level Uni-Perceiver-MoE各层的experts激活情况进行了可视化。如图1和图2所示,无论是在attention层还是在FFN层,模型都学会了参考输入属性(attributes)来分配当前token。路由函数会综合利用当前token的模态、任务等信息来自适应地选择激活部分网络,从而避免由于参数的强制共享而带来的任务干扰。
论文接下来在预训练任务上(image classification、video classification、 image-text retrieval,image caption)评估了模型性能。表4-表7的实验结果表明,通过引入MoE机制,
Uni-Perceiver-MoE能够比不带有MoE的Uni-Perceiver表现普遍要好,从而验证了引入MoE的必要性和有效性。
即使不带有任何参数调整,Uni-Perceiver-MoE的性能也能接近那些模型参数、训练数据基本相似的方法。
当使用1%的数据进行prompt tuning时,Uni-Perceiver-MoE将接近到更强的SOTA性能,即使这些方法往往具备更大的模型尺寸(>50倍)和使用了更多的训练数据(>10倍)。
进一步全数据fine-tune可以使得Uni-Perceiver-MoE几乎在所有任务上达到或者超过同模型尺寸下的SOTA结果。
表4 imagenet 1k上image classification性能
表5 Kinetics-400上video classification性能
表6 image-text retrieval性能
表7 image caption性能
论文也验证了Uni-Perceiver-MoE在从未见过的新任务上面的泛化能力,表8、表9的实验结果表明MoE稀疏激活子网络的机制不仅维持了通才模型的泛化能力,还通过去除任务之间的干扰,显著提升了这些新任务上的模型性能。
表8 新任务-GLUE性能
表9 新任务 – MSVD数据集上video-text retrieval和video caption性能
ICCV和CVPR 2021论文和代码下载
后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集
后台回复:ICCV2021,即可下载ICCV 2021论文和代码开源的论文合集
后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF
目标检测和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer6666,即可添加CVer小助手微信,便可申请加入CVer-目标检测或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲扫码或加微信: CVer6666,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!
▲扫码进群
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看
微信扫码关注该文公众号作者