KTransformers:告别天价显卡!国产框架让单卡24G显存跑DeepSeek-R1 671B大模型:推理速度飙升28倍

简介: KTransformers 是由清华大学和趋境科技联合推出的开源项目,能够优化大语言模型的推理性能,降低硬件门槛。支持在仅24GB显存的单张显卡上运行671B参数的满血版大模型。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


💥 “还在为千亿模型租天价显卡?清华团队用CPU/GPU协同计算,让4090跑起671B参数全量模型!”

大家好,我是蚝油菜花。如果你也经历过——

  • 💸 看着API调用账单瑟瑟发抖,微调一次模型吃掉半月算力预算
  • 🖥️ 盯着OOM报错抓狂,为了跑通模型不得不阉割关键参数
  • ⏳ 等着预处理结果打瞌睡,长文本任务动辄消耗咖啡+泡面时间...

今天介绍的 KTransformers 将彻底改写游戏规则!这个由清华大学KVCache.AI团队与趋境科技联合研发的开源框架,通过GPU/CPU异构计算与MoE架构深度优化,实现了:

  • ✅ 24GB显存运行671B满血模型 —— 消费级显卡的逆袭
  • ✅ 286 tokens/s预处理速度 —— 比传统方案快28倍的闪电响应
  • ✅ CUDA Graph+4bit量化 —— 让千亿模型部署进家用电脑

从AI初创团队到高校实验室,开发者们正在用它突破算力围城。接下来我们将深入解析其MoE卸载策略与Marlin算子优化,手把手教你在本地搭建千亿级AI推理引擎!

🚀 快速阅读

KTransformers 是一个开源的大语言模型推理优化框架,旨在通过GPU/CPU异构计算策略和MoE架构的稀疏性,显著提升大模型的推理速度并降低硬件要求。

  1. 核心功能:支持在仅24GB显存的单张显卡上运行671B参数的满血版大模型,预处理速度最高可达286 tokens/s,推理生成速度达14 tokens/s。
  2. 技术原理:基于MoE架构的稀疏矩阵卸载、offload策略、高性能算子优化和CUDA Graph优化等技术,大幅降低显存需求并提升推理效率。

KTransformers 是什么

KTransformers

KTransformers 是由清华大学 KVCache.AI 团队联合趋境科技推出的开源项目,旨在优化大语言模型的推理性能,降低硬件门槛。它基于 GPU/CPU 异构计算策略,利用 MoE 架构的稀疏性,支持在仅 24GB 显存的单张显卡上运行 DeepSeek-R1、V3 等 671B 参数的满血版大模型,预处理速度最高可达 286 tokens/s,推理生成速度最高能达到 14 tokens/s。

项目通过基于计算强度的 offload 策略、高性能算子和 CUDA Graph 优化等技术,显著提升了推理速度,使得普通用户和中小团队能够在消费级硬件上运行千亿级参数模型,实现“家庭化”部署。

KTransformers 的主要功能

  • 支持超大模型的本地推理:支持在仅 24GB 显存的单张显卡上运行 DeepSeek-R1 等 671B 参数的满血版大模型,打破传统硬件限制。
  • 提升推理速度:预处理速度最高可达 286 tokens/s,推理生成速度达 14 tokens/s。
  • 兼容多种模型和算子:支持 DeepSeek 系列及其他 MoE 架构模型,提供灵活的模板注入框架,支持用户切换量化策略和内核替换,适应不同优化需求。
  • 降低硬件门槛:将大模型的显存需求大幅降低,让普通用户和中小团队能在消费级硬件上运行千亿级参数模型,实现“家庭化”部署。
  • 支持长序列任务:整合 Intel AMX 指令集,CPU 预填充速度可达 286 tokens/s,相比传统方案快 28 倍,将长序列任务的处理时间从“分钟级”缩短到“秒级”。

KTransformers 的技术原理

  • MoE架构:将稀疏的 MoE 矩阵卸载到 CPU/DRAM 上处理,稠密部分保留在 GPU 上,大幅降低显存需求。
  • offload策略:根据计算强度将任务分配到 GPU 和 CPU:计算强度高的任务(如 MLA 算子)优先分配到 GPU,计算强度低的任务分配到 CPU。
  • 高性能算子优化
    • CPU端:用 llamafile 作为 CPU 内核,结合多线程、任务调度、负载均衡等优化,提升 CPU 推理效率。
    • GPU端:引入 Marlin 算子,专门优化量化矩阵计算,相比传统库(如 Torch)实现 3.87 倍的加速效果。
  • CUDA Graph 优化:基于 CUDA Graph 减少 Python 调用开销,降低 CPU/GPU 通信的断点,实现高效的异构计算协同。每次 decode 仅需一个完整的 CUDA Graph 调用,显著提升推理性能。
  • 量化与存储优化:采用 4bit 量化技术,进一步压缩模型存储需求,仅需 24GB 显存即可运行 671B 参数模型。同时优化 KV 缓存大小,减少存储开销。
  • 模板注入框架:提供基于 YAML 的模板注入框架,支持用户灵活切换量化策略、内核替换等优化方式,适应不同场景的需求。

