今天凌晨,阿里通义团队正式发布了 Qwen3,涵盖六款 Dense 模型(0.6B、1.7B、4B、8B、14B、32B)和两款 MoE 模型(30B-A3B 和 235B-A22B)。其中的旗舰模型 Qwen3-235B-A22B 在代码、数学、通用能力等基准测试中,与 DeepSeek-R1、o1、o3-mini、Grok-3 和 Gemini-2.5-Pro 等顶级模型相比,表现出了强大的竞争力。小型 MoE 模型 Qwen3-30B-A3B 的激活参数是 QwQ-32B 的 10%,但表现更胜一筹,由于激活参数少,推理速度更快。甚至像 Qwen3-4B 这样的小模型也能匹敌 Qwen2.5-72B-Instruct 的性能。

GPUStack 在上周发布了 v0.6 版本,内置支持了 Qwen3。其中 NVIDIA 支持 vLLM 和 llama-box 运行,AMD、Apple Silicon、昇腾、海光、摩尔线程支持 llama-box 运行。今天一早,社区群的各位小伙伴已经开始在各种尝试 Qwen3,我们也带来一篇挑战 45 分钟从零搭建私有 MaaS 平台和生产级的 Qwen3 模型服务的文章,快速搭建和体验 Qwen3 模型。

GPUStack 是一个100%开源的模型服务平台,支持 Linux、Windows 和 macOS,支持 NVIDIA、AMD、Apple Silicon、昇腾、海光、摩尔线程等 GPU 构建异构 GPU 集群,支持 LLM、多模态、Embedding、Reranker、图像生成、Speech-to-Text 和 Text-to-Speech 模型,支持 vLLM、MindIE、llama-box基于 llama.cpp 与 stable-diffusion.cpp)等多种推理引擎与推理引擎多版本并行,支持资源自动调度分配、模型故障自动恢复、多机分布式推理、混合异构推理、推理请求负载均衡、资源与模型监控指标观测、国产化支持、用户管理与 API 认证授权等各种企业级特性,提供 OpenAI 兼容 API 无缝接入 Dify、RAGFlow、FastGPT、MaxKB 等各种上层应用框架,是企业建设模型服务平台的理想选择。

本篇文章将介绍在一节课 45 分钟内(包括安装和模型下载)搭建 GPUStack 模型服务平台并通过 GPUStack 运行生产级的 Qwen3 模型服务。

计时开始:

前置准备

以下操作环境为一台阿里云 ECS 云主机,操作系统为 Ubuntu 22.04,GPU 为 NVIDIA A10,操作依赖良好的网络条件。

其他操作系统的安装参考每个章节的文档链接。

验证当前环境的 NVIDIA GPU 硬件:

lspci | grep -i nvidia

验证系统已安装 GCC:

gcc --version

安装 NVIDIA 驱动

参考:https://developer.nvidia.com/datacenter-driver-downloads

为当前内核安装内核头文件和开发包:

sudo apt-get update && sudo apt-get install linux-headers-$(uname -r)

安装 cuda-keyring 包:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb

安装 NVIDIA 驱动:

sudo apt-get update && sudo apt-get install nvidia-open -y

重启系统:

sudo reboot

重新登录并检查 nvidia-smi 命令可用:

nvidia-smi

耗时:3m

安装 Docker Engine

参考:https://docs.docker.com/engine/install/ubuntu/

执行以下命令卸载所有冲突的包:

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

设置 Docker 的 apt 仓库:

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl -y sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装 Docker:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

检查 docker 命令可用:

sudo docker info

耗时:1m

安装 NVIDIA Container Toolkit

参考:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

配置 NVIDIA Container Toolkit 的生产仓库:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

安装 NVIDIA Container Toolkit:

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

使用 nvidia-ctk 命令配置容器运行时:

sudo nvidia-ctk runtime configure --runtime=docker

检查 daemon.json 文件的配置:

vim /etc/docker/daemon.json

加入 "exec-opts": ["native.cgroupdriver=cgroupfs"] 配置,避免NVIDIA Container Toolkit 的 Failed to initialize NVML: Unknown Error 容器掉卡问题(参考:https://docs.gpustack.ai/latest/installation/nvidia-cuda/online-installation/#prerequisites_1):

{
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
},
"exec-opts": ["native.cgroupdriver=cgroupfs"]
}

重启 Docker daemon:

sudo systemctl restart docker

