使用 vLLM 生产环境部署 DeepSeek,算力减半、吞吐增十倍!
nanshan 2025-08-02 20:22 1 浏览 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
图片不必看懂,牛就完事了!
环境准备
购买了腾讯云高性能应用服务,配置如下:
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 环境,直接贴脚本:
- wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && chmod +x Miniconda3-latest-Linux-x86_64.sh
- ./Miniconda3-latest-Linux-x86_64.sh -b
- source /root/miniconda3/bin/activate
- conda init
- conda config --set auto_activate_base false
复制代码
使用 vLLM 部署 DeepSeek-R1
使用 conda 创建 python 环境,命令如下:
- conda create -n vllm python=3.12 -y
- conda activate vllm
复制代码
安装 vllm、modelscope,命令如下:
- pip install vllm modelscope
复制代码
使用 modelscope 下载 DeepSeek-R1 模型,命令如下:
- 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 模型,命令如下:
- 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 调用,如下图:
- {
- "model": "DeepSeek-R1",
- "messages": [
- {
- "role": "user",
- "content": "Hi,我叫小渣渣。请问你是谁?"
- }
- ]
- }
复制代码
基准测试
下载测试代码,命令如下:
- wget https://raw.githubusercontent.com/vllm-project/vllm/refs/heads/main/benchmarks/benchmark_utils.py
- wget https://raw.githubusercontent.com/vllm-project/vllm/refs/heads/main/benchmarks/benchmark_throughput.py
复制代码
执行命令如下:
- 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
(完)
相关推荐
- 安全软件更新:OpenSSH 9.3和OpenSSL 3.1
-
最近开源安全软件领域也相继更新了最新版本。其中上周OpenSSL发布了最新的3.1版本,而OpenSSH则在昨天发布最新版本9.3。虽然带来的新功能不多,只是bug和漏洞方面的修复,但是作为比较重要的...
- 阿里云新增的轻量应用服务器(欧洲与美洲)美国(硅谷)配置方法
-
近期,阿里云的轻量应用服务器新增了欧洲与美洲地域,可以在美国(硅谷)部署服务器了,但是没有LAMP应用镜像,所以在配置服务器时遇到几个问题,SSH登录不了,提示【Algorithmnegotiati...
- OpenSSH 10.0发布 旨在更好地抵御量子计算机的攻击
-
OpenSSH10.0现已支持这一广泛使用的SSH客户端/服务器实现。OpenSSH10.0包含多项改进,包括更好地防御未来量子计算机可能发起的攻击。OpenSSH10.0放弃了对过去...
- 腾讯云国际站: 腾讯云服务器怎麽SSH远程连接
-
本文由【云老大】TG@yunlaoda360撰写准备工作获取服务器的公网IP地址:在腾讯云控制台找到云服务器实例,查看其基本信息,获取公网IP地址。确保服务器已安装SSH服务:一般Linux系统默...
- 旧电脑改服务器,这 6 个坑能让你白忙 3 天(附实测解决办法)
-
前几天收到粉丝私信,说照着教程把旧电脑改成服务器,结果折腾了3天还是没成功——要么是启动后连不上网,要么是跑两天就自动关机。其实我第一次改的时候也踩了不少坑,光是让旧电脑稳定运行,就重装了6...
- 使用win10自带的ssh服务器
-
我太喜欢ssh了,因为它的功能实在太强大,而且几乎不占用啥资源。(PS:类似的软件:p7zip,tightvnc)。因此,无论是哪个系统,我总想着安装一个ssh的服务器。之前我在虚拟机中安装了个win...
- Python sys模块使用教程
-
1.知识导图2.sys模块概述2.1模块定义与作用sys模块是Python标准库中的一个内置模块,提供了与Python解释器及其环境交互的接口。它包含了许多与系统相关的变量和函数,可以用来控制P...
- 满足AI时代高效办公需求 惠普战99 AI商务超能本评测
-
身处智能化时代的浪潮之中,人工智能正在深刻影响着我们工作和生活的方式,从聊天机器人到自动驾驶,从智能制造到药物研发,人工智能的力量无处不在。如今,随着各类AI应用逐渐占据主流计算平台,并在各种触手可及...
- 使用 vLLM 生产环境部署 DeepSeek,算力减半、吞吐增十倍!
-
需求:之前使用Ollama部署过deepseek-r1:32b模型,非常方便快捷,适合个人快速部署使用。如果作为企业生产环境应该使用什么方式部署呢?一般都采用vllm、sglang进行部署...
- 我把 ML 模型编译成 C 后,速度竟提升了 1000 倍!
-
【CSDN编者按】在本文中,我们来尝试将micrograd神经网络编译成C。具体内容如下:简单了解一下神经网络;看看micrograd如何前向传播和反向传播;复习链式法则;分析为什么mi...
- 这才是真·非公旗舰!索泰RTX 5080天启OC显卡评测
-
近年来,电脑硬件的RGB灯光逐渐成为标配,厂商在产品差异化这一方面则开拓了二次元IP形象这一新的领域,但要说哪家厂商在这一领域最吸引眼球,我想索泰应该要属独领风骚的一个。早在2020年,索泰便推出了以...
- 性能测试工具Iperf 验证SDN网络
-
1实验目的掌握Iperf在Linux环境下的安装和常用命令行参数的含义熟悉Iperf应用实例掌握SDN网络中使用Iperf测试网络带宽等2实验原理网络性能测试主要是监测网络带宽的使用率,将网络带宽...
- 方案 | 感受沉浸式音效的魅力:Roger和他的豪华影院
-
随着沉浸式音效的不断普及,诸如杜比全景声、DTS:X或Auro3D等技术不断引入到家庭影院音响系统中来,并带来了前所未有的震撼效果。也因此,越来越多的业主想要搭建一间具备沉浸式音效的影院,以享受更高...
- LLVM IR入门:编写自定义优化Pass的完整教程与性能影响分析
-
LLVMIR:编译器优化的核心纽带LLVM作为模块化编译器框架的典范,其中间表示(IR)是连接前端(如Clang)与后端(目标架构代码生成)的桥梁。与传统编译器不同,LLVMIR具有平台无关性和...
- iperf-LINUX测速工具
-
#iperf-测速工具安装包下载地址https://github.com/esnet/iperfhttps://downloads.es.net/pub/iperf/iperf-3.9.tar.gz官...
你 发表评论:
欢迎- 一周热门
-
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
手机如何设置与显示准确时间的详细指南
-
NAS:DS video/DS file/DS photo等群晖移动端APP远程访问的教程
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
如何修复用户配置文件服务在 WINDOWS 上登录失败的问题
-
一加手机与电脑互传文件的便捷方法FileDash
-
日本海上自卫队的军衔制度(日本海上自卫队的军衔制度是什么)
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)