清华团队突破大模型算力瓶颈:4090单卡实现Dee
现阶段用户使用 DeepSeek-R1 的主要途径无外乎云服务及“本地部署”,但官网服务器频频宕机、个人部署多为参数量缩水 90% 的蒸馏版。因此,一般用户要想在普通硬件上运行起真正的 DeepSeek-R1 满血版可以说很难很难,而租赁服务器的成本就算是开发者也倍感压力。
清华大学 KVCache.AI 团队与趋境科技联合发布 KTransformers开源项目本周宣布迎来重大更新,成功破解千亿级大模型本地部署难题,突破标志着大模型推理从“云端垄断”走向“普惠化”的重要一步。
如图所示,KTransformers团队于 2 月 10 日成功在 24 GB 显存 + 382GB 内存的 PC 上实现本地运行 DeepSeek-R1、V3 的 671B 满血版,速度提高 3~28 倍。
今日,KTransformers 宣布支持更长的上下文,并实现 15% 加速。
据官方介绍,KTransformers 是一个灵活的、以 Python 为中心的框架,其设计核心是可扩展性、通过用一行代码实现和注入一个优化模块,用户就能访问兼容 Transformers 的界面、符合 OpenAI 和 Ollama 标准的 RESTful API,甚至是类似 ChatGPT 的简化网页用户界面。
该技术首次支持在单张 24GB 显存的消费级显卡上运行 DeepSeek-R1 / V3 的 671B 参数满血版,预处理速度最高达 286 tokens/s,推理生成速度达 14 tokens/s,彻底改写了 AI 大模型依赖昂贵云服务器的历史格局。
DeepSeek-R1 基于混合专家架构,其核心是将任务分配给不同专家模块,每次推理仅激活部分参数。团队创新性地将非共享稀疏矩阵卸载至 CPU 内存处理,结合高速算子优化,显存需求从传统 8 卡 A100 的 320GB 压缩至单卡 24GB。
针对 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
GPU:RTX 4090D
内存:标准 DDR5-4800 服务器 DRAM
CUDA 12.1 或更高版本
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 使用以下命令进行安装:
sudoapt-getupdatesudoapt-getinstallgccg++cmakeninja-build
这里强烈建议使用 Conda 创建一个包含 Python 3.11 的虚拟环境。使用以下命令创建并激活环境:
condacreate--namektransformerspython=3.11condaactivatektransformers#您可能需要运行‘condainit’
安装 PyTorch、packaging、ninja、cpufeature 和 numpy:
pipinstalltorchpackagingninjacpufeaturenumpy
安装 KTransformers
pipinstallktransformers--no-build-isolation
快速使用
python-mktransformers.local_chat--model_path--gguf_path--prompt_file--cpu_infer65--max_new_tokens1000参数解释: model_path:模型路径。gguf_path: gguf 文件路径。 prompt_file:包含提示文本的文件路径。 cpu_infer 65:指定用于推理的 CPU 核心数。如果使用双路 CPU,因此设置为 65。 max_new_tokens 1000:设置生成 token 的最大数量。
参考资料
GitHub 地址:
本地化671B DeepSeek-Coder-V3 / R1 教程: