KTransformers部署 使671B DeepSeek R1成「办公桌标配」


2025年2月,当DeepSeek-R1以”开源即巅峰”的姿态引爆AI界时,某AI科技团队却陷入了两难:这款拥有类专家级推理能力的模型,既是AI应用效果困局的钥匙,也是吞噬企业算力预算的黑洞——云服务持续过载导致关键实验中断,而组建百万级私有云集群的方案,让这个几十人团队望而却步。

1. 什么是KTransformers

KTransformers作为一个开源框架,专门为优化大规模语言模型的推理过程而设计。它支持GPU/CPU异构计算,并针对MoE架构的稀疏性进行了特别优化,可以有效降低硬件要求,允许用户在有限的资源下运行像DeepSeek-R1这样庞大的模型。KTransformers实现了强大的CPU+DDR5+24GB显存环境下本地运行DeepSeek-R1满血版的能力,大大降低了部署成本和技术门槛。
在这里插入图片描述

DeepSeek 版本

DeepSeek R1主要分为两大类别,共计8个版本,但性能与GPT-o1抗衡的版本只有671B满血版本。其他蒸馏版模型虽经过了调优,但性能仍与满血版有差距。然而,根据传统的私有化部署方案,运行671B参数的大模型需组建H100/H200 16卡服务器集群,启动成本动辄数百万,运维还需专业机房与高能耗散热系统。
图片
对预算有限的中小团队来说,这相当于吃掉创新团队全年研发预算的60%,试错成本过于高昂,无疑会对其正常的业务运营造成巨大的压力。
这种情况迫使中小企业要么放弃部署,要么选择性能降级的“阉割版”模型或者更小的模型,但智能断崖可能导致试点项目得出负面结论。根据IDC的调查,70%的CIO报告称他们的自建AI应用项目失败率达90%。企业最终陷入“部署不起”与“用不好”的双重困境。

更令人焦虑的是,延迟智能化升级可能导致企业在市场竞争中处于劣 势,错失潜在的经济和社会效益,错失政策支持与机遇。打破”顶尖本地化AI智力=天价门槛”的魔咒,让中小团队用有限预算获得智算中心级推理能力是大模型落地的关键。

技术破局密钥:强稀疏化MoE模型需要全新的私有化架构设计

破局的本质还是需要回到技术层面,不仅是DeepSeek系列的大模型,目前主流的大模型大多是MoE架构,这种架构的核心是将模型中的任务分配给不同的专家模块,每个专家模块专注于处理特定类型的任务,也就是说,虽然拥有千亿参数,但由于MoE架构的稀疏性,每次推理仅激活不到10%的神经元。
云上方案固然是一种解法:将专家模块分布式部署于大规模集群上,用海量并发摊薄成本。但中小团队及对安全性有高度要求的关键领域,需要全新的私有化架构设计来进行私有化部署。
基于此,趋境科技给出了全新的技术答案:利用MoE大模型架构的稀疏性,采用GPU/CPU异构协同和以存换算,小规模集群也可运行满血版DeepSeek R1,要成本也要更强智能。
具体到技术实现上,趋境科技通过算力划分和高性能算子,将来自存储、CPU、GPU、NPU的算力高效融合,充分释放全系统的存力和算力,以提升大模型推理性能;同时利用存储空间,为大模型加入处理缓存记忆的能力,面对全新的问题也可以从历史相关信息中提取可复用的部分内容,与现场信息进行在线融合计算,进而降低计算量。
值得一提的是,趋境科技联合清华 KVCache.AI 团队也刚刚更新了开源项目——异构推理框架KTtransformers,支持单GPU本地运行 DeepSeek-R1 671B满血版。更新发布后,引起全球开发者的强烈关注和复现热潮,在x、Reddit、B站等国内外社区均有开发者自发发布复现结果及教学视频,B站up主的教学视频发布当天播放量近20万,登顶全站热榜第一名。
在这里插入图片描述

趋境AI大模型推理软硬一体工作站——让大模型推理门槛降低10倍

