(KTransformers)RTX4090单卡运行DeepSeek-R1671B
- 人工智能
- 2025-09-19 08:42:01

安装环境为:ubuntu 22.04 x86_64
下载模型编辑文件vim url.list 写入如下内容
modelscope /models/unsloth/DeepSeek-R1-GGUF/resolve/master/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00001-of-00009.gguf modelscope /models/unsloth/DeepSeek-R1-GGUF/resolve/master/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00002-of-00009.gguf modelscope /models/unsloth/DeepSeek-R1-GGUF/resolve/master/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00003-of-00009.gguf modelscope /models/unsloth/DeepSeek-R1-GGUF/resolve/master/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00004-of-00009.gguf modelscope /models/unsloth/DeepSeek-R1-GGUF/resolve/master/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00005-of-00009.gguf modelscope /models/unsloth/DeepSeek-R1-GGUF/resolve/master/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00006-of-00009.gguf modelscope /models/unsloth/DeepSeek-R1-GGUF/resolve/master/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00007-of-00009.gguf modelscope /models/unsloth/DeepSeek-R1-GGUF/resolve/master/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00008-of-00009.gguf modelscope /models/unsloth/DeepSeek-R1-GGUF/resolve/master/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00009-of-00009.gguf #下载 wget -i url.list -P /data/model/DeepSeek-R1 #也可以用 aria2 并行下载 sudo apt-get install aria2 aria2c -i url.list -d /data/model/DeepSeek-R1 --log=aria2.log 前期准备前置条件:
CUDA 12.1 及更高版本 官网:CUDA Toolkit 12.8 Downloads | NVIDIA Developer
wget developer.download.nvidia /compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt-get update sudo apt-get -y install cuda-toolkit-12-8添加环境变量
# Adding CUDA to PATH if [ -d "/usr/local/cuda/bin" ]; then export PATH=$PATH:/usr/local/cuda/bin fi if [ -d "/usr/local/cuda/lib64" ]; then export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 # Or you can add it to /etc/ld.so.conf and run ldconfig as root: # echo "/usr/local/cuda-12.x/lib64" | sudo tee -a /etc/ld.so.conf # sudo ldconfig fi if [ -d "/usr/local/cuda" ]; then export CUDA_PATH=$CUDA_PATH:/usr/local/cuda fi安装 gcc、g++ 和 cmake
sudo apt-get install build-essential cmake ninja-build切换root用户 sudo -i
#创建python虚拟环境 conda create --name ktransformers python=3.11 #进入环境: conda activate ktransformers #安装程序包: conda install -c conda-forge libstdcxx-ng #您应该确保 Anaconda 使用的 GNU C++ 标准库的版本标识符包括~/anaconda3 GLIBCXX-3.4.32 strings ~/anaconda3/envs/ktransformers/lib/libstdc++.so.6 | grep GLIBCXX确保已安装 PyTorch、packaging、ninja
pip3 install torch torchvision torchaudio --index-url download.pytorch.org/whl/cu126 pip3 install packaging ninja cpufeature numpy同时,您应该从 Releases · Dao-AILab/flash-attention · GitHub 下载并安装相应版本的 flash-attention
#确认自己的pyTorch与cuda python3 -c "import torch; print(torch.__version__)" 2.6.0+cu126 #确认python版本 python3 --version Python 3.11.11 #确认PyTorch是否开启 C++11 ABI 输出包含:-D_GLIBCXX_USE_CXX11_ABI=1 为开启 python -c "import torch; print(torch.__config__.show())" |grep enable-cxx11-abi #根据输出需要安装与这个版本兼容的 Flash-Attention。 # - 当前安装的 PyTorch 版本是 2.6.0+cu126,这表示它支持 CUDA 12.6 选择cu12torch2.6版本 # - C++11 ABI为开启,选择xx11abiTRUE版本 # - python版本为3.11.11 选择cp311版本 #下载Flash-Attention wget github /Dao-AILab/flash-attention/releases/download/v2.7.4.post1/flash_attn-2.7.4.post1+cu12torch2.6cxx11abiTRUE-cp311-cp311-linux_x86_64.whl #安装 Flash-Attention pip install flash_attn-2.7.4.post1+cu12torch2.6cxx11abiTRUE-cp311-cp311-linux_x86_64.whl 开始安装下载源码并编译:
init 源代码
git clone github /kvcache-ai/ktransformers.git cd ktransformers git submodule init git submodule updatelinux 简单安装
bash install.sh #如果计算机是两颗CPU 对于拥有两个 CPU 和 1T(1TB)RAM 的用户 export USE_NUMA=1 bash install.sh命令行运行模型
python -m ktransformers.local_chat --model_path /home/ubuntu/.cache/modelscope/hub/models/deepseek-ai/DeepSeek-R1 --gguf_path /data/model/DeepSeek-R1 --cpu_infer 62 --optimize_config_path ./ktransformers/optimize/optimize_rules/DeepSeek-V3-Chat.yaml --model_path(必填):模型的名称(例如“deepseek-ai/DeepSeek-V2-Lite-Chat”,它将自动从 Hugging Face 下载配置)。或者,如果您已经有本地文件,则可以直接使用该路径来初始化模型。注意:目录中不需要 .safetensors 文件。我们只需要配置文件来构建 model 和 tokenizer。--gguf_path(必需):包含 GGUF 文件的目录路径,可以从 Hugging Face 下载。请注意,该目录应仅包含当前模型的 GGUF,这意味着每个模型需要一个单独的目录。--optimize_config_path(Qwen2Moe 和 DeepSeek-V2 除外是必需的):包含优化规则的 YAML 文件的路径。在 ktransformers/optimize/optimize_rules 目录中预先编写了两个规则文件,用于优化 DeepSeek-V2 和 Qwen2-57B-A14,这两个 SOTA MoE 模型。--max_new_tokens: Int (默认值 = 1000)。要生成的最大新令牌数。--cpu_infer: Int (默认值 = 10)。用于推理的 CPU 数量。理想情况下,应设置为 (内核总数 - 2)。 成功运行由于每个人硬件环境不同,受限于内存速度,显卡性能,cpu性能等 生成的tokens/s速度差别较大
遇到问题问题:Turing 架构 Volta 架构显卡 默认配置不兼容
如果有人遇到类似 已经进入到对话界面,但一说话就报如下内容
RuntimeError: CUDA error: invalid device function CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1 Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.
该问题是Turing 架构 Volta 架构显卡 默认配置不兼容导致的。
解决办法:
1.git下载最新的源码
2.修改源码中的yaml文件,例如本次用到的:./ktransformers/optimize/optimize_rules/DeepSeek-V3-Chat.yaml 将里面所有的KLinearMarlin换成KLinearTorch
3.从ktransformer的源码进行编译,直到在本机编译成功。
4.修改local_chat.py,将里面所有的flash_attention_2换成eager。
5.然后重新执行运行命令
(KTransformers)RTX4090单卡运行DeepSeek-R1671B由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“(KTransformers)RTX4090单卡运行DeepSeek-R1671B”