突破大模型推理极限:1张4090跑满血671B的DeepSeek-V3/R1大模型!
在AI大模型推理领域,硬件资源往往是限制性能的关键因素。KVCache.AI团队近日宣布了一项令人瞩目的技术突破:他们成功在仅24GB显存的单GPU(4090D)环境下运行了DeepSeek-V3/R1(671B参数量)模型,并通过创新优化实现了最高28倍的速度提升!这一成果不仅颠覆了传统大模型对硬件资源的高需求,还为本地化AI推理提供了全新的可能性。接下来,让我们深入了解这项技术背后的秘密及其带来的革命性影响。
GitHub:https://github.com/kvcache-ai/ktransformers
发布博客:
https://github.com/kvcache-ai/ktransformers/blob/main/doc/en/DeepseekR1_V3_tutorial.md
2025年2月10日,KTransformers团队(之前以本地CPU/GPU混合推理开源项目DeepSeek-V2而闻名)发布了一项新的技术成果,宣布支持DeepSeek-R1/V3模型,并展示了其在本地运行时的卓越性能。通过使用仅14GB显存和382GB内存的配置,他们成功运行了DeepSeek-Coder-V3/R1模型的Q4_K_M版本,并实现了高达3~28倍的速度提升。
性能亮点
- 预填充速度(Prefill Speed, tokens/s):
- KTransfermor: 单路(32核)为54.21 → 双路(64核)为74.362 → 使用Intel AMX优化的MoE内核(V0.3版)为255.26 → 选择性激活6个专家(V0.3版)为286.55。
- 相较于llama.cpp在双路配置下的10.31 tokens/s,KTransfermor实现了最高27.79倍的速度提升。
- 解码速度(Decode Speed, tokens/s):
- KTransfermor: 单路(32核)为8.73 → 双路(64核)为11.26 → 选择性激活6个专家(V0.3版)为13.69。
- 相较于llama.cpp在双路配置下的4.51 tokens/s,KTransfermor实现了最高3.03倍的速度提升。
架构核心
KTransformers 的核心是一个用户友好、基于模板的注入框架。它使研究人员能够轻松地将原始的 PyTorch 模块替换为优化后的变体,同时简化了多种优化方法组合使用的流程,从而支持开发者探索不同优化技术之间的协同效应。
鉴于 vLLM 已在大规模部署优化领域表现出色,KTransformers 特别专注于资源受限的本地化部署场景,尤其关注异构计算机会(例如量化模型的 GPU/CPU 协同卸载)。例如,我们分别针对 CPU 和 GPU 提供了高效的 Llamafile 和 Marlin 内核支持。
技术优化
团队通过以下两项关键技术实现了性能飞跃:
- Intel AMX指令集加速: 针对Intel CPU的AMX指令集进行了深度优化,使计算效率远超现有的llama.cpp实现。
- 专家选择策略: 基于离线分析结果,减少了推理过程中激活的专家数量,从而显著提升了速度,同时保持输出质量不变。
版本对比
- V0.2版: 支持DeepseekV3-q4km(int4量化),需要至少14GB显存和382GB内存。
- V0.3-Preview版: 支持DeepseekV3-BF16模型,并通过在线量化适配CPU(int8)和GPU(int4)。预填充速度比V0.2版快3.45倍,比llama.cpp快27.79倍。
建议模型:
如何运行
团队提供了详细的运行指南,包括单路(32核)和双路(64核)配置的命令示例。用户可以通过克隆GitHub仓库并安装依赖来运行模型。需要注意的是,双路配置需要设置USE_NUMA=1环境变量以充分利用NUMA节点的优势。
V0.2 Showcase Single socket version (32 cores)
git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers
git submodule init
git submodule update
numactl -N 1 -m 1 python ./ktransformers/local_chat.py --model_path --gguf_path --prompt_file --cpu_infer 33 --max_new_tokens 1000
V0.3 Showcase Dual socket version (64 cores)
wget https://github.com/kvcache-ai/ktransformers/releases/download/v0.1.4/ktransformers-0.3.0rc0+cu126torch26fancy-cp311-cp311-linux_x86_64.whl
pip install ./ktransformers-0.3.0rc0+cu126torch26fancy-cp311-cp311-linux_x86_64.whl
python -m ktransformers.local_chat --model_path --gguf_path --prompt_file --cpu_infer 65 --max_new_tokens 1000
具体参见:
ktransformers/doc/en/DeepseekR1_V3_tutorial.md at main · kvcache-ai/ktransformers
注意事项
- 内存消耗: 在双路配置下,模型需要644GB内存和至少14GB显存。
- 参数调整: --cpu_infer参数用于指定使用的CPU核心数,但超过物理核心数并不会带来额外收益。
- R1模型问题: 如果测试DeepSeek-R1模型时跳过思考阶段,可以添加--force_think true参数强制启用思考。
未来展望
团队计划进一步优化内存占用,并开源基于Intel AMX的加速内核,同时考虑将其贡献给llama.cpp社区。此外,他们还将在后续版本中继续改进专家选择策略和其他性能优化技术。
——完——
@北方的郎 · 专注模型与代码
喜欢的朋友,欢迎赞同、关注、分享三连 ^O^