1. vLLM框架整体概览
-
主流大模型部署框架
主流的大模型部署框架以llama.cpp、Ollama和Vllm为主 -
优势
高效内存管理、持续批处理功能和张量并行性,从而在生产环境中的高吞吐量场景中表现极佳,同时这也是为什么Vllm框架是目前最适用于企业真实生产环境部署的根本原因。 -
特性
高级 GPU 优化
:利用 CUDA 和 PyTorch 最大限度地提高 GPU利用率,从而实现更快的推理速度。Ollama其实是对CPU-GPU的混合应用,但vllm是针对纯GPU的优化。高级内存管理
:通过PagedAttention算法实现对 KV cache的高效管理,减少内存浪费,从而优化大模型的运行效率。批处理功能
:支持连续批处理和异步处理,从而提高多个并发请求的吞吐量。安全特性
:内置 API密钥支持和适当的请求验证,不像其他完全跳过身份验证的框架。易用性
:vLLM 与 HuggingFace模型无缝集成,支持多种流行的大型语言模型,并兼容 OpenAI 的 API 服务器。
2. 私有化部署
2.1 创建python虚拟环境
- 创建虚拟环境
conda create --name vLLMenv_python312 python=3.12
(base) root@jinhu:/home/ollama# conda env list
# conda environments:
#
base * /root/anaconda3
comfyenv_python312 /root/anaconda3/envs/comfyenv_python312
vLLMenv_python312 /root/anaconda3/envs/vLLMenv_python312
- 切换虚拟环境
conda activate vLLMenv_python312
2.2 安装vLLM
- 使用pip安装vllm 框架
执行如下命令:
pip install vllm
- 查看vllm安装信息
可以使用pip show vllm 命令查看vllm 框架的安装信息,可以明确看到当前安装的vllm 版本号
pip show vllm
(vLLMenv_python312) root@jinhu:/home/vLLM# pip show vllm
Name: vllm
Version: 0.10.0
Summary: A high-throughput and memory-efficient inference and serving engine for LLMs
Home-page: https://github.com/vllm-project/vllm
Author: vLLM Team
Author-email:
License-Expression: Apache-2.0
Location: /root/anaconda3/envs/vLLMenv_python312/lib/python3.12/site-packages
Requires: aiohttp, blake3, cachetools, cbor2, cloudpickle, compressed-tensors, depyf, diskcache, einops, fastapi, filelock, gguf, huggingface-hub, lark, llguidance, lm-format-enforcer, mistral_common, msgspec, ninja, numba, numpy, openai, opencv-python-headless, outlines_core, partial-json-parser, pillow, prometheus-fastapi-instrumentator, prometheus_client, protobuf, psutil, py-cpuinfo, pybase64, pydantic, python-json-logger, pyyaml, pyzmq, ray, regex, requests, scipy, sentencepiece, setuptools, six, tiktoken, tokenizers, torch, torchaudio, torchvision, tqdm, transformers, typing_extensions, watchfiles, xformers, xgrammar
Required-by:
至此,vLLM框架的安装就已经完成了。整个过程唯一需要注意的就是官方对Python 版本的要求
2.3 下载离线模型文件
抱抱脸huggingface需要翻墙,所以建议用国内魔搭社区modescope下载
pip install modelscope
下载模型的python文件
#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen3-32B', cache_dir='/home/vLLM/models', revision='master')
进入当前虚拟环境中,执行
python vLLM_Modescope_download.py
模型下载后模型目录:
(vLLMenv_python312) root@jinhu:/home/vLLM# tree
.
└── models
└── Qwen
├── Qwen3-0.6B -> /home/vLLM/models/Qwen/Qwen3-0___6B
├── Qwen3-0___6B
│ ├── config.json
│ ├── configuration.json
│ ├── generation_config.json
│ ├── merges.txt
│ ├── model.safetensors
│ ├── README.md
│ ├── tokenizer_config.json
│ ├── tokenizer.json
│ └── vocab.json
└── Qwen3-32B
├── config.json
├── configuration.json
├── generation_config.json
└── merges.txt
创建了一个快捷方式 Qwen3-0___6B到Qwen3-0.6B
3.vLLM学习计划
接下来博文将从以下几个章节介绍vLLM的使用
- 多模态使用