🔥 保姆级教程 | 天翼云GPU主机+Docker部署KTransformer+DeepSeek-R1全流程实录(附完整代码) 🔥
📖 目录导航
🚀 1. 基础环境校验 🐳 2. Docker安装全流程 🔌 3. NVIDIA容器工具配置 🐧 4. Ubuntu镜像环境搭建 🤖 5. 模型部署全步骤 ❗ 必看注意事项 ❓ 高频问题解答
一、基础环境要求 ✅
🖥️ 硬件配置
-
必须设备:NVIDIA GPU云服务器(实测A100通过)
-
系统版本:Ubuntu 22.04 LTS(强烈建议全新安装)
-
驱动要求:已安装GPU驱动且CUDA版本匹配
🔍 环境验证
nvidia-smi # 查看GPU的信息,确保本机的驱动安装完成
二、Docker安装指南 🐳
完整安装代码(逐行复制执行)
# 步骤1:更新源列表
sudo apt update
# 步骤2:安装基础依赖
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
# 步骤3:添加GPG密钥
curl -fsSL docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker-archive-keyring.gpg
# 步骤4:配置镜像源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker-archive-keyring.gpg]
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 步骤5:安装Docker CE
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
# 步骤6:启动服务
sudo systemctl start docker
sudo systemctl enable docker
# 步骤7:验证安装
sudo docker --version # 应显示类似"Docker version 24.0.7"
三、NVIDIA容器工具安装 🔌
完整代码(含配置检测)
# 配置镜像源(注意换行符!)
curl -fsSL nvidia.github.io/libnvidia-container/gpgkey | sudo gpg -dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb #deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] #g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# 安装工具包
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
# 配置运行时
sudo nvidia-ctk runtime configure --runtime=docker
# 重启检测
sudo systemctl restart docker
cat /etc/docker/daemon.json # 应显示nvidia配置信息
四、Ubuntu镜像搭建环境 🐧
完整操作代码
# 拉取官方镜像
docker pull ubuntu:22.04
# 启动容器(必须参数!)
docker run --gpus all -it -v /data:/data ubuntu:22.04 bash
📌 参数说明
--gpus all # 启用全部GPU设备
-v /data:/data # 挂载宿主机/data目录到容器内/data
五、Docker环境内部进行KTransformer模型部署 🤖
1️⃣ CUDA环境配置(逐行执行!)
# 下载CUDA 12.4安装包
wget developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run
# 静默安装(无需交互)
sudo sh cuda_12.4.0_550.54.14_linux.run --silent --toolkit
# 配置环境变量
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
# 验证安装
nvcc -V # 应显示"release 12.4"
2️⃣ Conda环境配置(完整代码)
# 安装图形库依赖
apt install libgl1-mesa-glx libegl1-mesa libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6
# 下载Anaconda 2024.10
wget repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
# 创建安装目录
mkdir anaconda3
# 执行安装(按提示输入yes)
bash Anaconda3-2024.10-1-Linux-x86_64.sh
# 初始化conda
conda init
3️⃣ Python环境配置(严格顺序!)
# 创建虚拟环境
conda create --name ktrans python=3.11
conda activate ktrans
# 配置pip镜像源
pip config set global.index-url mirrors.aliyun.com/pypi/simple
# 安装核心依赖
pip install --upgrade pip
pip install torch packaging ninja cpufeature numpy
# 安装flash-attn(关键步骤!)
pip install flash-attn --no-build-isolation
# 修复libstdc++冲突
sudo apt-get update
sudo apt-get install --only-upgrade libstdc++6
ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /home/anaconda3/envs/ktrans/bin/../lib/libstdc++.so.6
4️⃣ KTransformer部署代码
# 克隆仓库(含子模块)
git clone github.com/kvcache-ai/ktransformers.git
cd ktransformers
git submodule init
git submodule update
# 执行安装脚本
sh ./install.sh
5️⃣ 启动模型(按需修改路径!)
export USE_NUMA=1
python ./ktransformers/local_chat.py \
--model_path /model/path \ # 替换实际模型路径
--gguf_path /gguf/file/path \ # 替换GGUF文件路径
--cpu_infer 32 # CPU线程数根据配置调整
⚠️ 血泪教训总结
-
GPU权限问题
# 如果报错尝试添加--privileged
docker run --privileged --gpus all ... -
环境变量持久化
# 将以下内容添加到~/.bashrc
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc -
镜像加速配置
# /etc/docker/daemon.json 添加
{
"registry-mirrors": ["your-mirror.aliyuncs.com"]
}
❓ 高频问题解答
Q1:报错Failed to initialize NVML
# 解决方案:检查驱动-CUDA版本匹配
nvidia-smi # 查看CUDA版本
nvcc -V # 查看容器内CUDA版本
Q2:容器内无法识别GPU
# 验证步骤(必须在容器内执行!)
docker exec -it 容器名 nvidia-smi
# 若无输出,重新安装NVIDIA Container Toolkit
Q3:pip安装超时
# 临时换源
pip install -i pypi.tuna.tsinghua.edu.cn/simple 包名
💡 本帖所有代码均经实测验证,建议直接复制执行 👍 如果对你有帮助,求点赞/收藏/转发三连!有问题欢迎评论区讨论!