1.1 vLLM
1.1.1 简介
vLLM是一个快速且易于使用的LLM推理和服务库。vLLM具有以下特点:
(1) 先进的服务吞吐量;
(2) PagedAttention对注意力Keys和Values存储的有效管理;
(3) 连续批处理传入请求;
(4) 使用CUDA/HIP图快速执行模型;
(5) 量化:GPTQ、AWQ、SqueezeLLM、FP8KV缓存
(6) 优化的CUDA内核;
(7) 具有各种解码算法的高吞吐量服务,包括并行采样、波束搜索等;
(8) 分布式推理的张量并行性支持;
(9) 兼容OpenAI的API服务器;
(10) 前缀缓存支持、Multi-lora支持;
项目地址:https://github.com/vllm-project/vllm
1.1.2 快速开始
(1) 安装环境
OS:Linux Python:3.8-3.11 GPU:V100/T4/A100/RTX20XX/H100
(2) 安装教程
Pip安装(适用于CUDA12.1)(建议使用全新的CUDA环境安装):
#(Recommended) Create a new conda environment.
conda create -n myenv python=3.9 -y
conda activate myenv
#Install vLLM with CUDA 12.1.
pip install vllm
注意:安装完成后,运行时可能不支持多卡张量并行,需要重新安装nccl,
安装方式详见:
https://blog.csdn.net/A_Student10000/article/details/131726078
从源码生成:
git clone https://github.com/vllm-project/vllm.git
cd vllm
pip install -e . # This may take 5-10 minutes.
如果编译出错,建议用NVIDIA Pytorch Docker或者重装CUDA Toolkit:
#Use `--ipc=host` to make sure the shared memory is large enough.
docker run --gpus all -it --rm --ipc=host nvcr.io/nvidia/pytorch:23.10-py3
(3) 用法
默认情况下,vLLM从HuggingFace下载模型。如果您想在以下示例中使用ModelScope中的模型,请设置环境变量:export VLLM_USE_MODELSCOPE=True
from vllm import LLM, SamplingParams
prompts = [
"Hello, my name is",
"The president of the United States is",
"The capital of France is",
"The future of AI is",
]
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
llm