1. 介绍
1.1 vllm
vLLM是伯克利大学LMSYS组织开源的大语言模型高速推理框架,旨在极大地提升实时场景下的语言模型服务的吞吐与内存使用效率。vLLM是一个快速且易于使用的库,用于 LLM 推理和服务,可以和HuggingFace 无缝集成。vLLM利用了全新的注意力算法「PagedAttention」,有效地管理注意力键和值。
vLLM 的特点和优势:
采用了 PagedAttention,可以有效管理 attention 的 keys、values。
吞吐量最多可以达到 huggingface 实现的24倍,文本生成推理(TGI)高出3.5倍,并且不需要对模型结构进行任何的改变。
2. 环境配置
h20-93GB * 2
PyTorch 2.5.1
Python 3.12(ubuntu22.04)
Cuda 12.4
Triton==3.1.0
transformers==4.46.0
safetensors==0.5.2
vllm==0.7.0
3. qwen2.5-72b-instruct模型下载
3.1下载网址
https://huggingface.co/Qwen/Qwen2.5-72B-Instruct/tree/main
模型文件:135G
3.2 下载后存放目录
/LLM/Qwen2.5-72B-Instruct
4. api server服务启动
4.1 写启动脚本api_server.sh
CUDA_VISIBLE_DEVICES=0,1 python -m vllm.entrypoints.openai.api_server --model /root/autodl-tmp/LLM/qwen2.5-72b-instruct --served-model-name qwen2.5-72b --dtype=half --max-model-len 1000 --tensor-parallel-size=2 --pipeline-parallel-size=1 --gpu-memory-utilization 0.8
4.2 启动脚本api_server.sh
sh api_server.sh
GPU占用156G:
5. 写客户端验证
5.1 写python程序client_demo.py
5.2 运行client_demo.py程序
python client_demo.py