安装 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 可使用以下配置运行同一个模型:

该方法直接竞争 llama.cpp 及其工作机制 --n-gpu-layers,但 KTransformers 在 MoE 架构上更进一步,将每个专家路由到合适的设备,而不是将整层转移到其他设备。

为便于了解大致规模,以下列出了一些采用这种方法后便能运行的 MoE 模型:

硬件和软件前置条件

在启动之前 KTransformers 安装,请验证您的配置。该框架专门针对 MoE 架构,需要特定的 RAM/VRAM 配比。

运行 DeepSeek V3 Q4_K_M 的最低硬件要求 :

软件堆栈 :

为将此方案与传统全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 量化:

作为对比 DeepSeek R1 Distill Llama 70B 在 2× RTX 4090 上全 GPU 运行达到 25-30 tok/s —— 绝对速度更快,但蒸馏模型在推理基准测试中落后于完整的 671B。

质量基准测试(DeepSeek 官方报告) :

如需深入探讨质量与速度之间的权衡,请参见 DeepSeek R1 vs Llama 3.3 70B.

兼容模型及限制

并非所有 MoE LLM 都受到原生支持。KTransformers 维护着按架构划分的 YAML 优化列表。当前目录中:

原生支持已确认 :

支持尚在完善中或处于实验阶段 :

不支持 (稠密架构,进行计算卸载没有收益):

实际最大上下文长度受限于可用于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 的目录 用于对比授权和模型大小。

文章发表于 由 Mohamed Meguedmi · 数据来源: /api/models.json · 内容许可协议: CC BY 4.0.

有错误或更新需要反馈吗? 参与贡献.