MoE,你变了!
Georgia Tech的博士生Vima Gupta最近在Twitter上抛出了一个重磅结论:MoE(Mixture of Experts)模型在实际应用中的表现,和它的设计初衷完全不一样!
大家都知道,MoE模型号称是「按需激活专家参数」的效率之王。
但Vima的研究揭示了一个尴尬的现实:在实际服务中,批处理16个请求就会导致所有专家被激活。
这不就是「全员出动」吗?
效率呢?
省钱呢?
Vima深入挖掘后发现,MoE模型在预填充(prefill)和解码(decode)阶段的行为大不相同:
预填充阶段:增加专家数量对延迟几乎没影响,因为计算掩盖了内存访问的开销。
解码阶段:延迟随专家数量线性增长,完全陷入了内存访问的泥潭。
为什么会这样?
Vima给出了一个令人意外的解释:这是批处理导致的「意外」。
左图显示,在训练时,MoE模型确保了专家使用的均匀性。但右图揭示,在实际生产环境中,专家激活出现了极度偏斜。
这不是bug,而是批处理多样化请求导致的涌现行为。
更有意思的是,MoE模型在预填充和解码阶段的表现判若两人:
预填充:稍微改变专家路由,模型就会「抓狂」。
解码:对专家选择意外地「淡定」。
这种反差让研究人员大开眼界。
但故事还没完!
Vima他们还发现了MoE模型的另一个有趣特性:
专家选择存在明显的层级关系,第一选择的专家承担了大部分工作。
这种模式在不同的MoE模型中普遍存在,不禁让人思考:这是否是MoE架构的固有特性?
面对这些问题,Vima和她的团队没有就此放手,而是开发了一个名为Lynx的系统:
Lynx能在解码阶段动态选择专家,实现了1.5倍的速度提升。它巧妙地在保留关键路由决策和优化延迟之间找到了平衡点。
该研究不仅揭示了MoE模型的「双面人生」,还为提高其实际应用效率提供了新思路。Vima和她的团队在arXiv上发表的论文详细介绍了Lynx系统,相关代码也即将开源。
从MoE 的这次「现形记」中可以看到,AI模型从实验室走向现实的道路,总是充满意外和挑战。
👇
👇
👇
👇
本文同步自知识星球《AGI Hunt》
星球实时采集和监控推特、油管、discord、电报等平台的热点AI 内容,并基于数个资讯处理的 AI agent 挑选、审核、翻译、总结到星球中。
每天约监控6000 条消息,可节省约800+ 小时的阅读成本;
每天挖掘出10+ 热门的/新的 github 开源 AI 项目;
每天转译、点评 10+ 热门 arxiv AI 前沿论文。
星球非免费。定价99元/年,0.27元/天。(每+100人,+20元。元老福利~)
一是运行有成本,我希望它能自我闭环,这样才能长期稳定运转;
二是对人的挑选,鱼龙混杂不是我想要的,希望找到关注和热爱 AI 的人。
欢迎你的加入!