概述
这将总专家容量与所选专家计算分开,而内存、路由和通信仍然影响成本。
深入探讨
标准变压器通过相同的密集层运行每个输入,因此使模型更智能通常意味着使每个计算更加昂贵。专家的混合打破了这种联系。它用许多较小的“专家”网络以及一个决定哪些专家处理每个令牌的小型“路由器”取代了大型前馈层。通常只有前 1 或 2 位专家会触发,因此模型可以拥有数千亿个总参数,但每个令牌仅激活一小部分。这就是为什么像 Mixtral 8x7B 和 Switch Transformer 这样的模型可以在没有相应高推理成本的情况下达到高质量。权衡是复杂性:所有专家权重都需要可访问的存储,可能分布在设备上或卸载,并且路由器可能会错误路由或使某些专家过载,因此训练和服务需要仔细的路由和资源管理。
现实世界的实施
Mixtral 8x7B 使用 8 个专家,每个令牌激活 2 个专家,总共提供大约 47B 个参数,但每个令牌只有约 13B 个活跃参数,以实现更快、更便宜的推理。
DeepSeek 和 Qwen 提供了大型 MoE 语言模型,可以在基准测试中匹配密集模型,同时以较低的每个代币计算运行。
云 LLM 提供商使用 MoE,因此一个庞大的模型可以经济实惠地为许多用户提供服务,因为每个请求只能满足少数专家的需求。
Google 的早期 Switch Transformer 使用 top-1 路由扩展到超过一万亿个参数,以保持训练计算的可管理性。
专家混合的未来
MoE 正在成为前沿规模模型的默认工具,因为它将容量与成本脱钩。期望有更细粒度的专家、考虑更多上下文的更智能的路由,以及在有限的硬件上为巨大的稀疏模型提供更好的技术。研究还正在解决内存问题,因为即使很少有专家运行,也必须通过专家卸载和量化来加载所有专家。随着 Mixtral 和 DeepSeek-MoE 等开放模型的成熟,稀疏架构可能会在更小的 GPU 预算上提供更高效的助手。
付诸实践
为什么这很重要
- 成本与预算. 多年来,架构决策决定着性能和运营成本。
- 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
- 质量控制. 更好的工程选择可以减少生产中的可靠性事故。
留意
- 优化一项基准测试可以隐藏更广泛的系统弱点。
- 基础设施和维护成本常常被低估。
- 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
后续步骤
- 在实施之前定义延迟、质量和成本目标。
- 在实际负载和数据条件下进行基准测试。
- 仪器监控错误、漂移和用户影响。
- 在扩展之前准备回滚和事件响应路径。
不断探索
常见问题
什么是专家混合?
稀疏专家混合层使用路由器为每个令牌选择专家网络的子集。这将总专家容量与所选专家计算分开,而内存、路由和通信仍然影响成本。
在专家混合层中,什么决定哪些专家处理给定的令牌?
一个小型门控网络学习对每个专家的令牌进行评分,并将其路由给得分最高的专家。路由是学习的,不是固定的或随机的。
为什么 MoE 模型的总参数比密集模型多得多,而每个代币的成本却没有相应增加?
因为只有前 k 个专家才会触发每个代币,所以即使总参数计数因添加更多专家而增加,活动计算也大致保持不变。
MoE 训练期间负载平衡(辅助)丢失解决什么问题?
如果没有平衡,路由器往往会偏向少数专家。辅助损失会惩罚不均匀的使用,因此所有专家都会接受培训。
Mixtral 8x7B 每个代币都会激活 8 个专家中的 2 个。这对于它的计算量和大小意味着什么?
由于 8 个专家中只有 2 个处于活动状态,每个代币的活动参数 (~13B) 远小于总的~47B,从而降低了推理成本。
为什么稀疏的 MoE 仍然有大量的内存或存储需求?
稀疏激活减少了选定的计算,但仍然必须存储或获取专家权重,无论是驻留的、分布式的还是卸载的。