检查 NVIDIA Container Runtime 配置是否生效:

docker info | grep -i runtime

耗时:1.5m

安装 GPUStack

参考:https://docs.gpustack.ai/latest/installation/nvidia-cuda/online-installation/

通过 Docker 安装 GPUStack:

docker run -d --name gpustack \
--restart=unless-stopped \
--gpus all \
--network=host \
--ipc=host \
-v gpustack-data:/var/lib/gpustack \
swr.cn-north-9.myhuaweicloud.com/gpustack/gpustack:v0.6.0

耗时:20m40s

检查服务启动:

docker logs -f gpustack

耗时:20s

使用以下命令查看登录密码:

docker exec -it gpustack cat /var/lib/gpustack/initial_admin_password

在浏览器访问 GPUStack( http://YOUR_HOST_IP )以用户名 admin 和密码登录。设置密码后,登录进 GPUStack,查看识别到的 GPU 资源:

GPUStack 支持添加更多的 Worker 节点构建 GPU 集群,本文章不需要该部分,省略,有需要的参考上方的 GPUStack 官方安装文档。

部署 Qwen3

访问 模型 菜单,选择部署模型 - ModelScope,在 ModelScope 中搜索 Qwen 官方的 Qwen3 模型仓库,我们的 GPU 是 NVIDIA A10,24G显存。这里我们部署号称能匹敌 Qwen2.5-72B-Instruct 性能的 Qwen3-4B 模型:

考虑需要部署生产级的 Qwen3 模型服务,因此使用 vLLM 后端来运行 Qwen3 模型:

等待模型下载:

耗时:14m

等待模型启动完成:

确认模型正常 Running 后,在试验场测试模型的生成效果:

问题测试:

挑战完成,记录时间:

总耗时:43m25s,其中包括:

  • 容器镜像下载耗时约 20m
  • 模型文件下载耗时约 14m
  • 安装配置步骤耗时约 20m

按照以上步骤,我们已经完成在 45 分钟内搭建 GPUStack 模型服务平台并运行生产级的 Qwen3 模型服务。

目前 GPUStack 的 vLLM 后端和 llama-box 后端均已支持运行 Qwen3,在 Linux、Windows 和 macOS 上均可运行,欢迎体验。

旗舰模型 Qwen3-235B-A22B 由于参数量比较大,还在下载中,针对部分用户单机显存资源无法运行的场景,我们将在下篇文章带来通过多机分布式运行 Qwen3-235B-A22B 模型的教程。

通过以上步骤,我们已经演示了如何快速在 45 分钟内搭建 GPUStack 模型服务平台并通过 GPUStack 运行生产级的 Qwen3 模型服务,GPUStack 是一个100%开源的模型服务平台,目前用户遍布全球上百个国家,GPUStack 的目标是打造业界最好用的模型推理平台,欢迎使用与反馈。如果你有任何建议或想法,欢迎随时向我们提出,我们会认真评估并持续改进。

参与开源

想要了解更多关于 GPUStack 的信息,可以访问我们的仓库地址:https://github.com/gpustack/gpustack。如果你对 GPUStack 有任何建议,欢迎提交 GitHub issue。在体验 GPUStack 或提交 issue 之前,请在我们的 GitHub 仓库上点亮 Star ️关注我们,也非常欢迎大家一起参与到这个开源项目中!

如果觉得对你有帮助,欢迎点赞转发关注

45分钟从零搭建私有MaaS平台和生产级的Qwen3模型服务的更多相关文章

  1. Python从零搭建Conf_Web配置管理平台

    环境 CentOS 6/7 x64 Python:2 .7.6 Etcd: 3.2.18 Confd:0 .16.0 Nginx: 1.12.1 效果演示 一,拓扑图: 二.涉及软件 ETD: .分布 ...

  2. Python 从零搭建 Conf_Web 配置管理平台

    作者:Eagle 某船舶行业科技公司,运维工程师,51Reboot学员.通过在51Reboot学习,由运维工程师转至运维开发工程师.完成公司自动化平台的构建,对运维开发有了自己的理解,空闲时间写了这么 ...

  3. 以Aliyun体验机为例,从零搭建LNMPR环境(上)

    使用云服务器搭建 Web 运行环境,尤其是搭建常见的 LNMPR(Linux+Nginx+MySQL+PHP+Redis) 环境,对于开发人员是必备的职场基本技能之一.在这里,借着搭建我的" ...

  4. Log4net快速配置使用指南。(快速搭建log4net日志平台手册)

    每做一个新项目,都会用到log4net,但总是忘记如何快速配置.有时在网上搜半天也找不到好的模板,大都在介绍参数的使用,在此做下总结,争取下次用时仅10分钟就可搭建好log4net. 直接上介绍的步骤 ...

  5. docker进阶-搭建私有企业级镜像仓库Harbor

    为什么要搭建私有镜像仓库   对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们 ...

  6. 从零搭建基于golang的个人博客网站

    原文链接 : http://www.bugclosed.com/post/14 从零搭建个人博客网站需要包括云服务器(虚拟主机),域名,程序环境,博客程序等方面.本博客 就是通过这几个环节建立起来的, ...

  7. 搭建J2EE开发平台-Eclipse+MySql+tomcat

    搭建J2EE开发平台-Eclipse+MySql+tomcat 分类: ·Java 2010-10-10 15:45 2596人阅读 评论(3) 收藏 举报 mysql平台eclipsetomcatj ...

  8. 搭建私有Nuget仓库

    使用Nexus搭建私有Nuget仓库 https://www.cnblogs.com/Erik_Xu/p/9211471.html 前言 Nuget是ASP .NET Gallery的一员,是免费.开 ...

  9. docker 搭建私有云盘 Seafile

    缘起 现如今各种云存储服务其实挺多的,国外有经典的DropBox.Google Drive.微软的OneDrive等,国内也有可以免费使用的各种云. 那么为什么想要搭建私有云存储呢?主要是本着“自己的 ...

  10. 搭建私有CA

    一.实验目的 搭建私有CA并使其可以实现公司内部的的签名服务. 二.实验环境: 系统架构:Centos7(服务器).Centos6(需要申请证书的服务器)需要的软件包:openssl.openssl- ...

随机推荐

  1. 百万架构师第四十课:RabbitMq:RabbitMq-工作模型与JAVA编程|JavaGuide

    来源:https://javaguide.net RabbitMQ 1-工作模型与Java编程 课前准备 预习资料 Windows安装步骤 Linux安装步骤 官网文章中文翻译系列 环境说明 操作系统 ...

  2. Flume - [01] 概述

    一.什么是Flume Flume 是Cloudera提供的一个高可用,高可靠的,分布式的海量日志采集.聚合和传输的系统. Flume最主要的作用就是:实时读取服务器本地磁盘的数据,将数据写入HDFS. ...

  3. vue3项目中环境变量使用技巧

    在Vue 3项目中,环境变量是管理不同环境下配置的强大工具.以下是一些关于如何在Vue 3项目中有效地定义.访问和使用环境变量的技巧,以及如何在不同环境下管理这些变量的最佳实践. 一.定义环境变量 在 ...

  4. [AI/GPT/LLOps/AI中台] Dify : 开源AI大模型应用开发平台(Apache 2.0)

    概述:Dify Dify 是一款开源的大语言模型(LLM) 应用开发平台. 它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI ...

  5. EAR_v3 《浮声三》 智能化图书管理系统

    EAR_v3 <浮声三> 搭建于 Actix_Web 框架下的智能化图书管理系统 本项目的前身是 <Rusty_Borders 危墙> 的 在线控制系统 部分,经过大量开发工作 ...

  6. Docker | 如何在 Linux 服务器使用 docker

    目录 00 需求 01 安装 docker 02 准备工作 03 配置 Dockerfile 和 docker composer 04 启动 docker 05 测试能否 ssh 连接这个 docke ...

  7. Linux上安装配置InstantClient及64位系统Pl/SQL配置

    1.首先到官网下载文件:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html?ssS ...

  8. NextJS CVE-2025-29927 安全漏洞

    NextJS CVE-2025-29927 安全漏洞 CVE-2025-29927 是一个存在于 Next.js 框架中的关键安全漏洞.该漏洞允许攻击者通过伪造或篡改 x-middleware-sub ...

  9. 为什么不建议通过Executors构建线程池

    Executors类看起来功能还是比较强大的,又用到了工厂模式.又有比较强的扩展性,重要的是用起来还比较方便,如: ExecutorService executor = Executors.newFi ...

  10. vite 引入element

    import {fileURLToPath, URL} from 'node:url' import {defineConfig, loadEnv} from 'vite' import vue fr ...