当前位置: 首页 » 资讯 » 新科技 » 正文

给视觉编码器装上"专家团队",如何让AI看图看视频又快又准

IP属地 中国·北京 科技行者 时间:2026-08-29 00:17:32


你有没有想过一个问题:为什么手机里的AI助手看一张图能秒懂,但让它多看几帧视频理解个动作,反应就慢下来了?

这背后藏着一个几乎所有做视觉AI的团队都绕不开的矛盾。想让模型更聪明,最直接的办法就是把它做得更大,参数越多,见识的东西就越多,理解力自然越强。可模型一旦变大,推理的时候就变慢,吃的显存也更多。这个问题在处理高分辨率图片或者长视频时会被放大好几倍,一点点的延迟增加,乘以视频里成百上千帧,就变成了让人难以忍受的卡顿。

这就是meta的研究者们在MoE-ViE这篇论文里想要解决的核心矛盾:怎么让视觉编码器变得更聪明,同时又不变慢。

一个老思路,搬到新战场

如果你关注过大语言模型的发展,应该听说过一个词叫混合专家模型。

**混合专家模型(Mixture-of-Experts,简称MoE):一种神经网络设计思路,模型里准备很多个"专家"子网络,但对每一个输入,只激活其中一小部分专家来处理,而不是让所有参数都参与计算。**

这个思路在ChatGPT这类大语言模型里已经证明了自己的价值,像DeepSeek、Mixtral这些明星模型,内部都用了MoE架构。道理很简单:模型的"容量"(参数总数)和它实际"干活"要花的力气(计算量)被解耦开了。你可以把模型做得很大很大,只要每次真正参与运算的那部分保持较小,速度就不会被拖慢。

但奇怪的是,这套已经在语言模型里跑通的思路,搬到视觉编码器(尤其是CLIP这类图文对比学习模型)上,却一直没有真正做出顶尖水平的效果。之前有好几篇论文尝试过给CLIP加MoE,但没有一篇真正追上过最好的密集模型(也就是不用MoE、老老实实把所有参数都用上的模型)。

这就有意思了。同一个架构思路,在语言模型上大放异彩,搬到视觉上却总是差口气,问题出在哪?

这正是MoE-ViE这篇论文要回答的问题。研究者们做了一次系统性的排查,发现了三个之前被忽略的坑,并且逐一填上了。

坑一:专家分得不够细

先说说MoE最基础的工作原理。

假设你有一个MLP层(多层感知机,神经网络里最基础的全连接层),MoE的做法是把它换成N个功能相似但参数不同的"专家"层。一张图片进来,先切成一堆图像块(token),每个token经过一个叫"路由器"的小模块,路由器会算出一个分数,决定这个token该交给哪几个专家处理。通常是选分数最高的k个专家(这叫top-k路由),最后把选中专家的输出加权汇总。

**路由器(Router):MoE架构里负责"派活"的小模块,输入一个token,输出它应该交给哪些专家处理的打分。**

关键问题来了:专家应该切多细?

之前的CLIP MoE论文,大多是把一个MLP整体复制N份,每个专家的宽度和原来的MLP一样宽,只是数量变多了。MoE-ViE的作者们反其道而行,把每个专家的隐藏层宽度缩小到原来的四分之一,但专家数量大幅增加,这样总的计算量和参数量能保持在合理范围内,但专家的"颗粒度"变细了。

这个设计思路,论文里叫"细粒度专家"(fine-grained expert)。

**细粒度MoE:把专家做得又窄又多,而不是又宽又少,让每个专家能专精处理更窄范围的视觉特征。**

为什么这么做?研究者的逻辑是这样的:一张图片包含的视觉信息其实是五花八门的,有颜色、有形状、有空间布局、有纹理,这些特征彼此差异很大,如果只有少数几个"通才"专家,每个专家都得什么都会一点,反而谁都不精。但如果专家数量多、每个专家管得窄,就有机会让某个专家专门认颜色,另一个专门认轮廓,分工更明确。

这就像一个诊所,如果只有三个全科医生,每个人内科外科妇科儿科都得懂一点,遇到复杂病例难免捉襟见肘。但如果诊所里有三十个专科医生,骨科的只看骨头,皮肤科的只看皮肤,虽然每个人懂得范围窄了,但合起来看病的精准度反而更高。如果诊所非要保留少而宽的全科医生模式,遇到需要精细鉴别的疑难杂症,大概率就得转诊耽误时间,这正是论文里对比实验想验证的:数据显示,在12.8亿样本的训练量下,传统粗粒度MoE(ViT-L/16 conventional MoE)在ImageNet-A这个高难度基准上只能达到74.9分,而细粒度设计的MoE-ViE直接冲到75.4分,在整体分类平均分上更是从78.5拉到79.6,这一分多的差距在顶尖模型的竞争里已经算是明显优势了。

