企业级模型推理部署工具vllm使用指南 - 部署最新deepseek-v3-0324模型
vLLM(Virtual Large Language Model)是由加州大学伯克利分校团队开发的高性能大模型推理框架,其核心特点围绕显存优化、高吞吐量、灵活性和易用性展开。对比 ollama 作为个人开发者部署模型工具而言,vLLM 专注于高并发请求和大规模生产环境,适用于企业级应用和需要高效推理的场景。vLLM 通过优化内存管理和并发处理,适合处理高负载的生产环境 。
前言
vLLM(Virtual Large Language Model)是由加州大学伯克利分校团队开发的高性能大模型推理框架,其核心特点围绕显存优化、高吞吐量、灵活性和易用性展开。
对比 ollama 作为个人开发者部署模型工具而言,vLLM 专注于高并发请求和大规模生产环境,适用于企业级应用和需要高效推理的场景。vLLM 通过优化内存管理和并发处理,适合处理高负载的生产环境 。
一、vLLM 核心优势
高性能相关
1. PagedAttention 技术(分页注意力机制)
核心创新:借鉴操作系统虚拟内存分页机制,将注意力计算中的**Key/Value 缓存(KV Cache)**划分为固定大小的“页”,动态分配显存,显著减少内存碎片化。
- 传统问题:传统框架需为每个请求预分配连续显存空间,导致利用率低(仅 20%-40%)。
- vLLM 解决方案:按需分配显存页,支持动态扩展,显存利用率提升至接近 100%。
例如,LLaMA-7B 模型显存占用可从 14GB 压缩至 4GB(使用 INT4 量化)。 支持长上下文(如 128K 或 10M token)的高效处理,减少显存浪费。
2. 连续批处理(Continuous Batching)
动态合并请求:实时合并多个推理请求,避免静态批处理的等待延迟,最大化 GPU 利用率。
吞吐量提升:
- 相比 Hugging Face Transformers,吞吐量提升 24 倍(如 LLaMA-7B 模型)。
- 在高并发场景下,吞吐量可达传统框架的 5-10 倍。
3. 量化支持(模型压缩与加速)
兼容主流量化方法:支持 GPTQ、AWQ、SqueezeLLM、FP8 KV Cache 等,显著降低显存占用和计算开销。
量化效果:
- INT4 量化:将 7B 模型显存需求从 14GB 压缩至 4GB,同时保持精度损失<1%。
- 适用于消费级显卡(如 RTX 4090)部署 7B-13B 模型。
4. 高性能与分布式推理
多 GPU 张量并行:支持分布式部署,例如在 4 块 A100 GPU 上运行 70B 参数模型。
CUDA 优化:使用 CUDA/HIP 图(CUDA Graphs)加速模型执行。 -高性能 CUDA 内核优化,减少计算延迟。
易用性相关
5. 易用性与兼容性
与 Hugging Face 无缝集成:支持 50+主流模型(如 LLaMA、Qwen、Mistral、XVERSE 等)。
OpenAI API 兼容:可直接替换 OpenAI 接口,提供标准 API 服务(如/v1/completions)。
灵活的部署选项:支持流式输出、前缀缓存、多 LoRA 适配及离线批量推理。
6. 解码算法多样性
并行采样(Parallel Sampling):单次前向传播生成多个输出(如多种回答),降低计算成本。
波束搜索(Beam Search):提升生成文本的准确性和多样性。
自定义解码策略:支持根据场景选择最优解码算法。
二、部署环境准备
vLLM 是一个 Python 库,包含预编译的 C++ 和 CUDA (12.1) 二进制文件。
依赖环境
- 操作系统:Linux
- Python:3.8 - 3.12
- GPU:计算能力 7.0 或更高(例如 V100、T4、RTX20xx、A100、L4、H100 等)
ps: vLLM 只能在 Linux 系统上才能完全运行。
使用 pip 安装
可以使用 python 的 pip 工具安装 vLLM:
# (Recommended) Create a new conda environment.
#(推荐)创建一个新的 conda 环境。
conda create -n myenv python=3.10 -y
conda activate myenv
# Install vLLM with CUDA 12.1.
# 安装带有 CUDA 12.1 的 vLLM。
pip install vllm
使用 docker 安装
vLLM 提供了一个官方 Docker 镜像用于部署。该镜像可用于运行与 OpenAI 兼容服务器,并且可在 Docker Hub 上以 vllm/vllm-openai 的形式获取。
docker run --runtime nvidia --gpus all \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env "HUGGING_FACE_HUB_TOKEN=<secret>" \
-p 8000:8000 \
--ipc=host \
vllm/vllm-openai:latest \
--model mistralai/Mistral-7B-v0.1
使用 ipc=host 标志或 --shm-size 标志来允许容器访问主机的共享内存。 vLLM 使用 PyTorch,而 PyTorch 在底层使用共享内存在进程之间共享数据,特别是在张量并行推理中。
默认情况下,为实现最广泛分发,vLLM 将为所有 GPU 类型进行构建。如果您只是针对机器运行的当前 GPU 类型进行构建,则可以为 vLLM 添加参数 --build-arg torch_cuda_arch_list= “” 来查找当前 GPU 类型并为其构建。
三、模型下载启动
这里用 DeepSeek 最新模型 V3-0324 模型下载来给大家作为参考。
在 huggingface 搜索 deepseek-ai/DeepSeek-V3-0324 即可找到 deepseek v3 的最新模型,
点击 Use this model 即可找到下载模型命令,
在 vllm 种,我们要下载模型并使用其中一个模型来启动服务器,请使用 vllm serve 命令,例如:
vllm serve "deepseek-ai/DeepSeek-V3-0324"
安装并启动后,服务启动在 http://localhost:8000/。
分布式推理和服务
vLLM 支持分布式张量并行推理和服务。目前,我们支持 Megatron-LM 的张量并行算法。我们还支持将管道并行作为在线服务的测试版功能。我们使用 Ray 或 python 的原生多进程来管理分布式运行时。在单节点部署时可以使用多进程,多节点推理目前需要 Ray。
这也是 vllm 对比 ollama 的核心优势。能有效地利用多核 CPU 和 GPU 资源,显著提升 LLM 的推理速度
单节点多 GPU 部署
要运行多 GPU 服务,在启动服务器时传入张量并行 --tensor-parallel-size 参数。例如要在 4 个 GPU 上运行 API 服务器:
# 设置张量并行(需多GPU)
vllm serve "deepseek-ai/DeepSeek-V3-0324" \
--tensor-parallel-size 4 \ # 根据GPU数量调整
多节点多 GPU 部署
可以将张量并行与管道并行结合使用。张量并行大小是每个节点要使用的 GPU 数量,管道并行大小是要使用的节点数量.例如,如果 2 个节点中有 8 个 GPU(每个节点 4 个 GPU),则可以将张量并行大小设置为 4,将管道并行大小设置为 2。
vllm serve "deepseek-ai/DeepSeek-V3-0324" \
--tensor-parallel-size 4 \ # 根据GPU数量调整
--pipeline-parallel-size 2 # 根据节点数量调整
关键参数说明
参数 | 说明 |
---|---|
--tensor-parallel-size |
GPU 张量并行度,需与 GPU 数量匹配(如 4 卡设为 4)。 |
--max-batch-size |
最大批量请求大小,默认 16,可调高以提升吞吐。 |
--swap-space |
磁盘交换空间,避免显存溢出(如设为 20GiB)。 |
--enable-async-execution |
启用异步执行,减少等待时间。 |
更多关于多节点多 GPU 部署的信息可以参考官方文档:https://docs.vllm.ai/en/stable/serving/distributed_serving.html
四、跟 vLLM 推理服务交互
通过 python 代码交互
服务器运行后,可以通过 python 代码调用其 API:
from openai import OpenAI
client = OpenAI(base_url='http://localhost:3000/v1', api_key='na')
# Use the following func to get the available models
# model_list = client.models.list()
# print(model_list)
chat_completion = client.chat.completions.create(
model="deepseek-ai/DeepSeek-V3-0324",
messages=[
{
"role": "user",
"content": "Tell me something about large language models."
}
],
stream=True,
)
for chunk in chat_completion:
print(chunk.choices[0].delta.content or"", end="")
通过 cli 交互
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "deepseek-ai/DeepSeek-V3-0324",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}
五、总结
通过本文,你已掌握 vLLM 从环境配置到高性能推理服务部署的全流程。vLLM 凭借其灵活性和高效性,成为大模型落地的首选工具。无论是本地开发还是云服务器部署,只需根据硬件资源调整参数,即可快速实现高并发、低延迟的推理服务。
最后
为什么要学AI大模型
当下,⼈⼯智能市场迎来了爆发期,并逐渐进⼊以⼈⼯通⽤智能(AGI)为主导的新时代。企业纷纷官宣“ AI+ ”战略,为新兴技术⼈才创造丰富的就业机会,⼈才缺⼝将达 400 万!
DeepSeek问世以来,生成式AI和大模型技术爆发式增长,让很多岗位重新成了炙手可热的新星,岗位薪资远超很多后端岗位,在程序员中稳居前列。
与此同时AI与各行各业深度融合,飞速发展,成为炙手可热的新风口,企业非常需要了解AI、懂AI、会用AI的员工,纷纷开出高薪招聘AI大模型相关岗位。
最近很多程序员朋友都已经学习或者准备学习 AI 大模型,后台也经常会有小伙伴咨询学习路线和学习资料,我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频 全系列的学习资料,这些学习资料不仅深入浅出,而且非常实用,让大家系统而高效地掌握AI大模型的各个知识点。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】

AI大模型系统学习路线
在面对AI大模型开发领域的复杂与深入,精准学习显得尤为重要。一份系统的技术路线图,不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点,还能提供一条高效、有序的学习路径。
但知道是一回事,做又是另一回事,初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性,在这基础上,找到高质量的学习资源,不浪费时间、不走弯路,又是重中之重。
AI大模型入门到实战的视频教程+项目包
看视频学习是一种高效、直观、灵活且富有吸引力的学习方式,可以更直观地展示过程,能有效提升学习兴趣和理解力,是现在获取知识的重要途径
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
海量AI大模型必读的经典书籍(PDF)
阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。
600+AI大模型报告(实时更新)
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
AI大模型面试真题+答案解析
我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】

更多推荐
所有评论(0)