在产品层面,趋境科技以四大革新重新定义企业级AI部署:

  • 仅用传统部署方案成本的10%,获得顶尖大模型的能力。DeepSeek-R1/V3满血版的部署成本从数百万压缩至数十万级,且能够达到286 token/s的预填充和14 token/s的生成速度,比开源版本的llama.cpp最高快28倍。

  • 异构算力释放极致性能,从“分钟级等待”瞬间迈入“秒级响应”,让中小团队以“轻量级”硬件获得“智算中心级”的推理能力。

  • 国产芯片兼容生态闭环,深度整合英伟达、昇腾等多种芯片,实现从指令集到应用层的全栈优化。

2. 准备环境

硬件配置:

  • CPU: 使用的是Intel Xeon Silver 4310 CPU @ 2.10GHz,拥有24个物理核心(每个插槽12个核心),支持超线程技术,总共有48个逻辑处理器。
  • 内存: 系统配备了1T的DDR4内存,频率为3200MHz。
  • GPU: NVIDIA GeForce RTX 3090,显存为24GB。
    软件环境:
  • 操作系统版本:Ubuntu 22.04
  • CUDA版本:12.1
  • 软件框架: KTransformers v0.2.1,支持DeepSeek-R1模型的本地推理。
  • 模型参数:DeepSeek-R1-Q4_K_M

3 环境准备与资源下载

KTransformers:

模型文件:

4 安装过程

1. linux环境搭建

  • CUDA 12.1及以上版本

如果您还没有安装CUDA,可以从这里下载并安装。
添加CUDA到PATH环境变量:

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_PATH=/usr/local/cuda
  • Linux-x86_64 系统,带有 gcc, g++ 和 cmake

更新包列表并安装必要的工具:

sudo apt-get update
sudo apt-get install gcc g++ cmake ninja-build
  • 使用 Conda 创建虚拟环境

我们建议使用Conda来创建一个Python=3.11的虚拟环境来运行程序:

conda create --name ktransformers python=3.11
conda activate ktransformers  # 您可能需要先运行 `conda init` 并重新打开shell

确保安装了 PyTorch、packaging、ninja 等依赖项:

pip install torch packaging ninja cpufeature numpy

或者直接拉取已经构建好的docker镜像(推荐):docker pull approachingai/ktransformers:0.2.1

  • 下载源代码并编译

初始化源代码:

git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers
git submodule init
git submodule update

博主提供已经git submodule update后的文件下载的ktransformers包(更新时间:20250218):
链接: https://pan.baidu.com/s/1WvPK_lcLY9MdKxCWxoqonQ?pwd=mcbd 提取码: mcbd
安装(Linux):

bash install.sh

2 模型加载
下载Deepseek原模型配置文件

  • modelscope:https://modelscope.cn/models/deepseek-ai/DeepSeek-R1
  • huggingface:https://huggingface.co/deepseek-ai/DeepSeek-R1
    博主分享的配置文件:
    链接: https://pan.baidu.com/s/1XKdP2L0QmX7YPGkqi7ujgg?pwd=6p7v 提取码: 6p7v
    检查一下配置文件是否完整

本地聊天测试命令
本地聊天测试命令如下:

numactl -N 1 -m 1 python ./ktransformers/local_chat.py --model_path <your model path> --gguf_path <your gguf path> --cpu_infer 33 --max_new_tokens 1000

参数说明

  • numactl -N 1 -m 1

使用numactl工具来绑定CPU核心和内存节点。这里的-N 1表示使用第1号CPU核心,-m 1表示使用第1号内存节点。这有助于提高多核系统的性能。

  • python ./ktransformers/local_chat.py

运行KTransformers的本地聊天Python脚本。

  • –model_path

指定模型路径。可以是本地路径或在线Hugging Face路径(如deepseek-ai/DeepSeek-V3)。如果在线连接有问题,可以尝试使用镜像站点(如hf-mirror.com)。

  • –gguf_path

指定GGUF格式的模型路径。由于GGUF文件较大,建议您下载到本地并根据需要进行量化处理。注意这里是指向包含GGUF文件的目录路径。

  • –cpu_infer 33

