guqiong96/Lvllm

LvLLM is a special NUMA extension of vllm that makes full use of CPU and memory resources, reduces GPU memory requirements, and features an efficient GPU parallel and NUMA parallel architecture, supporting hybrid inference for MOE large models.

解决的问题

LvLLM 解决了在运行大型混合专家(MoE)模型时 GPU 的内存限制问题。它允许这些模型跨越 VRAM 和系统内存,防止内存不足错误,并通过利用 CPU 资源进行计算,使在 GPU 内存有限的硬件上运行超大规模模型成为可能。

工作原理

LvLLM 是 vLLM 的扩展,集成了 lk_moe 引擎。它实现了一种混合并行架构,结合了 GPU 并行与 NUMA 感知的 CPU 并行。

关键机制包括:

  • 混合内存分配:模型权重在 VRAM 和固定 NUMA 主机内存之间分布。
  • 灵活的层角色:每个 MoE 层可分配为:GPU 本地(所有权重在 VRAM 中)、CPU 混合(权重在内存中,注意力在 VRAM 中)、或 GPU 预填充(大批次在 GPU,小批次在 CPU)。
  • 计算模式:支持三种模式——CPU-GPU 混合解码、混合预填充、纯 GPU 预填充,以最大化 GPU 利用率。
  • NUMA 优化:使用 NUMA 线程绑定和交错,最小化跨节点通信并提高 L3 缓存命中率。

适用人群

专为需要在 VRAM 有限但具备强大多路 CPU/NUMA 配置的系统上优化推理性能的开发者和研究人员设计,适用于部署大型 MoE 模型(如 DeepSeek-V4、Qwen3 或 MiniMax)的场景。

主要亮点

  • VRAM + 系统内存扩展:实现「1+1=2」的内存占用,使模型可充分利用 100% 的可用 VRAM 和系统内存。
  • NUMA 感知调度:将跨节点通信降低至最低 3%。
  • 广泛量化支持:兼容 FP8、NVFP4、MXFP4 和 AWQ 4 位对称量化。
  • vLLM 兼容性:与上游 vLLM 的差异极小,当禁用混合功能时,仍保持与原生行为的兼容性。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目