论文里还有个细节值得说一说。除了这些专精的路由专家,作者还保留了少量"共享专家",这些专家不管路由器怎么打分,永远参与计算。

**共享专家(Shared Expert):MoE架构中始终被激活、不经过路由筛选的专家,负责提供一个稳定的、全局性的信息通道。**

这个设计的灵感来自于处理高分辨率图片时常用的一个技巧:把一张大图切成很多小块分别看细节的同时,也保留一张缩小的全图作为整体参考。共享专家扮演的正是这个"全局缩略图"的角色,专精的路由专家负责抓局部细节和特定风格,共享专家负责兜底,保证不管路由器怎么分配,总有一条路径在关注整体上下文。论文的消融实验(附录A.1)显示,如果完全不设共享专家,平均分类准确率是62.1,加一个共享专家能提到63.2,但如果加到4个,反而降到62.5,说明这事儿并不是越多越好,一个恰到好处。

坑二:专家之间会"内卷"或"摸鱼"

第二个问题更隐蔽一些,叫专家利用率不均衡。

想象一下,如果路由器学着学着,发现某几个专家给出的答案特别讨喜,就把大部分token都派给这几个"网红专家",其他专家长期没活干,那么MoE看起来有很多专家,实际上只有几个在真正工作,等于白白浪费了参数。

这个问题在业界有个专门的解决思路,叫负载均衡(Load Balancing),做法通常是给训练目标额外加一个"惩罚项",逼迫路由器把工作量分得更均匀。但这样做有个副作用:这个额外的惩罚项会和模型本来要优化的主任务(也就是让图文匹配得更准)产生冲突,两个目标互相拉扯,反而可能拖累模型的最终效果。

MoE-ViE这里借鉴了DeepSeek团队提出的一个巧妙思路,叫"无损失负载均衡"(loss-free balancing)。

**无损失负载均衡:不通过修改训练目标函数来强迫专家均衡工作,而是给每个专家的路由分数加一个独立调整的偏置项,根据实际工作量动态升降这个偏置,从而引导路由分配趋于均衡,同时不干扰主任务的优化方向。**

具体来说,如果某个专家这一轮接的token数量比平均值多,就把它的偏置往下调一点,下一轮就没那么容易被选中;如果某个专家接的活少,就把偏置往上提一点,增加它被选中的机会。这套机制和主损失函数是完全独立的两条线,互不干扰。

MoE-ViE在这个基础上又做了一处改进。原始的偏置调整方式是"只要偏了就固定挪一格",不管偏离程度大小,调整幅度都一样,这就好比你去银行排队,不管队伍长十个人还是长一百个人,柜员每次都只往前叫一个,长队伍永远缓解不了。作者把这个调整方式换成了按偏离程度成比例调整的z-score方法,偏得越离谱,调整力度越大,这样收敛得更快也更稳定,不会在接近均衡状态时来回震荡。

实验数据支持了这个改进的有效性。在对比表格里,普通的辅助损失方法(比如importance and load loss)平均分类准确率是59.9,换成原版无损失均衡能提到62.6,而MoE-ViE的改进版z-score方法进一步提到63.2,retrieval任务的平均分也从60.9提到61.4。数字看起来不算悬殊,但在顶尖模型的竞争里,这种持续的、多个基准上一致的提升,恰恰说明这个改动确实抓住了问题的关键。

坑三:理论快不等于实际快

这是三个坑里最容易被忽视,但对实际部署影响最大的一个。

理论上讲,MoE这种架构天生就该比同等参数量的密集模型快。因为不管你的专家总数有多少,每次真正参与计算的只有被选中的那几个,计算量只跟"激活参数"挂钩,跟"总参数"没关系。听起来非常美好。

但现实是,如果你用最朴素的方式去实现MoE(比如用Python写个循环,一个专家一个专家地算过去),GPU的利用率会低得吓人,实际跑起来反而比密集模型还慢。论文里给出了一组数据来说明这个问题有多严重:用朴素实现方式跑MoE-ViE-H模型,批量大小为16时延迟高达318.76毫秒,而经过内核优化后,同样的模型只要82.59毫秒,速度提升超过2.5倍。

