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 显存不足的问题。它允许通过将模型占用空间分布在 GPU VRAM 和系统 RAM 中来运行模型,从而能够执行那些原本因显存不足而无法运行的大型模型。
工作原理
LvLLM 是 vLLM 的扩展,它集成了 lk_moe 引擎来实现混合 GPU + NUMA(非统一内存访问)并行架构。它允许 MoE 层在标准 GPU 计算和混合 CPU-GPU 路径之间灵活切换。系统通过 NUMA 感知调度、CPU 核心线程绑定以及与 CPU-GPU 混合解码并行运行的专用 GPU prefill 机制来优化性能,从而实现硬件利用率最大化。
适用对象
专为在 GPU VRAM 不足以容纳整个模型的硬件上运行大型 MoE 模型(如 Qwen3、GLM 和 MiniMax 系列)的用户设计,特别是那些使用具备 AVX2+ 的 x86 CPU 和 NVIDIA GPU (SM75+) 的用户。
亮点
- 双重并行性:支持混合 CPU-GPU 解码和 prefill 模式。
- 内存负载均衡:结合 VRAM 和系统内存以容纳更大的模型。
- NUMA 优化:通过专门的线程绑定减少跨节点通信并提高 L3 缓存命中率。
- 广泛的量化支持:兼容 bfloat16、float16、FP8、NVFP4、MXFP4 和 AWQ 4-bit symmetric quantization。
- vLLM 兼容性:保持与最新 vLLM 源代码的完全兼容。