littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于 Python 的 vLLMTPU 大模型推理服务

项目简介

本项目基于 Python 语言,在 vLLM release 版本 0.3.3 的基础上进行开发。vLLM 是一款快速且易于使用的大模型推理加速工具,本项目完成了算能硬件产品 SC7 224T 的适配,可在不依赖 CUDA 的情况下直接启动服务,对外接口协议与 vLLM 一致,当前支持 Llama2-13B 和 Qwen-14B 两种模型。

项目的主要特性和功能

  1. 硬件适配:适配算能硬件产品 SC7 224T,利用 TPU 进行加速,摆脱对 CUDA 的依赖。
  2. 模型支持:支持 Llama2-13B 和 Qwen-14B 模型的推理。
  3. 接口兼容:对外接口协议与 vLLM 一致,方便开发者使用。

安装使用步骤

环境准备

  1. 依赖安装:执行以下命令安装依赖 bash sudo apt update sudo apt install python3-pip
  2. 下载资源:使用 dfss 下载 docker 镜像、模型、配置文件、驱动等资源 bash python3 -m pip install dfss --upgrade python3 -m dfss --url=open@sophgo.com:/ezoo/vllm/qwen/vllm-tpu-v3.tar python3 -m dfss --url=open@sophgo.com:/ezoo/vllm/qwen/combine.tar.gz python3 -m dfss --url=open@sophgo.com:/ezoo/vllm/qwen/config.tar.gz python3 -m dfss --url=open@sophgo.com:/ezoo/vllm/qwen/driver-0619.tar.gz python3 -m dfss --url=open@sophgo.com:/ezoo/vllm/vllm-example.zip
  3. 开启 P2P:每次重启都需要开启。先查看 p2p 是否可用 bash test_cdma_p2p 0x130000000 0 0x140000000 1 0x100000 若带宽低,按以下步骤开启:
    • 关闭 iommu bash sudo vi /etc/default/grub sudo update-grub sudo reboot
    • 若速度仍未提升,配置 PCIE 链路 bash lspci | grep 4052 sudo setpci -v -s 82:*.0 ecap_acs+6.w=0

Docker 部署

  1. 安装 Docker:若未安装,执行以下命令安装并配置 bash sudo apt-get install docker.io sudo systemctl start docker sudo systemctl enable docker sudo groupadd docker sudo usermod -aG docker $USER sudo service docker restart newgrp docker
  2. 加载并启动 Docker bash docker load -i ./vllm-tpu-v3.tar docker rm vllm-tpu -f python3 -m dfss --url=open@sophgo.com:/ezoo/vllm/docker_run.sh chmod +x docker_run.sh ./docker_run.sh
  3. 准备配置文件和模型 bash tar zxvf combine.tar.gz mv combine qwen14b-bmodel 修改 Qwen-14B 配置文件参数,一般只需修改 device_id 和保证 model_path 中 bmodel 名字与 json 文件对应。
  4. 更新 libsophon 和 driver bash sudo apt install dkms libncurses5 tar zxvf driver-0619.tar.gz cd driver-0619 sudo dpkg -i sophon-*.deb source /etc/profile 下载并更新 20240715 版本 bash python3 -m dfss --url=open@sophgo.com:/ezoo/vllm/qwen/update-0715.tar.gz tar -zxvf update-0715.tar.gz chmod +x update-0715/update.sh ./update-0715/update.sh

启动服务

离线服务:修改 model 路径后启动服务 bash cd vllm-example/ python3 offline_inference_sophgo.py --model /workspace/config_tobe

其它说明

若需对 vLLM 进行二次开发,可在其安装路径下修改源文件 bash cd /usr/local/lib/python3.10/dist-packages/vllm

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】