ubuntu系统vllm部署deepseek-70B(DeepSeek-R1-Distill-Llama-70B)

配置: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)

注意事项

  1. 模型兼容性:确保DeepSeek模型的格式与vLLM兼容(HF格式)。

  2. 显存分配:67B模型需要约130GB显存,8卡H800(每卡80GB)足够。

  3. 安全加固:如需对外开放API,建议配置反向代理和认证。

  4. 性能调优:可通过--max-num-seqs--max-model-len调整吞吐量。

如遇到CUDA版本不匹配等问题,可尝试通过conda install cuda -c nvidia补充依赖。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值