安装 KTransformers:在消费级 GPU 上运行 70B+ LLM
框架 KTransformers 安装 支持在单张 RTX 4090 或 3090 显卡上本地运行参数超过 6000 亿的 MoE(专家混合)模型,通过将不活跃的专家迁移到 CPU 内存来实现。该 KTransformers 安装 基于 MoE 专家的选择性卸载,并利用 CPU 的 AVX-512 / AMX 指令集来减轻 GPU 负担。本指南涵盖硬件前提、逐步安装流程以及兼容模型(特别是 DeepSeek V3 在消费级 GPU 上运行), 测量性能及部署过程中常见的陷阱 本地 671B LLM.
为什么 KTransformers 能改变 MoE LLM 的格局
KTransformers 是清华大学 KVCache.AI 实验室开发的 Python 框架,依照 Apache 2.0 许可证发布于 GitHub。其特点是:推理时仅将活跃的 MoE 专家加载到显存中,其余专家保留在系统 RAM 中。对于诸如 DeepSeek V3 671B 每生成一个 token,仅激活其总计 671B 参数中的约 37B 参数,因此能节省大量显存。
具体而言,传统推理方式(vLLM、transformers)运行 DeepSeek V3 时,在 Q4 量化下需要约 400 GB 显存,而 KTransformers 可使用以下配置运行同一个模型:
- GPU : 24 GB VRAM (RTX 4090 或 3090)
- CPU 内存 : 380 至 512 GB DDR5
- CPU : Intel Xeon 配备 AMX 或 AMD EPYC Genoa(预计为最优选择)
该方法直接竞争 llama.cpp 及其工作机制 --n-gpu-layers,但 KTransformers 在 MoE 架构上更进一步,将每个专家路由到合适的设备,而不是将整层转移到其他设备。
为便于了解大致规模,以下列出了一些采用这种方法后便能运行的 MoE 模型:
- DeepSeek V3 671B : VRAM Q4 约 400 GB → 可在 24 GB GPU 显存 + 384 GB RAM 下运行
- DeepSeek R1 671B :配置相同,另有推理能力
- Kimi K2.5 : 1000B 参数,约 32B 激活参数
- Qwen 3 235B-A22B : 235B,激活参数为22B
硬件和软件前置条件
在启动之前 KTransformers 安装,请验证您的配置。该框架专门针对 MoE 架构,需要特定的 RAM/VRAM 配比。
运行 DeepSeek V3 Q4_K_M 的最低硬件要求 :
- NVIDIA GPU : RTX 3090 / 4090 / 5090(24 GB)或 A6000(48 GB)。计算能力 ≥ 8.0
- DDR5内存 : 最低 384 GB,推荐 512 GB 以支持长上下文
- CPU :Intel Xeon Sapphire Rapids(AMX)、Xeon Emerald Rapids,或AMD EPYC 9004(估计适用)。Core i9-14900K这类桌面CPU也能运行,但不支持AMX
- 存储 :NVMe Gen4 上有 450 GB 可用空间,用于存放 GGUF 权重
- OS : Ubuntu 22.04 LTS或Debian 12(Windows WSL2支持,但性能较慢,约慢20-30%,需确认)
软件堆栈 :
- Python 3.11
- CUDA 12.4 或 12.6
- 使用 CUDA 编译的 PyTorch 2.4+
- gcc-11 最低要求(AMX需gcc-13)
- CMake 3.25+
为将此方案与传统全GPU方案进行对比,请参见我们的 vLLM 指南 ,其中详细介绍了 H100 集群上的张量并行。
分步安装指南
La KTransformers 安装 必须严格遵循特定序列。任何CUDA/PyTorch版本的偏差都会导致CPU内核编译失败。
步骤 1 — 隔离的 Python 环境 :
conda create -n ktrans python=3.11
conda activate ktrans
conda install -c conda-forge libstdcxx-ng
步骤 2 — PyTorch 配合 CUDA :
pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu124
pip install packaging ninja cpufeature numpy
步骤 3 — 克隆与编译 :
git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers
git submodule update --init --recursive
bash install.sh
脚本 install.sh 编译CPU内核(llamafile,若检测到AMX则包含)并安装本地wheel。编译时间根据CPU不同,需10至20分钟。
第4步——下载模型权重 :
KTransformers 使用 GGUF 文件(量化格式 llama.cpp)。例如,下载 DeepSeek-V3-Q4_K_M.gguf depuis Hugging Face :
huggingface-cli download unsloth/DeepSeek-V3-GGUF \
--include "DeepSeek-V3-Q4_K_M*" \
--local-dir ./models/deepseek-v3-q4
步骤 5 — 启动推理 :
python -m ktransformers.local_chat \
--model_path deepseek-ai/DeepSeek-V3 \
--gguf_path ./models/deepseek-v3-q4 \
--cpu_infer 48 \
--max_new_tokens 1024
参数 --cpu_infer 对应专门用于运行已卸载专家的 CPU 线程数。请将其设置为 (cores physiques - 2).
在消费级 GPU 上测得的性能
以下数据来源于 KTransformers v0.2官方基准测试 以及社区反馈。对于 本地 671B LLM 采用 Q4_K_M 量化:
- RTX 4090 + Xeon Gold 6454S (AMX) :预填充速度 13.6 tok/s,解码速度 14 tok/s(DeepSeek V3)
- RTX 4090 + i9-14900K(不含AMX) : 预估解码速率为 8 token/s
- RTX 3090 + EPYC 9354 :估计解码速度为每秒 10 个 token(需根据 RAM 带宽进一步确认)
作为对比 DeepSeek R1 Distill Llama 70B 在 2× RTX 4090 上全 GPU 运行达到 25-30 tok/s —— 绝对速度更快,但蒸馏模型在推理基准测试中落后于完整的 671B。
质量基准测试(DeepSeek 官方报告) :
- DeepSeek V3 671B : MMLU 88.5,HumanEval 82.6,MATH-500 90.2
- DeepSeek R1 671B :AIME 2024 79.8,MATH-500 97.3,Codeforces 第 96.3 百分位
- Qwen 3 235B-A22B : MMLU-Pro 73 估算,HumanEval 88 待确认
如需深入探讨质量与速度之间的权衡,请参见 DeepSeek R1 vs Llama 3.3 70B.
兼容模型及限制
并非所有 MoE LLM 都受到原生支持。KTransformers 维护着按架构划分的 YAML 优化列表。当前目录中:
原生支持已确认 :
- DeepSeek V3 671B (MoE,370 亿活跃参数)
- DeepSeek R1 671B (MoE,370 亿活跃参数)
- DeepSeek V3.2 (685B, MoE)
- Mixtral 8x22B Instruct (141B,8 个专家 × 22B)
- Qwen 3 235B-A22B
支持尚在完善中或处于实验阶段 :
- Kimi K2.5 et Kimi K2.6 (架构类似 DeepSeek,应能运行)
- GLM-5.1 (744B MoE,待确认)
- ERNIE 4.5 300B-A47B
不支持 (稠密架构,进行计算卸载没有收益):
- Llama 3.1 405B Instruct —— 建议改用多 GPU 配置的 vLLM
- Qwen 2.5 72B Instruct — 全显卡运行,配备 2× RTX 4090
实际最大上下文长度受限于可用于KV-cache的RAM:在DeepSeek V3上,32K tokens需额外约30 GB内存。超过64K tokens后,吞吐量会显著下降。
FAQ
Q:KTransformers 能在搭载 Apple Silicon 芯片的 Mac 上运行吗?
否。框架依赖 CUDA 实现 GPU 内核,以及 AVX-512/AMX 实现 x86 CPU 内核。在 Mac M 系列上,请改用 llama.cpp 配合 Metal 使用,或使用 MLX。我们的 Mac 平台 LLM 指南 详细介绍了替代方案。配备 512 GB 内存的 M3 Ultra 可以原生运行 DeepSeek V3 Q4,无需进行计算分流(offloading),估算速度为 18–20 个 token/秒。
Q:与 llama.cpp 的 offload 模式相比有何区别?
llama.cpp 实现整层卸载(--n-gpu-layers N),这适用于以下这类稠密模型: Llama 3.3 70B Instruct. KTransformers将 单个专家 基于 MoE 架构,这在 DeepSeek V3 中表现尤为高效,其中每 token 仅激活 256 专家中的 8 个。典型性能提升:在同等硬件条件下,比 llama.cpp 在 DeepSeek V3 上快 3 到 5 倍。
Q:是否可以使用KTransformers进行微调?
不,该框架专门用于推理。要微调 MoE 模型,请参考 DeepSpeed-MoE 或 Unsloth(仅限参数量小于 70B 的稠密模型)。KTransformers 既不支持动态 LoRA,也不支持 QLoRA。如果您希望适配一个 70B 模型,更建议选择 Llama 3.1 Nemotron 70B 搭配Unsloth在RTX 4090上使用QLoRA 4位量化
Q:使用消费级 GPU 运行 DeepSeek V3 的硬件配置要多少钱?
预估预算(2026 年):RTX 4090 二手 1500 欧元,服务器主板 W790 或 EPYC SP5 800 欧元,CPU Xeon w7-2495X 2200 欧元,384 GB DDR5 ECC 3000 欧元,NVMe 2 TB 200 欧元,电源 + 机箱 400 欧元。总计:约 8000 欧元以运行一个 本地 671B LLM。作为对比,单块 H100 80 GB 的价格约为 30,000 欧元,而即便是它也不足以运行全精度模型。
Q:是否提供兼容OpenAI的服务器模式?
可以,自 v0.2 起便支持。请运行 ktransformers --server_port 10002 --model_path ... --gguf_path ... 并将您的 OpenAI 客户端连接地址设为 http://localhost:10002/v1。兼容 Open WebUI、Continue.dev 和 LiteLLM。SSE 流式传输可正常工作,但函数调用仍仅获部分支持(需根据具体版本确认)。
Q:运行 DeepSeek V3,KTransformers 与 SGLang 如何比较?
SGLang 面向高性能多 GPU 部署(H100/H200),搭配 8× H100 运行 DeepSeek V3 时可达到 60+ tok/s。KTransformers 面向消费级单 GPU 设备,将部分模型卸载到系统 RAM 中,速度为 10–15 tok/s。选择很简单:有集群就选 SGLang,有工作站就选 KTransformers。
结论
La KTransformers 安装 使您能够在一台 8000 欧元的工作站上运行前沿 MoE 模型(DeepSeek V3、R1、Kimi K2.5),而无需使用价值 200000 欧元的 H100 集群。代价是速度为每秒 10–15 个 token,而非每秒 60 个以上,但回答质量与全精度模型相当。要找到适合您显存和系统内存容量的 MoE 模型,请使用 quelllm.fr 配置器,或直接浏览 收录了 249 个 LLM 的目录 用于对比授权和模型大小。