ktransformers: 针对超大规模 MoE 模型的 CPU-GPU 混合推理与微调框架
ktransformers: 针对超大规模 MoE 模型的 CPU-GPU 混合推理与微调框架
它解决了什么问题
KTransformers 解决了运行超大规模混合专家 (MoE) 模型的硬件限制问题。它通过利用 CPU-GPU 异构计算,允许用户在消费级硬件上进行高性能推理和微调,从而减少了对大量昂贵 GPU VRAM 的依赖。
工作原理
该框架采用混合计算方法,将工作负载分配到 GPU 和 CPU 之间。关键技术实现包括:
- 异构专家放置 (Heterogeneous Expert Placement):将“热”专家保留在 GPU 上以保证速度,而将“冷”专家卸载到 CPU。
- CPU 优化内核 (CPU-Optimized Kernels):使用 Intel AMX 和 AVX512/AVX2 优化的内核来加速 CPU 上的 INT4/INT8 量化推理。
- 内存管理 (Memory Management):为 MoE 推理实现了 NUMA 感知内存管理,并采用了 3 层 (GPU-CPU-Disk) 前缀缓存复用系统。
- SFT 集成:与 LLaMA-Factory 集成,从而实现对大型 MoE 模型的微调,其速度显著快于传统的 ZeRO-Offload 方法。
适用人群
- 缺乏企业级 GPU 集群的超大规模 MoE 模型 (如 DeepSeek-V3/R1) 研究人员和开发者。
- 希望在消费级硬件 (例如 RTX 4090s) 上运行尖端 LLM 的用户。
- 寻求使用 CPU/GPU 混合内存进行高效模型微调的 ML 工程师。
亮点
- 混合推理 (Hybrid Inference):支持 CPU-GPU 异构计算,以便在有限的 VRAM 上运行大规模模型。
- 广泛的硬件支持:兼容 NVIDIA GPUs、AMD GPUs (ROCm)、Intel Arc GPUs 和 Ascend NPUs。
- 量化 (Quantization):支持 CPU 上的 INT4/INT8 以及 GPU 上的 GPTQ/FP8。
- 微调速度:与 ZeRO-Offload 相比,为 MoE SFT 工作负载提供 6-12 倍的训练加速。
- 框架集成:提供简洁的 Python API,以便与 SGLang 集成。
Sources
- undefinedkvcache-ai/ktransformers