4090单卡跑满血版DeepSeek-R1清华团队开源项目再破模型推理门槛

哦豁来了老弟 2025-02-14 10:30:44

DeepSeek-R1的爆火,引爆了全球对大型语言模型的热情,但高昂的推理服务器成本和频繁的宕机,却让许多中小团队只能望洋兴叹。  即使一些所谓的“本地部署”方案出现,也大多是参数量大幅缩减的“蒸馏版”,难以展现DeepSeek-R1真正的实力。其根本原因在于,671B参数的MoE架构对显存要求极高,即使是8卡A100也难以承受。在本地小规模硬件上运行完整的DeepSeek-R1,一度被认为是天方夜谭。

清华大学KVCache.AI团队联合趋境科技发布的开源项目KTransformers,彻底颠覆了这一认知。  他们最新的更新实现了令人瞩目的突破:仅需24GB显存,即可在本地运行DeepSeek-R1和V3的671B完整模型!预处理速度最高可达惊人的286 tokens/s,推理生成速度也达到了14 tokens/s。 这意味着,即使是普通消费级显卡,也能驾驭这个庞然大物。

事实上,KTransformers的“专家卸载”技术早已名声在外。早在DeepSeek-V2时代,该项目就成功地将236B大模型的显存需求降低到十分之一,使其能够在仅有24GB显存的消费级显卡上流畅运行,甚至获得了HuggingFace开源负责人的点赞。

DeepSeek-R1发布后,社区对KTransformers支持该模型的呼声日益高涨,GitHub上的相关issue一度超过百条。  新版本发布后,开发者们纷纷使用自己的3090显卡和200GB内存进行实测。 kết hợp với việc tối ưu hóa Unsloth, mô hình Q2_K_XL的推理速度已达到9.1 tokens/s,真正意义上实现了千亿级模型的“平民化”。

更令人振奋的是,KTransformers团队还公布了v0.3预览版的性能指标。通过整合Intel AMX指令集,CPU预填充速度将提升至286 tokens/s,相比llama.cpp快了近28倍。 对于需要处理上万级token上下文的长序列任务,例如大规模代码库分析,这无疑是革命性的进步,将处理时间从“分钟级等待”压缩至“秒级响应”,彻底释放CPU的算力潜能。

KTransformers还提供了兼容Huggingface Transformers的API和ChatGPT式的Web界面,大大降低了使用门槛。 同时,其基于YAML的“模板注入框架”能够灵活切换量化策略、内核替换等多种优化方式,为用户提供了高度的自定义性和灵活性。  目前,KTransformers在localLLaMa社区持续占据热榜第一,引发了上百条开发者讨论,成为备受瞩目的明星项目。

那么,KTransformers是如何实现如此惊人的性能提升的呢? 核心在于对DeepSeek-R1/V3所采用的MoE(混合专家)架构的深度优化。MoE架构将任务分配给不同的专家模块,每个模块专注于处理特定类型的任务,具有很强的稀疏性。  这意味着,推理过程中只有一部分模型参数会被激活,对存储空间的需求很大,但对计算资源的需求相对较低。

KTransformers团队巧妙地利用了这一特性,采用了GPU/CPU异构计算划分策略。 他们将非Shared部分的稀疏MoE矩阵放在CPU/DRAM上,并使用llamafile提供的高速算子进行处理;而剩余的稠密部分则放在GPU上,使用Marlin算子进行处理。  这样一来,即使使用4bit量化,GPU也只需要24GB显存,一块4090显卡就能满足需求。 这种组合不仅降低了显存占用,还大幅提升了推理性能,实现了286 token/s的预填充速度和14 token/s的生成速度。

具体而言,KTransformers团队采用了多种优化策略,包括基于计算强度的offload策略、高性能的CPU和GPU算子以及CUDA Graph加速。  例如,他们将MLA矩阵直接吸收到q_proj和out_proj权重中,避免了压缩表示的解压缩过程,显著减少了KV缓存大小,并提高了GPU计算能力的利用率。  此外,他们还引入了llamafile和Marlin等高性能算子,并对CUDA Graph进行了改进和优化,最大限度地减少了CPU/GPU通讯造成的断点。

值得一提的是,KTransformers并非局限于DeepSeek模型,它兼容各种MoE模型和算子,并支持Windows和Linux平台,为用户提供了一个灵活高效的推理实验平台。

在大模型参数量不断攀升的今天,KTransformers另辟蹊径,用异构计算打开了一条全新的推理路径,让更多科研工作者无需巨额预算也能探索模型的本质,推动大型语言模型的普及和发展。

0 阅读:14