将GPT OSS私有部署推理性能提升100倍的部署教程(上)

0 阅读4分钟

 官方提供的 vLLM 推理需要一系列安装配置步骤才可正常运行,以下基于开源大模型服务平台 GPUStack,结合自定义安装的 vLLM 版本,完成 GPT OSS 系列模型的生产部署推理。同时,我们还选择了 Ollama 作为对比,基于 EvalScope 进行压测,对比两种引擎在生产并发场景下的吞吐性能差异。

测试结果显示,vLLM 在资源利用率、并发能力和扩展效率方面均大幅领先。尤其在企业级部署场景中,Ollama 的多实例架构容易造成显存浪费,而 vLLM 则能以更小的显存占用支撑更多并发连接,投资回报率(ROI)远高于前者。

以下为具体的安装部署教程和测试过程:

安装 GPUStack

首先,参考 GPUStack 官方文档完成安装(docs.gpustack.ai/latest/inst… )。推荐容器化部署方式,在 NVIDIA GPU 服务器上,根据文档要求完成对应版本的 NVIDIA 驱动、Docker 和 NVIDIA Container Toolkit 安装后,通过 Docker 启动 GPUStack 服务

以下测试在 NVIDIA H20 GPU 上进行:

docker run -d --name gpustack \
--restart=unless-stopped \
--gpus all \
--network=host \
--ipc=host \
-e HF_ENDPOINT="hf-mirror.com" \\
-v gpustack-data:/var/lib/gpustack \
gpustack/gpustack \
--port 9090

查看容器日志确认 GPUStack 是否已正常运行:docker logs -f gpustack

若容器日志显示服务启动正常,使用以下命令获取 GPUStack 控制台的初始登录密码:docker exec -it gpustack cat /var/lib/gpustack/initial_admin_password

在浏览器中通过服务器 IP 和自定义的 9090 端口访问 GPUStack 控制台(http://YOUR_HOST_IP:9090),使用默认用户名 admin 和上一步获取的初始密码登录。登录 GPUStack 后,在资源菜单即可查看识别到的 GPU 资源:

​编辑

安装自定义 vLLM 版本

目前,GPUStack 0.7.0 版本集成的 vLLM 版本为 0.9.2,vLLM 的最新版本为 0.10.0但 0.10.0 版本仍不支持 openai/gpt-oss-120b 和 openai/gpt-oss-20b 模型的推理运行

查看模型介绍:**huggingface.co/openai/gpt-… README 中已说明需要安装 vLLM 0.10.1 gptoss 分支版本才能运行:

​编辑

为了提前体验 gpt-oss-120b 和 gpt-oss-20b 模型,我们需要手动安装该开发分支。

GPUStack 支持推理引擎多版本并行使用,用户可以在保留默认稳定版本的同时,灵活安装并使用自定义的 vLLM 版本,实现对新发布模型的推理。

进入 GPUStack 容器,创建一个独立的 Python 虚拟环境来安装 vllm 0.10.1+gptoss 版本:docker exec -it gpustack bash

由于 vllm_0.10.1+gptoss 依赖 Python 3.12,而 GPUStack 镜像内置版本为 3.11,安装 Miniconda 用于提供 Python 3.12。到持久化目录下创建 Python 虚拟环境,这样在容器重建后仍然可以使用该环境:

在持久化路径下创建目录

mkdir -p /var/lib/gpustack/miniconda3

下载 Miniconda Miniconda

wget repo.anaconda.com/miniconda/M… -O /var/lib/gpustack/miniconda3/miniconda.sh

安装 Miniconda 到持久化目录

bash /var/lib/gpustack/miniconda3/miniconda.sh -b -u -p /var/lib/gpustack/miniconda3

删除 Miniconda 安装包

rm /var/lib/gpustack/miniconda3/miniconda.sh

激活 base 环境

source /var/lib/gpustack/miniconda3/bin/activate

接受使用协议

conda tos accept --override-channels --channel repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel repo.anaconda.com/pkgs/r

创建 Python 3.12 虚拟环境:

创建环境

conda create -n vllm_0.10.1+gptoss python=3.12 -y

激活环境

conda activate vllm_0.10.1+gptoss

检查 Python 版本

python -V

安装 vllm_0.10.1+gptoss :# 设置清华 PyPI 源
pip config set global.index-url mirrors.tuna.tsinghua.edu.cn/pypi/web/si…

安装 vLLM 0.10.1+gptoss

pip install --pre vllm==0.10.1+gptoss \
--extra-index-url wheels.vllm.ai/gpt-oss/ \
--extra-index-url download.pytorch.org/whl/nightly…

将 vllm_0.10.1+gptoss 虚拟环境的 vllm 可执行文件链接到 /var/lib/gpustack/bin/ 下用于 GPUStack 调用

ln -sf /var/lib/gpustack/miniconda3/envs/vllm_0.10.1+gptoss/bin/vllm /var/lib/gpustack/bin/vllm_0.10.1+gptoss

离线环境可以参考以下命令,打包 wheel 包到离线环境安装(注意安装时如果有 wheel 包损坏,重新下载该 wheel 包到内网替换并安装):pip config set global.index-url mirrors.tuna.tsinghua.edu.cn/pypi/web/si…

pip download --pre vllm==0.10.1+gptoss  \
--extra-index-url wheels.vllm.ai/gpt-oss/  \
--extra-index-url download.pytorch.org/whl/nightly… \
--dest ./vllm_0.10.1_gptoss

tar -zcvf vllm_0.10.1_gptoss.tar vllm_0.10.1_gptoss/

下载 GPT OSS 模型

在 GPUStack UI 点击模型文件菜单,选择添加模型文件,可以从 Hugging Face 或 ModelScope 联网下载模型文件。国内网络建议从 ModelScope 搜索并下载 gpt-oss-120b 和 gpt-oss-20b 模型。

​编辑