KTransformer + DeepSeek 部署方案

image

from pixiv

基础

Hugging Face

什么是Hugging Face? -- Hugging Face Transformers 萌新完全指南

Hugging Face的历史

模型量化技术概述及 GGUF/GGML 文件格式解析

from AI-Guide-and-Demos-zh_CN

模型的选择

相关讨论:
What is better ? 7B-Q4_K_M or 13B-Q2_K ?

模型提供方:

Unsloth AI

Bartowski

软硬件环境

服务器基础软硬件信息

  • OS

    • cat /etc/os-release

      NAME="Fedora Linux"
      VERSION="41 (Server Edition)"

    • uname -a

  • CPU

    • lscpu

    • lscpu | grep amx

      未有内容输出,本服务器CPU不支持AMX功能

  • GPU

    nvidia-smi

    GPU信息解读

    RTX 4090(24GB) * 2

    CUDA Version: 12.4

  • DRAM

    • df -h
    • du -h /path/to/see

搭建深度学习环境

目标:PyTorch 2.6 Python 3.12

# 激活conda虚拟python环境
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py312_24.4.0-0-Linux-x86_64.sh
conda create -n pytorch2.6-py3.12 python=3.12
conda activate pytorch2.6-py3.12

# pip 换源 在虚拟python环境pytorch2.6-py3.12下
vim ~/usr/miniconda3/envs/pytorch2.6-py3.12/pip.conf
## 添加如下内容
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple 
trusted-host = pypi.tuna.tsinghua.edu.cn

# conda 换源
vim ~/.condarc
## 添加如下内容
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
ssl_verify: true


# 安装PyTorch 2.6
## 访问https://pytorch.org/get-started/locally/
pip3 install torch torchvision torchaudio
## 检测是否安装成功
python
import torch
torch.cuda.is_available()

模型下载

# 基于hf-mirror.com使用hfd进行下载
## 下载hfd
cd ~/tools
wget https://hf-mirror.com/hfd/hfd.sh
chmod a+x hfd.sh
alias hfd="$PWD/hfd.sh"
## 使用镜像
echo 'export HF_ENDPOINT="https://hf-mirror.com"' >> ~/.bashrc
source ~/.bashrc
## 下载模型
hfd bartowski/DeepSeek-V2.5-GGUF --include *Q6_K*.gguf --local-dir /mnt/data/yxlin/deepseek/DeepSeek-V2.5-GGUF/DeepSeek-V2.5-Q6_K

具体教程:

HF-Mirror

Huggingface Model Downloader

配置文件下载

hfd deepseek-ai/DeepSeek-V2.5 --exclude *.safetensors --local-dir /mnt/data/yxlin/deepseek/DeepSeek-V2.5
# 上述命令下载完后会漏掉model.safetensors.index.json文件,直接wget补一下
wget https://hf-mirror.com/deepseek-ai/DeepSeek-V2.5/blob/main/model.safetensors.index.json

KTransformer下载

因为CPU不支持AMX功能,所以使用KTransformer V2.0

包管理器

Linux 发行版通常会预装特定的包管理器,不同的发行版使用不同的包管理器。以下是一些常见发行版及其对应的包管理器:

  • Debian、Ubuntu 及其衍生版:使用 APT(Advanced Package Tool)。命令如 apt-getaptdpkg
  • Red Hat、CentOS、Fedora:使用 YUMDNF(Fedora 及较新的版本一般使用 dnf),同时底层使用 RPM(Red Hat Package Manager)。
  • openSUSE:使用 ZypperRPM
  • Arch Linux:使用 pacman
  • Gentoo:使用 Portage

本服务器的OS为Fedora,可通过which yum这样尝试的方式查看包管理器为谁

本服务器的包管理器为yum

环境准备

# Adding CUDA to PATH
## 查看CUDA按照位置
which nvcc
vim ~/.bashrc
export PATH=$PATH:/usr/local/cuda-12.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.4/lib64
export CUDA_PATH=$CUDA_PATH:/usr/local/cuda-12.4
rpm -q gcc        	# 查询 gcc 是否安装
rpm -q gcc-c++    	# 查询 g++ 所在的包,通常名称为 gcc-c++
rpm -q cmake      	# 查询 cmake 是否安装
rpm -q ninja-build  # 查询 ninja-build 是否安装
rpm -q libstdc++	# 查询 libstdc++ 是否安装
pip3 install packaging ninja cpufeature numpy
pip3 install flash-attn==2.7.3 --no-build-isolation
conda install -c conda-forge libstdcxx-ng

# Attention: you should ensure that the version identifier of the GNU C++standard library used by Anaconda includes GLIBCXX-3.4.32
strings /path/to/your/anaconda/env/yourEnvName/lib/libstdc++.so.6 | grep GLIBCXX

安装KTransformer

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

export USE_NUMA=1
bash install.sh

# 查看当前是否安装为正确版本V0.2
pip show ktransformers

开启简单对话

# 到ktransformers项目的根目录下
cd /mnt/data/yxlin/ktransformers
python -m ktransformers.local_chat --model_path /mnt/data/yxlin/deepseek/DeepSeek-V2.5 --gguf_path /mnt/data/yxlin/deepseek/DeepSeek-V2.5-GGUF/DeepSeek-V2.5-Q6_K --max_new_tokens 1000 
python -m ktransformers.local_chat --model_path /mnt/data/yxlin/deepseek/DeepSeek-V2.5 --gguf_path /mnt/data/yxlin/deepseek/DeepSeek-V2.5-GGUF/DeepSeek-V2.5-Q2_K_L --max_new_tokens 1000
posted @ 2025-03-15 16:26  次林梦叶  阅读(351)  评论(0)    收藏  举报