设置用于推理的CPU线程数。这里设置为33,可以根据您的硬件配置调整这个数值。

  • –max_new_tokens 1000

设置最大输出token长度。默认值为1000,如果您发现生成的答案被截断了,可以增加这个数值以生成更长的回答。但请注意,增加这个数值可能会导致内存不足(OOM),并且会降低生成速度。
示例
(以博主目录结构假设)模型路径为/root/DeepSeek-R1-GGUF,GGUF路径为/root/DeepSeek-R1-GGUF/DeepSeek-R1-Q4_K_M,那么完整的命令应如下所示:

numactl -N 1 -m 1 python ./ktransformers/local_chat.py --model_path /root/DeepSeek-R1-GGUF --gguf_path /root/DeepSeek-R1-GGUF/DeepSeek-R1-Q4_K_M  --cpu_infer 33 --max_new_tokens 1000

2. windows环境搭建

  • CUDA 12.1及以上版本

检查安装版本
在这里插入图片描述
添加CUDA到PATH环境变量:

export PATH=C:\Users\indexvc\MiniConda3\condabin: P A T H e x p o r t L D L I B R A R Y P A T H = / u s r / l o c a l / c u d a / l i b 64 : PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64: PATHexportLDLIBRARYPATH=/usr/local/cuda/lib64:LD_LIBRARY_PATH
export CUDA_PATH=/usr/local/cuda
在这里插入图片描述

  • 使用 Conda 创建虚拟环境

我们建议使用Conda来创建一个Python=3.11的虚拟环境来运行程序:

conda create --name ktransformers python=3.11
conda activate ktransformers  # 您可能需要先运行 `conda init` 并重新打开shell

确保安装了 PyTorch、packaging、ninja 等依赖项:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
pip3 install packaging ninja cpufeature numpy


遇到的错误

Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): failed

CondaError: KeyboardInterrupt

或者直接拉取已经构建好的docker镜像(推荐):docker pull approachingai/ktransformers:0.2.1

  • 下载源代码并编译

初始化源代码:

git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers
git submodule init
git submodule update

安装():

install.bat

可能会遇到的错误

  ValueError: Unsupported backend: CUDA_HOME and MUSA_HOME are not set.
      [end of output]