为什么朴素实现会这么慢?论文分析了三个原因。

第一,把本该是一次大矩阵运算拆成很多次小矩阵运算,GPU处理小任务的效率天然就比处理大任务低,好比让一个能一次搬十箱货的搬运工,非要拆成十次一箱一箱搬,来回跑的时间成本比实际搬运还高。第二,动态路由需要CPU和GPU频繁"打招呼"确认每个专家分到多少活,这种沟通开销会造成硬件空转的"气泡"。第三,处理过程中产生的中间数据量太大,数据在显存里来回搬运反而成了瓶颈,计算力本身根本没跑满就先被内存带宽卡住了。

针对这些问题,研究者用Triton(一种专门用来写高效GPU程序的编程工具)写了一套定制内核,核心是两招。

**分组矩阵乘法(Grouped GEMM):把原本需要多次单独调用的矩阵运算,合并成一次GPU任务统一处理,避免频繁的CPU与GPU沟通。**

**内核融合(Kernel Fusion):把矩阵乘法和激活函数(比如GeLU)这类原本分开执行的操作合并到一次运算里完成,减少数据在显存里的往返次数。**

这两招搭配,好比一家餐厅原来是每道菜都单独排队去后厨取,现在改成服务员一次性把一桌客人要的所有菜单交给后厨,后厨统一配菜统一出餐,省下了大量来回跑腿的时间。如果不做这个优化,MoE理论上省下的计算量,会被这些系统层面的额外开销全部吃掉,甚至倒贴,这就是为什么论文反复强调,内核优化不是锦上添花的小修小补,而是让MoE理论优势真正落地的必要条件。

优化的效果直接体现在了和真实竞品的对比上。MoE-ViE-H拥有35亿总参数但只激活11亿,和总参数只有19亿、全部激活的PEcoreG(meta自家另一款SOTA密集编码器)相比,前者的延迟只有后者的76%,同时在多项基准上表现相当甚至更好。这意味着你用了差不多五分之三的时间成本,换来了跟一个体积大1.7倍的对手打平甚至反超的效果。

视频理解:一个"学了新东西就忘了旧东西"的陷阱

前面讲的都是图像层面的优化,但这篇论文的野心不止于图像,还想让同一个编码器既能看图又能看视频。

做法听起来很自然:先在海量图文数据上做对比学习预训练,让模型学会"看图识物、图文匹配",然后再用视频文本数据做微调,让模型多学一项"理解视频"的本领。

但研究者们在实验中撞上了一个很麻烦的现象:直接在视频数据上做微调,视频理解能力确实上去了,但图像理解能力却断崖式下滑。

这个现象在机器学习领域有个专门的说法,叫灾难性遗忘。

**灾难性遗忘(Catastrophic Forgetting):模型在学习新任务的过程中,原本已经掌握的旧任务能力被显著削弱甚至丢失的现象。**

这就像一个人本来精通中英双语,结果被派去国外全职学法语半年,回来发现自己英语说得磕磕巴巴。语言能力不是互相独立存放的抽屉,神经网络的参数也是这样,新知识的学习过程,某种程度上就是在覆盖旧知识占用的那部分参数空间。如果放任视频微调随意改动模型参数,图像能力必然被稀释。

研究者试过一个直观的补救办法:视频微调阶段,把图像数据也混进去一起训练,让模型"温故而知新"。这确实能挽回一部分图像性能,但代价是限制了视频理解能力的提升空间,鱼与熊掌不可兼得。

真正解决这个矛盾的,是论文提出的两个组合拳:帧级蒸馏加专家冻结。

先说蒸馏。研究者保留了一份预训练完成、专精图像理解的模型副本,把它当作"老师"。在视频微调过程中,每次随机从视频里抽一帧,同时喂给正在训练的"学生"模型和这位固定不变的"老师"模型,然后要求学生输出的特征向量要尽量和老师的接近(用余弦距离衡量相似度)。

**帧级蒸馏(frame-level Distillation):训练过程中保留一份原始模型作为"教师",用教师模型在单帧图像上的输出来约束正在微调的"学生"模型,防止学生模型的图像理解能力偏离太远。**

这套机制说白了就是给学生请了个坐镇旁边的老教授,时不时提醒一句"这块的理解不能跑偏,还得按我教你的那套来"。

