跳转至

4090单卡运行Deepseek r1:671B满血版

  • "deepseek"
  • "671B满血版"
  • "4090"

配置需求

显存与内存配置

  • 显存:24G
  • 内存:382G(注意:实际硬件配置为64G * 8 DDR5 4800,即512G)

模型文件

  • 模型文件:deepseek-r1:671b 的 Q4_K_M 量化版

硬件配置

  • 显卡: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
  • 下载并安装CUDA:
    Bash
    1
    2
    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环境(可选)

  • 安装Miniconda:
    Bash
    1
    2
    3
    4
    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.安装必要依赖:

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

4.安装ktransformer:

flash_attn

安装

Bash
1
pip install flash_attn -i https://mirrors.aliyun.com/pypi/simple/

ktransformer

使用源码安装

Bash
1
2
git clone https://github.com/kvcache-ai/ktransformers.git
cd ktransformers

拉取子模块代码

Bash
1
2
git submodule init
git submodule update

运行编译脚本

Bash
1
bash install.sh

下载速度过慢,修改编译脚本里(install.sh)指定为国内源:

Bash
1
pip install -r requirements-local chat.txt -i https://mirrors.aliyun.com/pypi/simple/

模型下载

模型文件是 deepseek-r1:671b 的 Q4_K_M 量化版。由于模型文件过大,所以下载速度比较慢。

使用 modelscope 下载

官网地址:https://www.modelscope.cn/models

Bash
1
2
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环境之后,执行命令

Bash
1
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 中,如果内存不够,模型是无法被成功运行的,最终运行效果如下: