Home
Login

vllm 是一个快速且易于使用的库,用于快速推理大型语言模型。

Apache-2.0Python 49.6kvllm-project Last Updated: 2025-06-14

vLLM: 快速且易于使用的 LLM 推理和服务引擎

简介:

vLLM 是一个用于大规模语言模型 (LLM) 推理和服务的高吞吐量和高效的 Python 库。 它旨在简化 LLM 的部署,并显著提高推理速度,同时降低成本。 vLLM 专注于优化内存管理和调度,以实现卓越的性能。

核心特性:

  • PagedAttention: vLLM 的核心创新是 PagedAttention 算法。 传统的注意力机制需要为每个 token 存储所有先前的 key 和 value,这导致了巨大的内存占用,尤其是在长序列中。 PagedAttention 将注意力 key 和 value 分成页面,类似于操作系统中的虚拟内存分页。 这允许 vLLM 动态地管理和共享注意力内存,从而显著减少内存浪费,并支持更长的序列和更大的批处理大小。

  • 连续批处理: vLLM 支持连续批处理,这意味着它可以动态地将来自不同请求的 token 组合成一个批次进行处理。 这最大限度地利用了 GPU 资源,并提高了吞吐量。

  • 高效的 CUDA 内核: vLLM 使用高度优化的 CUDA 内核来实现 PagedAttention 和其他操作。 这些内核经过精心设计,以充分利用 GPU 的并行处理能力。

  • 易于使用: vLLM 提供了一个简单易用的 Python API,可以轻松地集成到现有的 LLM 应用程序中。 它还支持多种流行的 LLM 框架,如 Hugging Face Transformers。

  • 支持多种模型架构: vLLM 支持多种流行的 LLM 架构,包括:

    • Llama 2
    • Llama
    • Mistral
    • MPT
    • Falcon
    • GPT-2
    • GPT-J
    • GPTNeoX
    • 更多模型正在添加中。
  • 分布式推理: vLLM 支持分布式推理,允许您跨多个 GPU 扩展 LLM 推理。

  • Tensor 并行: 支持 Tensor 并行,进一步提升分布式推理的性能。

  • 流式输出: vLLM 支持流式输出,允许您在生成 token 时立即接收它们,而无需等待整个序列完成。

  • OpenAI API 兼容性: vLLM 提供与 OpenAI API 兼容的服务器,方便从 OpenAI 迁移或集成。

主要优势:

  • 更高的吞吐量: 与传统的 LLM 推理方法相比,vLLM 可以显著提高吞吐量,通常可以提高 10 倍甚至更多。
  • 更低的延迟: vLLM 可以降低延迟,从而提供更快的响应时间。
  • 更低的成本: 通过提高 GPU 利用率,vLLM 可以降低 LLM 推理的成本。
  • 支持更长的序列: PagedAttention 允许 vLLM 处理更长的序列,而不会耗尽内存。
  • 易于部署: vLLM 可以轻松地部署在各种环境中,包括云服务器、本地机器和边缘设备。

安装:

可以使用 pip 安装 vLLM:

pip install vllm

快速入门:

以下是一个使用 vLLM 进行文本生成的简单示例:

from vllm import LLM, SamplingParams

# 加载模型
llm = LLM(model="facebook/opt-125m")

# 定义采样参数
sampling_params = SamplingParams(temperature=0.8, top_p=0.95, max_tokens=256)

# 生成文本
prompts = ["Hello, my name is", "The capital of France is"]
outputs = llm.generate(prompts, sampling_params)

# 打印输出
for output in outputs:
    print(output.prompt)
    print(output.outputs[0].text)

用例:

vLLM 适用于各种 LLM 应用,包括:

  • 聊天机器人: 构建高性能的聊天机器人,可以处理复杂的对话。
  • 文本生成: 生成高质量的文本,用于各种目的,如内容创建、代码生成和摘要。
  • 机器翻译: 提供快速准确的机器翻译服务。
  • 问答: 构建可以回答复杂问题的问答系统。
  • 代码补全: 提供快速准确的代码补全建议。

贡献:

vLLM 是一个开源项目,欢迎社区贡献。 您可以通过提交问题、提出功能请求或提交拉取请求来参与。

总结:

vLLM 是一个强大的 LLM 推理和服务引擎,它提供了卓越的性能、易用性和灵活性。 无论您是构建聊天机器人、生成文本还是执行其他 LLM 任务,vLLM 都可以帮助您提高效率并降低成本。 它的 PagedAttention 机制是其核心创新,使其能够处理长序列并实现高吞吐量。 强烈建议您尝试 vLLM,看看它如何改进您的 LLM 工作流程。

所有详细信息,请以官方网站公布为准 (https://github.com/vllm-project/vllm)