❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
微信公众号|搜一搜:蚝油菜花
“还在为千亿模型租天价显卡?清华团队用CPU/GPU协同计算,让4090跑起671B参数全量模型!”
大家好,我是蚝油菜花。如果你也经历过——
今天介绍的 KTransformers 将彻底改写游戏规则!这个由清华大学KVCache.AI团队与趋境科技联合研发的开源框架,通过GPU/CPU异构计算与MoE架构深度优化,实现了:
从AI初创团队到高校实验室,开发者们正在用它突破算力围城。接下来我们将深入解析其MoE卸载策略与Marlin算子优化,手把手教你在本地搭建千亿级AI推理引擎!
KTransformers 是一个开源的大语言模型推理优化框架,旨在通过GPU/CPU异构计算策略和MoE架构的稀疏性,显著提升大模型的推理速度并降低硬件要求。
KTransformers 是由清华大学 KVCache.AI 团队联合趋境科技推出的开源项目,旨在优化大语言模型的推理性能,降低硬件门槛。它基于 GPU/CPU 异构计算策略,利用 MoE 架构的稀疏性,支持在仅 24GB 显存的单张显卡上运行 DeepSeek-R1、V3 等 671B 参数的满血版大模型,预处理速度最高可达 286 tokens/s,推理生成速度最高能达到 14 tokens/s。
项目通过基于计算强度的 offload 策略、高性能算子和 CUDA Graph 优化等技术,显著提升了推理速度,使得普通用户和中小团队能够在消费级硬件上运行千亿级参数模型,实现“家庭化”部署。
在开始安装和运行 KTransformers 之前,您需要确保系统满足以下依赖项:
确保您的系统安装了 CUDA 12.1 或更高版本。如果没有安装,可以从NVIDIA 官方网站
下载并安装。安装完成后,添加 CUDA 到系统路径:
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
确保您的 Linux 系统安装了 GCC、G++ 和 CMake。可以使用以下命令安装:
sudo apt-get update
sudo apt-get install gcc g++ cmake ninja-build
推荐使用 Conda 创建一个 Python 3.11 的虚拟环境来运行程序。可以通过以下命令创建并激活环境:
conda create --name ktransformers python=3.11
conda activate ktransformers
如果您是首次使用 Conda,可能需要先运行 conda init
并重新打开终端。
确保安装了 PyTorch、packaging、ninja 等依赖库:
pip install torch packaging ninja cpufeature numpy
首先,克隆 KTransformers 的 GitHub 仓库并初始化子模块:
git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers
git submodule init
git submodule update
如果您需要运行带有 Web 界面的版本,请先编译 Web 界面(可选):
# 请参考相关文档进行编译
然后根据您的操作系统选择安装方式:
对于普通用户,可以使用简单的安装脚本:
bash install.sh
如果您有双 CPU 和 1TB 内存的服务器,可以启用 NUMA 优化:
export USE_NUMA=1
bash install.sh
在 Windows 系统上,使用 install.bat
脚本进行安装:
install.bat
如果您是开发者,可以使用 Makefile 来编译和格式化代码。Makefile 的详细用法请参考相关文档
。
https://github.com/kvcache-ai/ktransformers/doc/en/makefile_usage.html
KTransformers 提供了一个简单的命令行本地聊天脚本,用于测试模型。请注意,这是一个非常简单的测试工具,仅支持一轮对话,不保留历史输入。如果您想体验模型的完整功能,建议使用 RESTful API 和 Web UI。
# 在克隆的仓库根目录下执行以下命令
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 ..
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
支持的模型 | 已弃用的模型 |
---|---|
DeepSeek-R1 | |
DeepSeek-V3 | |
DeepSeek-V2 | |
DeepSeek-V2.5 | |
Qwen2-57B | |
DeepSeek-V2-Lite | |
Mixtral-8x7B | |
Mixtral-8x22B |
支持的格式 | 已弃用的格式 |
---|---|
Q2_K_L | |
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 上下文) |
ktransformers --model_path deepseek-ai/DeepSeek-V2-Lite-Chat --gguf_path /path/to/DeepSeek-V2-Lite-Chat-GGUF --port 10002
ktransformers --model_path deepseek-ai/DeepSeek-V2-Lite-Chat --gguf_path /path/to/DeepSeek-V2-Lite-Chat-GGUF --port 10002 --web True
如果您想使用 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
https://github.com/kvcache-ai/ktransformers/doc/en/api/server/tabby.html
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
微信公众号|搜一搜:蚝油菜花