← 返回信息流
GitHub 热榜GitHub Trending · 日·13 小时前

ktransformers:异构LLM推理与微调优化的灵活框架

原标题:kvcache-ai/ktransformers
Python18,172 stars+328 今日

速览

ktransformers 支持多种模型与硬件组合,提供统一的优化接口,方便开发者快速集成推理加速和微调调优,适用于需要高效运行LLM的云边端场景。

AI 深度解读

这是什么

KTransformers 是一个面向大语言模型的高效推理与微调研究项目,核心思路是通过 CPU-GPU 异构计算 突破单卡显存瓶颈。项目由清华大学 MADSys Lab、Approaching.AI 及 9#AISoft 等团队联合开发,当前提供两大用户能力:Inference(高性能推理)SFT(监督微调),均从 kt-kernel 源码树中独立暴露。

项目已支持大量前沿模型,包括 DeepSeek-V3/R1/V4、Kimi-K2 系列、MiniMax-M3、GLM-5、Qwen3-Next 等,且能在消费级硬件(如 24GB 显存 GPU + 382GB 系统内存)上运行数百亿参数的 MoE 模型。

解决的问题

大模型推理和微调对显存的要求极高,尤其是 MoE(Mixture-of-Experts)模型,其参数量动辄数百亿甚至上千亿,单张消费级 GPU(如 RTX 4090 24GB)根本无法完整加载。传统方案(如纯 GPU 推理、ZeRO-Offload)要么显存不够,要么 CPU 带宽瓶颈严重,导致推理速度极慢或无法训练。

KTransformers 通过以下设计解决这一矛盾:

  • CPU-GPU 混合推理:将模型的部分层或专家(Expert)分配到 CPU 内存,仅将热专家(频繁访问的)保留在 GPU,充分利用大容量系统内存(如 382GB DRAM)和 CPU 的向量化计算能力(AMX/AVX)。
  • 极致量化与压缩:支持 INT4/INT8/FP8 混合精度、IQ1_S 等超低位宽量化,在精度损失极小的前提下进一步降低显存占用。
  • 高效专家调度:动态判断专家热度,自动将冷专家卸载到 CPU 或磁盘,实现 3 层(GPU-CPU-Disk)缓存复用,支持 139K 超长上下文(24GB 显存下)。

核心功能

Inference(推理)

  • CPU 优化内核:基于 Intel AMX、AVX512/AVX2 指令集优化,支持 INT4/INT8 量化推理,吞吐量可达 16 tokens/s 以上(24GB 显存)。
  • MoE 特化优化:NUMA 感知的内存管理,减少跨内存域访问延迟;支持将不同专家分配到不同 GPU、CPU 甚至磁盘。
  • 多框架集成:通过 Clean Python API 无缝接入 SGLang、LLaMA-Factory 等框架,也可独立使用 kt-kernel
  • 多后端支持:除 NVIDIA GPU 外,还支持 AMD ROCm、Intel Arc GPU、Ascend NPU。
  • 长上下文:通过分层缓存和量化,在 24GB 显存下实现 139K 上下文(DeepSeek-V3/R1)。

SFT(微调)

  • LLaMA-Factory 集成:在 LLaMA-Factory 中直接使用 KTransformers 作为后端,只需安装 requirements/ktransformers.txt 并配置加速器。
  • CPU/GPU 混合微调:支持 INT8/INT4 量化训练,将大部分参数和梯度放在 CPU 内存,仅保留小部分活跃参数在 GPU。
  • 性能领先:在 MoE SFT 基准测试中,训练速度比 ZeRO-Offload 快 6-12 倍,且 CPU 内存占用降低约一半。
  • 多卡支持:通过 FSDP2 和 accelerate 配置,支持多 GPU 分布式训练。

亮点 / 与同类相比

相比 vLLM、llama.cpp、TGI 等主流推理框架,KTransformers 的独特优势:

| 特性 | KTransformers | vLLM / llama.cpp | |------|---------------|------------------| | CPU-GPU 异构专家调度 | 原生支持,热专家在 GPU,冷专家在 CPU/磁盘,动态切换 | 多采用纯 GPU 或纯 CPU,缺乏精细的专家级调度 | | 超长上下文 | 24GB 显存下支持 139K 上下文(DeepSeek-V3) | vLLM 在相同显存下通常仅支持 4K-8K | | 模型覆盖速度 | 模型发布后 1-2 天内即可提供 Day0 支持(如 MiniMax-M3、GLM-5) | 通常需要数周适配 | | 微调能力 | 支持超大规模 MoE 模型微调,速度远超 ZeRO-Offload | 大部分框架侧重推理,微调支持有限 | | 硬件兼容性 | 支持 NVIDIA、AMD、Intel Arc、Ascend NPU 等多种 GPU | 多数只支持 NVIDIA 或少量 AMD | | 量化灵活性 | 支持 INT4/INT8/FP8/IQ1_S 混合精度,可任意组合 | llama.cpp 支持较好,但 MoE 优化不足 |

此外,KTransformers 在消费级硬件上实现了 3-28 倍加速(相比纯 CPU 推理),且推理质量与全精度模型基本一致。其论文已被 ACM SIGOPS SOSP 2025 接收。

适合谁用 / 上手

适合的人群

  • 个人开发者 / 研究者:手头只有 1-2 张消费级 GPU(如 RTX 3090/4090 24GB),但希望运行或微调 100B+ 级别的 MoE 模型(如 DeepSeek-V3、Kimi-K2)。
  • 边缘计算 / 本地部署:需要在低显存设备上部署大模型,同时保持较高推理速度。
  • 学术团队:需要快速适配新模型,或进行大规模 MoE 模型的 SFT 实验,但预算有限,无法使用多卡 A100 集群。

快速上手

推理(独立使用)

cd kt-kernel
pip install .
# 然后调用 Python API 加载模型,例如:
from ktransformers import create_model
model = create_model("deepseek-ai/DeepSeek-V3")

推理(SGLang 集成): 请参考官方教程,在 SGLang 配置中启用 KTransformers 后端。

微调(LLaMA-Factory)

查看原文 →github.com