本文记录了在 8 卡 NVIDIA L20 服务器上部署 DeepSeek-V4-Flash 的完整过程。前半部分是可直接复制到新机器的部署步骤,后半部分是部署过程中遇到的踩坑记录与根因分析(vLLM 不兼容、MXFP4 算子加载失败等),方便排错时回查。
1. 环境信息
| 项目 | 配置 |
|---|
| 服务器 | L20 推理节点(10.0.0.x,内网) |
| GPU | 8 × NVIDIA L20(每卡 48GB,CC 8.9) |
| OS | Ubuntu,CUDA 13.2 |
| Conda 环境 | ktrans(Python 3.11) |
| 模型 | DeepSeek-V4-Flash(ModelScope 下载) |
| 模型路径 | /data1/models/DeepSeek-V4-Flash |
| 服务端口 | 30000 |
2. 安装指南(迁移部署)
重要: 以下步骤可用于在另一台服务器上复制本套部署。
前置条件
| 前置条件 | 最低要求 |
|---|
| GPU | ≥ 8 × NVIDIA L20 (48GB) 或同等算力 |
| CUDA | ≥ 12.4(推荐 13.x) |
| 系统内存 | ≥ 128 GB |
| 磁盘空间 | ≥ 200 GB(模型约 100GB + 环境约 20GB) |
| OS | Ubuntu 20.04 / 22.04 |
| Conda | Miniconda3 或 Anaconda |
第一步:检查硬件环境
# 确认 GPU 数量和型号
nvidia-smi
# 确认 CUDA 版本
nvcc --version
# 确认内存
free -h
# 确认磁盘空间
df -h /data1 # 或你存放模型的目录
第二步:安装 Miniconda(如果没有)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3
eval "$($HOME/miniconda3/bin/conda shell.bash hook)"
conda init
source ~/.bashrc
第三步:创建 Conda 环境并设置 CUDA 路径
# 创建 Python 3.11 环境
conda create -n ktrans python=3.11 -y
conda activate ktrans
# 设置 CUDA 路径(根据你的 CUDA 安装位置调整)
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
第四步:安装 Python 包
重要: 包的安装顺序很重要。先装 sglang-kt(会自动拉 flashinfer 0.6.3),然后再升级 flashinfer。
# 国内环境建议使用清华源
PIP_MIRROR="-i https://pypi.tuna.tsinghua.edu.cn/simple"
# 1. 安装核心框架
pip install sglang-kt ktransformers $PIP_MIRROR
# 2. 安装辅助依赖
pip install tilelang transformers==4.57.1 $PIP_MIRROR
# 3. 【关键】升级 flashinfer 到 >= 0.6.9(否则 MXFP4 算子无法加载)
pip install --upgrade flashinfer-python flashinfer-cubin $PIP_MIRROR
# 4. 验证安装
python3 -c "import flashinfer; print(f'flashinfer version: {flashinfer.__version__}')"
python3 -c "import sglang; print('sglang imported successfully')"
python3 -c "import ktransformers; print('ktransformers imported successfully')"
警告: 升级 flashinfer 后会提示 sglang-kt 0.6.2.post3 requires flashinfer_cubin==0.6.3 依赖冲突,可以安全忽略,不影响实际运行。
- 阅读剩余部分 -