
低成本本地部署:4090单卡24G显存运行Deepseek R1 671B满血版
年前Deepseek爆火,由于参数巨大,对于个人研究者、学生党,本地部署主要为一些较小的蒸馏模型,然而,随着清华大学 KVCache.AI 团队推出的 KTransformers 框架,这一局面得到了显著改善,仅需一张 4090 显卡(24GB 显存)和 382GB 内存即可在本地运行Deepseek r1 671B的模型(int4量化版,据测试精度下降在10%以内)。
前言
年前Deepseek爆火,由于参数巨大,对于个人研究者、学生党,本地部署主要为一些较小的蒸馏模型,然而,随着清华大学 KVCache.AI 团队推出的 KTransformers 框架,这一局面得到了显著改善,仅需一张 4090 显卡(24GB 显存)和 382GB 内存即可在本地运行Deepseek r1 671B的模型(int4量化版,据测试精度下降在10%以内)。
本地部署
硬件配置
显卡:NVIDIA GeForce RTX 4090 24G
内存:64G * 8 DDR5 4800
cpu:Intel(R) Xeon(R) Gold 6430
环境配置
1,cuda环境,版本需要在12.4以上,官网链接https://developer.nvidia.com/cuda-toolkit-archive:
wget https://developer.download.nvidia.com/compute/cuda/12.6.0/local_installers/cuda_12.6.0_560.28.03_linux.run
sudo sh cuda_12.6.0_560.28.03_linux.run
2, 安装conda环境(可选):
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py310_24.11.1-0-Linux-x86_64.sh
bash ./Miniconda3-py310_24.11.1-0-Linux-x86_64.sh
conda create --name ktransformers python=3.11
conda activate ktransformers
3,安装必要依赖:
sudo apt-get update && sudo apt-get install gcc g++ cmake ninja-build
4,安装ktransformer:
## flash_attn安装
pip install flash_attn -i https://mirrors.aliyun.com/pypi/simple/
## ktransformer使用源码安装
git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers
## 拉取子模块代码
git submodule init
git submodule update
## 运行编译脚本
bash install.sh
tips:下载速度过慢可以在编译脚本里(install.sh)指定为国内源
模型下载
模型文件是 deepseek-r1:671b 的 Q4_K_M 量化版。由于模型文件过大,所以下载速度比较慢。
使用 modelscope 下载
官网地址:https://www.modelscope.cn/models
pip install modelscope
modelscope download --model unsloth/DeepSeek-R1-GGUF --local_dir /path/to/models --include DeepSeek-R1-Q4_K_M-* --max-workers 108
命令参数解释:
model:是指定魔塔社区上的模型项目
local_dir:是指定文件的下载路径(路径不存在会自动创建)
include:是指定下载文件(其中 DeepSeek-R1-Q4_K_M-* 是匹配所有前缀为 DeepSeek-R1-Q4_K_M-的文件)
max-workers:是指定下载文件建立的连接数(一般该值设置为 CPU 核心数减 2 即可。本机 CPU 核心数为 112,这里指定 108,该值越大下载越快)。
模型运行
进入配置好的conda环境之后,执行命令
python -m ktransformers.local_chat --model_path deepseek-ai/DeepSeek-R1 --gguf_path /path/to/model --cpu_infer 48 --force_think true --max_new_tokens 128
命令参数解释:
model_path :魔搭项目路径,用于远程拉取必要的json文件
gguf_path :下载的 gguf 模型文件所在的路径
cpu_infer:用于推理的 CPU 核心数,本机的 CPU 核心数是 64,这里设置 48,cpu_infer 默认值是 10,10 个核心数推理速度较慢,可以适当增加,但是不要超过 CPU 核心数减 2。force_think:设置为 true 才能够看到模型的思考过程,否则默认是不输出模型的思考过程的。
max_new_tokens:需要生成的tokens数量
模型初次加载大约需要 10 分钟,模型将被载入内存的 buff/cache 中,如果内存不够,模型是无法被成功运行的,最终运行效果如下:
更多推荐
所有评论(0)