vLLM及相关内容

文章目录[x]
  1. 1:什么是vLLM
  2. 2:vLLM vs Ollama
  3. 3:DeepSeek-R1-Distill-Qwen-32B模型对比
  4. 4:使用魔搭ModelScope下载模型
  5. 5:安装vLLM
  6. 5.1:依赖环境
  7. 5.2:使用pip安装
  8. 6:PyTorch、cuDNN、CUDA、NVIDIA驱动和NVIDIA GPU之间的关系

什么是vLLM

vLLM(Vectorized Large Language Model Serving System)是由加州大学伯克利分校团队开发的高性能、易扩展的大语言模型推理引擎。它专注于通过创新的内存管理和计算优化技术,实现高吞吐、低延迟、低成本的模型服务。

核心特点:

  1. 高性能推理:支持分布式推理,能高效利用多机多卡资源。
  2. 显存优化:采用PagedAttention内存管理技术,显著提升GPU显存利用率。
  3. 多场景适配:无论是低延迟的在线服务,还是资源受限的边缘部署,vLLM都能提供卓越的性能表现。

中文站点:https://vllm.hyper.ai/docs/
英文站点:https://docs.vllm.ai/en/latest/index.html

vLLM vs Ollama

对比维度 Ollama vLLM 备注
量化与压缩策略 默认采用4-bit/8-bit量化,显存占用降至25%-50% 默认使用FP16/BF16精度,保留完整参数精度 Ollama 牺牲精度换显存,vLLM 牺牲显存换计算效率
优化目标 轻量化和本地部署,动态加载模型分块,按需使用显存 高吞吐量、低延迟,预加载完整模型到显存,支持高并发 Ollama 适合单任务,vLLM 适合批量推理
显存管理机制 分块加载 + 动态缓存,仅保留必要参数和激活值 PagedAttention + 全量预加载,保留完整参数和中间激活值 vLLM 显存占用为 Ollama 的 2-5 倍
硬件适配 针对消费级GPU(如RTX 3060)优化,显存需求低 依赖专业级GPU(如A100/H100),需多卡并行或分布式部署 Ollama 可在 24GB 显存运行 32B 模型,vLLM 需至少 64GB
性能与资源平衡 显存占用低,但推理速度较慢(适合轻量级应用) 显存占用高,但吞吐量高(适合企业级服务) 量化后 Ollama 速度可提升,但仍低于 vLLM
适用场景 个人开发、本地测试、轻量级应用 企业级API服务、高并发推理、大规模部署 根据显存和性能需求选择框架

总结:Ollama更适合个人开发和轻量级应用,而vLLM则更适合企业级服务和高并发场景。

DeepSeek-R1-Distill-Qwen-32B模型对比

DeepSeek-R1-Distill-Qwen-32B模型在Ollama和vLLM框架下的显存占用、存储需求及性能对比

指标 Ollama (4-bit) vLLM (FP16) 说明
显存占用 19-24 GB 64-96 GB Ollama通过4-bit量化压缩参数,vLLM需保留完整FP16参数和激活值
存储空间 20 GB 64 GB Ollama存储量化后模型,vLLM存储原始FP16精度模型
推理速度 较低(5-15 tokens/s) 中高(30-60 tokens/s) Ollama因量化计算效率降低,vLLM通过批处理和并行优化提升吞吐量
硬件门槛 高端消费级GPU(≥24GB) 多卡专业级GPU(如2×A100 80GB) Ollama勉强单卡运行,vLLM需多卡并行或分布式部署

使用魔搭ModelScope下载模型

ModelScope是由阿里巴巴集团推出的开源模型即服务(MaaS)平台,旨在简化模型应用的过程,为AI开发者提供灵活、易用、低成本的一站式模型服务产品。

核心功能:

  1. 汇集多种最先进的机器学习模型,涵盖NLP、CV、语音识别等领域。
  2. 提供丰富的API接口和工具,方便开发人员集成和使用模型。
  3. 支持模型的下载、部署和推理,降低开发门槛。

安装与使用:

  1. 安装modelscrop
pip install modelscope -i https://pypi.tuna.tsinghua.edu.cn/simple
  1. 创建模型存放目录
mkdir -p /data/deepseek-ai/models/deepseek-70b
  1. 下载DeepSeek-R1-Distill-Llama-70B模型
modelscope download --local_dir /data/deepseek-ai/models/deepseek-70b --model deepseek-ai/DeepSeek-R1-Distill-Llama-70B

安装vLLM

参考官网文档:https://vllm.hyper.ai/docs/getting-started/installation
vLLM 是一个 Python 库,包含预编译的 C++ 和 CUDA (12.1) 二进制文件。

依赖环境

  • 操作系统:Linux
  • Python:3.8 - 3.12
  • GPU:计算能力 7.0 或更高(例如 V100、T4、RTX20xx、A100、L4、H100 等)

使用pip安装

#(推荐)创建一个新的 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

PyTorch、cuDNN、CUDA、NVIDIA驱动和NVIDIA GPU之间的关系

由上到下依次为

  • PyTorch
    作为应用层,调用cuDNN和CUDA提供的接口来加速计算。
  • cuDNN
    作为加速库层,依赖于CUDA提供的GPU计算能力,优化了深度学习任务。
  • CUDA
    作为计算平台层,依赖于NVIDIA驱动与GPU硬件通信,提供了通用的GPU计算接口。
  • NVIDIA驱动
    作为驱动层,管理着NVIDIA GPU的硬件资源,允许上层软件与GPU进行交互。
  • NVIDIA GPU
    作为硬件层,执行实际的计算任务,提供了强大的并行计算能力。

在安装pytorch、cuda的时候需要注意gpu型号、驱动版本等

点赞

发表回复

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像(已失效)