摘要:vLLM (Virtual Large Language Model) 是一款专为大语言模型推理加速而设计的框架,其依靠卓越的推理效率和资源优化能力在全球范围内引发广泛关注。来自加州大学伯克利分校 (UC Berkeley) 的研究团队于 2023 年提出了开
vLLM (Virtual Large Language Model) 是一款专为大语言模型推理加速而设计的框架,其依靠卓越的推理效率和资源优化能力在全球范围内引发广泛关注。来自加州大学伯克利分校 (UC Berkeley) 的研究团队于 2023 年提出了开创性注意力算法 PagedAttention,其可以有效地管理注意力键和值。在此基础上,研究人员构建了高吞吐量的分布式 LLM 服务引擎 vLLM,实现了 KV 缓存内存几乎零浪费,解决了大语言模型推理中的内存管理瓶颈问题。与 Hugging Face Transformers 相比,其吞吐量提升了 24 倍,而且这一性能提升不需要对模型架构进行任何更改。
在本教程中,将逐步展示如何配置和运行 vLLM,提供从安装到启动的完整入门指南。
教程地址:
http://openbayes.com/console/signup?r=sony_0m6v
登录 OpenBayes.com,在「公共教程」页面,选择「vLLM 入门教程:零基础分步指南」教程。
页面跳转后,点击右上角「克隆」,将该教程克隆至自己的容器中。
选择「NVIDIA RTX 4090」以及「vLLM」镜像,OpenBayes 平台上线了新的计费方式,大家可以按照需求选择「按量付费」或「包日/周/月」,点击「继续执行」。
稍等片刻,待系统分配好资源,当状态变为「运行中」后,点击「打开工作空间」,即可跳转至 Jupyter 工作空间。
进入 Jupyter 工作空间后,点击「README.md」可以看到模型的相关简介和运行步骤介绍。
首先要安装 vLLM,平台已完成 vLLM的安装,在平台上操作可跳过此步骤。在本地部署,要先输入「pip install vllm」,并确保机器运行的是 CUDA 12.1 版本的 CUDA。
之后开始使用,首先是模型的准备,可以使用平台中的公共模型,或者通过 HuggingFace 模型库自行下载模型。
下面我们进行离线推理,在「终端」中输入「python offline_infer.py」。
然后我们启动 vLLM 服务器,平台给出了主要的参数设置,可以以此为对照。
创建兼容 OpenAI API 接口的服务器。运行「python3 -m vllm.entrypoints.openai.api_server --model /input0/Qwen-1_8B-Chat/ --host 0.0.0.0 --port 8080 --dtype auto --max-num-seqs 32 --max-model-len 4096 --tensor-parallel-size 1 --trust-remote-code」命令启动服务器。
在成功启动服务后,我们就可以调用该服务,平台提供了两种方法:
1. 使用调用代码「python api_infer.py」,在终端输入命令。
2. 使用 Curl 命令请求,输入「curl http://localhost:8080/v1/completions \-H "Content-Type: application/json" \-d '{ "model": "/input0/Qwen-1_8B-Chat/", "prompt": "描述一下北京的秋天", "max_tokens": 512 }'」命令。
如果在自己本地部署,将地址换为右侧 API 地址即可。
来源:小萱科技观