如何运行 KTransformers

准备工作

在开始安装和运行 KTransformers 之前,您需要确保系统满足以下依赖项:

1. 安装 CUDA

确保您的系统安装了 CUDA 12.1 或更高版本。如果没有安装,可以从NVIDIA 官方网站下载并安装。安装完成后,添加 CUDA 到系统路径:

  • NVIDIA 官方网站https://developer.nvidia.com/cuda-downloads
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_PATH=/usr/local/cuda

2. 安装编译工具

确保您的 Linux 系统安装了 GCC、G++ 和 CMake。可以使用以下命令安装:

sudo apt-get update
sudo apt-get install gcc g++ cmake ninja-build

3. 创建 Python 虚拟环境

推荐使用 Conda 创建一个 Python 3.11 的虚拟环境来运行程序。可以通过以下命令创建并激活环境:

conda create --name ktransformers python=3.11
conda activate ktransformers

如果您是首次使用 Conda,可能需要先运行 conda init 并重新打开终端。

4. 安装依赖库

确保安装了 PyTorch、packaging、ninja 等依赖库:

pip install torch packaging ninja cpufeature numpy

安装 KTransformers

1. 下载源代码并编译

首先,克隆 KTransformers 的 GitHub 仓库并初始化子模块:

git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers
git submodule init
git submodule update

如果您需要运行带有 Web 界面的版本,请先编译 Web 界面(可选):

# 请参考相关文档进行编译

然后根据您的操作系统选择安装方式:

1.1 Linux 系统

对于普通用户,可以使用简单的安装脚本:

bash install.sh

如果您有双 CPU 和 1TB 内存的服务器,可以启用 NUMA 优化:

export USE_NUMA=1
bash install.sh
1.2 Windows 系统

在 Windows 系统上,使用 install.bat 脚本进行安装:

install.bat

2. 使用 Makefile 编译和格式化代码

如果您是开发者,可以使用 Makefile 来编译和格式化代码。Makefile 的详细用法请参考相关文档

  • 相关文档https://github.com/kvcache-ai/ktransformers/doc/en/makefile_usage.html

本地聊天测试

KTransformers 提供了一个简单的命令行本地聊天脚本,用于测试模型。请注意,这是一个非常简单的测试工具,仅支持一轮对话,不保留历史输入。如果您想体验模型的完整功能,建议使用 RESTful API 和 Web UI。

运行示例

  1. 下载模型权重:
# 在克隆的仓库根目录下执行以下命令
mkdir DeepSeek-V2-Lite-Chat-GGUF
cd DeepSeek-V2-Lite-Chat-GGUF
wget https://huggingface.co/mzwing/DeepSeek-V2-Lite-Chat-GGUF/resolve/main/DeepSeek-V2-Lite-Chat.Q4_K_M.gguf -O DeepSeek-V2-Lite-Chat.Q4_K_M.gguf
cd ..
  1. 启动本地聊天:
python -m ktransformers.local_chat --model_path deepseek-ai/DeepSeek-V2-Lite-Chat --gguf_path ./DeepSeek-V2-Lite-Chat-GGUF

如果遇到连接 Hugging Face 的问题,可以尝试以下命令:

GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/deepseek-ai/DeepSeek-V2-Lite
python -m ktransformers.local_chat --model_path ./DeepSeek-V2-Lite --gguf_path ./DeepSeek-V2-Lite-Chat-GGUF

支持的模型和量化格式

1. 支持的模型

支持的模型 已弃用的模型
DeepSeek-R1 InternLM2.5-7B-Chat-1M
DeepSeek-V3
DeepSeek-V2
DeepSeek-V2.5
Qwen2-57B
DeepSeek-V2-Lite
Mixtral-8x7B
Mixtral-8x22B

2. 支持的量化格式

支持的格式 已弃用的格式
Q2_K_L IQ2_XXS
Q2_K_XS
Q3_K_M
Q4_K_M
Q5_K_M
Q6_K
Q8_0

推荐的模型配置

模型名称 模型大小 VRAM 最低 DRAM 推荐 DRAM
DeepSeek-R1-q4_k_m 377G 14G 382G 512G
DeepSeek-V3-q4_k_m 377G 14G 382G 512G
DeepSeek-V2-q4_k_m 133G 11G 136G 192G
DeepSeek-V2.5-q4_k_m 133G 11G 136G 192G
DeepSeek-V2.5-IQ4_XS 117G 10G 107G 128G
Qwen2-57B-A14B-Instruct-q4_k_m 33G 8G 34G 64G
DeepSeek-V2-Lite-q4_k_m 9.7G 3G 13G 16G
Mixtral-8x7B-q4_k_m 25G 1.6G 51G 64G
Mixtral-8x22B-q4_k_m 80G 4G 86.1G 96G
InternLM2.5-7B-Chat-1M 15.5G 15.5G 8G (32K 上下文) 150G (1M 上下文)

RESTful API 和 Web UI(已弃用)

1. 无 Web 界面启动

ktransformers --model_path deepseek-ai/DeepSeek-V2-Lite-Chat --gguf_path /path/to/DeepSeek-V2-Lite-Chat-GGUF --port 10002

