【音频标注】- deepseek-R1满血版 1.58 Bit模型落地部署(一)

背景

基于Unsloth + KTransformer方案的大模型动态量化,是当前性价比最高的模型落地思路。本文主要是DeepSeek-R1满血版的1.58 Bit动态量化版本的落地。预计占用显存10G-16G,占用内存约60G。

硬件条件:

4090显卡48G显存128G内存,闲置内存一般在90G左右。

部署过程

  1. 创建环境
conda create -n kt python=3.11 -y
conda activate kt
python -m pip install torch==2.2.2+cu118 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
python -m pip install /home/hyt/HYT/tools/torch-2.2.2+cu118-cp311-cp311-linux_x86_64.whl
python -m pip install torch==2.2.2+cu118 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
python -m pip install /home/hyt/HYT/tools/flash_attn-2.5.8+cu118torch2.2cxx11abiTRUE-cp311-cp311-linux_x86_64.whl
sudo apt-get install --only-upgrade libstdc++6
conda install -c conda-forge libstdcxx-ng
  1. flash-attention下载失败
    Ubuntu 服务器下载 flash-attention 失败。总是在 93% 进度上下载中断。
(KG) hyt@user-H3C-UniServer-R4900-G5:/opt/KTransformers+Unsloth$ git clone --recursive https://github.com/Dao-AILab/flash-attention.git
正克隆到 'flash-attention'...
remote: Enumerating objects: 11691, done.
remote: Counting objects: 100% (631/631), done.
remote: Compressing objects: 100% (250/250), done.
接收对象中:  93% (10915/11691), 9.96 MiB | 25.00 KiB/s
error: RPC 失败。curl 56 Recv failure: 连接被对方重置
error: 预期仍然需要 3701 个字节的正文

找了好久找到了这个

flash_attn-2.5.8+cu118torch2.2cxx11abiTRUE-cp311-cp311-linux_x86_64.whl

并按以上python torch 版本重建虚拟环境。

  1. 缺 libcudart.so* 报错
    有两个错误,
    警告:
    There are no g++ version bounds defined for CUDA 12.9
    报错:
    ninja: error: ‘/usr/local/cuda/lib64/libcudart.so’, needed by … missing
    3.1 先查真正的 libcudart 在哪
    用命令
find /root/miniconda3/envs/kt -name 'libcudart.so*'
(kt) root@user-H3C-UniServer-R4900-G5:/opt/KTransformers+Unsloth/code/ktransformers# find /root/miniconda3/envs/kt -name 'libcudart.so*'
/root/miniconda3/envs/kt/targets/x86_64-linux/lib/libcudart.so.12
/root/miniconda3/envs/kt/targets/x86_64-linux/lib/libcudart.so.12.9.79
/root/miniconda3/envs/kt/lib/libcudart.so.12
/root/miniconda3/envs/kt/lib/libcudart.so.12.9.79
/root/miniconda3/envs/kt/lib/libcudart.so.*
/root/miniconda3/envs/kt/lib/python3.11/site-packages/nvidia/cuda_runtime/lib/libcudart.so.12
/root/miniconda3/envs/kt/lib/libcudart.so

3.2 建立软链接,骗骗编译器:

sudo mkdir -p /usr/local/cuda/lib64
sudo ln -s \
  /root/miniconda3/envs/kt/lib/libcudart.so \
  /usr/local/cuda/lib64/libcudart.so

sudo mkdir -p /usr/local/cuda/include
sudo ln -s \
  /root/miniconda3/envs/kt/targets/x86_64-linux/include \
  /usr/local/cuda/include

3.3 重装ktransformer

cd /opt/KTransformers+Unsloth/code/ktransformers
python -m pip install . --no-build-isolation --use-pep517

3.4 重装ktransformer失败

error: #error -- unsupported GNU version! gcc versions later than 12 are not supported!

具体来说,CUDA 编译器 nvcc 不支持你当前的 GCC 版本。它明确指出 GCC 版本大于 12 的不支持,而你当前可能安装的是 GCC 13 或更高版本。
3.5 降级GCC,设置 gcc-12 和 g+±12 为系统默认

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100

3.6 找不到cicc文件,怀疑是cuda安装不完整
需要考虑重装,重装就不用cuda12.9了,换最兼容的12.2。
在这里插入图片描述
选择合适系统的版本后,它给出下载指令:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda-repo-ubuntu2204-12-2-local_12.2.2-535.104.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-2-local_12.2.2-535.104.05-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-2-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

执行指令后下载和安装成功。

安装到一半发现需要用的cuda 和toolkits版本 与别的项目有冲突。陷入僵局。查阅资料,发现,需要用docker才可以避开cuda和tookit的多版本冲突。所以,需要进行docker化。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