[论文] 面向内存受限系统的 MoE 基础 LLM 的高效 CPU‑GPU 协同推理

发布: (2025年12月18日 GMT+8 20:45)
8 min read
原文: arXiv

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 限制范围内。

方法论

  1. 专家画像: 系统首先在代表性工作负载上对 MoE 模型进行画像,以识别最常被访问的专家(例如,根据 token 分布)。

  2. 缓存构建: 将前 K 名专家(K 适配可用的 GPU 内存)在启动时预加载到 GPU。缓存实现为一个以专家 ID 为键的简单哈希映射。

  3. 动态调度: 推理期间,检查每个 token 的路由决策(激活哪些专家)是否命中缓存。

    • 缓存命中: 专家的权重已在 GPU 上;token 在 GPU 上处理,延迟最小。
    • 缓存未命中: 请求交给 CPU。CPU 从主存加载专家权重,使用基于 OpenMP 的并行进行矩阵乘,并返回结果。可选地,未命中可以触发缓存替换(例如 LRU),以保持最有用的专家在 GPU 上。
  4. 同步与重叠: 当 CPU 处理未命中时,GPU 可以继续处理后续命中缓存的 token,实现计算与数据传输的重叠以隐藏延迟。

  5. 评估设置: 实验在单请求推理场景下进行(这是聊天式应用最常见的模式),使用流行的 MoE 大语言模型(例如 Switch‑Transformer‑7B),并与三种基线进行比较:纯 CPU、全量离线到 GPU 的纯 GPU、以及没有缓存的朴素 CPU‑GPU 离线。

结果与发现

配置峰值 GPU 内存每个 Token 的平均延迟吞吐量 (tokens/s)
纯 CPU< 2 GB28 ms35
纯 GPU(卸载)12 GB(完整模型)19 ms52
CPU‑GPU 卸载(无缓存)8 GB15 ms66
提议的 CPU‑GPU 协同(缓存命中率 68 %)8 GB11 ms84
  • 缓存命中率 在短暂热身后稳定在约 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
Back to Blog

相关文章

阅读更多 »

[论文] HEAL 数据平台

目标:本项目的目标是开发一个基于云的联邦系统,作为对在 … 生成的数据进行搜索、发现和分析的单一入口。