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は、大規模なMixture-of-Experts (MoE) モデルを実行する際のGPUのメモリ制限に対処します。モデルのフットプリントをGPU VRAMとシステムRAMの両方に分割して実行できるようにすることで、本来であれば利用可能なGPUメモリに対して大きすぎるモデルの実行を可能にします。

仕組み

LvLLMはvLLMの拡張であり、lk_moe エンジンを統合してハイブリッドGPU + NUMA (Non-Uniform Memory Access) 並列アーキテクチャを実装します。これにより、MoEレイヤーが標準的なGPU計算とハイブリッドCPU-GPUパスの間を柔軟に切り替えることができます。システムは、NUMAを意識したスケジューリング、CPUコアへのスレッドバインディング、およびCPU-GPUハイブリッドデコーディングと並行して動作する特化したGPUプリフィルメカニズムを通じて、ハードウェアの利用率を最大化し、パフォーマンスを最適化します。

対象ユーザー

GPU VRAMがモデル全体を保持するのに不十分なハードウェア上で、大規模なMoEモデル(Qwen3、GLM、MiniMaxシリーズなど)を実行するユーザー、特にAVX2+を備えたx86 CPUとNVIDIA GPU (SM75+) を使用しているユーザー向けに設計されています。

ハイライト

  • デュアル並列性: ハイブリッドCPU-GPUデコーディングおよびプリフィルモードをサポート。
  • メモリ負荷分散: VRAMとシステムメモリを組み合わせて、より大きなモデルに対応。
  • NUMA最適化: 特化したスレッドバインディングにより、ノード間通信を削減し、L3キャッシュのヒット率を向上。
  • 幅広い量子化サポート: bfloat16, float16, FP8, NVFP4, MXFP4, および AWQ 4-bit symmetric quantization に対応。
  • vLLM互換性: 最新のvLLMソースコードとの完全な互換性を維持。