配置:8张英伟达H800显卡,硬盘14T,内存 2T;
本次部署显卡驱动和Miniconda都已安装,所以直接从步骤4的创建虚拟环境开始;nvidia-smi命令查看显卡;
1. 系统更新和依赖安装
# 更新系统包 sudo apt update && sudo apt upgrade -y # 安装基础依赖 sudo apt install -y build-essential python3-pip curl git wget
2. 安装NVIDIA驱动和CUDA Toolkit
# 添加NVIDIA驱动仓库(Ubuntu 22.04默认仓库可能版本较低) sudo add-apt-repository ppa:graphics-drivers/ppa -y sudo apt update # 安装推荐驱动(H800需要535+版本) sudo apt install -y nvidia-driver-550 sudo reboot # 重启生效 # 验证驱动安装 nvidia-smi # 应显示8张H800信息 # 安装CUDA 12.2(需与vLLM兼容) wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run sudo sh cuda_12.2.2_535.104.05_linux.run # 安装时取消勾选驱动(已安装),其他默认 # 添加环境变量 echo 'export PATH=/usr/local/cuda-12.2/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc
3. 安装cuDNN
# 从NVIDIA官网下载cuDNN 8.9.7 for CUDA 12.x(需注册账号) # 假设下载到 ~/Downloads/cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz tar -xvf ~/Downloads/cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include/ sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64/ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
4. 配置Python环境
# 安装Miniconda(如未安装) wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda echo 'export PATH="$HOME/miniconda/bin:$PATH"' >> ~/.bashrc source ~/.bashrc # 创建虚拟环境 conda create -n vllm python=3.9 -y #启用虚拟环境 conda activate vllm #启用虚拟环境后,命令行前缀就都会有虚拟环境名称显示(如下) #(vllm) root@hgx-h800-204: #退出虚拟环境进入基础环境 #conda deactivate # 安装PyTorch pip install torch==2.1.2 --index-url https://download.pytorch.org/whl/cu121 #如果pip下载失败,可以使用如下命令 conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia # 安装vLLM pip install vllm>=0.4.1 # 确保版本支持H800
验证安装
安装完成后,运行以下命令验证PyTorch是否正确安装:
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"
如果输出类似以下内容,说明安装成功:
2.1.2+cu121 True
5. 下载DeepSeek模型
# 安装 ModelScope 包: ModelScope 是一个模型中心,我们使用它来下载模型。在终端或命令提示符中执行以下命令安装 ModelScope Python 包 pip install modelscope #创建模型存放文件夹 mkdir -p /data/deepseek-ai/models/deepseek-70b # 例如DeepSeek-R1-Distill-Llama-70B模型 modelscope download --local_dir /data/deepseek-ai/models/deepseek-70b --model deepseek-ai/DeepSeek-R1-Distill-Llama-70B # 例如deepseek-r1-awq量化模型(该命令为r1向量模型下载命令,该模型启动未验证) modelscope download --local_dir /data/deepseek-ai/models/deepseek-r1-awq --model cognitivecomputations/DeepSeek-R1-awq
6. 启动vLLM API服务
# 使用8卡张量并行 python -m vllm.entrypoints.openai.api_server \ --model ./deepseek-70b \ --tensor-parallel-size 8 \ --trust-remote-code \ # 如果模型需要自定义代码 --gpu-memory-utilization 0.85 \ # 显存利用率 --served-model-name deepseek-70b # API中的模型名称
7. 测试API接口
# 发送测试请求 curl http://localhost:8000/v1/completions \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-70b", "prompt": "北京的著名景点有", "max_tokens": 100, "temperature": 0.3 }' # 或使用Python客户端 pip install openai
from openai import OpenAI client = OpenAI(base_url="http://localhost:8000/v1") response = client.completions.create( model="deepseek-70b", prompt="中国的首都是", max_tokens=100 ) print(response.choices[0].text)
注意事项
-
模型兼容性:确保DeepSeek模型的格式与vLLM兼容(HF格式)。
-
显存分配:67B模型需要约130GB显存,8卡H800(每卡80GB)足够。
-
安全加固:如需对外开放API,建议配置反向代理和认证。
-
性能调优:可通过
--max-num-seqs
和--max-model-len
调整吞吐量。
如遇到CUDA版本不匹配等问题,可尝试通过conda install cuda -c nvidia
补充依赖。