混合专家模型是什么?MoE 的专家路由与参数区别
解释 MoE 如何选择专家网络,区分总参数与激活参数,通过工单处理比喻说明路由边界,并讨论内存、负载平衡和部署检查。
先理解这个概念
混合专家模型MoE在网络中设置多个专家子网络,由路由机制为输入选择其中一部分参与计算。稀疏MoE可以在增加总参数的同时控制每次使用的计算量,但不能只凭激活参数推断所需内存或实际速度。这里的专家是模型内部网络,不是多个独立聊天机器人,也不保证每个专家对应一种人类职业。
输入通过路由进入部分专家网络
可以把分流客服工单当作一个粗略比喻:分派器决定由哪个处理单元工作。不过模型通常按词元等内部表示路由,并不是先读懂完整问题,再按人类职位表选择数学家或律师。专家学到了什么,需要证据,不能凭名字推断。
Switch Transformer研究采用稀疏专家设计,并讨论路由和训练稳定性。具体模型可能选择一个或多个专家,配置也会变化。查看模型结构说明时,要确认哪些层使用MoE,不能把所有层都默认当作相同的分流模块。
总参数与每次激活参数并不相同
总参数描述模型保存的整体权重,激活参数通常描述一次处理会用到的部分。服务仍需存储各专家权重,典型部署也要考虑它们驻留内存的成本。即使支持卸载到其他设备,也会引入数据搬运,不能把未激活理解为不占任何资源。
与稠密模型比较时,参数口径相同才有意义。实际速度还取决于硬件实现和批量大小,跨设备通信也可能影响结果。本文核对架构资料,没有比较某两款产品的实测吞吐,不给出统一的加速倍数。
使用时检查负载和真实任务表现
路由如果过度集中到少数专家,可能造成负载不均,训练和服务实现需要处理这种情况。使用者不必手动给每个问题选专家,但应确认所用框架确实支持该模型结构,而不是仅凭文件能下载就认为可以运行。
选择本地模型时,先核对完整权重大小和运行格式,再用自己的任务检查输出。若内存不足,单看宣传中的激活参数并不能解决问题。出现答非所问也不一定是路由故障,应保留输入和日志,区分模型能力与部署实现错误。
核对来源
以下资料用于核对概念和方法。文中的示例与测试范围分别注明,实际使用时请核对所用工具的版本。