轻松安装与开发 vLLM

5 分钟阅读
vLLM 团队

大语言模型(LLM)推理领域的发展速度前所未有。随着每周都有新模型和新功能的出现,传统的软件发布流程往往难以跟上步伐。在 vLLM,我们的目标不仅是提供一个软件包,更是构建一个系统——一个值得信赖、可追踪且具备参与性的 LLM 推理生态系统。本文重点介绍了 vLLM 如何让用户能够轻松安装和开发,同时始终处于创新的最前沿。

总结

  • 灵活且快速的安装选项,从稳定版本到夜间构建版本一应俱全。
  • 为 Python 和 C++/CUDA 开发者提供的精简开发工作流。
  • 适用于生产部署的强大版本追踪功能。

无缝安装各版本的 vLLM

安装发布版本

我们会定期向 Python 包索引 (PyPI) 发布稳定版本的 vLLM,确保用户可以使用标准的 Python 包管理器轻松进行安装。例如:

pip install vllm

对于喜欢更快速的包管理器的用户,uv 在 vLLM 社区中越来越受欢迎。在使用 uv 设置 Python 环境后,安装 vLLM 非常简单:

uv pip install vllm

有关设置 uv 的更多详细信息,请参阅文档。使用简单的服务器级配置(Intel 第八代 CPU)进行测试,我们观察到 uv 的速度比 pip 快 200 倍。

# with cached packages, clean virtual environment
$ time pip install vllm
...
pip install vllm 59.09s user 3.82s system 83% cpu 1:15.68 total
 
# with cached packages, clean virtual environment
$ time uv pip install vllm
...
uv pip install vllm 0.17s user 0.57s system 193% cpu 0.383 total

从主分支安装最新的 vLLM

为了满足社区对尖端功能和模型的需求,我们为每个主分支提交版本提供夜间构建的 wheels。

使用 pip:

pip install vllm --pre --extra-index-url https://wheels.vllm.ai/nightly

添加 --pre 参数可确保 pip 在搜索时包含预发布版本。

使用 uv:

uv pip install vllm --extra-index-url https://wheels.vllm.ai/nightly

简化的开发流程

我们深知,一个活跃且投入的开发者社区是创新的支柱。因此,无论开发者是在修改 Python 代码还是在处理内核,vLLM 都能提供流畅的工作流。

Python 开发者

对于需要调整和测试 vLLM Python 代码的 Python 开发者,无需编译内核。此设置使您能够快速开始开发。

git clone https://github.com/vllm-project/vllm.git
cd vllm
VLLM_USE_PRECOMPILED=1 pip install -e .

VLLM_USE_PRECOMPILED=1 标志指示安装程序使用预编译的 CUDA 内核,而不是从源码构建,从而显著缩短了安装时间。这非常适合专注于 Python 层功能(如 API 改进、模型支持或集成工作)的开发者。

即使在笔记本电脑上,这个轻量级的流程也能高效运行。有关更高级的用法,请参阅我们的文档

C++/内核开发者

对于从事 C++ 代码或 CUDA 内核开发的进阶贡献者,我们内置了编译缓存以最大限度减少构建时间,并简化内核开发流程。请查看我们的文档以获取更多详细信息。

轻松追踪变更

LLM 推理领域的快速发展意味着接口和行为仍在稳定化中。vLLM 已集成到许多工作流中,包括 OpenRLHFveRLopen_instructLLaMA-Factory 等。我们与这些项目合作,以稳定 LLM 推理的接口和行为。为了促进这一过程,我们为这些进阶用户提供了强大的工具,用于追踪各版本间的变更。

安装特定提交版本

为了简化追踪和测试,我们为主分支中的每个提交提供 wheels。用户可以轻松安装任何特定的提交版本,这在二分法调试和追踪变更时特别有用。

我们建议使用 uv 来安装特定的提交版本。

# use full commit hash from the main branch
export VLLM_COMMIT=72d9c316d3f6ede485146fe5aabd4e61dbc59069
uv pip install vllm --extra-index-url https://wheels.vllm.ai/${VLLM_COMMIT}

uv 中,--extra-index-url 中的包具有高于默认索引的优先级,这使得安装早于最新公开发布版本(撰写本文时为 v0.6.6.post1)的开发版本成为可能。

相比之下,pip 会合并来自 --extra-index-url 和默认索引的包,并且只选择最新版本,这使得安装早于已发布版本的开发版本变得困难。因此,对于 pip 用户,需要指定一个占位符 wheel 名称来安装特定的提交版本。

# use full commit hash from the main branch
export VLLM_COMMIT=33f460b17a54acb3b6cc0b03f4a17876cff5eafd
pip install https://wheels.vllm.ai/${VLLM_COMMIT}/vllm-1.0.0.dev-cp38-abi3-manylinux1_x86_64.whl

总结

在 vLLM,我们的承诺不仅限于提供高性能软件。我们正在构建一个能够赋予信任、实现变更透明追踪并邀请广泛参与的系统。共同努力,我们可以塑造 AI 的未来,在突破创新界限的同时,让所有人都能享用这些技术。

如有合作请求或咨询,请发送电子邮件至 vllm-questions@lists.berkeley.edu。欢迎加入我们在 GitHub 上的社区,或通过 vLLM Slack 与我们联系。让我们携手推动 AI 创新。

致谢

我们向 uv 社区表示感谢,特别是 Charlie Marsh,感谢他们创建了如此快速且创新的包管理器。特别感谢 Kevin Luu (Anyscale)、Daniele Trifirò (Red Hat) 和 Michael Goin (Neural Magic) 在简化工作流方面做出的宝贵贡献。来自加州大学伯克利分校团队的 Kaichao YouSimon Mo 领导了这些工作。