单靠蒸馏还不够,研究者又加了一道锁,叫专家冻结,也就是视频微调阶段,直接把MoE里的专家参数锁死,不让它们再被更新,只允许注意力层这些负责"信息交互和帧间聚合"的部分继续学习。

这个设计背后的依据来自另一篇研究的发现:神经网络里,MLP层(也就是MoE专家所在的那种层)更像是储存具体知识的仓库,而注意力层更像是负责调度和整合信息的枢纽。既然视频编码本质上还是逐帧去看图,每一帧内部需要理解的"视觉词汇量"不应该发生太大变化,真正需要调整的是模型怎么把多帧的信息汇总起来,理解跨帧的动态关系。既然专家层负责的是单帧内的知识,那就没道理让视频微调去动它,该调整的是负责跨帧整合的那部分。

这就好比一个精通认字的人去学怎么读连环画,他认识的每一个汉字不需要重新学一遍,需要学的是怎么把一页页画面串起来读出故事的连贯性。如果非要在学连环画的过程中,把每个汉字的写法也拿出来反复"复习并修改",那不仅浪费时间,还可能把原本写得好好的字改坏了。

论文里还提到一个容易被忽略但很关键的细节:文本编码器那边也得冻住MLP层,原因是对比学习的损失函数会同时更新图像和文本两侧的参数,如果任由文本侧继续大幅调整,而蒸馏损失又在拼命把视觉侧往老师的方向拉,两个优化目标就会打架,造成训练不稳定。这个细节看似技术性很强,但恰恰说明了这类系统工程里,牵一发而动全身,任何一个环节没锁好,前面的设计都可能白费功夫。

从消融实验的曲线图(论文图3)能直观看出效果差异。单纯做视频微调,ImageNet-1K的准确率随着训练样本增多持续下滑,从84.9掉到84.3左右;混合图像视频数据训练能缓解下滑但依然在降;而"蒸馏+冻结"的组合方案,ImageNet-1K的准确率始终稳定在84.9附近,几乎没有损失,同时K400视频分类准确率还能持续爬升到接近77。这组对比清楚地说明了,这套组合拳既保住了图像能力,又真正把视频能力practice出来了。

成绩单:多个尺度全面超越

说了这么多设计思路,最终效果到底如何?

论文训练了三档不同规模的MoE-ViE模型,分别对标基础版(B)、大号版(L)和超大号版(H)。在零样本图像分类和检索任务上(也就是模型完全没针对这个具体任务训练过,直接拿来测试),MoE-ViE在每个规模档位都拿到了同参数量级里最好的成绩。

尤其值得一提的是在ImageNet-A(专门收集了容易让AI认错的高难度、对抗性图片的数据集)上的表现,MoE-ViE-H的成绩甚至比总参数量大得多、激活参数量是它1.7倍的PEcoreG还要高出0.6个百分点。这说明单纯靠堆参数堆出来的密集模型,在某些细分能力上未必打得过设计更巧妙的稀疏模型。

视频理解方面同样亮眼。在K400、K600这类经典动作识别数据集,以及MSR-VTT这类视频文本检索任务上,MoE-ViE-H的综合视频分类平均分达到76.5,同规模的PEcoreG是76.0,SigLIP2-g-opt只有69.8,差距相当明显。

再往下游走一步,当这些视觉编码器被接入真正的大语言模型(论文分别用Llama 3.1和Qwen2.5 VL做了测试),组成完整的视觉问答系统之后,MoE-ViE依然保持领先。在图像理解类任务(比如图表问答ChartQA、文档理解DocVQA)的平均分上,MoE-ViE-H拿到75.2分,而对比的其他模型(包括参数量是它5倍的InternViT2.5)都没能超过70分。视频理解类任务上,MoE-ViE-H的平均分58.9,同样是所有对比模型里最高的。

打开黑箱看看专家们到底在干什么

说了这么多性能数字,一个自然的疑问是:这些专家真的学到了不同的东西吗?还是说MoE只是个花哨的参数分配游戏?

研究者做了一件挺有意思的可视化实验。他们把某一层的特征投影到三个主成分上,映射成RGB颜色,然后画出每个专家具体在图片的哪些区域被激活。

结果相当有说服力。论文图4里展示了一张小狗的图片,某个专家几乎只在狗耳朵这块区域被激活,另一个专家专门盯着眼睛和鼻子;换成一张摆着可颂和咖啡的桌子照片,一个专家专门捕捉盘子,另一个专门捕捉食物本身,而不管换成哪张图,总有一个特定的专家始终在处理背景区域。这种分工不是研究者提前设计好写死的,而是模型在海量数据训练中自己涌现出来的规律,专家学会了各自专注视觉世界的某个切面,合在一起才拼出对整张图的完整理解。

