如何将GPT OSS私有部署推理性能提升100倍的教程忘掉Ollama?

摘要:基于开源大模型服务平台 GPUStack 与自定义安装的 vLLM 版本完成 GPT OSS 系列模型的生产部署推理。并对比 Ollama 与 vLLM 在生产并发场景下的吞吐性能差异。
久等多时,本周 OpenAI 终于发布了两款开源模型:GPT OSS 120B 和 GPT OSS 20B,官方提供的 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 资源: 安装自定义 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 分支版本才能运行: 为了提前体验 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。
阅读全文