当前位置: 首页 » 资讯 » 新科技 » 正文

清华团队突破大模型算力瓶颈:4090单卡实现DeepSeek-R1满血运行

IP属地 北京 编辑:江紫萱 IT之家 时间:2025-02-15 18:32:32

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

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其内容真实性、完整性不作任何保证或承诺。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。