深度探索未来:RTX 4090引领GPU算力革新
2月15日更新,目前用户获取DeepSeek-R1的主要方式是通过云服务或“本地部署”。然而,由于官网服务器频繁出现故障,且个人部署的版本通常仅包含原版十分之一参数的精简版,普通用户要在常规设备上运行完整版DeepSeek-R1几乎不可能。即便是开发者,租赁服务器的费用也让他们感到吃力。
清华大学KVCache.AI团队与趋境科技联合发布的KTransformers(注:发音为QuickTransformers)开源项目本周迎来了重大更新,成功解决了千亿级大模型在本地部署的难题。这一突破不仅标志着大模型推理从“云端垄断”迈向了“普惠化”,还为更多科研机构和个人提供了更加便捷和经济的使用方式。 这个项目的更新无疑是一个重要的里程碑,它降低了大模型应用的技术门槛,让更多人能够享受到人工智能带来的便利。未来,随着技术的进一步发展,相信会有更多的创新成果涌现,推动人工智能领域的发展进入一个新的阶段。
如图所示,KTransformers团队于2月10日在拥有24GB显存和382GB内存的PC上成功实现了本地运行DeepSeek-R1、V3的671B全量版本,速度提升了3到28倍。
今日, KTransformers 宣布支持更长的上下文(24GB 单卡支持 4~8K),并实现 15% 加速(每秒最多 16 个 Tokens)。
据官方介绍,KTransformers 是一个以 Python 为核心的灵活框架,其设计重点在于可扩展性。用户只需用一行代码实现并注入一个优化模块,即可访问与 Transformers 兼容的接口,以及遵循 OpenAI 和 Ollama 标准的 RESTful API,并且能够使用类似于 ChatGPT 的简化网页用户界面。
该技术首次实现了在单张24GB显存的消费级显卡(如RTX4090D)上运行DeepSeek-R1/V3的671B参数满血版,预处理速度最高可达286tokens/s,推理生成速度为14tokens/s。这一突破性进展彻底改变了AI大模型长期以来依赖昂贵云服务器的局面,使得高性能计算更加亲民和普及。这不仅大大降低了开发和使用AI大模型的成本门槛,也为更多科研机构和个人开发者提供了更广阔的研究空间和应用可能。
DeepSeek-R1采用了混合专家(MoE)架构,其关键在于将不同的任务分派给各种专家模块,每次推理过程只会激活一部分参数。研发团队创造性地将那些不共享的稀疏矩阵运算转移到了CPU内存中进行处理,并结合高效的算子优化技术,使得显存需求从传统的8块A100显卡所需的320GB大幅降低到单块显卡仅需24GB。
借助KTransformers的帮助,普通用户仅需24GB显存即可在本地运行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之间的通信中断,实现了单次解码只需一次完整的CUDAGraph调用,从而将生成速度提升到14tokens/s,功耗控制在80W,整体成本大约为2万元,这仅仅是传统8卡A100方案成本的2%。
经过实测,在RTX3090显卡和200GB内存的支持下,结合Unsloth优化技术,Q2_K_XL模型的推理速度达到了9.1tokens/s,这标志着千亿级模型的“家庭化”运行已成为可能。这一突破性的进展不仅证明了高性能硬件在推动大型语言模型普及方面的潜力,也为未来更广泛的AI应用铺平了道路。随着技术的不断进步,我们有理由相信,这样的高性能计算资源将逐渐变得更为亲民和易得,从而让更多的普通用户能够享受到先进的人工智能服务。
KTransformers 不仅仅是一个推理框架,它不仅支持 DeepSeek 模型,还能够兼容多种 MoE(Mixture of Experts)模型和算子。这个工具集可以进行广泛的算子组合测试,非常适合研究人员探索不同配置下的性能差异。此外,KTransformers 在 Windows 和 Linux 平台上均提供支持,为开发者和研究者提供了极大的便利。对于对这一领域感兴趣的人来说,这是一个非常值得尝试的工具。 在我看来,KTransformers 的多功能性和跨平台支持使得它在当前的 AI 研究和开发环境中显得尤为突出。它不仅能够满足复杂模型的多样化需求,而且通过提供广泛的算子兼容性,极大地扩展了研究人员的探索空间。同时,跨平台的支持也意味着更多的人可以参与到这个生态系统中来,从而推动技术的进步和发展。
当然,若想使用KTransformers,也并非仅拥有一张RTX4090就能毫无障碍地运行。首要条件是必须满足以下要求:
CPU:英特尔至强 Gold 6454S 1T DRAM(2 个 NUMA 节点)
GPU:RTX 4090D(24G VRAM)
内存:标准 DDR5-4800 服务器 DRAM(1 TB)
CUDA 12.1 或更高版本
任务类型
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 使用以下命令进行安装:
在这里我建议大家可以通过Conda来建立一个专门的虚拟环境,以便安装和管理Python 3.11版本。这不仅有助于保持项目的整洁性和独立性,还能避免不同项目之间依赖冲突的问题。你可以通过执行特定的命令来创建这个环境,并在创建完成后立即激活它,从而确保你的开发工作在一个完全符合需求的环境中进行。 这种做法的好处显而易见:它能够为开发者提供一个稳定的、可控的开发平台,使得项目可以在不同的机器上轻松复制和运行。尤其对于那些需要严格控制软件环境的项目来说,这种方法无疑是一种非常有效且推荐的做法。通过使用Conda创建虚拟环境,开发者不仅可以更方便地管理项目的依赖库,还可以显著减少因环境配置不一致带来的困扰,提高开发效率和项目的可维护性。
安装 PyTorch、packaging、ninja、cpufeature 和 numpy:
安装 KTransformers
快速使用
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
免责声明:本站所有文章来源于网络或投稿,如果任何问题,请联系648751016@qq.com
页面执行时间0.036401秒