【vLLM 教程】使用 TPU 安装

vLLM 是一款专为大语言模型推理加速而设计的框架,实现了 KV 缓存内存几乎零浪费,解决了内存管理瓶颈问题。

更多 vLLM 中文文档及教程可访问 →vllm.hyper.ai/

vLLM 使用 PyTorch XLA 支持 Google Cloud TPU。

依赖环境

  • Google Cloud TPU VM(单主机和多主机)
  • TPU 版本: v5e、v5p、v4
  • Python: 3.10

安装选项:

  1. href="vllm.hyper.ai/docs/gettin...">使用Dockerfile.tpu构建 Docker 镜像
  2. 从源代码构建

使用Dockerfile.tpu 构建 Docker 镜像

Dockerfile.tpu 用于构建具有 TPU 支持的 docker 镜像。

erlang 复制代码
docker build -f Dockerfile.tpu -t vllm-tpu .

您可以使用以下命令运行 docker 镜像:

css 复制代码
# Make sure to add `--privileged --net host --shm-size=16G`.

# 确保添加 `--privileged --net host --shm-size=16G`。

docker run --privileged --net host --shm-size=16G -it vllm-tpu

从源代码构建

您还可以从源代码构建并安装 TPU 后端。

首先,安装依赖:

bash 复制代码
# (Recommended) Create a new conda environment.
#(推荐)创建一个新的 conda 环境。

conda create -n myenv python=3.10 -y
conda activate myenv

# Clean up the existing torch and torch-xla packages.
# 清理现有的 torch 和 torch-xla 包。

pip uninstall torch torch-xla -y

# Install PyTorch and PyTorch XLA.
# 安装 PyTorch 和 PyTorch XLA。

export DATE="20240828"
export TORCH_VERSION="2.5.0"
pip install https://storage.googleapis.com/pytorch-xla-releases/wheels/tpuvm/torch-${TORCH_VERSION}.dev${DATE}-cp310-cp310-linux_x86_64.whl
pip install https://storage.googleapis.com/pytorch-xla-releases/wheels/tpuvm/torch_xla-${TORCH_VERSION}.dev${DATE}-cp310-cp310-linux_x86_64.whl

# Install JAX and Pallas.
# 安装 JAX 和 Pallas。

pip install torch_xla[tpu] -f https://storage.googleapis.com/libtpu-releases/index.html
pip install torch_xla[pallas] -f https://storage.googleapis.com/jax-releases/jax_nightly_releases.html -f https://storage.googleapis.com/jax-releases/jaxlib_nightly_releases.html

# Install other build dependencies.
# 安装其他构建依赖项。

pip install -r requirements-tpu.txt

下一步,从源代码构建 vLLM。这只需要几秒钟:

ini 复制代码
VLLM_TARGET_DEVICE="tpu" python setup.py develop

注意

由于 TPU 依赖于需要静态形状的 XLA,因此 vLLM 会将可能的输入形状进行分桶处理,并为每个不同的形状编译 XLA 图。第一次运行的编译时间可能需要 20~30 分钟。不过由于 XLA 图会缓存在磁盘中(默认在VLLM_XLA_CACHE_PATH~/.cache/vllm/xla_cache 中),之后的编译时间会减少到大约 5 分钟。

提示

如果您遇到以下错误:

python 复制代码
from torch._C import *  # noqa: F403

ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory

请使用以下命令安装 OpenBLAS:

csharp 复制代码
sudo apt-get install libopenblas-base libopenmpi-dev libomp-dev
相关推荐
superbadguy几秒前
open-webui pipelines报404, ‘Filter pipeline.exporter not found‘
人工智能
梦在深巷@16 分钟前
sqli-libs通关教程(21-30)
数据库·网络安全
9呀7 分钟前
【人工智能99问】什么是Post-Training,包含哪些内容?(19/99)
人工智能
小拇指~10 分钟前
神经网络的基础
人工智能·深度学习·神经网络
wenzhangli711 分钟前
AI 重塑软件产业:从技术革命到生态重构
人工智能·驱动开发·重构
茉莉玫瑰花茶19 分钟前
Redis 常用数据结构以及单线程模型
数据库·redis·缓存·bootstrap
安冬的码畜日常19 分钟前
【AI 加持下的 Python 编程实战 2_13】第九章:繁琐任务的自动化(中)——自动批量合并 PDF 文档
人工智能·python·自动化·ai编程·ai辅助编程
废喵喵呜26 分钟前
达梦数据库权限体系详解:系统权限与对象权限
数据库·sql·oracle
Bar_artist44 分钟前
RockAI 的破壁之战:Yan 架构如何啃下“端侧炼丹”硬骨头?
人工智能
爱编码的程序员1 小时前
python 处理json、excel、然后将内容转化为DSL语句,适用于数据处理(实用版)
人工智能·python·ai·json·excel·数据处理·dsl