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 源碼的完全相容。