这项由香港中文大学的裴泽华、潘烜嘉林、余北和华为诺亚方舟实验室的张颖、甄慧玲、余显志、刘五龙、袁明轩等研究人员共同完成的研究,发表于2025年5月的预印本论文平台arXiv(论文编号:2505.17639v1)。有兴趣深入了解的读者可通过GitHub链接(https://github.com/JarvisPei/PreMoe)获取源代码。
**大型语言模型的记忆困境**
想象一下,你有一支由数百位专家组成的顾问团队,每次只需要其中几位专家来解答特定问题,但却必须支付全部专家的出场费和食宿费。这基本上就是当前大型混合专家模型(Mixture-of-Experts,简称MoE)面临的困境。
近年来,从DeepSeek-R1(671B参数)到Mixtral 8×7B,再到Qwen-MoE等大型语言模型展现出了惊人的能力。它们采用了"混合专家"架构,这种设计非常聪明:模型中包含大量"专家"模块,但处理每个输入时只激活其中几个最相关的专家,既保持了大模型的强大能力,又减少了计算成本。
然而,这种设计存在一个重大缺陷:虽然计算时只用少数专家,但所有专家的参数仍需常驻内存。以DeepSeek-R1为例,它声称拥有671B参数,理论上需要超过1.3TB的内存才能完整加载(按16位精度计算)。这使得这类模型只能在特定的高端计算设施上运行,极大限制了它们的应用范围。
**专家不是都一样的:任务专业化的发现**
香港中文大学和华为的研究团队在研究中发现了一个关键现象:MoE模型中的专家表现出明显的"任务专业化"特征。简单来说,不同的专家擅长不同类型的任务。
想象一下,如果你有一群医生,有些擅长心脏病,有些擅长骨科,还有些擅长儿科。当一个心脏病患者就诊时,你只需要心脏科专家,而不需要骨科医生在场。研究人员通过分析DeepSeek-R1模型在不同任务上的表现,发现模型中的"专家"也有类似的专业分工。
通过分析路由器逻辑(模型中决定激活哪些专家的组件)分布热图,他们清晰地看到:对于任何特定任务,只有少数专家会被频繁激活并产生高度正向的贡献,而大多数专家要么很少被激活,要么即使被激活也贡献有限。
这一发现启发了研究团队:如果我们能提前识别出对特定任务至关重要的专家,并只加载这些专家,是否就能显著减少内存需求,同时保持模型性能?
**PreMoe:专家精简与检索的双剑合璧**
基于上述发现,研究团队提出了名为PreMoe(Pruning Retrieval MoE)的框架,它由两个核心组件组成:概率专家精简(PEP)和任务自适应专家检索(TAER)。
**概率专家精简:找出真正重要的专家**
想象你要举办一场派对,但预算有限,必须从一百多位朋友中只邀请十几位。你会怎么选?可能会邀请那些最了解派对主题、最能带动气氛的朋友。
概率专家精简(PEP)也是类似的思路。它引入了一个名为"任务条件期望选择分数"(TCESS)的指标,通过分析路由器逻辑模式来量化每个专家对特定任务的重要性。
具体来说,这个过程有点像投票系统。首先,对于一个输入标记,系统会选出前Ka个"候选专家"(由原始路由器逻辑决定)。然后,对这些候选专家进行本地概率归一化(类似于初选)。接下来,只有那些本地概率超过阈值r的专家才会被视为"高置信度"专家,其原始逻辑值将被收集用于计算TCESS分数。
这样,TCESS分数实际上反映了一个专家在特定任务上被高置信度选中的平均强度。分数越高,意味着该专家对任务越重要。通过选择TCESS分数最高的M个专家,我们就能找到对特定任务最关键的专家子集。
**任务自适应专家检索:动态加载适合的专家**
虽然概率专家精简提供了一种原则性方法来识别关键专家,但每次用户查询都重新计算TCESS值在部署环境中显然不够高效。为解决这个问题,研究团队提出了任务自适应专家检索(TAER)机制。
想象你是一家餐厅的经理,为不同类型的聚会(商务会议、生日派对、婚礼等)都准备了一份最佳员工配置清单。当客人预订时,你只需快速识别聚会类型,然后根据预设的清单调配人员,而不需要每次都重新评估所有员工。
TAER的工作方式也很类似:
1. **离线存储阶段**:预先计算并存储各种代表性任务的专家重要性模式。为了节省存储空间,只完整保存第一个MoE层的TCESS模式,而对后续层则保存与第一层对应的排列向量。
2. **基于查询的检索**:当收到新查询时,模型会计算查询的TCESS模式,并找到存储库中最相似的任务模式(使用L2距离计算)。
3. **模型重建**:根据检索到的模式,系统只加载对特定任务至关重要的专家,大大减少内存需求。
这种方法的独特之处在于,完整模型及其所有专家无需一开始就加载到内存中。相反,系统维护一个轻量级的模型骨架,在任务识别后动态加载必要的专家。
**实验验证:性能惊人保持,内存大幅节省**
研究团队在多个MoE架构上进行了全面测试,结果令人印象深刻:
**DeepSeek-R1 671B**: - 完整模型(8/256配置,即每层8个激活专家,从256个专家中选择)需要1.3TB内存,在MATH500上准确率为96.8%。 - 使用PreMoe精简到8/128配置(减少50%专家)后,内存需求降至688GB,MATH500准确率反而提高到97.2%。 - 进一步激进精简至8/32配置(减少87.5%专家),内存需求降至196GB,仍保持72.0%的MATH500准确率。
**Pangu-Ultra-MoE 718B**: - 从8/256配置(1.36TB内存)精简到8/128配置(738GB内存),MATH500准确率从97.4%轻微下降至97.15%,AIME24准确率完全保持在81.3%。 - 更激进地精简到4/64配置(仅390GB内存),MATH500准确率仍达96.95%,AIME24为79.7%。
**内存高效部署**: - 结合4位量化技术,进一步降低内存需求。 - DeepSeek-R1-W4(4位量化)在8/32配置下,仅需70GB内存,在GPQA Biology上的表现(43.56%)甚至超过了原始完整模型(42.57%)。
值得注意的是,PreMoe不仅节省内存,还提高了吞吐量。例如,Pangu-Ultra-MoE在从8/256减少到8/128(BF16精度)时吞吐量提升10%,在4/64 W4配置下提升35%。
**案例分析:看看精简模型的推理能力**
为了直观展示模型精简后的性能,研究团队提供了DeepSeek-R1在不同精简比例下解决数学问题的示例。令人惊讶的是,即使在大幅减少专家数量的情况下(如8/32配置),模型仍能保持正确的推理轨迹。这证明了PreMoe能够有效保留模型的核心推理能力,尽管采用了激进的精简策略。
**精心设计的消融实验**
为验证PreMoe各组件的有效性,研究团队进行了一系列消融实验:
1. **与随机选择专家对比**:在相同精简比例下,PreMoe的TCESS专家选择方法在所有测试任务中都显著优于随机选择专家。例如,在8/16设置下,PreMoe在GPQA Biology上达到34.15%准确率,而随机选择仅为26.73%。
2. **输出模式收集策略**:研究发现,同时考虑输入查询和模型推理输出来收集TCESS模式,比仅使用输入查询效果更好。当只基于查询收集模式时,精简后的模型可能会出现重复循环或不完整解决方案,这凸显了在整个生成过程中捕捉专家动态的重要性。
**总结:MoE模型民主化的一大步**
PreMoe框架通过利用MoE模型中的任务专家专业化特性,成功解决了大型MoE模型在内存受限环境中部署的关键挑战。通过概率专家精简和任务自适应专家检索,PreMoe能够显著减少内存占用,同时保持模型性能,使这些强大的AI系统可以在更广泛的计算环境中运行。
这项研究不仅为大型MoE模型的高效部署提供了实用解决方案,还展示了一个重要的研究方向:通过理解和利用模型内部的专业化模式,我们可以更智能地优化AI系统,使其同时兼顾性能和资源效率。
无论是云服务器、边缘设备还是消费级硬件,PreMoe都为将强大的AI能力带入多样化计算环境铺平了道路,朝着AI民主化迈出了重要一步。
好文章,需要你的鼓励
北航团队推出Easy Dataset框架,通过直观的图形界面和角色驱动的生成方法,让普通用户能够轻松将各种格式文档转换为高质量的AI训练数据。该工具集成了智能文档解析、混合分块策略和个性化问答生成功能,在金融领域实验中显著提升了AI模型的专业表现,同时保持通用能力。项目已开源并获得超过9000颗GitHub星标。
卢森堡计算机事件响应中心开发的VLAI系统,基于RoBERTa模型,能够通过阅读漏洞描述自动判断危险等级。该系统在60万个真实漏洞数据上训练,准确率达82.8%,已集成到实际安全服务中。研究采用开源方式,为网络安全专家提供快速漏洞风险评估工具,有效解决了官方评分发布前的安全决策难题。
中国电信研究院等机构联合开发的xVerify系统,专门解决复杂AI推理模型的评估难题。该系统能够准确判断包含多步推理过程的AI输出,在准确率和效率方面均超越现有方法,为AI评估领域提供了重要突破。
昆仑公司Skywork AI团队开发的Skywork R1V模型,成功将文本推理能力扩展到视觉领域。该模型仅用380亿参数就实现了与大型闭源模型相媲美的多模态推理性能,在MMMU测试中达到69.0分,在MathVista获得67.5分,同时保持了优秀的文本推理能力。研究团队采用高效的多模态迁移、混合优化框架和自适应推理链蒸馏三项核心技术,成功实现了视觉理解与逻辑推理的完美结合,并将所有代码和权重完全开源。