2 月 15 日消息,现阶段用户使用 DeepSeek-R1 的主要途径无外乎云服务及“本地部署”,但官网服务器频频宕机、个人部署多为参数量缩水 90% 的蒸馏版。因此,一般用户要想在普通硬件上运行起真正的 DeepSeek-R1 满血版可以说很难很难,而租赁服务器的成本就算是开发者也倍感压力。
清华大学 KVCache.AI团队与趋境科技联合发布 KTransformers(注:发音为 Quick Transformers)开源项目本周宣布迎来重大更新,成功破解千亿级大模型本地部署难题,突破标志着大模型推理从“云端垄断”走向“普惠化”的重要一步。
如图所示,KTransformers 团队于 2 月 10 日成功在 24 GB 显存 + 382 GB 内存的 PC 上实现本地运行 DeepSeek-R1、V3 的 671B 满血版,速度提高 3~28 倍。
今日, KTransformers 宣布支持更长的上下文(24GB 单卡支持 4~8K),并实现 15% 加速(每秒最多 16 个 Tokens)。
据官方介绍,KTransformers 是一个灵活的、以 Python 为中心的框架,其设计核心是可扩展性、通过用一行代码实现和注入一个优化模块,用户就能访问兼容 Transformers 的界面、符合 OpenAI 和 Ollama 标准的 RESTful API,甚至是类似 ChatGPT 的简化网页用户界面。
该技术首次支持在单张 24GB 显存的消费级显卡(如 RTX 4090D)上运行 DeepSeek-R1 / V3 的 671B 参数满血版,预处理速度最高达 286 tokens/s,推理生成速度达 14 tokens/s,彻底改写了 AI 大模型依赖昂贵云服务器的历史格局。
DeepSeek-R1 基于混合专家(MoE)架构,其核心是将任务分配给不同专家模块,每次推理仅激活部分参数。团队创新性地将非共享稀疏矩阵卸载至 CPU 内存处理,结合高速算子优化,显存需求从传统 8 卡 A100 的 320GB 压缩至单卡 24GB。
借助于KTransformers ,普通用户只需 24G 显存即可在本地运行 DeepSeek-R1、V3 的 671B 满血版。预处理速度最高达到 286 tokens/s,推理生成速度最高能达到 14 tokens/s。
针对 MoE 架构的特点,KTransformers 团队通过 Marlin GPU 算子实现量化矩阵计算,效率较传统方案提升 3.87 倍;再加上 CPU 端突破,采用 llamafile 实现多线程并行,结合英特尔 AMX 指令集优化,CPU 预填充速度较 llama.cpp提升 28 倍,长序列任务响应时间从分钟级缩短至秒级。
此外,他们通过减少 CPU / GPU 通信断点,实现单次解码仅需一次完整的 CUDA Graph 调用,生成速度优化至 14 tokens/s,功耗仅 80W,整机成本约 2 万元,仅为传统 8 卡 A100 方案的 2%。
经过开发者实测,使用 RTX 3090 显卡和 200GB 内存配置,结合 Unsloth 优化,Q2_K_XL 模型推理速度达 9.1 tokens/s,实现千亿级模型的“家庭化”运行。
必须要说明的是,KTransformers 并非一个单纯的推理框架,也不限于 DeepSeek 模型,它可以兼容各式各样的 MoE 模型和算子,能够集成各种各样的算子,做各种组合的测试,同时还提供了 Windows、Linux 的平台的支持,感兴趣的用户可自行尝试。
当然,要想使用 KTransformers 也有一点硬性条件,而不是说只要有一张 RTX 4090 就能无障碍运行。先决条件要保证:
CPU:英特尔至强 Gold 6454S 1T DRAM(2 个 NUMA 节点)
GPU:RTX 4090D(24G VRAM)
内存:标准 DDR5-4800 服务器 DRAM(1 TB)
CUDA 12.1 或更高版本
RTX 4090D + 双路 Xeon Gold实测数据:任务类型
KTrans V0.3 (6位专家)
KTrans V0.2 (8位专家)
llama.cpp(FP16)
8K 上下文预填充
207.20 tokens/s
195.62 tokens/s
7.43 tokens/s
短文本解码
13.69 tokens/s
8.73 tokens/s
4.51 tokens/s
长序列吞吐量
19.8GB / 秒
15.2GB / 秒
4.8GB / 秒
对于 Linux-x86_64 系统,您需要 gcc、g++ 和 cmake 使用以下命令进行安装:
sudo apt-get updatesudo apt-get install gcc g++ cmake ninja-build
这里强烈建议使用 Conda 创建一个包含 Python 3.11 的虚拟环境。使用以下命令创建并激活环境:
conda create --name ktransformers python=3.11conda activate ktransformers # 您可能需要运行 ‘conda init’
安装 PyTorch、packaging、ninja、cpufeature 和 numpy:
pip install torch packaging ninja cpufeature numpy
安装 KTransformers
pip install ktransformers --no-build-isolation
快速使用
python -m ktransformers.local_chat --model_path --gguf_path --prompt_file --cpu_infer 65 --max_new_tokens 1000
参数解释:model_path:模型路径。gguf_path: gguf 文件路径。
prompt_file:包含提示文本的文件路径。
cpu_infer 65:指定用于推理的 CPU 核心数。如果使用双路 CPU,因此设置为 65。
max_new_tokens 1000:设置生成 token 的最大数量。
参考资料
GitHub 地址:https://github.com/kvcache-ai / ktransformers
本地化 671B DeepSeek-Coder-V3 / R1 教程:https://github.com/kvcache-ai / ktransformers / blob / main / doc / en / DeepseekR1_V3_tutorial.md