2. 带 Web 界面启动

ktransformers --model_path deepseek-ai/DeepSeek-V2-Lite-Chat --gguf_path /path/to/DeepSeek-V2-Lite-Chat-GGUF --port 10002 --web True

3. 使用 Transformers 启动

如果您想使用 Transformers 启动服务器,model_path 需要包含 .safetensors 文件:

ktransformers --type transformers --model_path /mnt/data/model/Qwen2-0.5B-Instruct --port 10002 --web True

访问 Web 界面的 URL 为:http://localhost:10002/web/index.html#/chat

更多关于 RESTful API 服务器的信息,请参考相关文档。您还可以参考Tabby 集成示例

  • 相关文档https://github.com/kvcache-ai/ktransformers/doc/en/api/server/server.html
  • Tabby 集成示例https://github.com/kvcache-ai/ktransformers/doc/en/api/server/tabby.html

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
2月前
|
负载均衡 测试技术 调度
大模型分布式推理:张量并行与流水线并行技术
本文深入探讨大语言模型分布式推理的核心技术——张量并行与流水线并行。通过分析单GPU内存限制下的模型部署挑战,详细解析张量并行的矩阵分片策略、流水线并行的阶段划分机制,以及二者的混合并行架构。文章包含完整的分布式推理框架实现、通信优化策略和性能调优指南,为千亿参数大模型的分布式部署提供全面解决方案。
555 4
|
2月前
|
机器学习/深度学习 缓存 监控
大模型推理优化技术:KV缓存机制详解
本文深入探讨了大语言模型推理过程中的关键技术——KV缓存(Key-Value Cache)机制。通过对Transformer自注意力机制的分析,阐述了KV缓存的工作原理、实现方式及其对推理性能的显著优化效果。文章包含具体的代码实现和性能对比数据,为开发者理解和应用这一关键技术提供实践指导。
988 8
|
4月前
|
并行计算 PyTorch 调度
大模型推理显存优化系列(4):eLLM-大模型推理中的弹性显存管理和优化
本文简要介绍eLLM相关技术挑战、总体设计和初步性能评估
|
4月前
|
负载均衡 并行计算 异构计算
大模型训练推理优化(5): FlexLink —— NVLink 带宽无损提升27%
本期我们将介绍蚂蚁集团ASystem团队在大模型通信优化上的新工作FlexLink,旨在通过动态聚合多路通信(NVLink,PCIe,RDMA),在H800等典型硬件上将典型通信算子如(AllReduce, All Gather)吞吐提升最高达27%,尤其适合大模型长序列推理(Prefill阶段),及训练等通信密集的带宽bound场景。方案对精度无影响。
|
2月前
|
机器学习/深度学习 缓存 自然语言处理
【万字长文】大模型训练推理和性能优化算法总结和实践
我们是阿里云公共云 AI 汽车行业大模型技术团队,致力于通过专业的全栈 AI 技术推动 AI 的落地应用。
1564 38
【万字长文】大模型训练推理和性能优化算法总结和实践
|
5月前
|
消息中间件 人工智能 资源调度
云上AI推理平台全掌握 (5):大模型异步推理服务
针对大模型推理服务中“高计算量、长时延”场景下同步推理的弊端,阿里云人工智能平台 PAI 推出了一套基于独立的队列服务异步推理框架,解决了异步推理的负载均衡、实例异常时任务重分配等问题,确保请求不丢失、实例不过载。
|
5月前
|
存储 机器学习/深度学习 缓存
阿里云AirCache技术实现多模态大模型高效推理加速,入选国际顶会ICCV2025
阿里云研发的AirCache技术被计算机视觉顶会ICCV2025收录,该技术通过激活跨模态关联、优化KV缓存压缩策略,显著提升视觉语言模型(VLMs)的推理效率与存储性能。实验表明,在保留仅10%视觉缓存的情况下,模型性能下降小于1%,解码延迟最高降低66%,吞吐量提升达192%。AirCache无需修改模型结构,兼容主流VLMs,已在教育、医疗、政务等多个行业落地应用,助力多模态大模型高效赋能产业智能化升级。
450 1
|
5月前
|
人工智能 缓存 资源调度
云上AI推理平台全掌握 (4):大模型分发加速
为应对大模型服务突发流量场景,阿里云人工智能平台 PAI 推理服务 PAI-EAS 提供本地目录内存缓存(Memory Cache)的大模型分发加速功能,有效解决大量请求接入情况下的推理延迟。PAI-EAS 大模型分发加速功能,零代码即可轻松完成配置。
|
2月前
|
机器学习/深度学习 存储 并行计算
大模型推理加速技术:FlashAttention原理与实现
本文深入解析大语言模型推理加速的核心技术——FlashAttention。通过分析传统注意力机制的计算瓶颈,详细阐述FlashAttention的IO感知算法设计、前向反向传播实现,以及其在GPU内存层次结构中的优化策略。文章包含完整的CUDA实现示例、性能基准测试和实际部署指南,为开发者提供高效注意力计算的全套解决方案。
377 10

热门文章

最新文章