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

图片

向AI转型的程序员都关注公众号 机器学习AI算法工程

时隔5年,OpenAI终于发布了新的开源模型GPT-OSS。作为一名AI开发者,我迫不及待地在本地部署了这个模型,并分享一些实用的经验和技巧。

GPT-OSS:开源AI的新里程碑

8月5日,OpenAI发布了震撼AI界的消息:推出GPT-OSS开源模型系列。这是自2019年GPT-2以来,OpenAI首次发布真正开源的大语言模型。

技术规格一览

GPT-OSS包含两个版本,各有所长:

🔬 核心技术创新

混合专家架构(MoE):GPT-OSS采用了先进的MoE架构,只在处理每个token时激活部分参数,大大提高了计算效率。

原生MXFP4量化:模型使用4位量化技术,在保持性能的同时显著降低内存占用。这意味着20B版本只需要16GB内存就能运行,普通的游戏电脑就能胜任。

可调推理强度:支持低、中、高三档推理模式,可以根据任务复杂度灵活调整。

image

为什么选择本地部署?

在云端AI服务盛行的今天,本地部署似乎显得"老土"。但经过实际使用,我发现本地部署有着独特的价值:

数据隐私:敏感信息不会离开本地环境

成本控制:避免持续的API调用费用

响应速度:没有网络延迟,响应更快

离线工作:不依赖网络连接

完全控制:可以根据需求进行定制和优化

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

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

安装 GPUStack

首先,参考 GPUStack 官方文档完成安装(https://docs.gpustack.ai/latest/installation/nvidia-cuda/online-installation/)。推荐容器化部署方式,在 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="https://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 资源:

image-20250806112828947

安装自定义 vLLM 版本

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

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

image-20250806111547696

为了提前体验 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 Minicondawget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -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 https://repo.anaconda.com/pkgs/mainconda tos accept --override-channels --channel https://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 https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple# 安装 vLLM 0.10.1+gptosspip install --pre vllm==0.10.1+gptoss \  --extra-index-url https://wheels.vllm.ai/gpt-oss/ \  --extra-index-url https://download.pytorch.org/whl/nightly/cu128# 将 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 https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
pip download --pre vllm==0.10.1+gptoss  \  --extra-index-url https://wheels.vllm.ai/gpt-oss/  \  --extra-index-url https://download.pytorch.org/whl/nightly/cu128 \  --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 模型。

image-20250806115553319

部署 GPT OSS 模型

确认模型下载完成后,点击已下载模型右侧的部署按钮,部署模型。

在部署页面,展开高级配置,设置模型类别为 LLM。并在后端版本中,填写自定义后端版本为 0.10.1+gptoss,GPUStack 会自动调用 /var/lib/gpustack/bin/vllm_0.10.1+gptoss 来运行模型:

image-20250806222928304

并设置以下后端参数和环境变量:
后端参数:
--max-model-len=32768
环境变量:
VLLM_ATTENTION_BACKEND=FLASH_ATTN
VLLM_USE_FLASHINFER_SAMPLER=0
保存部署,等待模型启动完成,确认模型正常运行(Running):

image-20250806222619580

然后可以在试验场测试模型:

GPT OSS 20B

image-20250806223704948

image-20250807143617141

EvalScope 压测对比 Ollama

EvalScope 是魔搭社区推出的模型评测与性能基准测试框架,简单易上手,此处使用 EvalScope 来对比 Ollama 和 GPUStack vLLM 后端运行的 GPT OSS 20B 与 GPT OSS 120B 的吞吐性能表现。

使用 Conda 安装 EvalScope:

# 创建虚拟环境conda create -n evalscope python=3.10 -y# 激活虚拟环境conda activate evalscope# 安装 EvalScopepip install -U 'evalscope[perf]' plotly gradio wandb

将压测结果的吞吐表现汇总如下表:

以上测试结果表明,在大模型推理的场景下,**硬件投入越高,选择像 vLLM 这样的高效推理引擎,其投资回报率(ROI)也就越高。**举个形象的例子:如果企业采购了价值 1000 万元的 GPU 硬件,假设使用 vLLM 可以将 GPU 使用效率提升到约 80%,相当于真正发挥出 800 万元的硬件价值。而若选择如 Ollama 这类桌面型工具,相同资源条件下,实际吞吐能力仅为 vLLM 的几分之一,能够释放的计算能力远低于 vLLM。对于重视成本效益与性能表现的企业来说,如何选型,自然不言而喻。

以上测试数据基于单实例运行环境。尽管 Ollama 单实例的资源占用看似远低于 vLLM,但由于其技术架构的限制,单实例一般也仅能支持个位数的并发连接。要想支撑更高的并发,必须通过部署多个实例来扩展能力。然而,多实例部署带来的最大问题就是显存资源的严重浪费。以部署 GPT OSS 20B 模型为例,单个 Ollama 实例加载约 14GB 的模型权重,假设每个实例支持 4 路并发,实现 100 路并发需部署 25 个实例,显存总占用超过 350GB。而采用 vLLM,仅需约 130GB 显存即可支撑相同并发,且具备更强的扩展能力。

综上,从资源利用率、扩展能力到总体成本控制,vLLM 在实际生产环境中均展现出显著优势,是面向企业级大模型推理部署的更优解。

机器学习算法AI大数据技术

 搜索公众号添加: datanlp

图片

长按图片,识别二维码

阅读过本文的人还看了以下文章:

实时语义分割ENet算法,提取书本/票据边缘

整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主

《大语言模型》PDF下载

动手学深度学习-(李沐)PyTorch版本

YOLOv9电动车头盔佩戴检测,详细讲解模型训练

TensorFlow 2.0深度学习案例实战

基于40万表格数据集TableBank,用MaskRCNN做表格检测

《基于深度学习的自然语言处理》中/英PDF

Deep Learning 中文版初版-周志华团队

【全套视频课】最全的目标检测算法系列讲解,通俗易懂!

《美团机器学习实践》_美团算法团队.pdf

《深度学习入门:基于Python的理论与实现》高清中文PDF+源码

《深度学习:基于Keras的Python实践》PDF和代码

特征提取与图像处理(第二版).pdf

python就业班学习视频,从入门到实战项目

2019最新《PyTorch自然语言处理》英、中文版PDF+源码

《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码

《深度学习之pytorch》pdf+附书源码

PyTorch深度学习快速实战入门《pytorch-handbook》

【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》

《Python数据分析与挖掘实战》PDF+完整源码

汽车行业完整知识图谱项目实战视频(全23课)

李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材

笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!

《神经网络与深度学习》最新2018版中英PDF+源码

将机器学习模型部署为REST API

FashionAI服装属性标签图像识别Top1-5方案分享

重要开源!CNN-RNN-CTC 实现手写汉字识别

yolo3 检测出图像中的不规则汉字

同样是机器学习算法工程师,你的面试为什么过不了?

前海征信大数据算法:风险概率预测

【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类

VGG16迁移学习,实现医学图像识别分类工程项目

特征工程(一)

特征工程(二) :文本数据的展开、过滤和分块

特征工程(三):特征缩放,从词袋到 TF-IDF

特征工程(四): 类别特征

特征工程(五): PCA 降维

特征工程(六): 非线性特征提取和模型堆叠

特征工程(七):图像特征提取和深度学习

如何利用全新的决策树集成级联结构gcForest做特征工程并打分?

Machine Learning Yearning 中文翻译稿

蚂蚁金服2018秋招-算法工程师(共四面)通过

全球AI挑战-场景分类的比赛源码(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

python+flask搭建CNN在线识别手写中文网站

中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程

不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值