跳到内容

使用 vLLM 部署

使用 LLM Compressor 压缩模型后,您可以使用 vLLM 部署它以实现高效推理。本指南将引导您完成部署过程,并使用压缩模型指南的输出。如果您尚未完成该步骤,请修改以下代码片段中的模型参数,以指向您所需的模型。

vLLM 是一个高性能的推理引擎,专为大型语言模型设计,支持各种量化格式,并针对单 GPU 和多 GPU 设置进行了优化。它还提供与 OpenAI 兼容的 API,以便与现有应用程序轻松集成。

先决条件

在部署模型之前,请确保您具备以下先决条件: - 操作系统: Linux(推荐用于 GPU 支持) - Python 版本: 3.10 或更高版本 - 可用 GPU: 为了获得最佳性能,建议使用 GPU。vLLM 支持一系列加速器,包括 NVIDIA GPU、AMD GPU、TPU 和其他加速器。 - 已安装 vLLM: 确保您已安装 vLLM。您可以使用 pip 进行安装。

pip install vllm

Python API

vLLM 提供了一个 Python API,可以轻松地与您的应用程序集成,让您直接在 Python 代码中加载和使用压缩后的模型。要测试压缩后的模型,请使用以下代码:

from vllm import LLM, SamplingParams

model = LLM("./TinyLlama-1.1B-Chat-v1.0-INT8")
sampling_params = SamplingParams(max_tokens=256)
outputs = model.generate("What is machine learning?", sampling_params)
for output in outputs:
    print(output.outputs[0].text)

运行上述代码后,您应该会看到压缩后的模型生成的输出。这证实模型已成功加载并可用于推理。

HTTP 服务器

vLLM 还提供了一个 HTTP 服务器,可以通过与 OpenAI API 定义兼容的 RESTful API 来提供模型服务。这使您可以轻松地将模型集成到现有的应用程序或服务中。要启动 HTTP 服务器,请使用以下命令:

vllm serve "TinyLlama-1.1B-Chat-v1.0-INT8"

默认情况下,服务器将在 localhost:8000 上运行。您可以使用 --host--port 标志更改主机和端口。现在服务器正在运行,您可以使用任何 HTTP 客户端向其发送请求。例如,您可以使用 curl 发送请求:

curl -X POST https://:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "TinyLlama-1.1B-Chat-v1.0-INT8",
        "messages": [{"role": "user", "content": "What is machine learning?"}],
        "max_tokens": 256
    }'

这将返回一个 JSON 响应,其中包含模型生成的文本。您还可以使用您选择的编程语言中的任何 HTTP 客户端库向服务器发送请求。