研究者进一步用路由熵(衡量路由分配是均匀还是集中的一个统计量,数值越低说明越集中)量化了这个现象。数据显示,像VTAB Flowers(花卉细分类别数据集)、FGVC Aircraft(飞机型号细分类别数据集)这类视觉范围比较窄的专业领域基准,路由熵明显更低,说明专家在这些细分任务上激活得更集中、更专一;而ImageNetV2这种覆盖广泛类别的通用基准,熵值就相对更高、更分散。这从侧面解释了为什么MoE-ViE在细粒度分类任务上表现特别突出,因为专家分工机制天然适合处理这种需要精细鉴别的场景。

从图像模型的谱系里看这篇论文的位置

要理解这篇论文站在什么位置,得往回看看这条技术脉络是怎么走过来的。

CLIP这套图文对比学习的思路最早由OpenAI团队在2021年提出,用海量互联网图文对训练模型,让图片和对应文字的向量表示尽可能接近,由此获得强大的零样本泛化能力。这之后陆续出现了SigLIP(把Softmax换成Sigmoid提升训练效率)、CoCa(加入图像描述生成任务)等改进版本。

而在MoE这条线上,早在2021年谷歌团队的LIMoE论文就率先把稀疏专家机制引入了对比学习,证明了这条路是可行的;随后CLIP-MoE和CLIP-UP两篇论文尝试用"升级改造"(upcycling)的方式,把已经训练好的密集CLIP模型直接改造成MoE版本,省去了从头训练的成本。但正如论文开篇提到的,这些尝试始终没能真正逼近同期最强密集模型的水平。

MoE-ViE可以看作是站在这条脉络末端,把此前被分散讨论、各自为战的几个问题(专家粒度、负载均衡、系统效率、视频适配)第一次系统性地拿到一起解决,并且真正把结果做到了追平乃至超越同期SOTA密集模型的水平。这在这条技术路线的发展史上,算得上是一个阶段性的突破。

写在后面

读完这篇论文,最触动我的其实不是那些漂亮的分数对比,而是专家可视化那张图。

一个模型自己学会了"这个专家看耳朵,那个专家看背景",没有人给它贴标签、没有人手把手教它分工,这种涌现出来的组织性,某种程度上比准确率数字更让人觉得神奇。它提醒我们,稀疏激活这件事不只是一个省计算量的工程技巧,更像是给了模型一个"分而治之"的自由度,让复杂问题能够被拆解成更小的子问题分别处理。

论文里那个"路由熵随任务领域变化"的发现也值得多想一层。专业领域越窄,专家分工越明确,这个规律如果推而广之,或许暗示着一种更普遍的模式:任何一个系统,面对的问题范围越窄、越具体,内部分工反而应该越细,而不是越粗放。这跟人类社会里专业化分工的逻辑其实是相通的。

论文没有回答的一个问题是,这种专家分工在跨模态场景下会不会有更复杂的表现,比如同时处理图像、视频、音频的统一多模态专家系统,会不会涌现出更有趣的分工模式。这大概是留给下一篇论文的悬念。

Q&A

Q1:MoE-ViE是什么?

A:MoE-ViE是meta提出的一种视觉编码器,通过引入细粒度混合专家(MoE)架构,在不增加推理延迟的前提下大幅提升了模型的图像和视频理解能力,最大规模的模型能以76%的延迟达到比自己大1.7倍的密集模型相当的效果。

Q2:MoE-ViE相比传统密集视觉编码器有什么优势?

A:MoE-ViE通过细粒度专家设计、无损失负载均衡和专用GPU内核优化,实现了参数容量和计算成本的解耦,在多项零样本图像分类、检索和视频理解基准上全面超越同等计算量的密集模型,同时推理速度提升超过2.5倍。

Q3:MoE-ViE是如何解决视频微调导致图像能力下降的问题的?

A:MoE-ViE提出了帧级蒸馏和专家冻结相结合的方法,用预训练模型作为教师约束微调过程,同时冻结MoE专家参数只让注意力层学习跨帧信息整合,从而在提升视频理解能力的同时几乎不损失原有的图像理解性能。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其内容真实性、完整性不作任何保证或承诺。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。

全站最新