使用Neuron安装#

vLLM 0.3.3 及更高版本支持使用 Neuron SDK 在 AWS Trainium/Inferentia 上进行模型推理和服务。目前,Neuron SDK 不支持分页注意力,但 transformers-neuronx 支持简单的连续批处理。Neuron SDK 目前支持的数据类型为 FP16 和 BF16。

要求#

  • 操作系统:Linux

  • Python:3.8 - 3.11

  • 加速器:NeuronCore_v2(在 trn1/inf2 实例中)

  • Pytorch 2.0.1/2.1.1

  • AWS Neuron SDK 2.16/2.17(在 python 3.8 上验证)

安装步骤:

从源代码构建#

以下说明适用于 Neuron SDK 2.16 及更高版本。

步骤 0. 启动 Trn1/Inf2 实例#

以下是启动 trn1/inf2 实例的步骤,以便安装 PyTorch Neuron (“torch-neuronx”) 在 Ubuntu 22.04 LTS 上的设置

  • 请按照 启动 Amazon EC2 实例 中的说明启动实例。在 EC2 控制台中选择实例类型时,请确保选择正确的实例类型。

  • 有关实例大小和定价的更多信息,请参见:Trn1 网页Inf2 网页

  • 选择 Ubuntu Server 22.04 TLS AMI

  • 启动 Trn1/Inf2 时,请将你的主 EBS 卷大小调整为至少 512GB。

  • 启动实例后,请按照 连接到你的实例 中的说明连接到实例

步骤 1. 安装驱动程序和工具#

如果已安装 Deep Learning AMI Neuron,则无需安装驱动程序和工具。如果操作系统上未安装驱动程序和工具,请按照以下步骤操作:

# Configure Linux for Neuron repository updates
. /etc/os-release
sudo tee /etc/apt/sources.list.d/neuron.list > /dev/null <<EOF
deb https://apt.repos.neuron.amazonaws.com ${VERSION_CODENAME} main
EOF
wget -qO - https://apt.repos.neuron.amazonaws.com/GPG-PUB-KEY-AMAZON-AWS-NEURON.PUB | sudo apt-key add -

# Update OS packages
sudo apt-get update -y

# Install OS headers
sudo apt-get install linux-headers-$(uname -r) -y

# Install git
sudo apt-get install git -y

# install Neuron Driver
sudo apt-get install aws-neuronx-dkms=2.* -y

# Install Neuron Runtime
sudo apt-get install aws-neuronx-collectives=2.* -y
sudo apt-get install aws-neuronx-runtime-lib=2.* -y

# Install Neuron Tools
sudo apt-get install aws-neuronx-tools=2.* -y

# Add PATH
export PATH=/opt/aws/neuron/bin:$PATH

步骤 2. 安装 transformers-neuronx 及其依赖项#

transformers-neuronx 将作为支持 trn1/inf2 实例上推理的后端。请按照以下步骤安装 transformer-neuronx 包及其依赖项。

# Install Python venv
sudo apt-get install -y python3.10-venv g++

# Create Python venv
python3.10 -m venv aws_neuron_venv_pytorch

# Activate Python venv
source aws_neuron_venv_pytorch/bin/activate

# Install Jupyter notebook kernel
pip install ipykernel
python3.10 -m ipykernel install --user --name aws_neuron_venv_pytorch --display-name "Python (torch-neuronx)"
pip install jupyter notebook
pip install environment_kernels

# Set pip repository pointing to the Neuron repository
python -m pip config set global.extra-index-url https://pip.repos.neuron.amazonaws.com

# Install wget, awscli
python -m pip install wget
python -m pip install awscli

# Update Neuron Compiler and Framework
python -m pip install --upgrade neuronx-cc==2.* --pre torch-neuronx==2.1.* torchvision transformers-neuronx

步骤 3. 从源代码安装 vLLM#

安装 neuronx-cc 和 transformers-neuronx 包后,可以按如下方式安装 vllm:

$ git clone https://github.com/vllm-project/vllm.git
$ cd vllm
$ pip install -U -r requirements-neuron.txt
$ VLLM_TARGET_DEVICE="neuron" pip install .

如果在安装过程中正确检测到 neuron 包,则将安装 vllm-0.3.0+neuron212