问题分析:
CUDA 环境未配置:CUDA_HOME 是一个指向 CUDA 安装目录的环境变量,很多涉及 GPU 计算的 Python 包在构建或运行时需要该环境变量来找到 CUDA 库和工具。如果没有设置,包构建过程就会失败。
解决方案
安装并配置 CUDA
如果你需要使用 CUDA 进行 GPU 加速,需要先安装 CUDA Toolkit。
下载并安装 CUDA Toolkit:访问 NVIDIA 官方网站(https://developer.nvidia.com/cuda-downloads),根据你的操作系统和显卡型号选择合适的 CUDA Toolkit 版本进行下载和安装。
设置 CUDA_HOME 环境变量:
右键点击 “此电脑”,选择 “属性”。
点击 “高级系统设置”,在弹出的窗口中点击 “环境变量”。
在 “系统变量” 中点击 “新建”,变量名输入 CUDA_HOME,变量值输入 CUDA 的安装路径(例如 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8)。
找到 Path 变量,编辑它,添加 %CUDA_HOME%\bin 和 %CUDA_HOME%\libnvvp 到变量值中。

2 模型加载
下载Deepseek原模型配置文件

  • modelscope:https://modelscope.cn/models/deepseek-ai/DeepSeek-R1
  • huggingface:https://huggingface.co/deepseek-ai/DeepSeek-R1

本地聊天测试命令
本地聊天测试命令如下:

numactl -N 1 -m 1 python ./ktransformers/local_chat.py --model_path <your model path> --gguf_path <your gguf path> --cpu_infer 33 --max_new_tokens 1000

部分加载日志
首次加载时间较长 加载完成,在浏览器中输入http://localhost:10005/web/index.html#/chat
在这里插入图片描述

步骤三:推理与测试

docker部署

docker pull approachingai/ktransformers:0.2.1
docker run --name ktransformers -it -p 3001:10005 approachingai/ktransformers:0.2.1

5. 测试结果

在复现KTransformers部署满血版DeepSeek-R1的过程中,我们遇到了一些性能上的差异。尽管已经按照官方指南进行了配置和优化,但最终的推理速度和效率并未达到预期水平。以下是具体的实践结果及分析。

测试结果
经过多次测试,我们得到了5.2 tokens/s的生成速度。

这些数据显示,在我们的实验环境中,模型的推理速度显著低于官方宣称14 tokens/s的生成速度。

分析原因
通过对比实验配置与官方推荐的最佳实践,我们发现以下几个关键因素可能导致了性能差异:

CPU性能:

我们的测试平台使用的是Intel Xeon Silver 4310 CPU,而官方文档中提到的理想配置包括第四代至强可扩展处理器,这类处理器集成了高级矩阵扩展指令集(AMX),能够大幅提升计算密集型任务的执行效率。相比之下,Silver系列的处理器在处理能力上存在差距,特别是在需要大量矩阵运算的任务中表现不佳。
内存类型:

在内存方面,我们使用的DDR4内存虽然提供了足够的带宽和容量,但是与最新的DDR5内存相比,在读写速度上有明显的劣势。根据相关测试,DDR5内存的读写速度比DDR4内存高出约2000MB/s,提升幅度在35%~41%之间。这种速度上的差异可能影响到数据加载和处理的速度,进而影响整体的推理效率。
GPU型号:

虽然NVIDIA GeForce RTX 3090是一款高性能显卡,但在处理极其庞大的模型时,其24GB的显存限制可能成为瓶颈。相比之下,RTX 4090采用了更先进的架构,能够在相同条件下提供更高的计算能力和更好的能效比。这可能是导致我们在实际测试中未能达到理想推理速率的一个重要原因。
结论与建议
综上所述,为了进一步提升DeepSeek-R1模型在本地部署时的推理性能,建议考虑升级硬件配置,特别是选择支持AMX指令集的CPU、采用DDR5内存以及选用更高性能的GPU。

### KTransformers 部署指南 #### 1. 准备环境 为了部署 KTransformers,需先确认环境中已安装必要的依赖项。特别是对于 GPU 加速的支持,应确保系统已经配置好 CUDA 环境[^3]。 ```bash nvcc --version ``` 此命令用于验证 CUDA 是否正确安装并可用。如果未检测到有效的 CUDA 安装,则需要按照官方指导完安装过程。 #### 2. 获取项目资源 访问 KTransformersGitHub 主页获取最新的项目文件和文档说明[^2]: - **项目主页**: [https://github.com/kvcache-ai/ktransformers/tree/main](https://github.com/kvcache-ai/ktransformers/tree/main) 通过克隆仓库来下载整个项目至本地机器上: ```bash git clone https://github.com/kvcache-ai/ktransformers.git cd ktransformers ``` #### 3. 设置 Python 虚拟环境 (可选但推荐) 创建一个新的虚拟环境有助于隔离不同项目的依赖关系,防止版本冲突等问题的发生。 ```bash python -m venv env_ktransformers source env_ktransformers/bin/activate # Linux 或 macOS .\env_ktransformers\Scripts\activate # Windows PowerShell ``` 激活后的提示符前会显示 `(env_ktransformers)` 表明当前处于该虚拟环境下工作。 #### 4. 安装所需库 根据 `requirements.txt` 文件中的列表安装所需的 Python 库。这通常包含了运行模型所必需的各种包及其特定版本号。 ```bash pip install -r requirements.txt ``` 另外,还需单独加载来自 Hugging Face Transformers 库的核心组件: ```python import torch from transformers import AutoModelForCausalLM, AutoTokenizer ``` 这些模块提供了便捷的方法来实例化预训练的语言模型及相应的分词器工具类。 #### 5. 运行测试脚本 在一切准备就绪之后,可以尝试执行一些简单的例子来进行初步的功能验证。比如调用内置的推理接口处理一段输入文本数据,并观察输出结果是否符合预期。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赤胜骄阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值