Loading [MathJax]/jax/output/CommonHTML/config.js
部署DeepSeek模型,进群交流最in玩法!
立即加群
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >企业级模型推理部署工具vllm使用指南 - 部署最新deepseek-v3-0324模型

企业级模型推理部署工具vllm使用指南 - 部署最新deepseek-v3-0324模型

作者头像
wayn
发布于 2025-04-09 07:37:55
发布于 2025-04-09 07:37:55
69902
代码可运行
举报
文章被收录于专栏:wayn的程序开发wayn的程序开发
运行总次数:2
代码可运行

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:

代码语言:javascript
代码运行次数:1
运行
AI代码解释
复制
# (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 的形式获取。

代码语言:javascript
代码运行次数:1
运行
AI代码解释
复制
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 命令,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 设置张量并行(需多GPU)
vllm serve "deepseek-ai/DeepSeek-V3-0324" \
  --tensor-parallel-size 4 \  # 根据GPU数量调整
多节点多 GPU 部署

可以将张量并行与管道并行结合使用。张量并行大小是每个节点要使用的 GPU 数量,管道并行大小是要使用的节点数量.例如,如果 2 个节点中有 8 个 GPU(每个节点 4 个 GPU),则可以将张量并行大小设置为 4,将管道并行大小设置为 2。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 交互

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 凭借其灵活性和高效性,成为大模型落地的首选工具。无论是本地开发还是云服务器部署,只需根据硬件资源调整参数,即可快速实现高并发、低延迟的推理服务。

