[论文解读] Fiddler: CPU-GPU Orchestration for Fast Inference of Mixture-of-Experts Models
Fiddler 提出了一种用于在资源受限环境下高效推理未压缩的专家混合模型(MoE)的 CPU-GPU 协调系统。通过将专家计算卸载到 CPU 并最小化 GPU-CPU 间的数据传输,Fiddler 在 24GB GPU 上实现了对 90GB 的 Mixtral-8x7B 模型每秒超过 3 个 token 的推理速度,相比之前的方法在延迟方面最高提升了 10.1 倍。
Large Language Models (LLMs) with the Mixture-of-Experts (MoE) architectures have shown promising performance on various tasks. However, due to the huge model sizes, running them in resource-constrained environments where the GPU memory is not abundant is challenging. Some existing systems propose to use CPU resources to solve that, but they either suffer from the significant overhead of frequently moving data between CPU and GPU, or fail to consider distinct characteristics of CPUs and GPUs. This paper proposes Fiddler, a resource-efficient inference system for MoE models with limited GPU resources. Fiddler strategically utilizes CPU and GPU resources by determining the optimal execution strategy. Our evaluation shows that, unlike state-of-the-art systems that optimize for specific scenarios such as single batch inference or long prefill, Fiddler performs better in all scenarios. Compared against different baselines, Fiddler achieves 1.26 times speed up in single batch inference, 1.30 times in long prefill processing, and 11.57 times in beam search inference. The code of Fiddler is publicly available at https://github.com/efeslab/fiddler.
研究动机与目标
- 在 GPU 显存受限的本地单 GPU 环境中,实现对大型未压缩专家混合模型(MoE)的高效、低延迟推理。
- 解决现有 MoE 模型卸载系统中因频繁的 CPU-GPU 数据传输而导致的高运行时开销问题。
- 探索利用 CPU 计算资源减少数据移动、提升稀疏 MoE 架构推理效率的可行性。
- 在不使用模型量化或多 GPU 部署的情况下,实现单批次、低延迟推理的高性能表现。
提出的方法
- Fiddler 基于一个成本模型,动态决定将专家层分配到 CPU 或 GPU,该模型比较数据传输延迟与计算成本。
- 利用 CPU 计算来执行专家层,而非将权重从 CPU 传输到 GPU 内存,从而减少 PCIe 带宽瓶颈。
- 系统使用成本模型判断是否在 CPU 或 GPU 上运行专家,以平衡计算与数据移动的开销。
- Fiddler 集成 PyTorch,支持预填充(prefill)和解码(decode)阶段,并具备优化的内存管理和执行调度。
- 采用混合执行策略,仅将部分专家加载到 GPU,其余专家在 CPU 上计算。
- 系统专为单批次、本地部署场景设计,优先考虑端到端低延迟。

实验结果
研究问题
- RQ1能否有效利用 CPU 计算来减少 MoE 模型推理中的 GPU-CPU 数据移动?
- RQ2基于 CPU 的专家执行延迟与通过 PCIe 传输专家权重的开销相比如何?
- RQ3与仅依赖 GPU 显存或数据传输相比,将专家计算卸载到 CPU 所带来的性能提升有多大?
- RQ4在 GPU 显存受限的不同硬件配置下,Fiddler 的协调策略如何扩展?
- RQ5Fiddler 是否能在不使用模型量化或多 GPU 部署的情况下,实现未压缩 MoE 模型的高吞吐量?
主要发现
- 在单块 24GB GPU 上,Fiddler 对未压缩的 Mixtral-8x7B 模型实现了每秒超过 3 个 token 的推理速度,使本地环境下的实时推理成为可能。
- 在 Quadro RTX 6000 上,Fiddler 相比 Eliseev & Mazur (2023) 将单批次推理延迟降低了 8.2 倍,相比 DeepSpeed-MII 降低了 19.4 倍。
- 在 L4 GPU 上,Fiddler 相比 Eliseev & Mazur (2023) 实现了 10.1 倍的加速,相比 DeepSpeed-MII 实现了 22.5 倍的加速。
- 性能提升在生成长度较长时最为显著,因为预填充阶段的延迟被有效分摊。
- 由于 PCIe 带宽受限,即使 CPU 计算吞吐量较低,Fiddler 基于 CPU 的专家执行策略仍优于 GPU 数据传输。
- 该系统使在消费级 GPU 上部署 90GB 以上的模型(如 Mixtral-8x7B)成为可能,且无需量化或多 GPU 部署。

更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。