MoE「现形记」:训练时按需使用,推理时全员出动?

旅行   2024-11-17 11:00   北京  

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 的人。

欢迎你的加入!

AGI Hunt
关注AGI 的沿途风景!
 最新文章