支持私有云部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


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

发布日期:2025-03-24 15:57:48 浏览次数: 1592 来源:小渣渣日记
推荐语

私有化部署DeepSeek-R1的新选择,vLLM让算力减半、吞吐增十倍!

核心内容:
1. 私有化部署DeepSeek-R1的对比分析
2. vLLM与Ollama的性能和部署差异
3. vLLM的部署优势及性能测试结果

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

需求:之前使用 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



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

环境准备

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

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




如果遇到“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 状态,如下图:



使用 Postman 测试

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



Postman 调用,如下图:

  1. {

  2.     "model": "DeepSeek-R1",

  3.     "messages": [

  4.         {

  5.             "role": "user",

  6.             "content": "Hi,我叫小渣渣。请问你是谁?"

  7.         }

  8.     ]

  9. }




基准测试

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

  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

(完)

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询