【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
相关推荐
Yo_Becky21 分钟前
【PyTorch】PyTorch预训练模型缓存位置迁移,也可拓展应用于其他文件的迁移
人工智能·pytorch·经验分享·笔记·python·程序人生·其他
DeepSeek-大模型系统教程24 分钟前
深入金融与多模态场景实战:金融文档分块技术与案例汇总
人工智能·ai·语言模型·程序员·大模型·大模型学习·大模型教程
xinxiangwangzhi_29 分钟前
pytorch底层原理学习--PyTorch 架构梳理
人工智能·pytorch·架构
丶意冷30 分钟前
mybatisPlus分页方言设置错误问题 mybatisPlus对于Oceanbase的Oracle租户分页识别错误
java·数据库·oracle·oceanbase
yzx99101333 分钟前
关于网络协议
网络·人工智能·python·网络协议
AiTEN_Robot34 分钟前
AGV 无人叉车关键技术问题解析:精准定位算法 / 安全避障逻辑 / 系统对接协议全方案
人工智能·机器人·自动化·制造
云天徽上35 分钟前
【PaddleOCR】OCR常见关键信息抽取数据集,包含FUNSD、XFUND、WildReceipt等整理,持续更新中......
人工智能·计算机视觉·信息可视化·paddlepaddle·paddleocr·文本识别
zskj_zhyl36 分钟前
智绅科技:以科技为翼,构建养老安全守护网
人工智能·科技·安全
刘海东刘海东37 分钟前
结构型智能科技的关键可行性——信息型智能向结构型智能的转换(提纲)
人工智能
martian6651 小时前
支持向量机(SVM)深度解析:从数学根基到工程实践
算法·机器学习·支持向量机