👨‍💻欢迎关注我的公众号「程序员wayn」,技术成长社群正招募热爱coding的你,加入我们,一起深入探讨技术、分享经验、共同成长!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 waynblog 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【大模型部署实战】VLLM+OpenWebUI实现DeepSeek模型部署,文末有福利
vLLM(Very Large Language Model Serving)是由加州大学伯克利分校团队开发的高性能、低延迟大语言模型(LLM)推理和服务框架。其核心创新在于PagedAttention技术,通过将注意力键值(KV)缓存分页管理,显著提升显存利用率并降低碎片化问题,使吞吐量比传统框架(如Hugging Face Transformers)提升24倍。该框架支持连续批处理、动态显存分配和多GPU并行推理,能够高效处理8k+长上下文请求,并兼容OpenAI API接口,开发者可快速部署Hugging Face模型。通过集成FP8、AWQ等量化技术,vLLM在保证推理精度的同时大幅降低资源消耗,目前已成为企业级AI部署(如DeepSeek-R1 671B模型分布式集群)的首选方案。
AI浩
2025/03/17
5770
【大模型部署实战】VLLM+OpenWebUI实现DeepSeek模型部署,文末有福利
DeepSeek-多机多卡集群部署
前面我们无论是直接部署,还是容器部署都还是单机的模型,受单机GPU限制,并不能跑比较大的模型,今天我们将用多台机器组成一个集群来跑一个更大的模型。
运维小路
2025/03/06
1.2K0
DeepSeek-多机多卡集群部署
DeepSeek-基于vLLM部署
注:使用不同的推理模型,需要的模型文件是不一样的,比如我前面用的ollama下载的模型,则只能在ollma里面使用,不能拿到vLLM来使用。
运维小路
2025/03/03
1.3K0
DeepSeek-基于vLLM部署
用 vLLM 在多节点多卡上部署 Qwen2.5 以及进行推理
本文记录了在两台机器,每台机器一块 Tesla T4 显卡的环境下,使用 vLLM 部署 Qwen2.5-32B-Instruct-GPTQ-Int4 模型的过程及遇到的问题,供类似环境使用 vLLM 进行多节点多卡推理参考。
AlphaHinex
2024/12/23
5.2K0
用 vLLM 在多节点多卡上部署 Qwen2.5 以及进行推理
DeepSeek-容器化(Docker)部署vLLM和Open WebUI
前面小节我们通过conda创建虚拟Python环境,实现vLLM和OpenWebUI的配置,但是这个安装部署会非常繁琐非费时间。我们今天将使用容器来部署。环境还是使用ubuntu20.4,复用上个环境已经安装GPU驱动和模型文件。
运维小路
2025/03/06
2.8K0
DeepSeek-容器化(Docker)部署vLLM和Open WebUI
基于Ollama的DeepSeek R1本地部署全流程指南:从零到推理实战
在人工智能技术快速发展的今天,本地化部署大型语言模型(LLM)已成为开发者与研究人员的重要需求。本文将详细介绍如何通过Ollama框架实现DeepSeek R1模型的本地部署,涵盖从硬件选型到推理实战的全流程,并提供针对不同场景的优化方案。
Towserliu
2025/02/06
10.9K0
基于Ollama的DeepSeek R1本地部署全流程指南:从零到推理实战
LLM 推理引擎之争:Ollama or vLLM ?
Hello folks,我是 Luga,今天我们来聊一下人工智能应用场景 - 构建高效、灵活的计算架构的模型推理框架。
Luga Lee
2025/04/24
3410
LLM 推理引擎之争:Ollama or vLLM ?
Ollama 升级!支持一键拉取Huggingface上所有的模型,太方便了!(vLLM、Fastgpt、Dify、多卡推理)
我记得,梦的开始,源于Ollama。很早以前的一篇文章教大家如何通过 Ollama 来使用开源 LLM,许多人最初接触 AI 时也是从Ollama开始的。Ollama 之所以出色,是因为它使用了 GGML 格式,这是一种‘轻量版’的大语言模型,以较低精度运行,能够轻松适配普通硬件。这使得在本地系统上运行这些模型变得简单高效,真正为 AI 的广泛应用铺平了道路。
AI进修生
2024/12/02
16.1K0
Ollama 升级!支持一键拉取Huggingface上所有的模型,太方便了!(vLLM、Fastgpt、Dify、多卡推理)
【多模态大模型实战】 搭建DeepSeek Janus-Pro 7B 多模态模型,以及推理微调,推理后的模型融合
Janus-Pro是DeepSeek最新开源的多模态模型,是一种新颖的自回归框架,统一了多模态理解和生成。通过将视觉编码解耦为独立的路径,同时仍然使用单一的、统一的变压器架构进行处理,该框架解决了先前方法的局限性。这种解耦不仅缓解了视觉编码器在理解和生成中的角色冲突,还增强了框架的灵活性。Janus-Pro 超过了以前的统一模型,并且匹配或超过了特定任务模型的性能。
AI浩
2025/02/08
2.5K1
【多模态大模型实战】 搭建DeepSeek Janus-Pro 7B 多模态模型,以及推理微调,推理后的模型融合
DeepSeek R1推理
DeepSeek R1和DeepSeek V3的模型结构一致,参数量也一致,R1是基于V3做强化学习得来的。R1主要的创新点都用在训练过程,推理过程和V3是一样的。
aaronwjzhao
2025/02/06
2.6K1
LLM运行框架对比:ollama与vllm浅析
开源的LLM已经成为程序员、爱好者和希望在日常工作中使用生成式AI并保持隐私的用户的最佳选择,对于企业的私有化部署而言也是如此。这些模型提供了优秀的性能,有时在许多任务中可以与大型的闭源模型 (如 GPT-4o 或 Claude Sonnet 3.5) 相媲美。
半吊子全栈工匠
2025/03/10
1.5K1
LLM运行框架对比:ollama与vllm浅析
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]
训练后的模型会用于推理或者部署。推理即使用模型用输入获得输出的过程,部署是将模型发布到恒定运行的环境中推理的过程。一般来说,LLM的推理可以直接使用PyTorch代码、使用VLLM/XInference/FastChat等框架,也可以使用llama.cpp/chatglm.cpp/qwen.cpp等c++推理框架。
汀丶人工智能
2024/05/28
12.6K0
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]
如何使用vLLM部署DeepSeek V2 Lite模型
最近在进行一些私有化部署大模型,很多企业会考虑数据隐私问题。因此常常会在企业内部部署自主部署大语言模型。常见的能够提供大语言模型的部署工具有,Ollama、vLLM、Xinference、SGLang和LM Studio。Ollama和LM Studio都是只支持GGUF类型量化的大语言模型,vLLM、Xinference和SGlang是支持pytorch或者说transformer类型的大模型,这些类型的模型通常在HuggingFace上都能找到。一般我们使用Ollama和LM Studio在桌面显卡领域部署,也就是个人电脑上部署使用。而在服务器领域,我们通常使用后三者。本篇我们主要关注于vLLM如何部署和量化DeepSeek大语言模型,机器环境是4卡Nvidia 2080Ti,大约48G显存。
AgenticAI
2025/03/18
2830
如何使用vLLM部署DeepSeek V2 Lite模型
揭秘 NVIDIA Dynamo:分布式AI推理的高效引擎
随着生成式AI模型规模的爆炸式增长,企业面临推理成本激增、分布式部署复杂度高、资源利用率低等挑战。传统推理框架在跨多节点扩展时,常因KV缓存重复计算、GPU负载不均、通信延迟等问题导致性能瓶颈。NVIDIA Dynamo作为新一代开源推理框架,专为大规模分布式环境设计,通过解耦式服务、智能路由、动态资源调度等创新技术,将推理吞吐量提升30倍以上。本文将深入解析其核心架构、技术优势及实际应用场景,帮助开发者高效部署生成式AI模型,降低推理成本并释放GPU潜能。
数据存储前沿技术
2025/03/29
9710
揭秘 NVIDIA Dynamo:分布式AI推理的高效引擎
DeepSeek r1本地部署手把手教程
https://developer.nvidia.com/rdp/cudnn-archive
蛋黄
2025/03/03
2310
使用vLLM加速大语言模型推理
vLLM 是一个快速且易于使用的库,用于 LLM 推理和服务,和 HuggingFace 无缝集成。区别于 chatglm.cpp 和 llama.cpp,仅是在 GPU 上的模型推理加速,没有 CPU 上的加速。
码之有理
2023/09/12
22K0
vLLM: 加速AI推理的利器
由于LLM需要处理大量的参数来进行预测,这可能从70亿参数增加到3210亿,部署这样的模型可能需要大量的资源和优化,而不是使用传统的方法来部署机器学习模型。
buzzfrog
2024/07/22
1.9K0
在 TKE 上部署 AI 大模型
本文介绍如何在 TKE 上部署 AI 大模型,以 DeepSeek-R1 为例,使用 Ollama、vLLM 或 SGLang 运行大模型并暴露 API,然后使用 OpenWebUI 提供交互界面。
imroc
2025/02/20
3580
在 TKE 上部署 AI 大模型
vLLM 框架教程
vLLM(Very Large Language Model)是一个高效的推理引擎,专为大语言模型(LLM)优化,旨在提升推理性能并降低显存占用。vLLM 主要由 UC 伯克利开发,采用了一种称为 PagedAttention 的创新机制,使其在多 GPU 环境下也能高效地执行推理任务。
IT蜗壳-Tango
2025/04/01
3750
对于企业私有大模型DeepSeek的部署,应该选择Ollama还是vLLM?
对于对数据敏感的企业,如果想要部署自己的大模型(例如:DeepSeek R1),可以考虑使用Ollama或vLLM这两种方式。总体结论是:
福大大架构师每日一题
2025/03/17
3720
对于企业私有大模型DeepSeek的部署,应该选择Ollama还是vLLM?
推荐阅读
相关推荐
【大模型部署实战】VLLM+OpenWebUI实现DeepSeek模型部署,文末有福利
更多 >
LV.5
安徽省刀锋网络科技有限公司后台开发
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验