一句话定义:CPU-GPU 协同 MoE 推理(CPU-GPU Collaborative MoE AI 词典:Inference">Inference)是把混合专家模型(Mixture of Experts, MoE)中的专家(Expert)按调用热度分层放置——热专家常驻 GPU 显存、冷专家留在 CPU 内存——并借助自适应专家分配(Adaptive Expert Assignment)在请求到来时动态决定每个 token 调用哪部分专家,用有限显存换更高吞吐。
展开讲讲。MoE 的特点是“参数很多、每次只用一点”:模型里有几十上百个专家,但每个 token 经路由器(Router)只激活其中少数几个(top-k)。问题在于,专家总量往往远超单张 GPU 的显存容量,而 GPU 显存又贵又小。
打个比方:GPU 是开放式厨房的操作台,切菜下锅极快,但台面就这么大;CPU 内存是地下冷库,容量大、租金便宜,可跑一趟来回要时间。合理做法不是把所有食材都堆在台面上,而是把葱姜蒜这类高频食材放手边,需要提前泡发的干货放冷库,接单时按菜谱去取。
自适应专家分配做的就是这个“按热度摆货架”的动作,而且它是动态的:运行时统计各专家的命中率,热的往 GPU 上迁、冷的往 CPU 下放;同时观察请求的路由分布,尽量把要用的专家提前预取(prefetch)到显存,让数据搬运和 GPU 计算重叠起来,别让 GPU 干等着走 PCIe 总线。批次(batch)内还要做负载均衡,避免所有请求挤在同几个热专家上排队。
和相邻概念的区别:
| 方案 | 主要解决什么 | 代价 |
|---|---|---|
| 专家并行(Expert Parallelism) | 单卡装不下全部专家,分散到多张 GPU | 依赖卡间高速互联,卡越多通信越重 |
| 静态 CPU 卸载(Offloading) | GPU 显存不足,把部分权重放内存 | 换入换出被动且频繁,延迟抖动明显 |
| 自适应协同推理 | 在有限显存下把吞吐做上去 | 多一层调度开销,实现复杂度高 |
关键差别在于“按什么排序”和“什么时候搬”:专家并行按卡切分,静态卸载按固定规则切分,自适应协同按实时热度切分并预测下一步。
对谁有用。对从业者,它意味着不必靠堆顶级 GPU 也能跑起大 MoE:调优的关注点从“模型能不能装下”变成命中率、batch 大小、总线带宽和路由局部性这几个可观测指标。对普通用户,同等硬件上能用到更强的模型、更稳的响应;代价是问到冷门话题时可能稍慢一点——因为那部分专家在“冷库”里。具体支持哪些策略、默认参数如何,各家推理框架差异较大,以官方文档为准。
