今天凌晨,阿里通义团队正式发布了 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. EasyExcel 通过模板填充数据

    EasyExcel 通过模板填充数据两种方式:1.直接通过模板填充.2.通过IO流填充. 模板示例 注意:单个字段填充只写字段名即可,数据集填充需要在字段前加 . {title} 姓名 昵称 手机号 ...

  2. FreeSql学习笔记——10.贪婪加载

    前言   FreeSql贪婪加载主要对应导航属性,将需要的数据一次加载出来,包括查询表的子表或者关联表的关联数据,用于一对一.一对多.多对一.多对多的关系数据查询,查询的时候一对一.多对一关系查询是可 ...

  3. 访问控制模型 ABAC 的使用和设计原则

    访问控制(AC)的发展历程 访问控制(Access Control, AC)是保护系统资源的重要机制,决定"谁"可以访问"哪些"资源,并能执行"哪些操 ...

  4. 记一次 Mybatis 一级缓存清理无效引起的源码走读

    今天对象在学习 Mybatis 时发现 org.apache.ibatis.session.SqlSession 对象的 clearCache() 方法并不能清理一级缓存, 同一 session 下相 ...

  5. QT5笔记:17. QComboBox和QPlainTextEdit

    例子 #include "widget.h" #include "ui_widget.h" #include <QTextBlock> Widget ...

  6. 浅谈李飞飞巴黎演讲:如果 AI 资源被少数公司垄断,整个生态系统都会完蛋

    在巴黎人工智能峰会开幕式上,斯坦福大学教授.人工智能专家李飞飞发表了主题演讲,揭示了人工智能如何从"观察者"转变为重塑世界的"行动者".她在致辞中,分析了&qu ...

  7. luogu-P10596题解

    简要题意 一个有 \(N\) 个元素的集合有 \(2N\) 个不同子集(包含空集),现在要在这 \(2N\) 个集合中取出若干集合(至少一个),使得它们的交集的元素个数为 \(K\),求取法的方案数, ...

  8. C#短链接生成方法

    public class Program { static void Main() { Random rd = new Random(); for (int i = 0; i < 10; i++ ...

  9. 性能对比实验折线图绘制代码(YOLO系列为例)

    本文用于绘制性能折线图,适用于对比实验,发现很多博文都是收费,欺负哥们懒得学习,一气之下ai了一下再进行代码修改,免费供给大家学习参考,便于大家撰写论文数据时利于绘制图像. import pandas ...

  10. docker Get "https://registry-1.docker.io/v2/": x509: certificate is valid for

    前言 docker 在进行 build 时,报错:Get "https://registry-1.docker.io/v2/": x509: certificate is vali ...