[论文] 面向内存受限系统的 MoE 基础 LLM 的高效 CPU‑GPU 协同推理
Source: arXiv - 2512.16473v1
概述
大型语言模型(LLMs)已成为众多 AI 驱动产品的核心,但由于巨大的内存和计算需求,在普通台式机或笔记本上运行仍是噩梦。混合专家(Mixture‑of‑Experts,MoE)架构通过对每个 token 只激活少量“专家”子网络来降低计算量,然而即使是最节省内存的 MoE 模型仍然超出消费级 GPU 的显存。本文提出了一种 CPU‑GPU 协同推理框架,在 GPU 上保持专家的热缓存,缓存未命中时回退到 CPU,从而显著降低数据传输延迟,使基于 MoE 的 LLM 在内存受限的机器上也能使用。
关键贡献
- GPU 常驻专家缓存: 一个轻量级缓存层,将最常用的专家权重存放在 GPU 上,使许多推理步骤成为缓存命中,避免昂贵的权重传输。
- CPU 驱动的未命中处理: 当专家不在 GPU 缓存中时,CPU 获取它,使用高度并行的多线程进行计算,并可选择将其推入缓存以供后续复用。
- 统一调度运行时: 调度器根据每个 token 动态决定是在 GPU 上运行(缓存命中)还是转移到 CPU(缓存未命中),在延迟和吞吐量之间取得平衡。
- 开源实现: 完整原型(包括缓存管理器、调度器以及与流行 MoE 库的集成)已在 GitHub 上发布,支持可复现性和社区扩展。
- 在消费级硬件上的实证验证: 在配备 16 GB RTX 3060 和 8 核 CPU 的机器上进行基准测试,显示相较于朴素的仅 CPU 推理提升 2.3 倍,相较于基线 GPU 卸载方案提升 1.6 倍,且内存使用保持在 GPU 限制范围内。
方法论
-
专家画像: 系统首先在代表性工作负载上对 MoE 模型进行画像,以识别最常被访问的专家(例如,根据 token 分布)。
-
缓存构建: 将前 K 名专家(K 适配可用的 GPU 内存)在启动时预加载到 GPU。缓存实现为一个以专家 ID 为键的简单哈希映射。
-
动态调度: 推理期间,检查每个 token 的路由决策(激活哪些专家)是否命中缓存。
- 缓存命中: 专家的权重已在 GPU 上;token 在 GPU 上处理,延迟最小。
- 缓存未命中: 请求交给 CPU。CPU 从主存加载专家权重,使用基于 OpenMP 的并行进行矩阵乘,并返回结果。可选地,未命中可以触发缓存替换(例如 LRU),以保持最有用的专家在 GPU 上。
-
同步与重叠: 当 CPU 处理未命中时,GPU 可以继续处理后续命中缓存的 token,实现计算与数据传输的重叠以隐藏延迟。
-
评估设置: 实验在单请求推理场景下进行(这是聊天式应用最常见的模式),使用流行的 MoE 大语言模型(例如 Switch‑Transformer‑7B),并与三种基线进行比较:纯 CPU、全量离线到 GPU 的纯 GPU、以及没有缓存的朴素 CPU‑GPU 离线。
结果与发现
| 配置 | 峰值 GPU 内存 | 每个 Token 的平均延迟 | 吞吐量 (tokens/s) |
|---|---|---|---|
| 纯 CPU | < 2 GB | 28 ms | 35 |
| 纯 GPU(卸载) | 12 GB(完整模型) | 19 ms | 52 |
| CPU‑GPU 卸载(无缓存) | 8 GB | 15 ms | 66 |
| 提议的 CPU‑GPU 协同(缓存命中率 68 %) | 8 GB | 11 ms | 84 |
- 缓存命中率 在短暂热身后稳定在约 65‑70 %,确认对典型提示而言相对较小的专家子集主导推理。
- 延迟降低 主要源于对命中缓存的情况消除权重传输;仅 CPU 计算仍因多线程 BLAS 核心而具竞争力。
- 可扩展性: 当 GPU 内存预算进一步降低(例如 6 GB)时,系统通过缓存更少的专家优雅降级,仍然优于朴素的卸载基线。
实际影响
- 在笔记本或边缘服务器上部署 LLM: 开发者现在可以运行原本会超出 GPU 显存的 MoE‑based 模型,从而实现本地 AI 助手、代码补全工具以及针对隐私敏感应用的本地推理。
- 成本有效的扩展: 企业可以通过组合使用中等规格的 GPU 和 CPU 来服务更多并发用户,而无需投资高端 A100‑级别的硬件。
- 框架集成: 缓存感知调度器可以包装在现有的 PyTorch 或 TensorFlow MoE 库之上,这意味着已经使用这些框架的团队只需进行极少的代码修改。
- 节能效果: 将不常用的专家任务卸载到 CPU 可以减少 GPU 的空闲时间,从而降低整体功耗,这对数据中心运营商是一个有吸引力的指标。
限制与未来工作
- 单请求聚焦: 当前设计针对一次处理单个请求进行延迟优化;批量推理场景(在服务 API 中常见)可能需要不同的调度策略。
- 缓存驱逐策略: 论文采用了简单的 LRU 方案;更复杂的策略(例如基于学习的专家受欢迎度预测)可以进一步提升命中率。
- 在超大批量时的 CPU 瓶颈: 若大量缓存未命中同时发生,CPU 可能成为性能瓶颈;未来工作可探索将负载异构卸载到多 CPU 或专用推理加速器。
- 对其他 MoE 变体的泛化: 评估仅局限于少数 Switch‑Transformer 模型;将框架扩展到更新的稀疏门控架构(如 GLaM、Mixtral)将验证其更广泛的适用性。
总体而言,CPU‑GPU 协同推理框架提供了一条务实的路径,将强大的基于 MoE 的大语言模型带入日常硬件,使内存限制从致命障碍转变为可管理的工程挑战。
作者
- En-Ming Huang
- Li-Shang Lin
- Chun-Yi Lee
论文信息
- arXiv ID: 2512.16473v1
- Categories: cs.DC
- Published: December 18, 2025
- PDF: 下载 PDF