使用 vLLM 生产环境部署 DeepSeek,算力减半、吞吐增十倍!

内容分享3周前发布
0 8 0

需求:之前使用 Ollama 部署过 deepseek-r1:32b 模型,超级方便快捷,适合个人快速部署使用。如果作为企业生产环境应该使用什么方式部署呢?一般都采用 vllm、sglang 进行部署,本文是用 vLLM 部署 DeepSeek-R1模型。

Ollama 和 vLLM 对比

区别如下:

对比维度

Ollama

vLLM

核心定位

轻量级本地化工具,适合个人开发者和小规模实验

生产级推理框架,专注高并发、低延迟的企业级场景

硬件要求

支持 CPU 和 GPU,低显存占用(默认使用量化模型)

必须依赖 NVIDIA GPU,显存占用高

模型支持

内置预训练模型库(支持1700+模型),自动下载量化版本(int4为主)

需手动下载原始模型文件(如 HuggingFace 格式),支持更广泛模型

部署难度

一键安装,开箱即用,无需编程基础

需配置 Python 环境、CUDA 驱动,依赖技术经验

性能特性

单次推理速度快,但并发处理能力弱

高吞吐量,支持动态批处理和千级并发请求

资源管理

灵活调整资源占用,空闲时自动释放显存

显存占用固定,需预留资源应对峰值负载

vLLM 简单介绍

vLLM 是一个快速且易于使用的 LLM 推理和服务库。

配备全新算法的vLLM,重新定义了LLM服务的最新技术水平:. 与HuggingFace Transformers相比,它提供高达24倍的吞吐量,而无需进行任何模型架构更改。算力减半、吞吐增十倍,该研究将 vLLM 的吞吐量与最流行的 LLM 库 HuggingFace Transformers (HF),以及之前具有 SOTA 吞吐量的 HuggingFace Text Generation Inference(TGI)进行了比较。此外,该研究将实验设置分为两种:LLaMA-7B,硬件为 NVIDIA A10G GPU;另一种为 LLaMA-13B,硬件为 NVIDIA A100 GPU (40GB)。他们从 ShareGPT 数据聚焦采样输入 / 输出长度。结果表明,vLLM 的吞吐量比 HF 高 24 倍,比 TGI 高 3.5 倍。

vLLM 文档:
https://docs.vllm.ai/en/latest/index.html

源码地址:

https://github.com/vllm-project/vllm

性能测试:

https://blog.vllm.ai/2024/09/05/perf-update.html

使用 vLLM 生产环境部署 DeepSeek,算力减半、吞吐增十倍!

图片不必看懂,牛就完事了!

环境准备

购买了腾讯云高性能应用服务,配置如下:

Ubuntu 20.04
环境配置:Ubuntu 20.04, Driver 525.105.17, Python 3.8, CUDA 12.0, cuDNN 8
算力类型:两卡GPU基础型 – 2*16GB+ | 16+TFlops SP | CPU – 16 核 | 内存 – 64GB

安装 Conda

使用 conda 创建 python 环境,直接贴脚本:

  1. wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && chmod +x Miniconda3-latest-Linux-x86_64.sh
  2. ./Miniconda3-latest-Linux-x86_64.sh -b
  3. source /root/miniconda3/bin/activate
  4. conda init
  5. conda config –set auto_activate_base false

复制代码


使用 vLLM 部署 DeepSeek-R1

使用 conda 创建 python 环境,命令如下:

  1. conda create -n vllm python=3.12 -y
  2. conda activate vllm

复制代码


安装 vllm、modelscope,命令如下:

  1. pip install vllm modelscope

复制代码


使用 modelscope 下载 DeepSeek-R1 模型,命令如下:

  1. mkdir -p /data/models && modelscope download –model 'deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B' –local_dir '/data/models/DeepSeek-R1-Distill-Qwen-1.5B'

复制代码


参考:

https://modelscope.cn/docs/models/download

使用 vllm 启动 deepseek 模型,命令如下:

  1. vllm serve “/data/models/DeepSeek-R1-Distill-Qwen-1.5B” –served-model-name “DeepSeek-R1” –load-format “safetensors” –gpu-memory-utilization 0.8 –tensor-parallel-size 2 –dtype half –port 8000

复制代码


使用 vLLM 生产环境部署 DeepSeek,算力减半、吞吐增十倍!

如果遇到“Bfloat16 is only supported on GPUs with compute capability of at least 8.0. Your Tesla T4 GPU has compute capability 7.5. You can use float16 instead by explicitly setting the`dtype` flag in CLI, for example: –dtype=half.”警告,根据警告添加参数即可。

备注:

  • –tensor-parallel-size 和 GPU 数量设置一致
  • –gpu-memory-utilization 控制使用显存的百分比
  • –served-model-name API 中使用的模型名称
  • –disable-log-requests 禁用日志记录请求

vLLM Linux GPU 安装文档:
https://docs.vllm.ai/en/latest/getting_started/installation/gpu/index.html

引擎参数:

https://docs.vllm.ai/en/latest/serving/engine_args.html

查看 GPU 状态,如下图:

使用 vLLM 生产环境部署 DeepSeek,算力减半、吞吐增十倍!

使用 Postman 测试

浏览器打开:http://ip:8000/
接口文档:
http://ip:8000/docs

使用 vLLM 生产环境部署 DeepSeek,算力减半、吞吐增十倍!

Postman 调用,如下图:

  1. {
  2. “model”: “DeepSeek-R1”,
  3. “messages”: [
  4. {
  5. “role”: “user”,
  6. “content”: “Hi,我叫小渣渣。请问你是谁?”
  7. }
  8. ]
  9. }

复制代码


使用 vLLM 生产环境部署 DeepSeek,算力减半、吞吐增十倍!

基准测试

下载测试代码,命令如下:

  1. wget https://raw.githubusercontent.com/vllm-project/vllm/refs/heads/main/benchmarks/benchmark_utils.py
  2. wget https://raw.githubusercontent.com/vllm-project/vllm/refs/heads/main/benchmarks/benchmark_throughput.py

复制代码


执行命令如下:

  1. python benchmark_throughput.py –model “/data/models/DeepSeek-R1-Distill-Qwen-1.5B” –backend vllm –input-len 128 –output-len 512 –num-prompts 50 –seed 1100 –dtype half

复制代码


结果:Throughput: 2.45 requests/s, 1569.60 total tokens/s, 1255.68 output tokens/s

使用 vLLM 生产环境部署 DeepSeek,算力减半、吞吐增十倍!


(完)

© 版权声明

相关文章

8 条评论

您必须登录才能参与评论!
立即登录
  • 头像
    非凡 读者

    这种服务器租用,多少钱一小时啊

    无记录
  • 头像
    看大家都记得 读者

    可以去腾讯云官网查看,几块一小时

    无记录
  • 头像
    长歧舞银子 读者

    你都用魔搭了,阿里云PAI一键部署不好吗?反正验证过就释放好了。

    无记录
  • 头像
    霍格沃茨三好生 投稿者

    使用vllm有个弊端就是显卡数量必须是2的n次方

    无记录
  • 头像
    赛博大蟑螂- 投稿者

    用kubeai部署不是更好…

    无记录
  • 头像
    未工谈家居 读者

    请问这个能跑多模态的的大模型吗?比如qwen2.5-vl啥的,需要啥显存配置

    无记录
  • 头像
    离开有你的季节呢 投稿者

    写的太好了

    无记录
  • 头像
    ohh-羊辣辣 读者

    收藏了,感谢分享

    无记录